POST /api/v202606/webCaptureAccount

Creates a WebCAPture account.

CreateAccountV202606 Permissions: Accounts (Create)
Intended for the partner integration to register a utility account discovered on a vendor portal. ExternalAccountID is the partner’s identifier for the account (Deck’s account_id) and must be unique for the partner; the account number must likewise be unique for the partner and provider.

Request Headers

Header Value Required Description
ECI-ApiKey string Yes Your API key. See Authentication.
Content-Type application/json Yes All requests must specify JSON content type, including the request body.

Request Body

WebCaptureAccountCreateRequestV202606
Property Description Type
accountNumber The utility account number, as it appears on the bill. Max length of 64 string
billCaptureClientCode The Bill CAPture client code this account belongs to. Optional. Max length of 32 string
externalAccountId The partner’s own identifier for this account (Deck’s account_id, Arcadia’s account id) — NOT an EnergyCAP identifier. It is how a subsequent sync recognises the same account, so it is required: it forms part of a unique index together with the partner, which also means a shared placeholder (or null) could only ever be stored for a single account per partner. Max length of 128 string
externalProviderId The partner’s identifier for the utility provider this account belongs to. Max length of 128 string
externalStatus The account status as reported by the partner. Max length of 32 string
externalStatusDetail Additional detail for the partner-reported status. May be empty. Max length of 128 string
isExternalAccountEnabled Whether bills are being retrieved for this account. boolean
providerName The name of the utility provider this account belongs to. Max length of 128 string
webCapturePartnerId The WebCAPture partner this account came from (for example Deck or Arcadia). integer (int32)
Example Request Body application/json
{  "accountNumber": "string",  "billCaptureClientCode": "string",  "externalAccountId": "string",  "externalProviderId": "string",  "externalStatus": "string",  "externalStatusDetail": "string",  "isExternalAccountEnabled": false,  "providerName": "string",  "webCapturePartnerId": 1
}

Responses

200 OK The request succeeded and the response body contains the requested data.

Response Body Parameters

WebCaptureAccountResponseV202606
Property Description Type
accountNumber The utility account number, as it appears on the bill. string
billCaptureClientCode The Bill CAPture client code this account belongs to. Null when not set. string
externalAccountId The partner’s own identifier for this account. string
externalProviderId The partner’s identifier for the utility provider this account belongs to. string
externalStatus The account status as reported by the partner. string
externalStatusDetail Additional detail for the partner-reported status. string
isExternalAccountEnabled Whether bills are being retrieved for this account. boolean
providerName The name of the utility provider this account belongs to. string
webCaptureAccountId EnergyCAP’s identifier for this account. Use it in PUT /api/v202606/webCaptureAccount/{webCaptureAccountId}. Distinct from ExternalAccountID, which is the partner’s identifier. integer (int32)
webCapturePartnerId The WebCAPture partner this account came from. integer (int32)
Example Response application/json
{  "accountNumber": "string",  "billCaptureClientCode": "string",  "externalAccountId": "string",  "externalProviderId": "string",  "externalStatus": "string",  "externalStatusDetail": "string",  "isExternalAccountEnabled": false,  "providerName": "string",  "webCaptureAccountId": 1,  "webCapturePartnerId": 1
}
404 The specified WebCAPture partner does not exist. The requested resource was not found. Verify the ID or path is correct.
409 An account with the same external account id, or the same provider and account number, already exists for this partner. The request conflicts with the current state of the resource.