{"openapi":"3.0.1","info":{"description":"Plug API","title":"Plug API","version":"2.0.0"},"servers":[{"url":"https://api.arcadia.com"}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","description":"This API uses OAuth2 with the client credentials flow using the ['Create an Access Token'](ref:create-access-token) endpoint. API keys can be retrieved from the [Dashboard](https://dashboard.arcadia.com/).","flows":{"clientCredentials":{"scopes":{},"tokenUrl":"/oauth2/token"}}}},"parameters":{"arcVersionInHeaderParam":{"name":"Arcadia-Version","in":"header","example":"2024-02-21","description":"The Arcadia-Version for the request","required":true,"schema":{"type":"string","default":"2024-02-21"}}},"schemas":{"ApiKeyBusinessUnitPatchRequest":{"type":"object","properties":{"businessUnitIds":{"type":"array","description":"The unique identifiers of the Business Units to assign to the API key, replacing any existing assignments.","items":{"type":"string","description":"The unique identifiers of the Business Units to assign to the API key, replacing any existing assignments."}}}},"BusinessUnitPatchRequest":{"type":"object","properties":{"name":{"maxLength":255,"minLength":1,"type":"string","description":"The new name of the Business Unit. Omit to leave unchanged.","nullable":true},"parentId":{"pattern":"^([A-Za-z]{2,3}_)?(\\d+|[A-Fa-f0-9]{8}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{12})$","type":"string","description":"The unique identifier of the new parent Business Unit. Omit to leave unchanged.","nullable":true},"sandboxWebhookUrl":{"maxLength":255,"minLength":0,"pattern":"^$|^http(s)?://(.)*$","type":"string","description":"The new URL where webhooks for sandbox entities associated with this Business Unit will be sent. Omit to leave unchanged, or supply an empty string to clear it. Must not match the sandbox webhook URL of any ancestor or descendant Business Unit.","nullable":true},"webhookUrl":{"maxLength":255,"minLength":0,"pattern":"^$|^http(s)?://(.)*$","type":"string","description":"The new URL where webhooks for live entities associated with this Business Unit will be sent. Omit to leave unchanged, or supply an empty string to clear it. Must not match the webhook URL of any ancestor or descendant Business Unit.","nullable":true}}},"BusinessUnitRef":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the business unit."},"name":{"type":"string","description":"The name of the business unit. `null` for business units outside the caller's scope.","nullable":true}},"description":"The business units assigned to this user. `name` will be `null` for business units the caller is not assigned to."},"BusinessUnitUsersPatchRequest":{"type":"object","properties":{"excludedUserIds":{"type":"array","description":"User ids (in `usr_<id>` form) to exclude from a search-based bulk assignment. Only used when `userIds` is absent.","items":{"minLength":1,"pattern":"^([A-Za-z]{2,3}_)?(\\d+|[A-Fa-f0-9]{8}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{12})$","type":"string","description":"User ids (in `usr_<id>` form) to exclude from a search-based bulk assignment. Only used when `userIds` is absent."}},"globalSearch":{"type":"string","description":"Free-text global search string applied alongside `search`."},"search":{"type":"string","description":"RSQL/FIQL search string scoping which users to assign. Use instead of `userIds` for select-all with optional exclusions."},"userIds":{"type":"array","description":"User ids (in `usr_<id>` form) to assign to the business unit.","items":{"minLength":1,"pattern":"^([A-Za-z]{2,3}_)?(\\d+|[A-Fa-f0-9]{8}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{12})$","type":"string","description":"User ids (in `usr_<id>` form) to assign to the business unit."}}}},"PageMetadata":{"required":["number","size","totalElements","totalPages"],"type":"object","properties":{"number":{"type":"integer","format":"int64"},"size":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}},"description":"Specifies which page of results to return; this is 0-indexed"},"PublicBusinessUnitCreateRequest":{"required":["name","parentId"],"type":"object","properties":{"name":{"maxLength":255,"minLength":0,"type":"string","description":"The name of the Business Unit."},"parentId":{"minLength":1,"pattern":"^([A-Za-z]{2,3}_)?(\\d+|[A-Fa-f0-9]{8}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{4}-?[A-Fa-f0-9]{12})$","type":"string","description":"The unique identifier of the parent Business Unit."},"sandboxWebhookUrl":{"maxLength":255,"minLength":0,"type":"string","description":"The URL where webhooks for sandbox entities associated with this Business Unit will be sent. Must not match the sandbox webhook URL of any ancestor or descendant Business Unit.","nullable":true},"webhookUrl":{"maxLength":255,"minLength":0,"type":"string","description":"The URL where webhooks for live entities associated with this Business Unit will be sent. Must not match the webhook URL of any ancestor or descendant Business Unit.","nullable":true}}},"PublicDatahubDatashareDeliveryRequest":{"required":["snowflakeAccountLocator","snowflakeAccountName","snowflakeAccountRegion","snowflakeOrganization"],"type":"object","properties":{"dataShareConfig":{"type":"string","description":"The data share configuration of the SFTP datahub delivery. By default it will be DATAHUB_ESG if it's not mentioned explicitly.","enum":["DATAHUB_ESG","DATAHUB_METER_LEVEL_SUMMARY","ALL_SHARES"]},"snowflakeAccountLocator":{"maxLength":100,"minLength":0,"type":"string","description":"An identifier assigned by Snowflake when the account is created."},"snowflakeAccountName":{"maxLength":100,"minLength":0,"type":"string","description":"The name of the current Snowflake account."},"snowflakeAccountRegion":{"type":"string","description":"The region where the Snowflake account is located.","enum":["AWS_AF_SOUTH_1","AWS_AP_NORTHEAST_1","AWS_AP_NORTHEAST_2","AWS_AP_NORTHEAST_3","AWS_AP_SOUTH_1","AWS_AP_SOUTHEAST_1","AWS_AP_SOUTHEAST_2","AWS_AP_SOUTHEAST_3","AWS_CA_CENTRAL_1","AWS_EU_CENTRAL_1","AWS_EU_CENTRAL_2","AWS_EU_NORTH_1","AWS_EU_WEST_1","AWS_EU_WEST_2","AWS_EU_WEST_3","AWS_SA_EAST_1","AWS_US_EAST_1","AWS_US_EAST_2","AWS_US_WEST_2","AZURE_AUSTRALIAEAST","AZURE_CANADACENTRAL","AZURE_CENTRALINDIA","AZURE_CENTRALUS","AZURE_EASTUS2","AZURE_JAPANEAST","AZURE_KOREACENTRAL","AZURE_MEXICOCENTRAL","AZURE_NORTHEUROPE","AZURE_SOUTHCENTRALUS","AZURE_SOUTHEASTASIA","AZURE_SWEDENCENTRAL","AZURE_SWITZERLANDN","AZURE_UAENORTH","AZURE_UKSOUTH","AZURE_WESTEUROPE","AZURE_WESTUS2","GCP_EUROPE_WEST2","GCP_EUROPE_WEST3","GCP_EUROPE_WEST4","GCP_ME_CENTRAL2","GCP_US_CENTRAL1","GCP_US_EAST4"]},"snowflakeOrganization":{"maxLength":100,"minLength":0,"type":"string","description":"The name of the Snowflake organization to which the current Snowflake account belongs."}}},"PublicDatahubSftpDeliveryConfigRequest":{"required":["reportToDeliver","sftpHost","sftpPath","username"],"type":"object","properties":{"deliveryFrequency":{"type":"string","description":"The delivery frequency of the SFTP datahub delivery. By default the delivery frequency of SFTP delivery will be MONTHLY if it's not mentioned explicitly.","enum":["DAILY","WEEKLY","MONTHLY","QUARTERLY"]},"hostKey":{"type":"string","description":"A cryptographic key that the server provides to clients during the SSH handshake process. It is a crucial part of the secure communication between the client and the server, because it allows the client to verify the server's identity."},"reportToDeliver":{"type":"string","description":"The Arcadia report that will be delivered to your SFTP.","enum":["MONTHLY","ANNUAL","QUARTERLY","METER_LEVEL_SUMMARY"]},"sftpHost":{"maxLength":255,"minLength":0,"pattern":"^[a-zA-Z0-9][a-zA-Z0-9\\-.]*[a-zA-Z0-9](?::[1-9][0-9]{0,4})?$","type":"string","description":"An SFTP server hostname or IP address refers to the location of a Secure File Transfer Protocol (SFTP) server on the internet or a network. This address is used by clients (users or software) to connect securely to the server and transfer files using the SFTP protocol, which encrypts data during transmission."},"sftpPath":{"minLength":1,"pattern":"^(\\/[^\\/ ]*)+\\/?$","type":"string","description":"The full path in the user’s directory that you would like your Arcadia data to be stored"},"username":{"minLength":1,"type":"string","description":"The username of the user you have set up for Arcadia to access your SFTP server."}}},"PublicPagedPlugApiKeyEventResource":{"required":["apiKeyEvents","page"],"type":"object","properties":{"apiKeyEvents":{"type":"array","description":"An array of API key event objects.","items":{"$ref":"#/components/schemas/PublicPlugApiKeyEventResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PublicPagedPlugApiKeyResource":{"required":["apiKeys","page"],"type":"object","properties":{"apiKeys":{"type":"array","description":"An array of API key objects.","items":{"$ref":"#/components/schemas/PublicPlugApiKeyResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PublicPagedPlugBusinessUnitEventResource":{"required":["businessUnitEvents","page"],"type":"object","properties":{"businessUnitEvents":{"type":"array","description":"An array of business unit event objects.","items":{"$ref":"#/components/schemas/PublicPlugBusinessUnitEventResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PublicPagedPlugBusinessUnitResource":{"required":["businessUnits","page"],"type":"object","properties":{"businessUnits":{"type":"array","description":"An array of business unit objects.","items":{"$ref":"#/components/schemas/PublicPlugBusinessUnitResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PublicPlugApiKeyEventResource":{"required":["clientId","createdAt","createdBy","eventType","fieldName","id","newValue","oldValue"],"type":"object","properties":{"clientId":{"type":"string","description":"The unique identifier of the API key this event was recorded against."},"createdAt":{"type":"string","description":"A timestamp indicating when the event occurred.","format":"date-time"},"createdBy":{"type":"string","description":"User or system responsible for the event."},"eventType":{"type":"string","description":"The type of event, indicating whether the API key was created or updated.","enum":["CREATED","UPDATED"]},"fieldName":{"type":"string","description":"The name of the field that was changed. `null` for creation events.","nullable":true},"id":{"type":"string","description":"A unique identifier for the event."},"newValue":{"type":"string","description":"The value of the field after the change. `null` for creation events.","nullable":true},"oldValue":{"type":"string","description":"The value of the field before the change. `null` for creation events.","nullable":true}},"description":"An array of API key event objects."},"PublicPlugApiKeyRequest":{"required":["name"],"type":"object","properties":{"businessUnitIds":{"type":"array","description":"The unique identifiers of the Business Units to assign to the API key. If omitted, the API key is assigned no Business Units.","nullable":true,"items":{"type":"string","description":"The unique identifiers of the Business Units to assign to the API key. If omitted, the API key is assigned no Business Units.","nullable":true}},"name":{"maxLength":255,"minLength":0,"type":"string","description":"The name for the API key."}}},"PublicPlugApiKeyResource":{"required":["businessUnits","clientId","clientSecret","createdAt","createdBy","name"],"type":"object","properties":{"businessUnits":{"type":"array","description":"Business units associated with this API key.","items":{"$ref":"#/components/schemas/BusinessUnitRef"}},"clientId":{"type":"string","description":"The unique identifier for the API key."},"clientSecret":{"type":"string","description":"The secret associated with the API key. If null, the secret could not be decrypted and the client must be re-created.","nullable":true},"createdAt":{"type":"string","description":"The timestamp indicating when this API key was created.","format":"date-time"},"createdBy":{"type":"string","description":"User or system responsible for creating the API key."},"name":{"type":"string","description":"The name for the API key."}}},"PublicPlugBusinessUnitEventResource":{"required":["businessUnitId","createdAt","createdBy","eventType","fieldName","id","newValue","oldValue"],"type":"object","properties":{"businessUnitId":{"type":"string","description":"The unique identifier of the Business Unit this event was recorded against."},"createdAt":{"type":"string","description":"A timestamp indicating when the event occurred.","format":"date-time"},"createdBy":{"type":"string","description":"User or system responsible for the event."},"eventType":{"type":"string","description":"The type of event, indicating whether the Business Unit was created or updated.","enum":["CREATED","UPDATED"]},"fieldName":{"type":"string","description":"The name of the field that was changed. `null` for creation events.","nullable":true},"id":{"type":"string","description":"A unique identifier for the event."},"newValue":{"type":"string","description":"The value of the field after the change. `null` for creation events.","nullable":true},"oldValue":{"type":"string","description":"The value of the field before the change. `null` for creation events.","nullable":true}},"description":"An array of business unit event objects."},"PublicPlugBusinessUnitResource":{"required":["ancestorBusinessUnitIds","childBusinessUnitIds","createdAt","createdBy","id","lastModifiedAt","lastModifiedBy","name","sandboxWebhookUrl","uniqueId","webhookUrl"],"type":"object","properties":{"ancestorBusinessUnitIds":{"type":"array","description":"An array of IDs for the ancestors of the Business Unit, starting with its immediate parent and ending with the root Business Unit.","items":{"type":"string","description":"An array of IDs for the ancestors of the Business Unit, starting with its immediate parent and ending with the root Business Unit."}},"childBusinessUnitIds":{"type":"array","description":"An array of IDs for only the immediate children of the Business Unit.","items":{"type":"string","description":"An array of IDs for only the immediate children of the Business Unit."}},"createdAt":{"type":"string","description":"A timestamp indicating when the resource was created.","format":"date-time"},"createdBy":{"type":"string","description":"User or system responsible for creating the entity."},"id":{"type":"string","description":"A unique identifier for the entity."},"lastModifiedAt":{"type":"string","description":"The timestamp indicating when this resource was last modified.","format":"date-time"},"lastModifiedBy":{"type":"string","description":"The user or system that last modified this resource."},"name":{"type":"string","description":"The name of the Business Unit. `null` for business units outside the caller's scope.","nullable":true},"sandboxWebhookUrl":{"type":"string","description":"The URL where webhooks for sandbox entities associated with this Business Unit will be sent.","nullable":true},"uniqueId":{"type":"string","description":"A secondary unique identifier for the Business Unit used in the Connect link."},"webhookUrl":{"type":"string","description":"The URL where webhooks for live entities associated with this Business Unit will be sent.","nullable":true}}},"PublicPlugBusinessUnitTreeResource":{"required":["ancestorBusinessUnitIds","children","createdAt","createdBy","id","lastModifiedAt","lastModifiedBy","name","sandboxWebhookUrl","uniqueId","webhookUrl"],"type":"object","properties":{"ancestorBusinessUnitIds":{"type":"array","description":"An array of IDs for the ancestors of the Business Unit, starting with its immediate parent and ending with the root Business Unit.","items":{"type":"string","description":"An array of IDs for the ancestors of the Business Unit, starting with its immediate parent and ending with the root Business Unit."}},"children":{"type":"array","description":"An array of resources of the immediate children of the Business Unit, which recursively includes all descendants.","items":{"$ref":"#/components/schemas/PublicPlugBusinessUnitTreeResource"}},"createdAt":{"type":"string","description":"A timestamp indicating when the resource was created.","format":"date-time"},"createdBy":{"type":"string","description":"User or system responsible for creating the entity."},"id":{"type":"string","description":"A unique identifier for the entity."},"lastModifiedAt":{"type":"string","description":"The timestamp indicating when this resource was last modified.","format":"date-time"},"lastModifiedBy":{"type":"string","description":"The user or system that last modified this resource."},"name":{"type":"string","description":"The name of the Business Unit. `null` for business units outside the caller's scope.","nullable":true},"sandboxWebhookUrl":{"type":"string","description":"The URL where webhooks for sandbox entities associated with this Business Unit will be sent.","nullable":true},"uniqueId":{"type":"string","description":"A secondary unique identifier for the Business Unit used in the Connect link."},"webhookUrl":{"type":"string","description":"The URL where webhooks for live entities associated with this Business Unit will be sent.","nullable":true}}},"PublicPlugCurrentOrganizationRequest":{"type":"object","properties":{"defaultWebhookUrl":{"maxLength":255,"minLength":0,"pattern":"^$|^http(s)?://(.)*$","type":"string","description":"The webhook URL used for any events in Live mode. The default webhook URL we will use."},"displayName":{"maxLength":100,"minLength":0,"type":"string","description":"Name to be shown for this organization in the Arcadia Connect UI."},"privacyPolicy":{"maxLength":500,"minLength":0,"type":"string","description":"A URL for your company's privacy policy. This will be linked in the Arcadia Connect UI."},"sandboxWebhookUrl":{"maxLength":255,"minLength":0,"pattern":"^$|^http(s)?://(.)*$","type":"string","description":"The URL for testing and reciving webhooks in sandbox mode."},"termsOfService":{"maxLength":500,"minLength":0,"type":"string","description":"A URL for your company's terms of service. This will be linked in the Arcadia Connect UI."}}},"PublicPlugPasswordResetRequest":{"type":"object","properties":{"password":{"type":"string","description":"The password associated with the account"},"token":{"type":"string","description":"We require this token to be provided when you want to update the password. If you made the password reset request via an API call, this token can be found in our response to you. If you made the password reset request via the Dashboard, this token already be included in the email we would send you. "}}},"PublicPlugPatchCurrentUserRequest":{"required":["email","name"],"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address associated with the account.","maxLength":100,"minLength":0},"name":{"maxLength":100,"minLength":0,"type":"string","description":"The name for the resource."}}},"PublicPlugUpdateUserRequest":{"type":"object","properties":{"businessUnitIds":{"type":"array","items":{"type":"string"}},"isEnabled":{"type":"boolean"},"roles":{"type":"array","items":{"type":"string"}}}},"PublicPlugUserRequest":{"required":["email","name"],"type":"object","properties":{"businessUnitIds":{"type":"array","description":"Business Unit ids (in `bus_<UUID>` form) to assign to the user.","items":{"type":"string","description":"Business Unit ids (in `bus_<UUID>` form) to assign to the user."}},"email":{"type":"string","format":"email","description":"The email address associated with the account.","maxLength":100,"minLength":0},"name":{"maxLength":100,"minLength":0,"pattern":"^[A-Za-z0-9 \\-]+$","type":"string","description":"The name for the resource."},"roles":{"type":"array","description":"The roles a user has.","items":{"type":"string","description":"The roles a user has."}}}},"TokenResponse":{"type":"object","properties":{"access_token":{"type":"string","description":"The access token that can be used to access the Arcadia API. This token should be included in the “Authorization” header in the format “Bearer ACCESS_TOKEN\"."},"expires_in":{"type":"integer","description":"The number of seconds until the access token expires. Defaults to 3600 seconds (one hour)."},"refresh_expires_in":{"type":"integer","description":"If one is provided, indicates the number of seconds until the refresh token expires. Currently, the refresh token grant type is not supported, so this value will always be 0."},"token_type":{"type":"string","description":"Specifies the type of access token, per the OAuth2 spec. Always returns a value of “Bearer”, indicating the access token should be added to requests in the “Authorization” header in the format “Bearer ACCESS_TOKEN”."},"not-before-policy":{"type":"integer","description":"A timestamp that specifies the earliest time the access token is valid. A value of 0 means there is no restriction on when the token become valid, and can be used immediately."},"scope":{"type":"string","description":"The scope of the access token. This will always currently be “profile email”."}},"required":["access_token","expires_in","refresh_expires_in","token_type","not-before-policy","scope"],"example":{"access_token":"foobar","expires_in":3600,"refresh_expires_in":0,"token_type":"Bearer","not-before-policy":0,"scope":"profile email"}},"TokenErrorResponse":{"type":"object","properties":{"error":{"type":"string","description":"A short description of the error that occurred."},"error_description":{"type":"string","description":"A more descriptive, human-readable explanation of the error."}},"example":{"error":"invalid_client","error_description":"Invalid client or Invalid client credentials"}},"BulkAccountUpdateJobRequest":{"type":"object","properties":{"businessUnitIds":{"type":"array","description":"Business Unit IDs to assign to matching Accounts. Replaces existing assignments.","items":{"type":"string"}},"globalSearch":{"type":"string"},"isStatementsProductActive":{"type":"boolean"},"search":{"type":"string"},"searchBusinessUnitIds":{"type":"array","description":"Business Unit IDs used to narrow which Accounts are selected for update (parent IDs include their descendants). Does not affect assignment. When omitted, the caller's full authorized scope is used. ","items":{"type":"string"}}}},"BulkMeterUpdateRequest":{"type":"object","properties":{"isLocationRecommendationIgnored":{"type":"boolean","description":"Indicates if location recommendation should be ignored."},"isStandalone":{"type":"boolean","description":"Indicates if the meters are standalone, meaning they are not expected to be associated with any site."},"meterIds":{"type":"array","items":{"type":"string"}}}},"CollectionPublicFileResource":{"type":"object","properties":{"files":{"type":"array","description":"An array of file objects representing what you submitted to Arcadia.","items":{"$ref":"#/components/schemas/PublicFileResource"}}},"required":["files"]},"CredentialSecretsResource":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier for the entity."},"password":{"type":"string","description":"A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object."},"password2":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object."},"password3":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object."},"password4":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object."},"username":{"type":"string","description":"A login input required to access the customer's utility data."},"username2":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider."},"username3":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider."},"username4":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider."}},"required":["id","password","password2","password3","password4","username","username2","username3","username4"]},"Datapoint":{"type":"object","description":"List of measurement values in different units","properties":{"units":{"type":"string","description":"Units of measurement for the value (e.g., kwh, kw, therms, ccf)"},"value":{"type":"number","format":"double","description":"The measured value in the specified units"}},"required":["units","value"]},"ExpectedAccountDeletionRequest":{"type":"object","properties":{"expectedAccountIds":{"type":"array","items":{"type":"string"}}},"required":["expectedAccountIds"]},"ExpectedMeterDeletionRequest":{"type":"object","properties":{"expectedMeterIds":{"type":"array","items":{"type":"string"}}},"required":["expectedMeterIds"]},"ImputedReadingsPositions":{"type":"object","description":"Imputed reading positions for import, export and net.","properties":{"ccf":{"type":"array","description":"Imputed reading positions for ccf.","items":{"type":"integer","format":"int32","description":"Imputed reading positions for ccf."}},"exportKwh":{"type":"array","description":"Imputed reading positions for export.","items":{"type":"integer","format":"int32","description":"Imputed reading positions for export."}},"importKwh":{"type":"array","description":"Imputed reading positions for import.","items":{"type":"integer","format":"int32","description":"Imputed reading positions for import."}},"netKwh":{"type":"array","description":"Imputed reading positions for net.","items":{"type":"integer","format":"int32","description":"Imputed reading positions for net."}},"therms":{"type":"array","description":"Imputed reading positions for therms.","items":{"type":"integer","format":"int32","description":"Imputed reading positions for therms."}}},"required":["ccf","exportKwh","importKwh","netKwh","therms"]},"NormalizedReading":{"type":"object","description":"The readings block contains an array of readings for import, export and net usage for the meter.","properties":{"ccf":{"type":"array","description":"Gas usage in cubic feet (ccf).","items":{"type":"number","format":"double","description":"Gas usage in cubic feet (ccf)."}},"electricMeterMultiplier":{"type":"array","description":"Power factor of energy usage.","items":{"type":"number","format":"double","description":"Power factor of energy usage."}},"exportKwh":{"type":"array","description":"Energy exported by meter(in kwh).","items":{"type":"number","format":"double","description":"Energy exported by meter(in kwh)."}},"importKwh":{"type":"array","description":"Energy imported by meter(in kwh).","items":{"type":"number","format":"double","description":"Energy imported by meter(in kwh)."}},"imputedReadingsPositions":{"$ref":"#/components/schemas/ImputedReadingsPositions"},"netKwh":{"type":"array","description":"Net energy usage of meter(in kwh).","items":{"type":"number","format":"double","description":"Net energy usage of meter(in kwh)."}},"therms":{"type":"array","description":"Gas usage in therms.","items":{"type":"number","format":"double","description":"Gas usage in therms."}}},"required":["ccf","electricMeterMultiplier","exportKwh","importKwh","imputedReadingsPositions","netKwh","therms"]},"PagedDetailedStatementResource":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/PageMetadata"},"statements":{"type":"array","description":"An array of statement objects.","items":{"$ref":"#/components/schemas/PublicDetailedStatementResource"}}},"required":["page","statements"]},"PagedPublicAccountEventResource":{"type":"object","properties":{"accountEvents":{"type":"array","description":"Events associated with the account, such as when the value of a field changes etc.","items":{"$ref":"#/components/schemas/PublicAccountEventResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["accountEvents","page"]},"PagedPublicAccountResource":{"type":"object","properties":{"accounts":{"type":"array","description":"An array of the accounts that satisfied the search criteria","items":{"$ref":"#/components/schemas/PublicAccountResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["accounts","page"]},"PagedPublicBusinessUnitEventResource":{"type":"object","properties":{"businessUnitEvents":{"type":"array","description":"Account-level Business Unit assignment events for the requested Business Unit.","items":{"$ref":"#/components/schemas/PublicBusinessUnitEventResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["businessUnitEvents","page"]},"PagedPublicCredentialEventResource":{"type":"object","properties":{"credentialEvents":{"type":"array","description":"Events associated with the credential, such as when the value of a field changes etc.","items":{"$ref":"#/components/schemas/PublicCredentialEventResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["credentialEvents","page"]},"PagedPublicCredentialResource":{"type":"object","properties":{"credentials":{"type":"array","description":"Sensitive information used to authenticate with a utility provider in order to log into an utility account online. ","items":{"$ref":"#/components/schemas/PublicCredentialResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["credentials","page"]},"PagedPublicDetailedAccountResource":{"type":"object","properties":{"accounts":{"type":"array","description":"An array of the accounts that satisfied the search criteria","items":{"$ref":"#/components/schemas/PublicDetailedAccountResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["accounts","page"]},"PagedPublicDiscoveredStatementResource":{"type":"object","properties":{"discoveredStatements":{"type":"array","description":"An array of discovered statement objects.","items":{"$ref":"#/components/schemas/PublicDiscoveredStatementResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["discoveredStatements","page"]},"PagedPublicExpectedAccountResource":{"type":"object","properties":{"expectedAccounts":{"type":"array","description":"An array of the expected accounts that satisfied the search criteria","items":{"$ref":"#/components/schemas/PublicExpectedAccountResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["expectedAccounts","page"]},"PagedPublicFileEventResource":{"type":"object","properties":{"fileEvents":{"type":"array","description":"Events associated with the file, such as when the value of a field changes etc.","items":{"$ref":"#/components/schemas/PublicFileEventResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["fileEvents","page"]},"PagedPublicFileResource":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/PublicFileResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["files","page"]},"PagedPublicMeterEventResource":{"type":"object","properties":{"meterEvents":{"type":"array","description":"Events associated with the meter, such as when the value of a field changes etc.","items":{"$ref":"#/components/schemas/PublicMeterEventResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["meterEvents","page"]},"PagedPublicMeterResource":{"type":"object","properties":{"meters":{"type":"array","description":"An array of meters.","items":{"$ref":"#/components/schemas/PublicMeterResource"}},"page":{"$ref":"#/components/schemas/PageMetadata"}},"required":["meters","page"]},"PagedPublicOrganizationEventResource":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/PageMetadata"},"plugOrganizationEvents":{"type":"array","description":"Events associated with custom data name changes","items":{"$ref":"#/components/schemas/PublicOrganizationEventResource"}}},"required":["page","plugOrganizationEvents"]},"PagedPublicPaymentResource":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/PageMetadata"},"payments":{"type":"array","description":"Details of payments made for the account, including amounts, dates, etc.","items":{"$ref":"#/components/schemas/PublicPaymentResource"}}},"required":["page","payments"]},"PagedPublicSiteEventResource":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/PageMetadata"},"siteEvents":{"type":"array","description":"Events associated with the site, such as when the value of a field changes etc.","items":{"$ref":"#/components/schemas/PublicSiteEventResource"}}},"required":["page","siteEvents"]},"PagedPublicSiteResource":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/PageMetadata"},"sites":{"type":"array","description":"An array of Sites objects.","items":{"$ref":"#/components/schemas/PublicSiteResource"}}},"required":["page","sites"]},"PagedPublicStatementSummaryResource":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/PageMetadata"},"statements":{"type":"array","description":"An array of statement objects.","items":{"$ref":"#/components/schemas/PublicStatementSummaryResource"}}},"required":["page","statements"]},"PagedPublicWebhookResource":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/PageMetadata"},"webhooks":{"type":"array","description":"An array of webhook objects.","items":{"$ref":"#/components/schemas/PublicWebhookResource"}}},"required":["page","webhooks"]},"PlugConfirmAddressRequest":{"type":"object","properties":{"city":{"type":"string","description":"The city associated with the billing address. ","nullable":true},"country":{"type":"string","description":"The country associated with the billing address.","nullable":true},"fullAddress":{"type":"string","description":"The complete address associated with the account, including street address, city, postal code, and country.","nullable":true},"postalCode":{"type":"string","description":"The postal code or ZIP code associated with the address of the account.","nullable":true},"state":{"type":"string","description":"The state or province associated with the billing address of the account.","nullable":true},"streetLine1":{"type":"string","description":"The first line of the street address.","nullable":true},"streetLine2":{"type":"string","description":"The second line of the street address.","nullable":true}}},"PlugError":{"type":"object","properties":{"details":{"type":"object","additionalProperties":true,"description":"A map of additional details about the error.","properties":{"errorId":{"type":"string"}},"required":["errorId"]},"message":{"type":"string","description":"Human readable text that elaborates on the error."},"param":{"type":"string","description":"The parameter that caused the error, if applicable."},"type":{"type":"string","description":"The type of error based on Arcadia's classification for errors.","enum":["conflict","internalServerError","invalidParameter","notFound","tooManyRequests","forbidden","methodNotAllowed"]}},"required":["details","message","param","type"]},"PlugErrorResponse":{"type":"object","properties":{"errors":{"type":"array","description":"Contains an array of error objects.","items":{"$ref":"#/components/schemas/PlugError"}}},"required":["errors"]},"PlugPublicCredentialRequest":{"type":"object","properties":{"correlationId":{"type":"string","description":"An ID used to match the utility data pulled for this request back to users in your system. Correlation ID does not have to be unique.","maxLength":255,"minLength":0},"isInteractive":{"type":"boolean","description":"For a provider that supports real time credential validation, you can create a credential with interactive set as true to receive feedback if the credential is valid or invalid."},"password":{"type":"string","description":"A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object.","maxLength":255,"minLength":0},"password2":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.","maxLength":255,"minLength":0},"password3":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.","maxLength":255,"minLength":0},"password4":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.","maxLength":255,"minLength":0},"privacyPolicyUrl":{"type":"string","description":"The URL to access the privacy policy you would like to use.","maxLength":500,"minLength":0},"providerId":{"type":"string","description":"The unique identifier of the utility service provider.","minLength":1},"requestedBusinessUnitIds":{"type":"array","description":"Business Unit IDs to assign to Accounts discovered from this Credential on its first success.","items":{"type":"string","description":"Business Unit IDs to assign to Accounts discovered from this Credential on its first success."}},"termsOfServiceUrl":{"type":"string","description":"The URL for the terms of service you want to use.","maxLength":500,"minLength":0},"username":{"type":"string","description":"A login input required to access the customer's utility data.","maxLength":255,"minLength":0},"username2":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","maxLength":255,"minLength":0},"username3":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","maxLength":255,"minLength":0},"username4":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","maxLength":255,"minLength":0},"website":{"type":"string","description":"The provider's website that this credential logs into."}},"required":["providerId"]},"PlugPublicMeterRequest":{"type":"object","properties":{"customData":{"type":"object","additionalProperties":{"type":"string","description":"You can use these fields to specify additional metadata."},"description":"You can use these fields to specify additional metadata."},"electricServiceIdentifier":{"type":"string","description":"The Electric Service Identifier (ESI ID) associated with the address for the meter. This field will be ignored when updating meters that are not associated with an intervals third party portal.","maxLength":22,"minLength":17},"isIntervalsProductActive":{"type":"boolean","description":"Indicates if intervals is activated for the meter."},"isStandalone":{"type":"boolean","description":"Indicates a meter is not expected to relate to a site."},"meterNumber":{"type":"string","description":"A meter identifier provided by the commodity provider (oftentimes the bill publisher). This field will be ignored when updating meters that are not associated with an intervals third party portal.","maxLength":255,"minLength":0},"retailCustomerEmail":{"type":"string","format":"email","description":"The customer email address associated with the account for the meter. An email will be sent to this email address to grant data sharing access. This field will be ignored when updating meters that are not associated with an intervals third party portal.","maxLength":255,"minLength":0},"site":{"type":"string","description":"A physical location or facility associated with the meter. This field should be used to specify the site ID."}}},"PlugPublicUpdateCredentialRequest":{"type":"object","properties":{"correlationId":{"type":"string","description":"A string value you can set to help you reconcile with your internal systems.","maxLength":255,"minLength":0},"isActive":{"type":"boolean","description":"Indicates whether the Credential is active for applicable products."},"isInteractive":{"type":"boolean","description":"Indicates whether the account supports interactive features or functionalities."},"password":{"type":"string","description":"The password associated with the account","maxLength":255,"minLength":0},"password2":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.","maxLength":255,"minLength":0},"password3":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.","maxLength":255,"minLength":0},"password4":{"type":"string","description":"Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.","maxLength":255,"minLength":0},"username":{"type":"string","description":"The username associated with the account.","maxLength":255,"minLength":0},"username2":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","maxLength":255,"minLength":0},"username3":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","maxLength":255,"minLength":0},"username4":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","maxLength":255,"minLength":0}}},"PublicAccountDataProviderResource":{"type":"object","description":"This resource represents the provider for an account data entry on a statement. In the statement context, the publisher provider is the provider that posts the bill whereas the pass-through provider is one that is listed on the bill but does not post it.","properties":{"classification":{"type":"string","description":"The classification of the provider. Useful to identify if this is a publisher or pass-through provider.","enum":["PUBLISHER","PASS_THROUGH"]},"id":{"type":"string","description":"The unique identifier for the provider in the Arcadia platform."},"name":{"type":"string","description":"The name of the provider."},"publisherProviderAccountId":{"type":"string","description":"A Publisher Provider issues the bill and a Pass-Though Provider is only mentioned on the bill. This is account ID of the Publisher Provider."}},"required":["classification","id","name","publisherProviderAccountId"]},"PublicAccountDataResource":{"type":"object","description":"Data related to individual accounts, including billing information, usage history, etc.","properties":{"accountId":{"type":"string","description":"An unique identifier for an account."},"accountName1":{"type":"string","description":"A general description associated with the name of the account. We obtain this description from the bill, when it is available. This field is not often populated. When it is populated, possible values you can expect are the name of the account owner, the name of the company, etc. ","nullable":true},"accountName2":{"type":"string","description":"Similar to the field `accountName1`, this is an additional general description associated with the name of the account. We obtain this description from the bill, when it is available. This field is rarely populated.","nullable":true},"accountNumber":{"type":"string","description":"An account identifier provided by the commodity provider (often times the bill publisher)."},"amountDue":{"type":"number","description":"The monetary amount that is required to be paid.","nullable":true},"amountDueAfterDueDate":{"type":"number","description":"The total amount due for the account after the due date, excluding any late fees or penalties.","nullable":true},"amountDueBeforeDueDate":{"type":"number","description":"The total amount due for the account before the due date, excluding any late fees or penalties.","nullable":true},"billingAddress":{"$ref":"#/components/schemas/PublicAddressResource"},"charges":{"type":"array","description":"Details of charges applied, including amounts, currency, etc.","items":{"$ref":"#/components/schemas/PublicChargeResource"}},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created."},"currencyCode":{"type":"string","description":"The ISO 4217 currency code for charges. This list will grow as additional currencies are supported over time.","enum":["USD","AUD","CAD","EUR","GBP","ZAR","RON","BRL","DKK","CHF","MXN","NZD","NOK","SEK","CZK","COP","PLN","ARS","GTQ","SGD","TRY","INR","JPY","HKD","HUF","AED","MAD","PHP","IDR","UYU","CLP","PEN","MYR","OMR","BHD","SAR","GHS","THB","VND","LKR","KRW","BAM","BGN","RSD","TWD","KES","NGN","ILS","CNY","CRC","EUS"],"nullable":true},"customerNumber":{"type":"string","description":"The bill contains a unique identifier for the customer associated with the account. This is not the account number","nullable":true},"cycleNumber":{"type":"string","description":"The code or ID for a meter reading schedule.","nullable":true},"disconnectDate":{"type":"string","format":"date","description":"The date on which the service for the account was disconnected.","nullable":true},"discountBeforeDueDate":{"type":"number","description":"Any discounts applied to the account if the outstanding balance is paid before the due date.","nullable":true},"dueDate":{"type":"string","format":"date","description":"The due date for payment associated with the account.","nullable":true},"facilityName":{"type":"string","description":"The name of the facility indicated on the bill.","nullable":true},"facilityNumber":{"type":"string","description":"A unique identifier for the facility indicated on the bill. This is not the account number.","nullable":true},"installmentDue":{"type":"number","description":"The amount due for a specific installment payment associated with the account.","nullable":true},"installmentOutstanding":{"type":"number","description":"The amount outstanding or remaining to be paid for a specific installment.","nullable":true},"invoiceNumber":{"type":"string","description":"The unique identifier or number assigned to a specific invoice.","nullable":true},"mapNumber":{"type":"string","description":"Like cycle number, the code or ID indicates a meter reading schedule.","nullable":true},"meterData":{"type":"array","description":"meterData: Data related to individual meters, including meter readings, usage history, etc.","items":{"$ref":"#/components/schemas/PublicMeterDataResource"}},"newCharges":{"type":"number","description":"Any new charges applied to the account since the last billing cycle or statement.","nullable":true},"normalizedAccountNumber":{"type":"string","description":"The normalized version of the account number (removing things like hyphens, underscores, and leading zeros)."},"outstandingBalance":{"type":"number","description":"The remaining balance yet to be paid for the account.","nullable":true},"paymentAddress":{"$ref":"#/components/schemas/PublicAddressResource"},"periodEndDate":{"type":"string","format":"date","description":"The end date of the measuring period.","nullable":true},"periodStartDate":{"type":"string","format":"date","description":"The start date of the measuring period.","nullable":true},"previousBalance":{"type":"number","description":"The balance carried forward from the previous billing period.","nullable":true},"provider":{"$ref":"#/components/schemas/PublicAccountDataProviderResource"},"statementDate":{"type":"string","format":"date","description":"The date of the statement.","nullable":true},"statementId":{"type":"string","description":"The unique identifier of a statement."},"totalCharges":{"type":"number","description":"The total charges applied for a specific billing period.","nullable":true},"usages":{"type":"array","description":"Details of usage data.","items":{"$ref":"#/components/schemas/PublicUsageResource"}}},"required":["accountId","accountName1","accountName2","accountNumber","amountDue","amountDueAfterDueDate","amountDueBeforeDueDate","billingAddress","charges","createdAt","currencyCode","customerNumber","cycleNumber","disconnectDate","discountBeforeDueDate","dueDate","facilityName","facilityNumber","installmentDue","installmentOutstanding","invoiceNumber","mapNumber","meterData","newCharges","normalizedAccountNumber","outstandingBalance","paymentAddress","periodEndDate","periodStartDate","previousBalance","provider","statementDate","statementId","totalCharges","usages"]},"PublicAccountDataSummaryResource":{"type":"object","description":"Data related to individual accounts, including billing information, usage history, etc.","properties":{"accountId":{"type":"string","description":"An unique identifier for an account."},"accountNumber":{"type":"string","description":"An account identifier provided by the commodity provider (often times the bill publisher)."},"amountDue":{"type":"number","description":"The monetary amount that is required to be paid.","nullable":true},"dueDate":{"type":"string","format":"date","description":"The due date for payment associated with the account.","nullable":true},"meterData":{"type":"array","description":"meterData: Data related to individual meters, including meter readings, usage history, etc.","items":{"$ref":"#/components/schemas/PublicMeterDataSummaryResource"}},"normalizedAccountNumber":{"type":"string","description":"The normalized version of the account number (removing things like hyphens, underscores, and leading zeros)."},"outstandingBalance":{"type":"number","description":"The remaining balance yet to be paid for the account.","nullable":true},"provider":{"$ref":"#/components/schemas/PublicAccountDataProviderResource"},"totalCharges":{"type":"number","description":"The total charges applied for a specific billing period.","nullable":true}},"required":["accountId","accountNumber","amountDue","dueDate","meterData","normalizedAccountNumber","outstandingBalance","provider","totalCharges"]},"PublicAccountEventResource":{"type":"object","description":"Events associated with the account, such as when the value of a field changes etc.","properties":{"createdAt":{"type":"string","format":"date-time","description":"The date-time this event occurred."},"createdBy":{"type":"string","description":"The user or system that initiated the event."},"eventType":{"type":"string","description":"The type of event that occurred.","enum":["CONNECTION_REQUEST_SUBMITTED","STATEMENTS_PRODUCT_ACTIVATED","STATEMENTS_PRODUCT_DEACTIVATED","ACCOUNT_UPDATED","ACCOUNT_CUSTOM_DATA_UPDATED","ACCOUNT_CREATED","BUSINESS_UNIT_ASSIGNED","BUSINESS_UNIT_UNASSIGNED"]},"fieldName":{"type":"string","description":"For custom data changes, represents which custom data field was modified.","nullable":true},"id":{"type":"string","description":"A unique identifier for the event."},"newValue":{"type":"string","description":"For custom data changes, represents the newly assigned value of the field.","nullable":true},"oldValue":{"type":"string","description":"For custom data changes, represents the previous value of the field.","nullable":true}},"required":["createdAt","createdBy","eventType","fieldName","id","newValue","oldValue"]},"PublicAccountResource":{"type":"object","properties":{"accountNumber":{"type":"string","description":"An account identifier provided by the commodity provider (often times the bill publisher)."},"billingCycle":{"type":"string","description":"The expected billing cycle. Determined by the service period of the most recent Statement.","enum":["MONTHLY","BIMONTHLY","QUARTERLY","TRIANNUALLY","HALF_YEARLY","YEARLY","ABNORMAL"],"nullable":true},"businessUnits":{"type":"array","description":"Business Units directly assigned to the Account.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"correlationIds":{"type":"array","description":"A list of correlationIds cascaded from all directly associated Credentials and Files.","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created."},"createdBy":{"type":"string","description":"User or system responsible for creating the entity.","nullable":true},"customData":{"$ref":"#/components/schemas/PublicCustomDataResource"},"firstExtractedAt":{"type":"string","format":"date-time","description":"The timestamp for when data was first extracted for the account.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"isAccessible":{"type":"boolean","description":"Indicates whether the Account has at least one Credential associated with it in an accessible status detail."},"isCustomerActionRequired":{"type":"boolean","description":"Indicates whether any action is required from you regarding this resource."},"isHistoryFulfilled":{"type":"boolean","description":"If true, all Statement Gaps for this Account are `EXPECTED`, or Statement Gaps are not applicable for the Account, such as summary Accounts or Accounts without any `CORE` `serviceTypeClassification` Meters. If false, there is at least one Statement Gap that is not `EXPECTED` or the gaps are pending computation."},"isIntervalsThirdPartyPortalAccount":{"type":"boolean","description":"Indicates whether or not this account is enrolled under an intervals third party portal."},"isStatementsProductActive":{"type":"boolean","description":"Indicates whether the Plug Statements product is active for this account."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"lastModifiedBy":{"type":"string","description":"The user or system that last modified this resource.","nullable":true},"lastSuccessfulStatementExtractionAt":{"type":"string","format":"date-time","description":"The timestamp indicating the most recent successful data extraction.","nullable":true},"latestNewStatementAt":{"type":"string","format":"date-time","description":"The timestamp indicating the most recent new statement received for the account.","nullable":true},"latestStatementDate":{"type":"string","format":"date","description":"The date of the most recent statement.","nullable":true},"nextExpectedPostDate":{"type":"string","format":"date","description":"The date we expect to see a new statement for this account.","nullable":true},"normalizedAccountNumber":{"type":"string","description":"The normalized version of the account number (removing things like hyphens, underscores, and leading zeros)."},"prepaid":{"type":"boolean","description":"Indicates whether the account operates on a prepaid basis, where services are paid for in advance."},"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"providerClassification":{"type":"string","description":"Indicates whether this account is associated with the publisher or pass-through provider on the bill.","enum":["PUBLISHER","PASS_THROUGH"],"nullable":true},"serviceTypes":{"type":"array","description":"An array of all types of service supported, such as electricity, water, or gas.","items":{"$ref":"#/components/schemas/PublicServiceTypeResource"}},"siteNames":{"type":"array","description":"An array of names for Sites.","items":{"type":"string","description":"An array of names for Sites."}},"status":{"type":"string","description":"Status of the resource.","enum":["NEW_ACCOUNT","CONNECTION_SUCCESS","CONNECTION_IN_PROGRESS","DATA_ACCESS_FAILURE","INACTIVE","CONNECTION_DEACTIVATED"]},"statusDetail":{"type":"string","description":"Reason the resource has the current status. ","enum":["DATA_ACCESSIBLE","ISSUE_UNDER_REVIEW","CREDENTIAL_ISSUE","NO_DATA_AVAILABLE","NO_BILLS_DISCOVERED_AFTER_MOST_RECENT_NEXT_EXPECTED_POST_DATE","NO_BILLS_DISCOVERED_AFTER_FINAL_BILL_NOTICE","EMAIL_APPROVAL","UNSUCCESSFUL_EMAIL_APPROVAL","USER_REVOKED_ACCESS","STATEMENT_EXTRACTION_NOT_REQUESTED"]},"summaryAccountId":{"type":"string","description":"The unique identifier of the summary account.","nullable":true},"summaryAccountNumber":{"type":"string","description":"The number or identifier assigned to the summary account by the provider.","nullable":true},"totalMeters":{"type":"integer","format":"int32","description":"Total number of meters associated with this account."},"type":{"type":"string","description":"Indicates the type of the account.","enum":["NORMAL","SUMMARY","SUB_ACCOUNT"]},"voidedAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was voided. This value resets to null if the entity is unvoided. See event history for additional context.","nullable":true}},"required":["accountNumber","billingCycle","businessUnits","correlationIds","createdAt","createdBy","customData","firstExtractedAt","id","isAccessible","isCustomerActionRequired","isHistoryFulfilled","isIntervalsThirdPartyPortalAccount","isStatementsProductActive","lastModifiedAt","lastModifiedBy","lastSuccessfulStatementExtractionAt","latestNewStatementAt","latestStatementDate","nextExpectedPostDate","normalizedAccountNumber","prepaid","provider","providerClassification","serviceTypes","siteNames","status","statusDetail","summaryAccountId","summaryAccountNumber","totalMeters","type","voidedAt"]},"PublicAccountSearchRequest":{"type":"object","properties":{"globalSearch":{"type":"string","description":"A global search query string. See [this page](ref:searching#global-search) for more information."},"search":{"type":"string","description":"A search query string. See [this page](ref:searching) for more information."}}},"PublicAddressResource":{"type":"object","description":"Address associated with the service location for the account.","nullable":true,"properties":{"addressType":{"type":"string","description":"Enumeration of strings field that indicates the comprehensiveness of the address for an account.","enum":["FULL","PARTIAL","CUSTOMER_PREFERRED"]},"city":{"type":"string","description":"The city associated with the billing address. ","nullable":true},"country":{"type":"string","description":"The country associated with the billing address.","nullable":true},"fullAddress":{"type":"string","description":"The complete address associated with the account, including street address, city, postal code, and country.","nullable":true},"postalCode":{"type":"string","description":"The postal code or ZIP code associated with the address of the account.","nullable":true},"recipient":{"type":"string","description":"The recipient for the address.","nullable":true},"state":{"type":"string","description":"The state or province associated with the billing address of the account.","nullable":true},"streetLine1":{"type":"string","description":"The first line of the street address.","nullable":true},"streetLine2":{"type":"string","description":"The second line of the street address.","nullable":true}},"required":["addressType","city","country","fullAddress","postalCode","recipient","state","streetLine1","streetLine2"]},"PublicAddressVerificationRequest":{"type":"object","properties":{"city":{"type":"string","description":"The city associated with the billing address. ","maxLength":255,"minLength":0},"country":{"type":"string","description":"The country associated with the billing address.","maxLength":255,"minLength":0},"postalCode":{"type":"string","description":"The postal code or ZIP code associated with the address of the account.","maxLength":255,"minLength":0},"siteId":{"type":"string","description":"The site ID associated with the billing address."},"state":{"type":"string","description":"The state or province associated with the billing address of the account.","maxLength":255,"minLength":0},"streetLine1":{"type":"string","description":"The first line of the street address.","maxLength":255,"minLength":0},"streetLine2":{"type":"string","description":"The second line of the street address.","maxLength":255,"minLength":0}}},"PublicAlternateAccessResource":{"type":"object","description":"List of alternate access methods (such as guest access) configured for this credential.","properties":{"id":{"type":"string","description":"A unique identifier for the alternate access record."},"isActive":{"type":"boolean","description":"Indicates whether this alternate access method is currently active."},"lastSuccessfulRefreshAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this alternate access method was last successfully refreshed.","nullable":true},"status":{"type":"string","description":"A high-level status for this alternate access method. See [this](https://docs.arcadia.com/docs/status-and-status-detail-definitions#credentials) table for more information.","enum":["CONNECTION_SUCCESS","CONNECTION_IN_PROGRESS","CONNECTION_FAILURE","CONNECTION_DEACTIVATED","ALTERNATE_ACCESS"]},"statusDetail":{"type":"string","description":"A detailed status for this alternate access method. See [this](https://docs.arcadia.com/docs/status-and-status-detail-definitions#credentials) table for more information.","enum":["LOGIN_AND_DATA_DISCOVERY_SUCCESS","LOGIN_AND_INTERVALS_DISCOVERY_SUCCESS","LOGIN_SUCCESS_INTERVALS_DISCOVERY_FAILURE","PROVIDER_WEBSITE_INACCESSIBLE","ACCOUNT_TEMPORARILY_LOCKED","ISSUE_UNDER_REVIEW","PROVIDER_WEBSITE_NAVIGATION_FAILURE","UNSUPPORTED_CAPTCHA","INVALID_CREDENTIALS","MULTI_FACTOR_AUTHENTICATION_FAILURE","UNSUPPORTED_MULTI_FACTOR_AUTHENTICATION","MULTI_FACTOR_AUTHENTICATION_TIMEOUT","MULTI_FACTOR_AUTHENTICATION_REFRESH_REQUIRED","OTHER_ACCESS_LIMITATION","DATA_EXTRACTION_IN_PROGRESS","REQUIRES_ENROLLMENT","EMAIL_APPROVAL","UNSUCCESSFUL_EMAIL_APPROVAL","USER_REVOKED_ACCESS","PROVIDER_REGISTRATION_INCOMPLETE","GUEST_ACCESS_SYNC_INCOMPLETE","GUEST_ACCESS_CONFIGURATION_IN_PROGRESS","GUEST_ACCESS_CONFIGURATION_FAILURE","GUEST_ACCESS_NOT_SUPPORTED","GUEST_ACCESS_REMOVED","DATA_EXTRACTION_NOT_REQUESTED"]},"type":{"type":"string","description":"The type of alternate access method.","enum":["GUEST_ACCESS"]}},"required":["id","isActive","lastSuccessfulRefreshAt","status","statusDetail","type"]},"PublicAssociatedEntitiesCountResource":{"type":"object","properties":{"accountCount":{"type":"integer","format":"int32","description":"The number of accounts."},"meterCount":{"type":"integer","format":"int32","description":"The total number of meters associated with the account."},"statementCount":{"type":"integer","format":"int32","description":"The total number of statements."}},"required":["accountCount","meterCount","statementCount"]},"PublicBusinessUnitEventResource":{"type":"object","description":"An account-level Business Unit assignment event.","properties":{"accountId":{"type":"string","description":"Identifier of the affected account.","nullable":true},"createdAt":{"type":"string","format":"date-time","description":"When the event was recorded."},"effectiveAt":{"type":"string","format":"date-time","description":"When the assignment change took effect.","nullable":true},"eventType":{"type":"string","description":"Whether the BU was assigned to or unassigned from the account.","enum":["BUSINESS_UNIT_ASSIGNED","BUSINESS_UNIT_UNASSIGNED"]},"id":{"type":"string","description":"Unique identifier for the event.","readOnly":true}},"required":["accountId","createdAt","effectiveAt","eventType","id"]},"PublicBusinessUnitResource":{"type":"object","description":"A business unit assignment.","properties":{"id":{"type":"string","description":"Business unit identifier.","readOnly":true},"name":{"type":"string","description":"Display name when visible to the caller.","nullable":true}},"required":["id","name"]},"PublicChargeResource":{"type":"object","description":"Details of charges applied, including amounts, currency, etc.","properties":{"additionalRateMultiplier":{"type":"number","description":"This field represents an additional multiplier applied to rates, possibly for specific services or circumstances.","nullable":true},"averageUnitCostAsPrinted":{"type":"number","description":"Average cost per unit (e.g., per kWh, per gallon) of energy or water usage as printed on the bill.","nullable":true},"chargeAmount":{"type":"number","description":"The amount of the charge.","nullable":true},"chargeAmountCurrency":{"type":"string","description":"The name of the currency of the charge amount.","nullable":true},"chargeCurrencyCode":{"type":"string","description":"The ISO 4217 currency code for charges. This list will grow as additional currencies are supported over time.","enum":["USD","AUD","CAD","EUR","GBP","ZAR","RON","BRL","DKK","CHF","MXN","NZD","NOK","SEK","CZK","COP","PLN","ARS","GTQ","SGD","TRY","INR","JPY","HKD","HUF","AED","MAD","PHP","IDR","UYU","CLP","PEN","MYR","OMR","BHD","SAR","GHS","THB","VND","LKR","KRW","BAM","BGN","RSD","TWD","KES","NGN","ILS","CNY","CRC","EUS"],"nullable":true},"chargeGroupHeading":{"type":"string","description":"Additional charge description as seen on the bill.","nullable":true},"chargeNameAsPrinted":{"type":"string","description":"The name of the charge as printed on the bill.","nullable":true},"chargeRate":{"type":"number","description":"The rate applied for a specific charge, such as a usage charge or service fee.","nullable":true},"chargeRateAdder":{"type":"number","description":"Additional rate added to the base charge rate, if applicable.","nullable":true},"chargeRateBase":{"type":"number","description":"Base rate used for calculating charges.","nullable":true},"chargeRateCurrency":{"type":"string","description":"The name of the currency of the charge rate (e.g. currency_dollars, currency_cents, currency_euros, etc).","nullable":true},"chargeType":{"type":"string","description":"Type of the charge applied to the account.","enum":["DEBIT","CREDIT"],"nullable":true},"chargeUnitsUsed":{"type":"number","description":"Unit of measure for any variable charges, where declared (not calculated).","nullable":true},"contributionStatus":{"type":"string","description":"* `CONTRIBUTING` - Indicates the charge amount is a contributing value to the total bill amount.\n* `NON_CONTRIBUTING` - Indicates the charge amount does not contribute to the total bill amount. This may be because it's a redundant sub-total, or due to proration.","enum":["CONTRIBUTING","NON_CONTRIBUTING"],"nullable":true},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"lifecycleStage":{"type":"string","description":"Lifecycle section for a specific charge. Values can be: `lifecycle_bundled`, `lifecycle_generation`, `lifecycle_transmission`, `lifecycle_distribution`, `lifecycle_combined_delivery`, `lifecycle_combined_supply`, `null`.","nullable":true},"measurementType":{"type":"string","description":"Delivery terms for the tariff: General consumption, demand, bi-directional in, bi-directional out, deduct, deliveries","nullable":true},"periodEndDate":{"type":"string","format":"date","description":"The end date of the measuring period.","nullable":true},"periodStartDate":{"type":"string","format":"date","description":"The start date of the measuring period.","nullable":true},"prorationStatus":{"type":"string","description":"* `PRORATED` - Indicates this charge is the result of a proration calculation; for example, prorating an account level charge down to individual meters.\n* `PRORATION_SOURCE` - Indicates this charge was an original charge extracted from the bill, but we performed proration calculations on it to push it down in the statement graph.\n* `null` - Indicates this charge has no participation in a proration calculation.","enum":["PRORATED","PRORATION_SOURCE","INFERRED"],"nullable":true},"tariff":{"$ref":"#/components/schemas/PublicTariffResource"},"tariffRateComponents":{"type":"array","description":"The components or elements that make up the tariff rate, such as base charges, usage charges, and taxes.","items":{"$ref":"#/components/schemas/PublicTariffRateComponentResource"}},"unitsPerRate":{"type":"number","description":"When a rate is assessed on unit number greater than one.","nullable":true},"usageUnit":{"type":"string","description":"The unit of measurement for energy or water usage, such as kWh (kilowatt-hour) or gallons.","nullable":true}},"required":["additionalRateMultiplier","averageUnitCostAsPrinted","chargeAmount","chargeAmountCurrency","chargeCurrencyCode","chargeGroupHeading","chargeNameAsPrinted","chargeRate","chargeRateAdder","chargeRateBase","chargeRateCurrency","chargeType","chargeUnitsUsed","contributionStatus","createdAt","id","lastModifiedAt","lifecycleStage","measurementType","periodEndDate","periodStartDate","prorationStatus","tariff","tariffRateComponents","unitsPerRate","usageUnit"]},"PublicCreateAccountRequest":{"type":"object","properties":{"accountNumber":{"type":"string","description":"An account identifier provided by the commodity provider (often times the bill publisher).","maxLength":255,"minLength":0},"businessUnitIds":{"type":"array","description":"Business Unit IDs to assign to this Account.","items":{"type":"string","description":"Business Unit IDs to assign to this Account."}},"correlationId":{"type":"string","description":"A string value you can set to help you reconcile with your internal systems."},"isActive":{"type":"boolean","description":"Indicates whether the Account is active for applicable products."},"providerId":{"type":"string","description":"The unique identifier of the utility service provider.","minLength":1}},"required":["accountNumber","providerId"]},"PublicCreateMeterRequest":{"type":"object","properties":{"businessUnitIds":{"type":"array","description":"Business Unit IDs to assign to this Meter's Account.","items":{"type":"string","description":"Business Unit IDs to assign to this Meter's Account."}},"correlationId":{"type":"string","description":"An ID used to match the utility data pulled for this request back to users in your system. Correlation ID does not have to be unique.","maxLength":255,"minLength":0},"electricServiceIdentifier":{"type":"string","description":"The Electric Service Identifier (ESI ID) associated with the address for the meter.","maxLength":22,"minLength":17},"meterNumber":{"type":"string","description":"A meter identifier provided by the commodity provider (oftentimes the bill publisher).","maxLength":255,"minLength":0},"providerId":{"type":"string","description":"The unique identifier of the utility service provider.","minLength":1},"retailCustomerEmail":{"type":"string","format":"email","description":"The customer email address associated with the account for the meter. An email will be sent to this email address to grant data sharing access.","maxLength":255,"minLength":0}},"required":["electricServiceIdentifier","meterNumber","providerId","retailCustomerEmail"]},"PublicCredentialEventResource":{"type":"object","description":"Events associated with the credential, such as when the value of a field changes etc.","properties":{"createdAt":{"type":"string","format":"date-time","description":"The date-time this event occurred"},"createdBy":{"type":"string","description":"The user or system that initiated the event."},"eventType":{"type":"string","description":"The type of event that occurred.","enum":["CREDENTIAL_CREATED","CREDENTIAL_ACTIVATED","CREDENTIAL_DEACTIVATED","CREDENTIAL_UPDATED","CREDENTIAL_BUSINESS_UNIT_ASSIGNMENT_FAILURE"]},"fieldName":{"type":"string","description":"For custom data changes, represents which custom data field was modified.","nullable":true},"id":{"type":"string","description":"A unique identifier for the event."},"newValue":{"type":"string","description":"For custom data changes, represents the newly assigned value of the field.","nullable":true},"oldValue":{"type":"string","description":"For custom data changes, represents the previous value of the field.","nullable":true}},"required":["createdAt","createdBy","eventType","fieldName","id","newValue","oldValue"]},"PublicCredentialRefreshURLResource":{"type":"object","properties":{"expirationAt":{"type":"string","format":"date-time","description":"The date time the refreshUrl will stop working at."},"refreshUrl":{"type":"string","description":"The Connect URL used for refreshing the MFA Credential."}},"required":["expirationAt","refreshUrl"]},"PublicCredentialResource":{"type":"object","properties":{"alternateAccesses":{"type":"array","description":"List of alternate access methods (such as guest access) configured for this credential.","items":{"$ref":"#/components/schemas/PublicAlternateAccessResource"}},"businessUnitsUnion":{"type":"array","description":"Union of Business Units from Accounts linked to this Credential.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"connectionHealth":{"type":"string","description":"A high-level connection health status that reflects the best outcome across the credential and all configured alternate access methods.","enum":["CONNECTION_SUCCESS","CONNECTION_IN_PROGRESS","CONNECTION_FAILURE","CONNECTION_DEACTIVATED"]},"correlationId":{"type":"string","description":"A string value you can set to help you reconcile with your internal systems.","nullable":true},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created."},"createdBy":{"type":"string","description":"User or system responsible for creating the entity."},"customerGivenWebsite":{"type":"string","description":"The website provided by the customer when creating this credential.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"isAccessible":{"type":"boolean","description":"Indicates whether Arcadia is potentially able to successfully log into the Credential."},"isActive":{"type":"boolean","description":"Indicates whether the Credential is active for applicable products."},"isCustomerActionRequired":{"type":"boolean","description":"Indicates whether any action is required from you regarding this resource."},"isThirdPartyPortal":{"type":"boolean","description":"Indicates whether the account requires to be accessed through a third-party portal or platform."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified."},"lastModifiedBy":{"type":"string","description":"The user or system that last modified this resource."},"lastSuccessfulMultiFactorAuthenticationOptOutAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this Credential was last successfully opted out of Multi Factor Authentication.","nullable":true},"multiFactorAuthenticationOptOutStatus":{"type":"string","description":"The status of Multi Factor Authentication Opt Out for the Credential.","enum":["SUCCESS","FAILURE","IN_PROGRESS"],"nullable":true},"nextScheduledAccountRunAt":{"type":"string","format":"date-time","description":"The scheduled time for the next automated credential job."},"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"status":{"type":"string","description":"A high-level status for this credential. See [this](https://docs.arcadia.com/docs/status-and-status-detail-definitions#credentials) table for more information.","enum":["CONNECTION_SUCCESS","CONNECTION_IN_PROGRESS","CONNECTION_FAILURE","CONNECTION_DEACTIVATED","ALTERNATE_ACCESS"]},"statusDetail":{"type":"string","description":"A detailed status for this credential.  See [this](https://docs.arcadia.com/docs/status-and-status-detail-definitions#credentials) table for more information.","enum":["LOGIN_AND_DATA_DISCOVERY_SUCCESS","LOGIN_AND_INTERVALS_DISCOVERY_SUCCESS","LOGIN_SUCCESS_INTERVALS_DISCOVERY_FAILURE","PROVIDER_WEBSITE_INACCESSIBLE","ACCOUNT_TEMPORARILY_LOCKED","ISSUE_UNDER_REVIEW","PROVIDER_WEBSITE_NAVIGATION_FAILURE","UNSUPPORTED_CAPTCHA","INVALID_CREDENTIALS","MULTI_FACTOR_AUTHENTICATION_FAILURE","UNSUPPORTED_MULTI_FACTOR_AUTHENTICATION","MULTI_FACTOR_AUTHENTICATION_TIMEOUT","MULTI_FACTOR_AUTHENTICATION_REFRESH_REQUIRED","OTHER_ACCESS_LIMITATION","DATA_EXTRACTION_IN_PROGRESS","REQUIRES_ENROLLMENT","EMAIL_APPROVAL","UNSUCCESSFUL_EMAIL_APPROVAL","USER_REVOKED_ACCESS","PROVIDER_REGISTRATION_INCOMPLETE","GUEST_ACCESS_SYNC_INCOMPLETE","GUEST_ACCESS_CONFIGURATION_IN_PROGRESS","GUEST_ACCESS_CONFIGURATION_FAILURE","GUEST_ACCESS_NOT_SUPPORTED","GUEST_ACCESS_REMOVED","DATA_EXTRACTION_NOT_REQUESTED"]},"totalAccounts":{"type":"integer","format":"int32","description":"The total number of accounts."},"username":{"type":"string","description":"A login input required to access the customer's utility data"},"username2":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","nullable":true},"username3":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","nullable":true},"username4":{"type":"string","description":"Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider","nullable":true},"website":{"type":"string","description":"The provider's website that this credential logs into.","nullable":true}},"required":["alternateAccesses","businessUnitsUnion","connectionHealth","correlationId","createdAt","createdBy","customerGivenWebsite","id","isAccessible","isActive","isCustomerActionRequired","isThirdPartyPortal","lastModifiedAt","lastModifiedBy","lastSuccessfulMultiFactorAuthenticationOptOutAt","multiFactorAuthenticationOptOutStatus","nextScheduledAccountRunAt","provider","status","statusDetail","totalAccounts","username","username2","username3","username4","website"]},"PublicCredentialURLResource":{"type":"object","properties":{"expirationAt":{"type":"string","format":"date-time","description":"The date time the updateUrl will stop working at."},"updateUrl":{"type":"string","description":"The Connect URL used for updating or modifying credentials."}},"required":["expirationAt","updateUrl"]},"PublicCustomDataResource":{"type":"object","description":"You can use these fields to specify additional metadata."},"PublicDeletionLogResource":{"type":"object","properties":{"accountCount":{"type":"integer","format":"int32","description":"The number of accounts. Note: if this is 0, but the entity being deleted has associated accounts, those accounts will be unlinked from the deleted entity but remain in the system. This is because the accounts are associated with another file or credential that is not being deleted."},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created."},"createdBy":{"type":"string","description":"User or system responsible for creating the entity.","nullable":true},"deletionTargetId":{"type":"string","description":"The ID of the primary resource being deleted. May belong to an Account, Credential, File or Site."},"fileCount":{"type":"integer","format":"int32","description":"The total number of files that are requested to be deleted."},"id":{"type":"string","description":"A unique identifier for the entity."},"meterCount":{"type":"integer","format":"int32","description":"The total number of meters associated with the account."},"siteCount":{"type":"integer","format":"int32","description":"The total number of Sites."},"statementCount":{"type":"integer","format":"int32","description":"The total number of statements."},"status":{"type":"string","description":"Status of the resource.","enum":["REQUESTED","SCHEDULED","SUCCESS","FAILURE"]}},"required":["accountCount","createdAt","createdBy","deletionTargetId","fileCount","id","meterCount","siteCount","statementCount","status"]},"PublicDetailedAccountResource":{"type":"object","properties":{"accountNumber":{"type":"string","description":"An account identifier provided by the commodity provider (often times the bill publisher)."},"billingCycle":{"type":"string","description":"The expected billing cycle. Determined by the service period of the most recent Statement.","enum":["MONTHLY","BIMONTHLY","QUARTERLY","TRIANNUALLY","HALF_YEARLY","YEARLY","ABNORMAL"],"nullable":true},"businessUnits":{"type":"array","description":"Business Units directly assigned to the Account.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"correlationIds":{"type":"array","description":"A list of correlationIds cascaded from all directly associated Credentials and Files.","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created."},"createdBy":{"type":"string","description":"User or system responsible for creating the entity.","nullable":true},"customData":{"$ref":"#/components/schemas/PublicCustomDataResource"},"firstExtractedAt":{"type":"string","format":"date-time","description":"The timestamp for when data was first extracted for the account.","nullable":true},"gapSummary":{"$ref":"#/components/schemas/StatementGapSummaryResource"},"id":{"type":"string","description":"A unique identifier for the entity."},"isAccessible":{"type":"boolean","description":"Indicates whether the Account has at least one Credential associated with it in an accessible status detail."},"isCustomerActionRequired":{"type":"boolean","description":"Indicates whether any action is required from you regarding this resource."},"isHistoryFulfilled":{"type":"boolean","description":"If true, all Statement Gaps for this Account are `EXPECTED`, or Statement Gaps are not applicable for the Account, such as summary Accounts or Accounts without any `CORE` `serviceTypeClassification` Meters. If false, there is at least one Statement Gap that is not `EXPECTED` or the gaps are pending computation."},"isIntervalsThirdPartyPortalAccount":{"type":"boolean","description":"Indicates whether or not this account is enrolled under an intervals third party portal."},"isStatementsProductActive":{"type":"boolean","description":"Indicates whether the Plug Statements product is active for this account."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"lastModifiedBy":{"type":"string","description":"The user or system that last modified this resource.","nullable":true},"lastSuccessfulStatementExtractionAt":{"type":"string","format":"date-time","description":"The timestamp indicating the most recent successful data extraction.","nullable":true},"latestNewStatementAt":{"type":"string","format":"date-time","description":"The timestamp indicating the most recent new statement received for the account.","nullable":true},"latestStatementDate":{"type":"string","format":"date","description":"The date of the most recent statement.","nullable":true},"nextExpectedPostDate":{"type":"string","format":"date","description":"The date we expect to see a new statement for this account.","nullable":true},"normalizedAccountNumber":{"type":"string","description":"The normalized version of the account number (removing things like hyphens, underscores, and leading zeros)."},"prepaid":{"type":"boolean","description":"Indicates whether the account operates on a prepaid basis, where services are paid for in advance."},"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"providerClassification":{"type":"string","description":"Indicates whether this account is associated with the publisher or pass-through provider on the bill.","enum":["PUBLISHER","PASS_THROUGH"],"nullable":true},"serviceTypes":{"type":"array","description":"An array of all types of service supported, such as electricity, water, or gas.","items":{"$ref":"#/components/schemas/PublicServiceTypeResource"}},"siteNames":{"type":"array","description":"An array of names for Sites.","items":{"type":"string","description":"An array of names for Sites."}},"status":{"type":"string","description":"Status of the resource.","enum":["NEW_ACCOUNT","CONNECTION_SUCCESS","CONNECTION_IN_PROGRESS","DATA_ACCESS_FAILURE","INACTIVE","CONNECTION_DEACTIVATED"]},"statusDetail":{"type":"string","description":"Reason the resource has the current status. ","enum":["DATA_ACCESSIBLE","ISSUE_UNDER_REVIEW","CREDENTIAL_ISSUE","NO_DATA_AVAILABLE","NO_BILLS_DISCOVERED_AFTER_MOST_RECENT_NEXT_EXPECTED_POST_DATE","NO_BILLS_DISCOVERED_AFTER_FINAL_BILL_NOTICE","EMAIL_APPROVAL","UNSUCCESSFUL_EMAIL_APPROVAL","USER_REVOKED_ACCESS","STATEMENT_EXTRACTION_NOT_REQUESTED"]},"summaryAccountId":{"type":"string","description":"The unique identifier of the summary account.","nullable":true},"summaryAccountNumber":{"type":"string","description":"The number or identifier assigned to the summary account by the provider.","nullable":true},"totalMeters":{"type":"integer","format":"int32","description":"Total number of meters associated with this account."},"type":{"type":"string","description":"Indicates the type of the account.","enum":["NORMAL","SUMMARY","SUB_ACCOUNT"]},"voidedAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was voided. This value resets to null if the entity is unvoided. See event history for additional context.","nullable":true}},"required":["accountNumber","billingCycle","businessUnits","correlationIds","createdAt","createdBy","customData","firstExtractedAt","gapSummary","id","isAccessible","isCustomerActionRequired","isHistoryFulfilled","isIntervalsThirdPartyPortalAccount","isStatementsProductActive","lastModifiedAt","lastModifiedBy","lastSuccessfulStatementExtractionAt","latestNewStatementAt","latestStatementDate","nextExpectedPostDate","normalizedAccountNumber","prepaid","provider","providerClassification","serviceTypes","siteNames","status","statusDetail","summaryAccountId","summaryAccountNumber","totalMeters","type","voidedAt"]},"PublicDetailedStatementResource":{"type":"object","properties":{"accountData":{"type":"array","description":"Data related to individual accounts, including billing information, usage history, etc.","items":{"$ref":"#/components/schemas/PublicAccountDataResource"}},"amountDue":{"type":"number","description":"The monetary amount that is required to be paid.","nullable":true},"amountDueAfterDueDate":{"type":"number","description":"The total amount due for the account after the due date, excluding any late fees or penalties.","nullable":true},"amountDueBeforeDueDate":{"type":"number","description":"The total amount due for the account before the due date, excluding any late fees or penalties.","nullable":true},"businessUnitsIntersection":{"type":"array","description":"Intersection of Business Units across Accounts on this Statement Version.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"businessUnitsUnion":{"type":"array","description":"Union of Business Units from Accounts on this Statement Version.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"charges":{"type":"array","description":"Details of charges applied, including amounts, currency, etc.","items":{"$ref":"#/components/schemas/PublicChargeResource"}},"correlationIds":{"type":"array","description":"A list of correlationIds cascaded from all directly associated Credentials and Files.","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created.","nullable":true},"credentialIds":{"type":"array","description":"An unique identifier for a credential. ","items":{"type":"string","description":"An unique identifier for a credential. "}},"currencyCode":{"type":"string","description":"The ISO 4217 currency code for charges. This list will grow as additional currencies are supported over time.","enum":["USD","AUD","CAD","EUR","GBP","ZAR","RON","BRL","DKK","CHF","MXN","NZD","NOK","SEK","CZK","COP","PLN","ARS","GTQ","SGD","TRY","INR","JPY","HKD","HUF","AED","MAD","PHP","IDR","UYU","CLP","PEN","MYR","OMR","BHD","SAR","GHS","THB","VND","LKR","KRW","BAM","BGN","RSD","TWD","KES","NGN","ILS","CNY","CRC","EUS"],"nullable":true},"customerNumber":{"type":"string","description":"The bill contains a unique identifier for the customer associated with the account. This is not the account number","nullable":true},"cycleNumber":{"type":"string","description":"The code or ID for a meter reading schedule.","nullable":true},"dataIngestionMethod":{"type":"string","description":"Indicates the method you used to send data to us.","enum":["BILL_UPLOAD","UTILITY_WEBSITE_ACCESS"],"nullable":true},"disconnectDate":{"type":"string","format":"date","description":"The date on which the service for the account was disconnected.","nullable":true},"discountBeforeDueDate":{"type":"number","description":"Any discounts applied to the account if the outstanding balance is paid before the due date.","nullable":true},"discoveredAt":{"type":"string","format":"date-time","description":"Timestamp indicating when the statement data was discovered and added to the system.","nullable":true},"discoveredStatementId":{"type":"string","description":"The unique identifier for the discovered statement in the Arcadia platform.","nullable":true},"dueDate":{"type":"string","format":"date","description":"The due date for payment associated with the account.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"invoiceNumber":{"type":"string","description":"The unique identifier or number assigned to a specific invoice.","nullable":true},"isFinalBill":{"type":"boolean","description":"Indicates whether the current bill is the final bill for the account."},"isLatestVersion":{"type":"boolean","description":"Indicates if this is the latest/default version of the statement."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"newCharges":{"type":"number","description":"Any new charges applied to the account since the last billing cycle or statement.","nullable":true},"normalizedSummaryAccountNumber":{"type":"string","description":"The normalized version of the Summary account number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"outstandingBalance":{"type":"number","description":"The remaining balance yet to be paid for the account.","nullable":true},"periodEndDate":{"type":"string","format":"date","description":"The end date of the measuring period.","nullable":true},"periodStartDate":{"type":"string","format":"date","description":"The start date of the measuring period.","nullable":true},"previousBalance":{"type":"number","description":"The balance carried forward from the previous billing period.","nullable":true},"previousStatementDate":{"type":"string","format":"date","description":"The date of the previous bill.","nullable":true},"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"sourceType":{"type":"string","description":"The data format of the data extraction source we used.","enum":["TAG_NAME","UNCLASSIFIED","HTML","CSS","PNG","JPG","GIF","TIFF","SVG","WEBP","ICO","PDF","JSON","CSV","XML","XLS","XLSX","TXT","ZIP","MSOTF","OTF","SFNT","TTF","WOFF","WOFF2","FONT_WOFF","FONT_WOFF2","FONT_XWOFF","FONT_TTF","FONT_SFNT","URJA_NODE_LIST","URJA_NAV_HISTORY","INSERT_BILL","EDI","X12","EDIFACT","TRADACOMS","WOOT"],"nullable":true},"statementDate":{"type":"string","format":"date","description":"The date of the statement.","nullable":true},"summaryAccountId":{"type":"string","description":"The unique identifier of the summary account.","nullable":true},"summaryAccountNumber":{"type":"string","description":"The number or identifier assigned to the summary account by the provider.","nullable":true},"totalCharges":{"type":"number","description":"The total charges applied for a specific billing period.","nullable":true},"type":{"type":"string","description":"Describes the source document.","enum":["BILL","NOTICE","ADJUSTMENT","PREPAID"],"nullable":true},"versionId":{"type":"string","description":"The unique identifier for the statement version."}},"required":["accountData","amountDue","amountDueAfterDueDate","amountDueBeforeDueDate","businessUnitsIntersection","businessUnitsUnion","charges","correlationIds","createdAt","credentialIds","currencyCode","customerNumber","cycleNumber","dataIngestionMethod","disconnectDate","discountBeforeDueDate","discoveredAt","discoveredStatementId","dueDate","id","invoiceNumber","isFinalBill","isLatestVersion","lastModifiedAt","newCharges","normalizedSummaryAccountNumber","outstandingBalance","periodEndDate","periodStartDate","previousBalance","previousStatementDate","provider","sourceType","statementDate","summaryAccountId","summaryAccountNumber","totalCharges","type","versionId"]},"PublicDiscoveredStatementResource":{"type":"object","description":"An array of discovered statement objects.","properties":{"accountIds":{"type":"array","description":"List of account IDs associated with the discovered statement.","items":{"type":"string","description":"List of account IDs associated with the discovered statement."}},"accountNumbers":{"type":"array","description":"An array of account identifiers provided by the commodity provider (often times the bill publisher).","items":{"type":"string","description":"An array of account identifiers provided by the commodity provider (often times the bill publisher)."}},"businessUnitsIntersection":{"type":"array","description":"Intersection of Business Units across Accounts linked to this Discovered Statement.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"businessUnitsUnion":{"type":"array","description":"Union of Business Units from Accounts linked to this Discovered Statement.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"correlationIds":{"type":"array","description":"A list of correlationIds cascaded from all directly associated Credentials and Files.","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created."},"credentialIds":{"type":"array","description":"List of credential IDs associated with the discovered statement.","items":{"type":"string","description":"List of credential IDs associated with the discovered statement."}},"dataIngestionMethod":{"type":"string","description":"Identifies the data ingestion method that created this Statement.","enum":["BILL_UPLOAD","UTILITY_WEBSITE_ACCESS"],"nullable":true},"dueDate":{"type":"string","format":"date","description":"The due date for payment associated with the account.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"invoiceNumber":{"type":"string","description":"The unique identifier or number assigned to a specific invoice.","nullable":true},"isLatestVersion":{"type":"boolean","description":"Indicates whether the Statement is the most recent versionId of the Statement."},"periodEndDate":{"type":"string","format":"date","description":"The end date of the measuring period.","nullable":true},"periodStartDate":{"type":"string","format":"date","description":"The start date of the measuring period.","nullable":true},"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"sourceType":{"type":"string","description":"The format of the data extraction source we used.","enum":["TAG_NAME","UNCLASSIFIED","HTML","CSS","PNG","JPG","GIF","TIFF","SVG","WEBP","ICO","PDF","JSON","CSV","XML","XLS","XLSX","TXT","ZIP","MSOTF","OTF","SFNT","TTF","WOFF","WOFF2","FONT_WOFF","FONT_WOFF2","FONT_XWOFF","FONT_TTF","FONT_SFNT","URJA_NODE_LIST","URJA_NAV_HISTORY","INSERT_BILL","EDI","X12","EDIFACT","TRADACOMS","WOOT"],"nullable":true},"statementDate":{"type":"string","format":"date","description":"The date of the discovered statement.","nullable":true},"statementId":{"type":"string","description":"The unique identifier of a statement.","nullable":true},"statementType":{"type":"string","description":"Describes the source document.","enum":["BILL","NOTICE","ADJUSTMENT","PREPAID"],"nullable":true},"status":{"type":"string","description":"Status of the discovered statement.","enum":["EXTRACTION_PASSED_QUALITY_CHECKS","EXTRACTION_FAILED_QUALITY_CHECKS"]},"versionId":{"type":"string","description":"A unique identifier for the version of the Discovered Statement entity at a given moment in time."}},"required":["accountIds","accountNumbers","businessUnitsIntersection","businessUnitsUnion","correlationIds","createdAt","credentialIds","dataIngestionMethod","dueDate","id","invoiceNumber","isLatestVersion","periodEndDate","periodStartDate","provider","sourceType","statementDate","statementId","statementType","status","versionId"]},"PublicDownloadAccountStatementsRequest":{"type":"object","properties":{"accountIds":{"type":"array","description":"An array of `accountId`s from which you wish to download statements.","items":{"type":"string","description":"An array of `accountId`s from which you wish to download statements."}},"downloadMethod":{"type":"string","description":"The method used to download the data.","enum":["EMAIL","IN_BROWSER"]},"endDate":{"type":"string","format":"date-time","description":"The end date of the billing period. "},"globalSearch":{"type":"string","description":"A global search string to filter across multiple fields."},"search":{"type":"string","description":"A search string to filter the accounts."},"startDate":{"type":"string","format":"date-time","description":"The date indicating the start of a billing cycle or service period."}},"required":["endDate","startDate"]},"PublicDownloadCSVRequest":{"type":"object","properties":{"columns":{"type":"array","items":{"type":"string"}},"downloadMethod":{"type":"string","enum":["EMAIL","IN_BROWSER"]},"entityType":{"type":"string","enum":["CREDENTIAL","METER","STATEMENT","SITE","ACCOUNT","FILE","STATEMENT_GAP","DISCOVERED_STATEMENT"]},"globalSearch":{"type":"string"},"search":{"type":"string"}},"required":["entityType"]},"PublicDownloadIntervalsRequest":{"type":"object","properties":{"downloadMethod":{"type":"string","description":"The method used to download the data.","enum":["EMAIL","IN_BROWSER"]},"endAt":{"type":"string","format":"date-time","description":"The end date of the billing period. "},"globalSearch":{"type":"string","description":"Global search across meter fields, used together with select-all by search."},"ids":{"type":"array","description":"An array of unique identifiers for multiple meters/sites.","items":{"type":"string","description":"An array of unique identifiers for multiple meters/sites."}},"intervalFormat":{"type":"string","description":"The format in which output data is provided. Default : RAW","enum":["RAW","NORMALIZED"]},"intervalTimeZone":{"type":"string","description":"The timezone for the intervals. Default : METER","enum":["UTC","METER"]},"search":{"type":"string","description":"RSQL filter selecting the meters to download intervals for (select-all by search). An empty value means no filter (all meters)."},"startAt":{"type":"string","format":"date-time","description":"The date indicating the start of a billing cycle or service period."}},"required":["endAt","startAt"]},"PublicDownloadMeterUsageRequest":{"type":"object","properties":{"downloadMethod":{"type":"string","description":"The method used to download the data.","enum":["EMAIL","IN_BROWSER"]},"endDate":{"type":"string","format":"date-time","description":"The end date of the billing period. "},"globalSearch":{"type":"string","description":"Global search across meter fields, used together with select-all by search."},"meterIds":{"type":"array","description":"An array of unique identifiers for multiple meters.","items":{"type":"string","description":"An array of unique identifiers for multiple meters."},"maxItems":500,"minItems":0},"outputFormat":{"type":"string","description":"The format in which output data is provided.","enum":["CSV","JSON","ZIP"]},"search":{"type":"string","description":"RSQL filter selecting the meters to download (select-all by search). An empty value means no filter (all meters)."},"startDate":{"type":"string","format":"date-time","description":"The date indicating the start of a billing cycle or service period."}},"required":["endDate","startDate"]},"PublicDownloadRequestResource":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created."},"downloadMethod":{"type":"string","description":"Method used for downloading data.","enum":["EMAIL","IN_BROWSER"]},"id":{"type":"string","description":"A unique identifier for the entity."},"status":{"type":"string","description":"Status of the resource.","enum":["SUCCESS","PREPARING","FAILURE","NO_CONTENT"]},"token":{"type":"string","description":"We require this token to be provided when you want to access the requested download file. If you made the request via an API call, this token can be found in our response to you. If you made the request via the Dashboard, this token already be included in the email we would send you."}},"required":["createdAt","downloadMethod","id","status","token"]},"PublicDownloadSitesUsageRequest":{"type":"object","properties":{"downloadMethod":{"type":"string","description":"The method used to download the data.","enum":["EMAIL","IN_BROWSER"]},"endDate":{"type":"string","format":"date-time","description":"The end date of the billing period. "},"globalSearch":{"type":"string","description":"Global search across site fields, used together with select-all by search."},"outputFormat":{"type":"string","description":"The format in which output data is provided.","enum":["CSV","JSON","ZIP"]},"search":{"type":"string","description":"RSQL filter selecting the sites to download (select-all by search). An empty value means no filter (all sites)."},"siteIds":{"type":"array","description":"An array of unique identifiers for multiple Sites.","items":{"type":"string","description":"An array of unique identifiers for multiple Sites."},"maxItems":500,"minItems":0},"startDate":{"type":"string","format":"date-time","description":"The date indicating the start of a billing cycle or service period."}},"required":["endDate","startDate"]},"PublicDownloadStatementAccountsRequest":{"type":"object","properties":{"downloadMethod":{"type":"string","description":"The method used to download the data.","enum":["EMAIL","IN_BROWSER"]},"endDate":{"type":"string","format":"date-time","description":"The end date of the billing period. "},"globalSearch":{"type":"string","description":"Global search across statement fields."},"search":{"type":"string","description":"RSQL filter; same fields as list statements."},"startDate":{"type":"string","format":"date-time","description":"The date indicating the start of a billing cycle or service period."},"statementIds":{"type":"array","description":"An array of unique identifiers for statements. ","items":{"type":"string","description":"An array of unique identifiers for statements. "},"maxItems":500,"minItems":0}},"required":["endDate","startDate"]},"PublicEmbeddedAccountResource":{"type":"object","description":"An array of the accounts this meter belongs to. These accounts are searchable on `accountNumber` and `accountId`.","nullable":true,"properties":{"accountNumber":{"type":"string","description":"An account identifier provided by the commodity provider (often times the bill publisher)."},"id":{"type":"string","description":"A unique identifier for the entity."}},"required":["accountNumber","id"]},"PublicExpectedAccountRequest":{"type":"object","properties":{"businessUnitIds":{"type":"array","description":"Business Unit IDs to pre-assign to this Expected Account.","items":{"type":"string","description":"Business Unit IDs to pre-assign to this Expected Account."}},"customData":{"type":"object","additionalProperties":{"type":"string","description":"The custom data for the expected account."},"description":"The custom data for the expected account."},"expectedAccountNumber":{"type":"string","description":"An account identifier provided by the commodity provider (often times the bill publisher).","maxLength":255,"minLength":0},"providerId":{"type":"string","description":"The unique identifier of the utility service provider.","minLength":1}},"required":["expectedAccountNumber","providerId"]},"PublicExpectedAccountResource":{"type":"object","nullable":true,"properties":{"businessUnits":{"type":"array","description":"Business Units directly assigned to the Expected Account.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"createdAt":{"type":"string","format":"date-time","description":"The timestamp when the expected account was created.","nullable":true},"createdBy":{"type":"string","description":"The user who created the expected account.","nullable":true},"customData":{"$ref":"#/components/schemas/PublicCustomDataResource"},"expectedAccountNumber":{"type":"string","description":"The expected account number associated with the expected account.","nullable":true},"id":{"type":"string","description":"A unique identifier for the expected account."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp when the expected account was last modified.","nullable":true},"lastModifiedBy":{"type":"string","description":"The user who last modified the expected account.","nullable":true},"normalizedExpectedAccountNumber":{"type":"string","description":"The normalized expected account number associated with the expected account.","nullable":true},"providerId":{"type":"string","description":"The provider ID associated with the expected account.","nullable":true},"providerName":{"type":"string","description":"The name of the utility service provider.","nullable":true}},"required":["businessUnits","createdAt","createdBy","customData","expectedAccountNumber","id","lastModifiedAt","lastModifiedBy","normalizedExpectedAccountNumber","providerId","providerName"]},"PublicFileEventResource":{"type":"object","description":"Events associated with the file, such as when the value of a field changes etc.","properties":{"createdAt":{"type":"string","format":"date-time","description":"The date-time this event occurred."},"createdBy":{"type":"string","description":"The user or system that initiated the event."},"eventType":{"type":"string","description":"The type of event that occurred.","enum":["FILE_CREATED","FILE_STATUS_UPDATED","FILE_STATUS_DETAIL_UPDATED","FILE_UPDATED","FILE_BUSINESS_UNIT_ASSIGNMENT_FAILURE"]},"fieldName":{"type":"string","description":"Represents the field which was modified.","nullable":true},"id":{"type":"string","description":"A unique identifier for the event."},"newValue":{"type":"string","description":"Represents the newly assigned value of the field.","nullable":true},"oldValue":{"type":"string","description":"Represents the previous value of the field.","nullable":true}},"required":["createdAt","createdBy","eventType","fieldName","id","newValue","oldValue"]},"PublicFileResource":{"type":"object","description":"An array of file objects representing what you submitted to Arcadia.","properties":{"accountNumbers":{"type":"array","description":"An array of account identifiers provided by the commodity provider (often times the bill publisher).","items":{"type":"string","description":"An array of account identifiers provided by the commodity provider (often times the bill publisher)."}},"businessUnitsIntersection":{"type":"array","description":"Intersection of Business Units across Accounts on the linked Statement, when present.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"businessUnitsUnion":{"type":"array","description":"Union of Business Units from Accounts on the linked Statement, when present.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"correlationId":{"type":"string","description":"A string value you can set to help you reconcile with your internal systems.","nullable":true},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created."},"createdBy":{"type":"string","description":"User or system responsible for creating the entity."},"discoveredStatementId":{"type":"string","description":"The unique identifier for the discovered statement in the Arcadia platform.","nullable":true},"fileName":{"type":"string","description":"The name of the file when it was originally submitted."},"id":{"type":"string","description":"A unique identifier for the entity."},"isCustomerActionRequired":{"type":"boolean","description":"Indicates whether any action is required from you regarding this resource."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified."},"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"statementDate":{"type":"string","format":"date","description":"The date of the statement.","nullable":true},"statementId":{"type":"string","description":"The unique identifier of a statement.","nullable":true},"status":{"type":"string","description":"Status of the resource.","enum":["QUEUED","FAILURE","IN_PROGRESS","COVERAGE_REQUEST","SUCCESS"]},"statusDetails":{"type":"array","description":"Reasons the resource has the current status. ","items":{"type":"string","description":"Reasons the resource has the current status. ","enum":["READY_FOR_PROCESSING","PROVIDER_UNIDENTIFIABLE","SERVICE_TYPE_NOT_SUPPORTED","LANGUAGE_NOT_SUPPORTED","REQUIRED_DATA_FIELDS_MISSING","BILL_INSUFFICIENTLY_LEGIBLE","TIMED_OUT","IDENTIFYING_PROVIDER","BILL_ANOMALY_FLAGGED","DATA_EXTRACTION_FAILURE_INVESTIGATION_STARTED","DATA_AUDIT_FAILURE_INVESTIGATION_STARTED","REQUEST_CREATED","IN_PROGRESS","DATA_EXTRACTION_SUCCESSFUL","CONTAINS_MULTIPLE_STATEMENTS"]}},"transferMethod":{"type":"string","description":"Indicates the method you used to send data to us.","enum":["CLIENT","API","EMAIL","SFTP","WEB_NAVIGATION_OCR"]}},"required":["accountNumbers","businessUnitsIntersection","businessUnitsUnion","correlationId","createdAt","createdBy","discoveredStatementId","fileName","id","isCustomerActionRequired","lastModifiedAt","provider","statementDate","statementId","status","statusDetails","transferMethod"]},"PublicIntervalResource":{"type":"object","properties":{"correlationIds":{"type":"array","description":"A list of correlationIds cascaded from all directly associated Credentials.","items":{"type":"string"}},"credentialIds":{"type":"array","description":"Arcadia generated unique identifier of the credential the meter belongs to.","items":{"type":"string"}},"earliestIntervalAt":{"type":"string","format":"date-time","description":"Timestamp of the earliest interval available for the meter."},"electricMeterMultiplier":{"type":"number","format":"double","description":"Multiplier for electric meter (not relevant for non-electric service types)."},"intervalsCreatedAt":{"type":"string","format":"date-time","description":"Timestamp when intervals were first created for the meter."},"intervalsUpdatedAt":{"type":"string","format":"date-time","description":"Timestamp when intervals were last updated for the meter."},"isIntervalsDormant":{"type":"boolean","description":"Indicates whether the meter is dormant based on interval job results and error codes.","nullable":true},"latestIntervalAt":{"type":"string","format":"date-time","description":"Timestamp of the latest interval available for the meter."},"localTimezone":{"type":"string","description":"Local timezone of the meter.  The value can be any TZ identifier from [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."},"meterId":{"type":"string","description":"Arcadia generated unique identifier of the meter"},"meterNumber":{"type":"string","description":"A number assigned to the meter by the commodity provider."},"providerId":{"type":"string","description":"Arcadia generated unique identifier of the utility service provider."},"providerName":{"type":"string","description":"The name of the utility service provider."},"readType":{"type":"string","description":"Type of reading (actual, estimated, etc.)","nullable":true},"readings":{"type":"array","description":"List of individual interval readings for this meter.","items":{"$ref":"#/components/schemas/Reading"}},"serviceType":{"type":"string","description":"The type of service supported, such as electricity, water, or gas."}},"required":["correlationIds","credentialIds","earliestIntervalAt","electricMeterMultiplier","intervalsCreatedAt","intervalsUpdatedAt","isIntervalsDormant","latestIntervalAt","localTimezone","meterId","meterNumber","providerId","providerName","readType","readings","serviceType"]},"PublicMeterDataResource":{"type":"object","description":"meterData: Data related to individual meters, including meter readings, usage history, etc.","properties":{"amountDue":{"type":"number","description":"The monetary amount that is required to be paid.","nullable":true},"amountDueAfterDueDate":{"type":"number","description":"The total amount due for the account after the due date, excluding any late fees or penalties.","nullable":true},"amountDueBeforeDueDate":{"type":"number","description":"The total amount due for the account before the due date, excluding any late fees or penalties.","nullable":true},"bulbQuantity":{"type":"number","description":"Quantity of light bulbs associated with the account, if applicable.","nullable":true},"bulbType":{"type":"string","description":"Type or specification of light bulbs associated with the account, if applicable.","nullable":true},"charges":{"type":"array","description":"Details of charges applied, including amounts, currency, etc.","items":{"$ref":"#/components/schemas/PublicChargeResource"}},"contributionStatus":{"type":"string","description":"\"* `CONTRIBUTING` - Indicates the charge amount is a contributing value to the total bill amount.\n* `NON_CONTRIBUTING` - Indicates the charge amount does not contribute to the total bill amount. This may be because it's a redundant sub-total, or due to proration.\"","enum":["CONTRIBUTING","NON_CONTRIBUTING"],"nullable":true},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created.","nullable":true},"currencyCode":{"type":"string","description":"The ISO 4217 currency code for charges. This list will grow as additional currencies are supported over time.","enum":["USD","AUD","CAD","EUR","GBP","ZAR","RON","BRL","DKK","CHF","MXN","NZD","NOK","SEK","CZK","COP","PLN","ARS","GTQ","SGD","TRY","INR","JPY","HKD","HUF","AED","MAD","PHP","IDR","UYU","CLP","PEN","MYR","OMR","BHD","SAR","GHS","THB","VND","LKR","KRW","BAM","BGN","RSD","TWD","KES","NGN","ILS","CNY","CRC","EUS"],"nullable":true},"customerNumber":{"type":"string","description":"The bill contains a unique identifier for the customer associated with the account. This is not the account number","nullable":true},"cycleNumber":{"type":"string","description":"The code or ID for a meter reading schedule.","nullable":true},"deregulationStatus":{"type":"string","description":"Indicates the deregulation status of the account, if relevant."},"disconnectDate":{"type":"string","format":"date","description":"The date on which the service for the account was disconnected.","nullable":true},"discountBeforeDueDate":{"type":"number","description":"Any discounts applied to the account if the outstanding balance is paid before the due date.","nullable":true},"dueDate":{"type":"string","format":"date","description":"The due date for payment associated with the account.","nullable":true},"facilityName":{"type":"string","description":"The name of the facility indicated on the bill.","nullable":true},"facilityNumber":{"type":"string","description":"A unique identifier for the facility indicated on the bill. This is not the account number.","nullable":true},"generalDescriptionAsPrinted":{"type":"string","description":"A general description of the account or service as printed on the bill.","nullable":true},"gridPointLineLoss":{"type":"number","description":"The amount of energy loss that occurs during transmission and distribution at the grid point associated with the account.","nullable":true},"invoiceNumber":{"type":"string","description":"The unique identifier or number assigned to a specific invoice.","nullable":true},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"lineLoss":{"type":"number","description":"The observed amount of energy lost during transmission and distribution before reaching the meter associated with the account.","nullable":true},"mapNumber":{"type":"string","description":"Like cycle number, the code or ID indicates a meter reading schedule.","nullable":true},"meterConstantMultiplier":{"type":"number","description":"The multiplier used to convert meter readings to actual usage values for the account. The first conversion after the meter delta is calculated","nullable":true},"meterConversionMultiplier":{"type":"number","description":"The multiplier used to convert the raw meter readings to actual usage values, typically to adjust for factors such as calibration or unit conversion.","nullable":true},"meterId":{"type":"string","description":"A unique identifier for a meter."},"meterNumber":{"type":"string","description":"A number assigned to the meter by the commodity provider. ","nullable":true},"meterReadDate":{"type":"string","format":"date","description":"The date on which the meter reading was taken.","nullable":true},"newCharges":{"type":"number","description":"Any new charges applied to the account since the last billing cycle or statement.","nullable":true},"nextReadDate":{"type":"string","format":"date","description":"The date scheduled for the next meter reading.","nullable":true},"normalizedMeterNumber":{"type":"string","description":"The normalized version of the meter number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"normalizedPointOfDeliveryNumber":{"type":"string","description":"The normalized version of the Point of Delivery number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"normalizedPreviousMeterNumber":{"type":"string","description":"The normalized version of the previous meter number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"outstandingBalance":{"type":"number","description":"The remaining balance yet to be paid for the account.","nullable":true},"periodEndDate":{"type":"string","format":"date","description":"The end date of the measuring period.","nullable":true},"periodStartDate":{"type":"string","format":"date","description":"The start date of the measuring period.","nullable":true},"pipeType":{"type":"string","description":"This field is only populated when the Service Type of the meter is water. This field describes the pipe type","nullable":true},"pointOfDeliveryNumber":{"type":"string","description":"The point of delivery number in deregulated markets is an independent identifier for meter location and used by all utility companies.","nullable":true},"powerFactor":{"type":"number","description":"The observed ratio of real power to apparent power, often used to measure the efficiency of electricity usage.","nullable":true},"previousBalance":{"type":"number","description":"The balance carried forward from the previous billing period.","nullable":true},"previousMeterConstantMultiplier":{"type":"number","description":"The previous multiplier used to convert meter readings to actual usage values.","nullable":true},"previousMeterNumber":{"type":"string","description":"The number assigned to the previous meter used.","nullable":true},"previousReadDate":{"type":"string","format":"date","description":"The date of the previous meter reading.","nullable":true},"rateOrTariffNameAsPrinted":{"type":"string","description":"The name of the rate or tariff plan as printed on the bill.","nullable":true},"readTypeAsPrinted":{"type":"string","description":"The type of meter reading as printed on the bill or statement.","nullable":true},"serviceAddress":{"$ref":"#/components/schemas/PublicAddressResource"},"serviceType":{"type":"string","description":"The type of service supported, such as electricity, water, or gas."},"serviceTypeClassification":{"type":"string","description":"The classification for the service type depending on the comprehensiveness of data that can be returned.","enum":["CORE","SUPPLEMENTAL"]},"statementDate":{"type":"string","format":"date","description":"The date of the statement.","nullable":true},"statementId":{"type":"string","description":"The unique identifier of a statement.","nullable":true},"tariff":{"$ref":"#/components/schemas/PublicTariffResource"},"totalCharges":{"type":"number","description":"The sum of `chargeAmount` fields in `charges` items that have a `contributionStatus` of \"CONTRIBUTING\".","nullable":true},"totalUsage":{"type":"number","description":"Calculated by summing `measuredUsage` fields in the `usages` items that have a `measurementType` of \"general_consumption\", `contributionStatus` of \"CONTRIBUTING\", and at least one `tariffRateComponent` where `tariffRateComponentType` is \"total\". If multiple usages meet all these criteria, only ones with a `usageUnit` of \"kWh\" are used.","nullable":true},"totalUsageUnit":{"type":"string","description":"The `usageUnit` used in the `usages` items that were used to calculate `totalUsage`.","nullable":true},"usages":{"type":"array","description":"Details of usage data.","items":{"$ref":"#/components/schemas/PublicUsageResource"}}},"required":["amountDue","amountDueAfterDueDate","amountDueBeforeDueDate","bulbQuantity","bulbType","charges","contributionStatus","createdAt","currencyCode","customerNumber","cycleNumber","deregulationStatus","disconnectDate","discountBeforeDueDate","dueDate","facilityName","facilityNumber","generalDescriptionAsPrinted","gridPointLineLoss","invoiceNumber","lastModifiedAt","lineLoss","mapNumber","meterConstantMultiplier","meterConversionMultiplier","meterId","meterNumber","meterReadDate","newCharges","nextReadDate","normalizedMeterNumber","normalizedPointOfDeliveryNumber","normalizedPreviousMeterNumber","outstandingBalance","periodEndDate","periodStartDate","pipeType","pointOfDeliveryNumber","powerFactor","previousBalance","previousMeterConstantMultiplier","previousMeterNumber","previousReadDate","rateOrTariffNameAsPrinted","readTypeAsPrinted","serviceAddress","serviceType","serviceTypeClassification","statementDate","statementId","tariff","totalCharges","totalUsage","totalUsageUnit","usages"]},"PublicMeterDataSummaryResource":{"type":"object","description":"meterData: Data related to individual meters, including meter readings, usage history, etc.","properties":{"amountDue":{"type":"number","description":"The monetary amount that is required to be paid.","nullable":true},"currencyCode":{"type":"string","description":"The ISO 4217 currency code for charges. This list will grow as additional currencies are supported over time.","enum":["USD","AUD","CAD","EUR","GBP","ZAR","RON","BRL","DKK","CHF","MXN","NZD","NOK","SEK","CZK","COP","PLN","ARS","GTQ","SGD","TRY","INR","JPY","HKD","HUF","AED","MAD","PHP","IDR","UYU","CLP","PEN","MYR","OMR","BHD","SAR","GHS","THB","VND","LKR","KRW","BAM","BGN","RSD","TWD","KES","NGN","ILS","CNY","CRC","EUS"],"nullable":true},"meterId":{"type":"string","description":"A unique identifier for a meter."},"meterNumber":{"type":"string","description":"A number assigned to the meter by the commodity provider. ","nullable":true},"meterReadDate":{"type":"string","format":"date","description":"The date on which the meter reading was taken.","nullable":true},"normalizedMeterNumber":{"type":"string","description":"The normalized version of the meter number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"normalizedPointOfDeliveryNumber":{"type":"string","description":"The normalized version of the Point of Delivery number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"outstandingBalance":{"type":"number","description":"The remaining balance yet to be paid for the account.","nullable":true},"periodEndDate":{"type":"string","format":"date","description":"The end date of the measuring period.","nullable":true},"periodStartDate":{"type":"string","format":"date","description":"The start date of the measuring period.","nullable":true},"pointOfDeliveryNumber":{"type":"string","description":"The point of delivery number in deregulated markets is an independent identifier for meter location and used by all utility companies.","nullable":true},"previousReadDate":{"type":"string","format":"date","description":"The date of the previous meter reading.","nullable":true},"serviceType":{"type":"string","description":"The type of service supported, such as electricity, water, or gas."},"serviceTypeClassification":{"type":"string","description":"The classification for the service type depending on the comprehensiveness of data that can be returned.","enum":["CORE","SUPPLEMENTAL"]},"totalCharges":{"type":"number","description":"The total charges applied for a specific billing period.","nullable":true},"totalUsage":{"type":"number","description":"Total calculated usage of energy or water for the account within a specific period.","nullable":true},"totalUsageUnit":{"type":"string","description":"Unit of measurement for the total calculated usage (e.g., kWh, gallons).","nullable":true}},"required":["amountDue","currencyCode","meterId","meterNumber","meterReadDate","normalizedMeterNumber","normalizedPointOfDeliveryNumber","outstandingBalance","periodEndDate","periodStartDate","pointOfDeliveryNumber","previousReadDate","serviceType","serviceTypeClassification","totalCharges","totalUsage","totalUsageUnit"]},"PublicMeterEventResource":{"type":"object","description":"Events associated with the meter, such as when the value of a field changes etc.","properties":{"createdAt":{"type":"string","format":"date-time","description":"The date-time this event occurred."},"createdBy":{"type":"string","description":"The user or system that initiated the event."},"eventType":{"type":"string","description":"The type of event that occurred.","enum":["METER_CREATED","METER_SITE_REASSIGNED","METER_ACCOUNT_CHANGE","METER_TARIFF_CHANGE","METER_CUSTOM_DATA_CHANGE","INTERVALS_PRODUCT_ACTIVATED","INTERVALS_PRODUCT_DEACTIVATED","METER_UPDATED","INTERVALS_DORMANT"]},"fieldName":{"type":"string","description":"For custom data changes, represents which custom data field was modified.","nullable":true},"id":{"type":"string","description":"A unique identifier for the event."},"newValue":{"type":"string","description":"For custom data changes, represents the newly assigned value of the field.","nullable":true},"oldValue":{"type":"string","description":"For custom data changes, represents the previous value of the field.","nullable":true}},"required":["createdAt","createdBy","eventType","fieldName","id","newValue","oldValue"]},"PublicMeterResource":{"type":"object","properties":{"accounts":{"type":"array","description":"An array of the accounts this meter belongs to. These accounts are searchable on `accountNumber` and `accountId`.","items":{"$ref":"#/components/schemas/PublicEmbeddedAccountResource"}},"bulbType":{"type":"string","description":"Type or specification of light bulbs associated with the account, if applicable.","nullable":true},"businessUnitsIntersection":{"type":"array","description":"Intersection of Business Units across Accounts linked to this Meter.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"businessUnitsUnion":{"type":"array","description":"Union of Business Units from Accounts linked to this Meter.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"correlationIds":{"type":"array","description":"A list of correlationIds cascaded from all directly associated Credentials and Files.","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created.","nullable":true},"createdBy":{"type":"string","description":"User or system responsible for creating the entity.","nullable":true},"currentTariff":{"$ref":"#/components/schemas/PublicTariffResource"},"customData":{"$ref":"#/components/schemas/PublicCustomDataResource"},"earliestIntervalAt":{"type":"string","format":"date-time","description":"A timestamp of the earliest interval available for the meter.","nullable":true},"generalDescriptionAsPrinted":{"type":"string","description":"A general description of the account or service as printed on the bill.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"isIntervalsDormant":{"type":"boolean","description":"Indicates whether the meter is dormant based on interval job results and error codes.","nullable":true},"isIntervalsProductActive":{"type":"boolean","description":"Indicates if intervals is activated for the meter."},"isIntervalsThirdPartyPortalMeter":{"type":"boolean","description":"Indicates whether or not this meter is enrolled under an intervals third party portal."},"isLocationRecommendationIgnored":{"type":"boolean","description":"Indicates whether or not location recommendation should be ignored."},"isStandalone":{"type":"boolean","description":"Indicates a meter is not expected to relate to a site."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"lastModifiedBy":{"type":"string","description":"The user or system that last modified this resource.","nullable":true},"latestIntervalAt":{"type":"string","format":"date-time","description":"A timestamp of the latest interval available for the meter","nullable":true},"latestIntervalsCheckedAt":{"type":"string","format":"date-time","description":"A timestamp of the most recent intervals check Arcadia attempted.","nullable":true},"latestStatementDate":{"type":"string","format":"date","description":"The date of the most recent statement.","nullable":true},"localTimezone":{"type":"string","description":"For meters that have intervals available, the meter's local timezone. The value can be any TZ identifier from this [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).","nullable":true},"meterConstantMultiplier":{"type":"number","description":"The multiplier used to convert meter readings to actual usage values for the account. The first conversion after the meter delta is calculated","nullable":true},"meterNumber":{"type":"string","description":"A number assigned to the meter by the commodity provider. ","nullable":true},"nextExpectedPostDate":{"type":"string","format":"date","description":"The expected date for the next statement to be posted for this account. ","nullable":true},"normalizedMeterNumber":{"type":"string","description":"The normalized version of the meter number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"normalizedPointOfDeliveryNumber":{"type":"string","description":"The normalized version of the Point of Delivery number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"pipeType":{"type":"string","description":"This field is only populated when the Service Type of the meter is water. This field describes the pipe type","nullable":true},"pointOfDeliveryNumber":{"type":"string","description":"The point of delivery number in deregulated markets is an independent identifier for meter location and used by all utility companies.","nullable":true},"previousMeterConstantMultiplier":{"type":"number","description":"The previous multiplier used to convert meter readings to actual usage values.","nullable":true},"previousMeterNumber":{"type":"string","description":"The number assigned to the previous meter used.","nullable":true},"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"serviceAddress":{"$ref":"#/components/schemas/PublicAddressResource"},"serviceType":{"type":"string","description":"The type of service supported, such as electricity, water, or gas."},"serviceTypeClassification":{"type":"string","description":"The classification for the service type depending on the comprehensiveness of data that can be returned.","enum":["CORE","SUPPLEMENTAL"]},"site":{"$ref":"#/components/schemas/PublicSiteResource"},"status":{"type":"string","description":"Status of the resource.","enum":["INTERVALS_NOT_REQUESTED","INTERVALS_IN_PROGRESS","INTERVALS_SUCCESS","INTERVALS_FAILURE","INTERVALS_NOT_SUPPORTED","INTERVALS_PENDING"]},"statusDetail":{"type":"string","description":"Reason the resource has the current status.","enum":["INTERVALS_EXTRACTION_NOT_REQUESTED","INTERVALS_EXTRACTION_IN_PROGRESS","INTERVALS_AVAILABLE","INVALID_CREDENTIALS","ACCOUNT_INACCESSIBLE","INTERVALS_ACCESS_ERROR","SERVICE_TYPE_NOT_SUPPORTED","PROVIDER_NOT_SUPPORTED","INTERVALS_NOT_PUBLISHED","UTILITY_SITE_ERROR","REQUIRES_ENROLLMENT","EMAIL_APPROVAL","UNSUCCESSFUL_EMAIL_APPROVAL","USER_REVOKED_ACCESS","INTERVALS_DISCOVERY_QUEUED","INTERVALS_DISCOVERY_IN_PROGRESS","INTERVALS_DISCOVERY_FAILED"]},"voidedAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was voided. This value resets to null if the entity is unvoided. See event history for additional context.","nullable":true}},"required":["accounts","bulbType","businessUnitsIntersection","businessUnitsUnion","correlationIds","createdAt","createdBy","currentTariff","customData","earliestIntervalAt","generalDescriptionAsPrinted","id","isIntervalsDormant","isIntervalsProductActive","isIntervalsThirdPartyPortalMeter","isLocationRecommendationIgnored","isStandalone","lastModifiedAt","lastModifiedBy","latestIntervalAt","latestIntervalsCheckedAt","latestStatementDate","localTimezone","meterConstantMultiplier","meterNumber","nextExpectedPostDate","normalizedMeterNumber","normalizedPointOfDeliveryNumber","pipeType","pointOfDeliveryNumber","previousMeterConstantMultiplier","previousMeterNumber","provider","serviceAddress","serviceType","serviceTypeClassification","site","status","statusDetail","voidedAt"]},"PublicNormalizedIntervalResource":{"type":"object","properties":{"correlationIds":{"type":"array","description":"A list of correlationIds cascaded from all directly associated Credentials.","items":{"type":"string"}},"credentialIds":{"type":"array","description":"Arcadia generated unique identifier of the credential the meter belongs to.","items":{"type":"string"}},"earliestIntervalAt":{"type":"string","format":"date-time","description":"Timestamp of the earliest interval available for the meter."},"endAt":{"type":"string","format":"date-time","description":"start time of last record in API response."},"intervalDurationMinutes":{"type":"integer","format":"int32","description":"Interval duration timestamp length in API response.","example":15},"intervalsCreatedAt":{"type":"string","format":"date-time","description":"Timestamp when intervals were first created for the meter."},"intervalsUpdatedAt":{"type":"string","format":"date-time","description":"Timestamp when intervals were last updated for the meter."},"isIntervalsDormant":{"type":"boolean","description":"Indicates whether the meter is dormant based on interval job results and error codes.","nullable":true},"latestIntervalAt":{"type":"string","format":"date-time","description":"Timestamp of the latest interval available for the meter."},"localTimezone":{"type":"string","description":"Local timezone of the meter.  The value can be any TZ identifier from [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."},"meterId":{"type":"string","description":"Arcadia generated unique identifier of the meter"},"meterNumber":{"type":"string","description":"A number assigned to the meter by the commodity provider."},"providerId":{"type":"string","description":"Arcadia generated unique identifier of the utility service provider."},"providerName":{"type":"string","description":"The name of the utility service provider."},"readType":{"type":"string","description":"Type of reading (actual, estimated, etc.)","nullable":true},"readings":{"$ref":"#/components/schemas/NormalizedReading"},"serviceType":{"type":"string","description":"The type of service supported, such as electricity, water, or gas."},"sourceIntervalDurationMinutes":{"type":"array","description":"Interval duration timestamp length as collected from utility.","example":[60],"items":{"type":"integer","format":"int32","description":"Interval duration timestamp length as collected from utility."}},"startAt":{"type":"string","format":"date-time","description":"start time of first record in API response."}},"required":["correlationIds","credentialIds","earliestIntervalAt","endAt","intervalDurationMinutes","intervalsCreatedAt","intervalsUpdatedAt","isIntervalsDormant","latestIntervalAt","localTimezone","meterId","meterNumber","providerId","providerName","readType","readings","serviceType","sourceIntervalDurationMinutes","startAt"]},"PublicOrganizationCustomDataRequest":{"type":"object","properties":{"accountCustomData10Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData11Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData12Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData13Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData14Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData15Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData16Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData17Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData18Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData19Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData1Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData20Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData21Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData22Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData23Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData24Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData25Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData2Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData3Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData4Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData5Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData6Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData7Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData8Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"accountCustomData9Name":{"type":"string","description":"Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.","nullable":true},"meterCustomData10Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData1Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData2Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData3Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData4Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData5Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData6Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData7Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData8Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true},"meterCustomData9Name":{"type":"string","description":"Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.","nullable":true}}},"PublicOrganizationEventResource":{"type":"object","description":"Events associated with custom data name changes","properties":{"createdAt":{"type":"string","format":"date-time","description":"The date-time this event occurred."},"createdBy":{"type":"string","description":"The user or system that initiated the event."},"eventType":{"type":"string","description":"The type of custom data update event that occurred.","enum":["CUSTOM_DATA_NAME_CHANGE","ACCOUNT_CUSTOM_DATA_CREATED","ACCOUNT_CUSTOM_DATA_UPDATED","ACCOUNT_CUSTOM_DATA_DELETED","METER_CUSTOM_DATA_CREATED","METER_CUSTOM_DATA_UPDATED","METER_CUSTOM_DATA_DELETED"]},"fieldName":{"type":"string","description":"Which custom data field was modified.","nullable":true},"id":{"type":"string","description":"A unique identifier for the event."},"newValue":{"type":"string","description":"The newly assigned value of the field.","nullable":true},"oldValue":{"type":"string","description":"The previous value of the field.","nullable":true}},"required":["createdAt","createdBy","eventType","fieldName","id","newValue","oldValue"]},"PublicOrganizationResource":{"type":"object","properties":{"accountCustomData10Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData11Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData12Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData13Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData14Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData15Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData16Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData17Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData18Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData19Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData1Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData20Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData21Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData22Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData23Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData24Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData25Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData2Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData3Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData4Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData5Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData6Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData7Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData8Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"accountCustomData9Name":{"type":"string","description":"Optional field to create or update an account level custom data field name.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"meterCustomData10Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData1Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData2Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData3Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData4Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData5Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData6Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData7Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData8Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"meterCustomData9Name":{"type":"string","description":"Optional field to create or update a meter level custom data field name.","nullable":true},"name":{"type":"string","description":"The name for the resource."}},"required":["accountCustomData10Name","accountCustomData11Name","accountCustomData12Name","accountCustomData13Name","accountCustomData14Name","accountCustomData15Name","accountCustomData16Name","accountCustomData17Name","accountCustomData18Name","accountCustomData19Name","accountCustomData1Name","accountCustomData20Name","accountCustomData21Name","accountCustomData22Name","accountCustomData23Name","accountCustomData24Name","accountCustomData25Name","accountCustomData2Name","accountCustomData3Name","accountCustomData4Name","accountCustomData5Name","accountCustomData6Name","accountCustomData7Name","accountCustomData8Name","accountCustomData9Name","id","meterCustomData10Name","meterCustomData1Name","meterCustomData2Name","meterCustomData3Name","meterCustomData4Name","meterCustomData5Name","meterCustomData6Name","meterCustomData7Name","meterCustomData8Name","meterCustomData9Name","name"]},"PublicPaymentResource":{"type":"object","description":"Details of payments made for the account, including amounts, dates, etc.","properties":{"amount":{"type":"number","description":"The monetary amount associated with a specific transaction or charge."},"currency":{"type":"string","description":"Currency of the amount."},"currencyCode":{"type":"string","description":"The ISO 4217 currency code for charges. This list will grow as additional currencies are supported over time.","enum":["USD","AUD","CAD","EUR","GBP","ZAR","RON","BRL","DKK","CHF","MXN","NZD","NOK","SEK","CZK","COP","PLN","ARS","GTQ","SGD","TRY","INR","JPY","HKD","HUF","AED","MAD","PHP","IDR","UYU","CLP","PEN","MYR","OMR","BHD","SAR","GHS","THB","VND","LKR","KRW","BAM","BGN","RSD","TWD","KES","NGN","ILS","CNY","CRC","EUS"],"nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"paymentDate":{"type":"string","format":"date","description":"The date on which payment was made for the account."}},"required":["amount","currency","currencyCode","id","paymentDate"]},"PublicPlugEncodedURLRequest":{"type":"object","properties":{"correlationId":{"type":"string","description":"An ID used to match the utility data pulled for this request back to users in your system. Correlation ID does not have to be unique.","maxLength":255,"minLength":0},"isCreatorAttributed":{"type":"boolean","description":"If true, any credentials created with the generated URL will be attributed to the user making this request."}}},"PublicPlugEncodedURLResource":{"type":"object","properties":{"encodedUrl":{"type":"string"}},"required":["encodedUrl"]},"PublicProviderResource":{"type":"object","description":"The entity providing service and issuing bills (informally known as a utility).","nullable":true,"properties":{"country":{"type":"string","description":"The country associated with the billing address.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"intervalServiceTypes":{"type":"array","description":"List of interval service types supported by this provider (e.g., ['electric', 'gas'])","items":{"type":"string","description":"List of interval service types supported by this provider (e.g., ['electric', 'gas'])","enum":["ELECTRIC","GAS"]},"uniqueItems":true},"isIntervalDataSupported":{"type":"boolean","description":"Indicates whether the provider supports interval data","nullable":true},"isIntervalFileUploadSupported":{"type":"boolean","description":"Indicates whether the provider supports interval file upload","nullable":true},"isRealTimeCredentialValidationSupported":{"type":"boolean","description":"Indicates whether the provider supports credential validation"},"name":{"type":"string","description":"The name of the utility service provider.","nullable":true}},"required":["country","id","intervalServiceTypes","isIntervalDataSupported","isIntervalFileUploadSupported","isRealTimeCredentialValidationSupported","name"]},"PublicServiceTypeResource":{"type":"object","description":"A resource representing a service type and its classification.","properties":{"serviceType":{"type":"string","description":"The type of service supported, such as electricity, water, or gas."},"serviceTypeClassification":{"type":"string","description":"The classification for the service type depending on the comprehensiveness of data that can be returned.","enum":["CORE","SUPPLEMENTAL"]}},"required":["serviceType","serviceTypeClassification"]},"PublicSiteEventResource":{"type":"object","description":"Events associated with the site, such as when the value of a field changes etc.","properties":{"createdAt":{"type":"string","format":"date-time","description":"The date-time this event occurred."},"createdBy":{"type":"string","description":"The user or system that initiated the event."},"eventType":{"type":"string","description":"The type of event that occurred.","enum":["SITE_CREATED","SITE_DATA_UPDATED","SITE_SERVICE_ADDRESS_CHANGE","EXPECTED_METER_CREATED","EXPECTED_METER_DELETED","METER_ASSIGNED","METER_UNASSIGNED"]},"fieldName":{"type":"string","description":"For field value changes, represents which field was modified.","nullable":true},"id":{"type":"string","description":"A unique identifier for the event."},"newValue":{"type":"string","description":"For field value changes, represents the newly assigned value of the field.","nullable":true},"oldValue":{"type":"string","description":"For field value changes, represents the previous value of the field.","nullable":true}},"required":["createdAt","createdBy","eventType","fieldName","id","newValue","oldValue"]},"PublicSiteMeterRequest":{"type":"object","properties":{"meterIds":{"type":"array","description":"An array of unique identifiers for multiple meters.","items":{"type":"string","description":"An array of unique identifiers for multiple meters."},"minItems":1}},"required":["meterIds"]},"PublicSiteRequest":{"type":"object","properties":{"area":{"type":"integer","format":"int32","description":"The area of the Site in square feet.","minimum":1,"nullable":true},"buildingType":{"type":"string","description":"The type of building.","enum":["FULL_SERVICE_RESTAURANT","HOSPITAL","LARGE_HOTEL","LARGE_OFFICE","MEDIUM_OFFICE","OUTPATIENT","PRIMARY_SCHOOL","QUICK_SERVICE_RESTAURANT","RETAIL_STANDALONE","RETAIL_STRIPMALL","SECONDARY_SCHOOL","SMALL_HOTEL","SMALL_OFFICE","WAREHOUSE","OTHER"],"nullable":true},"buildingTypeGroup":{"type":"string","description":"The group of building types.","enum":["EDUCATION","FOOD_SERVICE","HEALTHCARE","LODGING","MERCANTILE","OFFICE","WAREHOUSE_AND_STORAGE","OTHER"],"nullable":true},"city":{"type":"string","description":"The city associated with the billing address. "},"country":{"type":"string","description":"The country associated with the billing address."},"facilityType":{"type":"string","deprecated":true,"description":"Custom field for you to input site’s facility type. Deprecated in favor of buildingType."},"heatingFuel":{"type":"string","description":"The type of heating fuel used in the Site.","enum":["ELECTRICITY","NATURAL_GAS","PROPANE","DISTRICT","FUEL_OIL","OTHER","NONE"],"nullable":true},"hvacCoolType":{"type":"string","description":"The type of cooling system in the Site.","enum":["CHILLER","DIRECT_EXPANSION","DISTRICT","EVAPORATIVE","HEAT_PUMP","OTHER","NONE"],"nullable":true},"hvacHeatType":{"type":"string","description":"The type of heating system in the Site.","enum":["DISTRICT","ELECTRIC_RESISTANCE","FURNACE_OR_BOILER","HEAT_PUMP","OTHER","NONE"],"nullable":true},"hvacVentType":{"type":"string","description":"The type of ventilation system in the Site.","enum":["ROOFTOP_UNIT","ZONE_TERMINAL","FORCED_AIR","OTHER","NONE"],"nullable":true},"isLocationRecommendationIgnored":{"type":"boolean","description":"Indicates if a site has been opted out of address verification."},"meterIds":{"type":"array","description":"An array of unique identifiers for multiple meters.","items":{"type":"string","description":"An array of unique identifiers for multiple meters."}},"numberOfStories":{"type":"integer","format":"int32","description":"The number of stories of the Site.","minimum":1,"nullable":true},"postalCode":{"type":"string","description":"The postal code or ZIP code associated with the address of the account."},"recipient":{"type":"string","deprecated":true,"description":"The recipient for the address. Deprecated because recipient is not useful for sites."},"region":{"type":"string","description":"The region or geographic area associated with the Site. "},"siteCode":{"type":"string","description":"A code or identifier assigned to a specific site."},"siteName":{"type":"string","description":"The name or label assigned to a specific Site.","pattern":"^(?!\\s*$).+"},"siteNumber":{"type":"string","description":"The number or identifier assigned to a specific Site."},"state":{"type":"string","description":"The state or province associated with the billing address of the account."},"streetLine1":{"type":"string","description":"The first line of the street address."},"streetLine2":{"type":"string","description":"The second line of the street address."},"subRegion":{"type":"string","description":"A subregion or subdivision within a larger region, such as a county or district."},"yearBuilt":{"type":"integer","format":"int32","description":"The year the Site was built, ranging from 1 to the current year plus 10.","minimum":1,"nullable":true}}},"PublicSiteResource":{"type":"object","nullable":true,"properties":{"addressIssueType":{"type":"string","description":"Issue type of a site's address.","enum":["INCOMPLETE_ADDRESS","UNVERIFIED_ADDRESS","VERIFIED_ADDRESS"],"nullable":true},"area":{"type":"integer","format":"int32","description":"The area of the Site in square feet.","nullable":true},"buildingType":{"type":"string","description":"The type of building.","enum":["FULL_SERVICE_RESTAURANT","HOSPITAL","LARGE_HOTEL","LARGE_OFFICE","MEDIUM_OFFICE","OUTPATIENT","PRIMARY_SCHOOL","QUICK_SERVICE_RESTAURANT","RETAIL_STANDALONE","RETAIL_STRIPMALL","SECONDARY_SCHOOL","SMALL_HOTEL","SMALL_OFFICE","WAREHOUSE","OTHER"],"nullable":true},"buildingTypeGroup":{"type":"string","description":"The group of building types.","enum":["EDUCATION","FOOD_SERVICE","HEALTHCARE","LODGING","MERCANTILE","OFFICE","WAREHOUSE_AND_STORAGE","OTHER"],"nullable":true},"businessUnitsIntersection":{"type":"array","description":"Intersection of Business Units across Accounts associated with Meters on this Site.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"businessUnitsUnion":{"type":"array","description":"Union of Business Units from Accounts associated with Meters on this Site.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created.","nullable":true},"createdBy":{"type":"string","description":"User or system responsible for creating the entity.","nullable":true},"facilityType":{"type":"string","deprecated":true,"description":"Custom field for you to input site’s facility type. Deprecated in favor of buildingType.","nullable":true},"heatingFuel":{"type":"string","description":"The type of heating fuel used in the Site.","enum":["ELECTRICITY","NATURAL_GAS","PROPANE","DISTRICT","FUEL_OIL","OTHER","NONE"],"nullable":true},"hvacCoolType":{"type":"string","description":"The type of cooling system in the Site.","enum":["CHILLER","DIRECT_EXPANSION","DISTRICT","EVAPORATIVE","HEAT_PUMP","OTHER","NONE"],"nullable":true},"hvacHeatType":{"type":"string","description":"The type of heating system in the Site.","enum":["DISTRICT","ELECTRIC_RESISTANCE","FURNACE_OR_BOILER","HEAT_PUMP","OTHER","NONE"],"nullable":true},"hvacVentType":{"type":"string","description":"The type of ventilation system in the Site.","enum":["ROOFTOP_UNIT","ZONE_TERMINAL","FORCED_AIR","OTHER","NONE"],"nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"isLocationRecommendationIgnored":{"type":"boolean","description":"Indicates if a site has been opted out of address verification."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"lastModifiedBy":{"type":"string","description":"The user or system that last modified this resource.","nullable":true},"meterIds":{"type":"array","deprecated":true,"description":"Deprecated: prefer listing Meters filtered by siteId. An array of unique identifiers for multiple meters. Null for non-root users.","items":{"type":"string","deprecated":true,"description":"Deprecated: prefer listing Meters filtered by siteId. An array of unique identifiers for multiple meters. Null for non-root users.","nullable":true},"nullable":true},"numberOfStories":{"type":"integer","format":"int32","description":"The number of stories of the Site.","nullable":true},"region":{"type":"string","description":"The region or geographic area associated with the Site. ","nullable":true},"serviceAddress":{"$ref":"#/components/schemas/PublicAddressResource"},"siteCode":{"type":"string","description":"A code or identifier assigned to a specific site.","nullable":true},"siteName":{"type":"string","description":"The name or label assigned to a specific Site.","nullable":true},"siteNumber":{"type":"string","description":"The number or identifier assigned to a specific Site.","nullable":true},"subRegion":{"type":"string","description":"A subregion or subdivision within a larger region, such as a county or district.","nullable":true},"totalMeters":{"type":"integer","format":"int32","description":"Total number of meters associated with this site."},"yearBuilt":{"type":"integer","format":"int32","description":"The year the Site was built.","nullable":true}},"required":["addressIssueType","area","buildingType","buildingTypeGroup","businessUnitsIntersection","businessUnitsUnion","createdAt","createdBy","facilityType","heatingFuel","hvacCoolType","hvacHeatType","hvacVentType","id","isLocationRecommendationIgnored","lastModifiedAt","lastModifiedBy","meterIds","numberOfStories","region","serviceAddress","siteCode","siteName","siteNumber","subRegion","totalMeters","yearBuilt"]},"PublicStatementSummaryResource":{"type":"object","description":"An array of statement objects.","properties":{"accountData":{"type":"array","description":"Data related to individual accounts, including billing information, usage history, etc.","items":{"$ref":"#/components/schemas/PublicAccountDataSummaryResource"}},"amountDue":{"type":"number","description":"The monetary amount that is required to be paid.","nullable":true},"businessUnitsIntersection":{"type":"array","description":"Intersection of Business Units across Accounts on this Statement Version.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"businessUnitsUnion":{"type":"array","description":"Union of Business Units from Accounts on this Statement Version.","items":{"$ref":"#/components/schemas/PublicBusinessUnitResource"}},"correlationIds":{"type":"array","description":"A list of correlationIds cascaded from all directly associated Credentials and Files.","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created.","nullable":true},"currencyCode":{"type":"string","description":"The ISO 4217 currency code for charges. This list will grow as additional currencies are supported over time.","enum":["USD","AUD","CAD","EUR","GBP","ZAR","RON","BRL","DKK","CHF","MXN","NZD","NOK","SEK","CZK","COP","PLN","ARS","GTQ","SGD","TRY","INR","JPY","HKD","HUF","AED","MAD","PHP","IDR","UYU","CLP","PEN","MYR","OMR","BHD","SAR","GHS","THB","VND","LKR","KRW","BAM","BGN","RSD","TWD","KES","NGN","ILS","CNY","CRC","EUS"],"nullable":true},"dataIngestionMethod":{"type":"string","description":"Identifies the data ingestion method that created this Statement.","enum":["BILL_UPLOAD","UTILITY_WEBSITE_ACCESS"],"nullable":true},"discoveredAt":{"type":"string","format":"date-time","description":"Timestamp indicating when the statement data was discovered and added to the system.","nullable":true},"discoveredStatementId":{"type":"string","description":"The unique identifier for the discovered statement in the Arcadia platform.","nullable":true},"dueDate":{"type":"string","format":"date","description":"The due date for payment associated with the account.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"invoiceNumber":{"type":"string","description":"The unique identifier or number assigned to a specific invoice.","nullable":true},"isLatestVersion":{"type":"boolean","description":"Indicates whether the Statement is the most recent versionId of the Statement."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"normalizedSummaryAccountNumber":{"type":"string","description":"The normalized version of the Summary account number (removing things like hyphens, underscores, and leading zeros).","nullable":true},"outstandingBalance":{"type":"number","description":"The remaining balance yet to be paid for the account.","nullable":true},"periodEndDate":{"type":"string","format":"date","description":"The end date of the measuring period.","nullable":true},"periodStartDate":{"type":"string","format":"date","description":"The start date of the measuring period.","nullable":true},"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"statementDate":{"type":"string","format":"date","description":"The date of the statement.","nullable":true},"summaryAccountNumber":{"type":"string","description":"The number or identifier assigned to the summary account by the provider.","nullable":true},"totalCharges":{"type":"number","description":"The total charges applied for a specific billing period.","nullable":true},"type":{"type":"string","description":"Describes the source document.","enum":["BILL","NOTICE","ADJUSTMENT","PREPAID"]},"versionId":{"type":"string","description":"A unique identifier for the version of the statement entity at a given moment in time."}},"required":["accountData","amountDue","businessUnitsIntersection","businessUnitsUnion","correlationIds","createdAt","currencyCode","dataIngestionMethod","discoveredAt","discoveredStatementId","dueDate","id","invoiceNumber","isLatestVersion","lastModifiedAt","normalizedSummaryAccountNumber","outstandingBalance","periodEndDate","periodStartDate","provider","statementDate","summaryAccountNumber","totalCharges","type","versionId"]},"PublicTariffRateComponentResource":{"type":"object","description":"The components or elements that make up the tariff rate, such as base charges, usage charges, and taxes.","properties":{"tariffName":{"type":"string","description":"The name of the tariff."},"tariffRateComponentType":{"type":"string","description":"A way to establish the purpose/classification of a charge with respect to the rate plan."}},"required":["tariffName","tariffRateComponentType"]},"PublicTariffResource":{"type":"object","description":"The tariff the meter is currently on.","nullable":true,"properties":{"provider":{"$ref":"#/components/schemas/PublicProviderResource"},"tariffName":{"type":"string","description":"The name of the tariff."}},"required":["provider","tariffName"]},"PublicUpdateAccountRequest":{"type":"object","properties":{"businessUnitIds":{"type":"array","description":"Business Unit IDs to assign to this Account.","items":{"type":"string","description":"Business Unit IDs to assign to this Account."}},"customData":{"type":"object","additionalProperties":{"type":"string","description":"You can use these fields to specify additional metadata."},"description":"You can use these fields to specify additional metadata."},"isStatementsProductActive":{"type":"boolean","description":"Indicates whether the Plug Statements product is active for this account."}}},"PublicUpdateFileRequest":{"type":"object","properties":{"correlationId":{"type":"string","description":"A string value you can set to help you reconcile with your internal systems.","maxLength":255,"minLength":0}}},"PublicUsageResource":{"type":"object","description":"Details of usage data.","properties":{"calorificValue":{"type":"number","description":"The calorific value associated with the energy source, if applicable (e.g., for natural gas).","nullable":true},"citedUsage":{"type":"number","description":"This usage is not measured by a meter reading on the current statement. This is the billed usage.","nullable":true},"contributionStatus":{"type":"string","description":"* `CONTRIBUTING` - Indicates the charge amount is a contributing value to the total bill amount.\n* `NON_CONTRIBUTING` - Indicates the charge amount does not contribute to the total bill amount. This may be because it's a redundant sub-total, or due to proration.","enum":["CONTRIBUTING","NON_CONTRIBUTING"],"nullable":true},"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created.","nullable":true},"hoursOfUse":{"type":"number","description":"The total number of hours the account or service has been used within a specific period.","nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"lastModifiedAt":{"type":"string","format":"date-time","description":"The timestamp indicating when this resource was last modified.","nullable":true},"loadFactor":{"type":"number","description":"The observed ratio of average demand to peak demand for the account, indicating the efficiency of energy usage.","nullable":true},"loadType":{"type":"string","description":"The type of load associated with the account.","nullable":true},"measuredUsage":{"type":"number","description":"Represents actual consumption at the meter for the account within a specific period.","nullable":true},"measurementType":{"type":"string","description":"Delivery terms for the tariff: General consumption, demand, bi-directional in, bi-directional out, deduct, deliveries","nullable":true},"meterConstantMultiplier":{"type":"number","description":"The multiplier used to convert meter readings to actual usage values for the account. The first conversion after the meter delta is calculated","nullable":true},"meterConversionMultiplier":{"type":"number","description":"The multiplier used to convert the raw meter readings to actual usage values, typically to adjust for factors such as calibration or unit conversion.","nullable":true},"meterReadDate":{"type":"string","format":"date","description":"The date on which the meter reading was taken.","nullable":true},"meterReadType":{"type":"string","description":"The meter’s most recent read date in the statement. This field can be actual or estimated.","nullable":true},"meterReadingDelta":{"type":"number","description":"The difference between the current meter reading and the previous meter reading, representing the usage during a specific period.","nullable":true},"meterReadingDeltaPrevious":{"type":"number","description":"The previous difference between meter readings of consecutive periods.","nullable":true},"meterReadingDeltaUsageUnit":{"type":"string","description":"The unit of measure used for expressing the meter reading delta (e.g., kWh, gallons).","nullable":true},"meterReadingRaw":{"type":"number","description":"The raw meter reading value before any adjustments or conversions.","nullable":true},"meterReadingRawPrevious":{"type":"number","description":"The previous raw meter reading value before any adjustments or conversions. ","nullable":true},"numberOfDaysInPeriod":{"type":"number","description":"The total number of days in the billing period or reporting period.","nullable":true},"outageBlock":{"type":"string","description":"Published outage schedule by the provider.","nullable":true},"periodEndDate":{"type":"string","format":"date","description":"The end date of the measuring period.","nullable":true},"periodStartDate":{"type":"string","format":"date","description":"The start date of the measuring period.","nullable":true},"powerFactor":{"type":"number","description":"The observed ratio of real power to apparent power, often used to measure the efficiency of electricity usage.","nullable":true},"pressureMultiplier":{"type":"number","description":"This field is only populated when the Service Type for the meter is natural gas. It is an additional multiplier to measure units used.","nullable":true},"prevReadDate":{"type":"string","format":"date","description":"The date of the previous meter reading.","nullable":true},"previousMeterReadType":{"type":"string","description":"The type or method of meter reading used for the previous meter.","nullable":true},"previousReadTypeAsPrinted":{"type":"string","description":"The type of previous meter reading as printed on the bill.","nullable":true},"previousUsage":{"type":"number","description":"The previous usage of the commodity within a specific period.","nullable":true},"prorationStatus":{"type":"string","description":"* `PRORATED` - Indicates this usage is the result of a proration calculation; for example, prorating an account level usage down to individual meters.\n* `PRORATION_SOURCE` - Indicates this usage was an original usage extracted from the bill, but we performed proration calculations on it to push it down in the statement graph.\n* `INFERRED` - This status indicates a usage value was calculated from multiple other usages. Generally, this would happen if a bill provides usage sub-totals (e.g. for `off_peak`, `on_peak`, etc.) but no total. We would calculate an additional usage record representing the full total.\n* `null` - Indicates this usage has no participation in a proration calculation.","enum":["PRORATED","PRORATION_SOURCE","INFERRED"],"nullable":true},"rateOrTariffNameAsPrinted":{"type":"string","description":"The name of the rate or tariff plan as printed on the bill.","nullable":true},"readTypeAsPrinted":{"type":"string","description":"The type of meter reading as printed on the bill or statement.","nullable":true},"readingSchedule":{"type":"string","description":"The frequency of meter readings.","nullable":true},"tariffRateComponents":{"type":"array","description":"The components or elements that make up the tariff rate, such as base charges, usage charges, and taxes.","items":{"$ref":"#/components/schemas/PublicTariffRateComponentResource"}},"usageNameAsPrinted":{"type":"string","description":"The name or label assigned to usage data as printed on the bill.","nullable":true},"usageUnit":{"type":"string","description":"The unit of measurement for energy or water usage, such as kWh (kilowatt-hour) or gallons.","nullable":true}},"required":["calorificValue","citedUsage","contributionStatus","createdAt","hoursOfUse","id","lastModifiedAt","loadFactor","loadType","measuredUsage","measurementType","meterConstantMultiplier","meterConversionMultiplier","meterReadDate","meterReadType","meterReadingDelta","meterReadingDeltaPrevious","meterReadingDeltaUsageUnit","meterReadingRaw","meterReadingRawPrevious","numberOfDaysInPeriod","outageBlock","periodEndDate","periodStartDate","powerFactor","pressureMultiplier","prevReadDate","previousMeterReadType","previousReadTypeAsPrinted","previousUsage","prorationStatus","rateOrTariffNameAsPrinted","readTypeAsPrinted","readingSchedule","tariffRateComponents","usageNameAsPrinted","usageUnit"]},"PublicWebhookResource":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the entity was created.","nullable":true},"eventType":{"type":"string","description":"The type of webhook. This field indicates the reason the webhook was emitted.","enum":["STATUS_CHANGE","MFA_CHALLENGE_METHOD","MFA_CHALLENGE_CODE","EXISTING_DATA_UPDATED","NEW_DATA_AVAILABLE","REAL_TIME_CREDENTIAL_VALIDATION_SUCCESS","REAL_TIME_CREDENTIAL_VALIDATION_FAILURE","BUSINESS_UNIT_ASSIGNMENT"],"nullable":true},"id":{"type":"string","description":"A unique identifier for the entity."},"lastAttemptedSendAt":{"type":"string","format":"date-time","description":"The timestamp indicating when we last attempted to send this webhook to you.","nullable":true},"lastSendHttpStatus":{"type":"integer","format":"int32","description":"The HTTP status code received for the most recent attempt to send this webhook.","nullable":true},"message":{"type":"string","description":"The body payload of the webhook as a JSON string."},"nextScheduledSendAt":{"type":"string","format":"date-time","description":"The scheduled time for the next webhook to be sent.","nullable":true},"numberOfAttempts":{"type":"integer","format":"int32","description":"The number of attempts we have made to send this webhook."},"resource":{"type":"string","description":"The resource type of the entity that the webhook references. This field determines the structure of the payload contained in the data field of the webhook body.","enum":["STATEMENT","ACCOUNT","CREDENTIAL","DELETION","FILE","MFA_METHOD_PROMPT","MFA_CODE_PROMPT","DOWNLOAD","ROOT_BUSINESS_UNIT_ACCOUNT"],"nullable":true},"status":{"type":"string","description":"Status of the resource.","enum":["WAITING_RESEND","FAILURE","SUCCESS"]},"webhookUrl":{"type":"string","description":"The URL in Live mode used for you to receive webhook notifications or callbacks."}},"required":["createdAt","eventType","id","lastAttemptedSendAt","lastSendHttpStatus","message","nextScheduledSendAt","numberOfAttempts","resource","status","webhookUrl"]},"Reading":{"type":"object","description":"List of individual interval readings for this meter.","properties":{"datapoints":{"type":"array","description":"List of measurement values in different units","items":{"$ref":"#/components/schemas/Datapoint"}},"direction":{"type":"string","description":"Direction of energy flow (import, export, net)"},"endAt":{"type":"string","format":"date-time","description":"End time of this interval"},"kw":{"type":"number","format":"double","description":"Power usage in kW (deprecated)","nullable":true},"kwh":{"type":"number","format":"double","description":"Energy usage in kWh (deprecated)","nullable":true},"startAt":{"type":"string","format":"date-time","description":"Start time of this interval"}},"required":["datapoints","direction","endAt","kw","kwh","startAt"]},"StatementGapResource":{"type":"object","properties":{"endDate":{"type":"string","format":"date","description":"The end date of this suspected gap.","nullable":true},"startDate":{"type":"string","format":"date","description":"The start date of this suspected gap."},"status":{"type":"string","description":"A high-level categorization of this statement gap.","enum":["EXPECTED","GAP","SCHEDULED"]},"statusDetail":{"type":"string","description":"A more detailed description of the cause of this statement gap.","enum":["TIME_FRAME_OUTSIDE_OF_HISTORY_WINDOW","ACCOUNT_INACTIVE_DURING_STATEMENT_PERIOD","NO_BILLS_DISCOVERED_AFTER_FINAL_BILL_NOTICE","NO_BILLS_DISCOVERED_AFTER_MOST_RECENT_NEXT_EXPECTED_POST_DATE","NO_BILLS_DISCOVERED_AFTER_UNCERTAIN_NEXT_EXPECTED_POST_DATE","STATEMENT_NOT_ON_WEBSITE","ACCOUNT_INACTIVE","DATA_ACCESS_FAILURE","ISSUE_UNDER_REVIEW","HISTORY_JOB_QUEUED","FUTURE_NEXT_EXPECTED_POST_DATE","HISTORICAL_STATEMENT_NOT_UPLOADED"]}},"required":["endDate","startDate","status","statusDetail"]},"StatementGapSummaryResource":{"type":"object","description":"A summary of suspected statement gaps for this account.","nullable":true,"properties":{"gaps":{"type":"array","description":"A list of statement gaps identified for this account.","items":{"$ref":"#/components/schemas/StatementGapResource"}},"lastRefreshAt":{"type":"string","format":"date-time","description":"A timestamp indicating when the gap summary was most recently updated."}},"required":["gaps","lastRefreshAt"]},"VerificationMethod":{"type":"object","properties":{"identifier":{"type":"string"},"isResubmission":{"type":"boolean","description":"Indicates whether the verification method is used for resubmission."},"name":{"type":"string","minLength":1},"type":{"type":"string","enum":["call","email","text","other"]}},"required":["identifier","isResubmission","name","type"]},"PlugIntervalProviderSupportResource":{"required":["isHistorySupported","isInstantIntervalsSupported","isSupported","serviceTypes"],"type":"object","properties":{"isHistorySupported":{"type":"boolean","description":"Indicates whether the provider supports historical interval data extraction."},"isInstantIntervalsSupported":{"type":"boolean","description":"Indicates whether the provider supports instant interval extraction."},"isSupported":{"type":"boolean","description":"Indicates whether the provider supports interval data extraction."},"serviceTypes":{"uniqueItems":true,"type":"array","description":"An array of service types from the provider that are supported.","items":{"type":"string","description":"An array of service types from the provider that are supported."}}},"description":"Detailed information about the provider's interval support."},"PlugMultiFactorAuthenticationSupportResource":{"required":["isGuestAccessSupported","isOptOutSupported","isSupported","request","type"],"type":"object","properties":{"isGuestAccessSupported":{"type":"boolean","description":"Indicates whether the provider supports guest access configuration. This field is currently in beta."},"isOptOutSupported":{"type":"boolean","description":"Indicates whether Arcadia is able to support opting out of MFA for the provider. This field is currently in beta."},"isSupported":{"type":"boolean","description":"This field indicates whether Arcadia is able to support MFA for the provider. It does not indicate whether the provider requires MFA."},"request":{"type":"string","description":"The type of MFA request this provider supports.","nullable":true,"enum":["ONE_TIME","RECURRING"]},"type":{"type":"string","description":"The type of MFA this provider supports.","nullable":true,"enum":["MANDATORY","OPTIONAL"]}},"description":"Detailed information about the provider's MFA support."},"PlugPagedProviderResource":{"required":["page","providers"],"type":"object","properties":{"page":{"$ref":"#/components/schemas/PageMetadata"},"providers":{"type":"array","description":"An array of unique identifiers of the utility service provider","items":{"$ref":"#/components/schemas/PublicPlugProviderResource"}}}},"PlugStatementProviderSupportResource":{"required":["isHistorySupported","isSupported","isWebNavigationSupported","serviceTypes"],"type":"object","properties":{"isHistorySupported":{"type":"boolean","description":"Indicates whether the provider supports historical statement data extraction."},"isSupported":{"type":"boolean","description":"Indicates whether the provider supports statement data extraction."},"isWebNavigationSupported":{"type":"boolean","description":"Indicates whether the provider supports web navigation."},"serviceTypes":{"uniqueItems":true,"type":"array","description":"An array of service types from the Provider that are supported.","items":{"type":"string","description":"An array of service types from the Provider that are supported."}}},"description":"Detailed information about the provider's statements support."},"PlugTemplateInputMetadata":{"type":"object","properties":{"fieldLabel":{"type":"string","description":"This field is only relevant to you if you are building your own Connect component. It will help your UX mimic that of the utility login page so you can provide a more realistic sign-in experience to your end users. This is the label you should use for the input field. "},"fieldLength":{"type":"integer","description":"This field is only relevant to you if you are building your own Connect component. It will help your UX mimic that of the utility login page so you can provide a more realistic sign-in experience to your end users. This is the length of the input field. You can use this to build input validations. ","format":"int32"},"fieldName":{"type":"string","description":"This field is only relevant to you if you are building your own Connect component. It will help your UX mimic that of the utility login page so you can provide a more realistic sign-in experience to your end users. This is the name that corresponds to the field you would use when submitting a credential to the API (e.g. username, username2, etc.)."},"fieldNumber":{"type":"integer","description":"This field is only relevant to you if you are building your own Connect component. It will help your UX mimic that of the utility login page so you can provide a more realistic sign-in experience to your end users. This is for indicating the order that login inputs appear on the page.","format":"int32"},"fieldPart":{"type":"integer","description":"This field is only relevant to you if you are building your own Connect component. It will help your UX mimic that of the utility login page so you can provide a more realistic sign-in experience to your end users. This is for handling input fields when they are are split by dashes or other symbols, indicating with part this input corresponds to.","format":"int32"}},"description":"Detailed information about the required input fields for this provider."},"PublicPlugProviderResource":{"required":["country","id","intervals","isHistorySupported","isInstantIntervalsSupported","isIntervalsThirdPartyPortalSupported","isMultiFactorAuthenticationSupported","isRealTimeCredentialValidationSupported","isThirdPartyPortalSupported","multiFactorAuthentication","name","region","requiredFieldMetadata","requiredFields","serviceTypes","statements","website"],"type":"object","properties":{"country":{"type":"string","description":"The country associated with the billing address.","enum":["AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","VGB","BRN","BGR","BFA","BDI","CPV","KHM","CMR","CAN","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COD","COK","CRI","CIV","HRV","CUB","CUW","CYP","CZE","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FSM","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","GEO","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MKD","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","MDA","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","NCL","NZL","NIC","NER","NGA","NIU","NFK","PRK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","KOR","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","TZA","THA","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","VIR","UGA","UKR","ARE","GBR","UMI","USA","URY","UZB","VUT","VEN","VNM","WLF","ESH","YEM","ZMB","ZWE"]},"id":{"type":"string","description":"A unique identifier for the entity."},"intervals":{"$ref":"#/components/schemas/PlugIntervalProviderSupportResource"},"isHistorySupported":{"type":"boolean","description":"Indicates whether the provider supports historical data at the account level."},"isInstantIntervalsSupported":{"type":"boolean","description":"Indicates whether the provider supports Instant Intervals."},"isIntervalsThirdPartyPortalSupported":{"type":"boolean","description":"Indicates whether the provider supports integration with third-party portals or platforms for interval data."},"isMultiFactorAuthenticationSupported":{"type":"boolean","description":"This field indicates whether Arcadia is able to support MFA for the provider. It does not indicate whether the provider requires MFA. This field is deprecated in favor of multiFactorAuthentication.isSupported.","deprecated":true},"isRealTimeCredentialValidationSupported":{"type":"boolean","description":"Indicates whether the provider supports Real-Time Credential Validation."},"isThirdPartyPortalSupported":{"type":"boolean","description":"Indicates whether the provider supports integration with third-party portals or platforms."},"multiFactorAuthentication":{"$ref":"#/components/schemas/PlugMultiFactorAuthenticationSupportResource"},"name":{"type":"string","description":"The name of the utility service provider."},"region":{"type":"string","description":"The region associated with the provider.","enum":["AFRICA","ASIA","EUROPE","CARIBBEAN","CENTRAL_AMERICA","NORTH_AMERICA","OCEANIA","SOUTH_AMERICA"]},"requiredFieldMetadata":{"uniqueItems":true,"type":"array","description":"Detailed information about the required input fields for this provider.","items":{"$ref":"#/components/schemas/PlugTemplateInputMetadata"}},"requiredFields":{"uniqueItems":true,"type":"array","description":"The inputs needed to submit a request for this provider.","items":{"type":"string","description":"The inputs needed to submit a request for this provider."}},"serviceTypes":{"uniqueItems":true,"type":"array","description":"An array of all type of service supported, such as electricity, water, or gas.","items":{"type":"string","description":"An array of all type of service supported, such as electricity, water, or gas."}},"statements":{"$ref":"#/components/schemas/PlugStatementProviderSupportResource"},"website":{"type":"string","description":"The website for the provider."}},"description":"An array of unique identifiers of the utility service provider"},"PublicProviderDownloadCSVRequest":{"type":"object","properties":{"columns":{"type":"array","items":{"type":"string"}},"globalSearch":{"type":"string"},"search":{"type":"string"}}}}},"security":[{"OAuth2":[]}],"paths":{"/apiKeys":{"get":{"description":"Returns a paginated list of API keys within the caller's organization, scoped to the Business Units the caller is permitted to access.","operationId":"list-api-keys","parameters":[{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPagedPlugApiKeyResource"}}},"description":"OK"}},"summary":"List API Keys","tags":["API Keys"]},"post":{"description":"Creates a new API key for the caller's organization, optionally scoped to one or more Business Units.","operationId":"create-api-key","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugApiKeyRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugApiKeyResource"}}},"description":"OK"}},"summary":"Create API Key","tags":["API Keys"],"parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}]}},"/apiKeys/{clientId}":{"delete":{"description":"Permanently deletes an API key, revoking its ability to authenticate.","operationId":"delete-api-key","parameters":[{"in":"path","name":"clientId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"description":"OK"}},"summary":"Delete API Key","tags":["Deletion","API Keys"]},"patch":{"description":"Partially updates an API key. Only the fields supplied in the request body are changed; omitted fields are left as-is.","operationId":"update-api-key","parameters":[{"in":"path","name":"clientId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyBusinessUnitPatchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugApiKeyResource"}}},"description":"OK"}},"summary":"Update API Key","tags":["API Keys"]}},"/apiKeys/{clientId}/events":{"get":{"description":"Returns a paginated list of the change events recorded against a single API key, such as creation and business unit assignment updates.","operationId":"list-api-key-events","parameters":[{"in":"path","name":"clientId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are: createdAt, eventType, fieldName","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPagedPlugApiKeyEventResource"}}},"description":"OK"}},"summary":"List API Key Events","tags":["API Keys"]}},"/businessUnits":{"get":{"description":"Returns a paginated list of Business Units within the caller's organization, scoped to the Business Units the caller is permitted to access.","operationId":"list-business-units","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `createdBy`\n- `id`\n- `lastModifiedAt`\n- `lastModifiedBy`\n- `name`\n- `parentId`\n- `sandboxWebhookUrl`\n- `uniqueId`\n- `webhookUrl`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPagedPlugBusinessUnitResource"}}},"description":"OK"}},"summary":"List Business Units","tags":["Business Units"]},"post":{"description":"Creates a new Business Unit as a child of the specified parent Business Unit.","operationId":"create-business-unit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBusinessUnitCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugBusinessUnitResource"}}},"description":"OK"}},"summary":"Create Business Unit","tags":["Business Units"],"parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}]}},"/businessUnits/{businessUnitId}":{"delete":{"description":"Deletes a Business Unit. Any accounts assigned to it are moved to the Business Unit specified by `moveAccountsToBusinessUnitId`, or to its parent if that parameter is omitted. ","operationId":"delete-business-unit","parameters":[{"in":"path","name":"businessUnitId","required":true,"schema":{"type":"string"}},{"description":"The Business Unit to move the deleted Business Unit's accounts to. Defaults to the deleted Business Unit's parent if omitted.","in":"query","name":"moveAccountsToBusinessUnitId","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"description":"OK"}},"summary":"Delete Business Unit","tags":["Business Units","Deletion"]},"get":{"description":"Returns a single Business Unit along with the IDs of its ancestors and the full tree of its descendants.","operationId":"retrieve-business-unit","parameters":[{"in":"path","name":"businessUnitId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugBusinessUnitTreeResource"}}},"description":"OK"}},"summary":"Retrieve Business Unit","tags":["Business Units"]},"patch":{"description":"Partially updates a Business Unit. Only the fields supplied in the request body are changed; omitted fields are left as-is.","operationId":"update-business-unit","parameters":[{"in":"path","name":"businessUnitId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUnitPatchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugBusinessUnitResource"}}},"description":"OK"}},"summary":"Update Business Unit","tags":["Business Units"]}},"/businessUnits/{businessUnitId}/events":{"get":{"description":"Returns a paginated list of the change events recorded against a single Business Unit, such as creation and field updates.","operationId":"list-business-unit-events","parameters":[{"in":"path","name":"businessUnitId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are: createdAt, eventType, fieldName","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPagedPlugBusinessUnitEventResource"}}},"description":"OK"}},"summary":"List Business Unit Events","tags":["Business Units"]}},"/oauth2/token":{"post":{"operationId":"create-access-token","security":[],"tags":["Authentication"],"summary":"Create an Access Token","description":"Use API credentials from the Dashboard to create an Access Token that has permission to use all Arcadia API endpoints.\nAPI access tokens are valid for one hour.\n","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["client_id","client_secret","grant_type"],"properties":{"client_id":{"type":"string","description":"The client ID for the token request. This can be found in the Dashboard, under the API Keys page [here](https://dashboard.arcadia.com/configuration/api-keys)."},"client_secret":{"type":"string","description":"The client secret for the token request. This can be found in the Dashboard, on the API Keys page [here](https://dashboard.arcadia.com/configuration/api-keys)."},"grant_type":{"type":"string","description":"The grant type for the token request. The only available option currently is “client_credentials”.","enum":["client_credentials"]}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenErrorResponse"}}}}}}},"/plug/accounts":{"get":{"description":"Get a list of accounts in the Arcadia system. This endpoint is pageable. If your organization does not have the Intervals product enabled and if the account is not activated, you will see limited detailed data returned.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-accounts","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountNumber`\n- `billingCycle`\n- `businessUnits.id`\n- `businessUnits.name`\n- `correlationIds`\n- `createdAt`\n- `credentialIds`\n- `customData1`\n- `customData10`\n- `customData11`\n- `customData12`\n- `customData13`\n- `customData14`\n- `customData15`\n- `customData16`\n- `customData17`\n- `customData18`\n- `customData19`\n- `customData2`\n- `customData20`\n- `customData21`\n- `customData22`\n- `customData23`\n- `customData24`\n- `customData25`\n- `customData3`\n- `customData4`\n- `customData5`\n- `customData6`\n- `customData7`\n- `customData8`\n- `customData9`\n- `firstExtractedAt`\n- `gapSummary.earliestGapStartDate`\n- `gapSummary.gaps.endDate`\n- `gapSummary.gaps.startDate`\n- `gapSummary.gaps.status`\n- `gapSummary.gaps.statusDetail`\n- `gapSummary.isCustomerActionRequired`\n- `gapSummary.latestGapStartDate`\n- `id`\n- `isAccessible`\n- `isCustomerActionRequired`\n- `isHistoryFulfilled`\n- `isStatementsProductActive`\n- `lastModifiedAt`\n- `lastModifiedBy`\n- `lastSuccessfulExtractionAt`\n- `latestNewStatementAt`\n- `latestStatementDate`\n- `meterIds`\n- `nextExpectedPostDate`\n- `normalizedAccountNumber`\n- `origin`\n- `prepaid`\n- `provider.name`\n- `provider.providerId`\n- `providerClassification`\n- `serviceTypes`\n- `siteIds`\n- `siteNames`\n- `statementIds`\n- `status`\n- `statusDetail`\n- `summaryAccount`\n- `summaryAccountId`\n- `summaryAccountNumber`\n- `totalMeters`\n- `type`\n- `username`\n- `voidedAt`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Accounts by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicAccountResource"}}},"description":"OK"}},"summary":"List Accounts","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"post":{"description":"Create a new account in the Arcadia system. This is used for providers that support third party portals for indirect account access. Rather than submitting utility login credentials, you would submit account numbers. The end user will receive an email and have to approve access before Arcadia can read information from the provider.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"create-account-through-third-party-portal","parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCreateAccountRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccountResource"}}},"description":"Accepted"}},"summary":"Create Account Through Third Party Portal","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/accounts/details":{"get":{"description":"Get a list of Detailed Accounts in the Arcadia system. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-detailed-accounts","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountNumber`\n- `billingCycle`\n- `businessUnits.id`\n- `businessUnits.name`\n- `correlationIds`\n- `createdAt`\n- `credentialIds`\n- `customData1`\n- `customData10`\n- `customData11`\n- `customData12`\n- `customData13`\n- `customData14`\n- `customData15`\n- `customData16`\n- `customData17`\n- `customData18`\n- `customData19`\n- `customData2`\n- `customData20`\n- `customData21`\n- `customData22`\n- `customData23`\n- `customData24`\n- `customData25`\n- `customData3`\n- `customData4`\n- `customData5`\n- `customData6`\n- `customData7`\n- `customData8`\n- `customData9`\n- `firstExtractedAt`\n- `gapSummary.earliestGapStartDate`\n- `gapSummary.gaps.endDate`\n- `gapSummary.gaps.startDate`\n- `gapSummary.gaps.status`\n- `gapSummary.gaps.statusDetail`\n- `gapSummary.isCustomerActionRequired`\n- `gapSummary.latestGapStartDate`\n- `id`\n- `isAccessible`\n- `isCustomerActionRequired`\n- `isHistoryFulfilled`\n- `isStatementsProductActive`\n- `lastModifiedAt`\n- `lastModifiedBy`\n- `lastSuccessfulExtractionAt`\n- `latestNewStatementAt`\n- `latestStatementDate`\n- `meterIds`\n- `nextExpectedPostDate`\n- `normalizedAccountNumber`\n- `origin`\n- `prepaid`\n- `provider.name`\n- `provider.providerId`\n- `providerClassification`\n- `serviceTypes`\n- `siteIds`\n- `siteNames`\n- `statementIds`\n- `status`\n- `statusDetail`\n- `summaryAccount`\n- `summaryAccountId`\n- `summaryAccountNumber`\n- `totalMeters`\n- `type`\n- `username`\n- `voidedAt`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Accounts by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicDetailedAccountResource"}}},"description":"OK"}},"summary":"List Detailed Accounts","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/accounts/downloads":{"post":{"description":"Downloading a CSV file with high-level summary information for account, statements, and associated metadata is a 2 step process. The first step (this one) prepares the download and provides a URL in the response body that can be used for downloading the CSV file. [The next step](ref:stream-download) is to download the file using a GET request with the response body URL. The format of the generated CSV is separate from and will not exactly match the JSON you receive from the API endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"download-account-statements","parameters":[{"description":"Business Unit IDs to filter Accounts by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadAccountStatementsRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}}},"description":"Accepted"}},"summary":"Download Account Statements","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/accounts/{accountId}":{"get":{"description":"If you have the accountId, you can use this endpoint to retrieve the details for that specific account. If your organization does not have the Intervals product enabled and if the associated account is not activated, you will see limited detailed data returned.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-account","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccountResource"}}},"description":"OK"}},"summary":"Retrieve Account","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"patch":{"description":"To make updates to a specific account, you can make a PATCH call to the accounts endpoint. Each account can have up to 25 custom data fields associated. Custom data fields are not required. Custom data allows you to organize accounts and tie them back to records in your own system. To update a custom data field, the field must already have a defined label. To define a Custom Data label, you must use the [Update Organization Custom Data](ref:update-organization-custom-data) endpoint.\nPublisher account activation/deactivation directly propagates to all pass through accounts. isStatementsProductActive for pass through accounts cannot be independently updated as they directly reflect that of the publisher account.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"update-account","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUpdateAccountRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccountResource"}}},"description":"OK"}},"summary":"Update Account","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"put":{"description":"Each account can have up to 25 custom data fields associated. Custom data fields are not required. Custom data allows you to organize accounts and tie them back to records in your own system. To update a custom data field, the field must already have a defined label. To define a Custom Data label, you must use the [Update Organization Custom Data](ref:update-organization-custom-data) endpoint.This is a PUT method, which requires all fields be provided to ensure a complete update of the existing resource.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"set-account","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUpdateAccountRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccountResource"}}},"description":"OK"}},"summary":"Set Account","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/accounts/{accountId}/details":{"get":{"description":"Retrieve a single Detailed Account record.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-detailed-account","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDetailedAccountResource"}}},"description":"OK"}},"summary":"Retrieve Detailed Account","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/accounts/{accountId}/events":{"get":{"description":"This endpoint allows you to view the event history for an account. For example, you can query this endpoint to find out when an account was created and who it was created by. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-accounts-events","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `eventType`\n- `fieldName`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicAccountEventResource"}}},"description":"OK"}},"summary":"List Account's Events","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/accounts/{accountId}/payments":{"get":{"description":"A payment is a transaction made by the account holder to decrease the balance of the account. An account may return one or many payments for each account. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-accounts-payments","parameters":[{"in":"path","name":"accountId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `amount`\n- `createdAt`\n- `currency`\n- `paymentDate`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicPaymentResource"}}},"description":"OK"}},"summary":"List Account's Payments","tags":["Accounts"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/businessUnits/{businessUnitId}/events":{"get":{"description":"Account-level Business Unit assignment and unassignment history for a Business Unit the caller has access to.","operationId":"list-business-unit-assignment-events","parameters":[{"in":"path","name":"businessUnitId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `eventType`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicBusinessUnitEventResource"}}},"description":"Successfully retrieved Business Unit events"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicBusinessUnitEventResource"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicBusinessUnitEventResource"}}},"description":"Forbidden — caller does not have access to this Business Unit"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicBusinessUnitEventResource"}}},"description":"Business Unit not found"}},"summary":"List Business Unit Assignment Events","tags":["Business Units"]}},"/plug/credentials":{"get":{"description":"A credential is defined as a set of login requirements needed for Arcadia to access data from utility providers. The credentials endpoint allows you to get a list of all the credentials that are in the Arcadia system. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-credentials","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountIds`\n- `accountNumbers`\n- `alternateAccesses.id`\n- `alternateAccesses.isActive`\n- `alternateAccesses.lastSuccessfulRefreshAt`\n- `alternateAccesses.orgId`\n- `alternateAccesses.orgName`\n- `alternateAccesses.status`\n- `alternateAccesses.statusDetail`\n- `alternateAccesses.type`\n- `businessUnitsUnion.id`\n- `businessUnitsUnion.name`\n- `connectionHealth`\n- `correlationId`\n- `createdAt`\n- `credentialId`\n- `isAccessible`\n- `isActive`\n- `isCustomerActionRequired`\n- `lastModifiedAt`\n- `meterIds`\n- `nextScheduledAccountRunAt`\n- `normalizedAccountNumbers`\n- `provider.name`\n- `provider.providerId`\n- `siteIds`\n- `status`\n- `statusDetail`\n- `totalAccounts`\n- `username`\n- `username2`\n- `username3`\n- `username4`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Credentials by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicCredentialResource"}}},"description":"OK"}},"summary":"List Credentials","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"post":{"description":"The credential endpoint allows you to create a new credential in the system. In order to create a new credential, you must submit the required provider ID, username, and password as defined by the providers endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"create-credential","parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugPublicCredentialRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCredentialResource"}}},"description":"OK"}},"summary":"Create Credential","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/encodedConnectUrl":{"post":{"description":"This endpoint generates a submission URL for Arcadia Connect with encoded parameters. The encoding prevents users from tampering with the generated URLs, so they may be shared with users to track which user submitted each Credential. Credentials submitted through an encoded URL will have the provided Correlation ID and will have the `createdBy` field set to the user who generates this link if `isCreatorAttributed` is set to true. A user can submit multiple Credentials through a URL, but the URL expires after 30 days. Learn more about Correlation IDs in Connect [here](https://docs.arcadia.com/docs/add-a-correlation-id-to-connect).","operationId":"generate-encoded-arcadia-connect-url","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugEncodedURLRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugEncodedURLResource"}}},"description":"OK"}},"summary":"Generate Encoded Arcadia Connect URL","tags":["Credentials"],"parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}]}},"/plug/credentials/{credentialId}":{"get":{"description":"If you have the credentialId for a specific credential, you can get the details of that credential.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-credential","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCredentialResource"}}},"description":"OK"}},"summary":"Retrieve Credential","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"patch":{"description":"To make updates to a credential, make a PATCH call to the credentials endpoint with a specific credentialId. For a list of fields that can be updated look below. None of these fields are required, but at least one field must be passed in the body to update a credential.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"update-credential","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugPublicUpdateCredentialRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCredentialResource"}}},"description":"Accepted"}},"summary":"Update Credential","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/counts":{"get":{"description":"This endpoint returns the count of Accounts, Meters and Statements that was obtained by a specific credential.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"get-the-credentials-count-of-associated-account-statement-and-meter-resources","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAssociatedEntitiesCountResource"}}},"description":"OK"}},"summary":"Get the credential's count of associated account, statement and meter resources","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/events":{"get":{"description":"This endpoint allows you to view the event history for a credential. For example, you query this endpoint to find out when a credential was created and who it was created by. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-credentials-events","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `eventType`\n- `fieldName`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicCredentialEventResource"}}},"description":"OK"}},"summary":"List Credential's Events","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/newStatement":{"post":{"description":"This endpoint triggers the generation of a new statement for a sandbox credential. It is applicable only in the sandbox mode.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"generate-a-new-statement-for-a-sandbox-credential","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"202":{"description":"Accepted"}},"summary":"Generate a new Statement for a Sandbox Credential","tags":["Sandbox Statements","Credentials"],"servers":[{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/oneTimePasscode":{"put":{"description":"Submit the one-time passcode for the specified credential's current job after selecting the multi-factor authentication (MFA) verification method. Read more about the MFA workflow [here](https://docs.arcadia.com/docs/mfa).","operationId":"submit-one-time-passcode","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"oneTimePasscode","required":true,"schema":{"type":"string","minLength":1}},{"in":"query","name":"isMultiFactorAuthenticationOptOut","required":false,"schema":{"type":"boolean","default":false}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCredentialResource"}}},"description":"OK"}},"summary":"Submit One-Time Passcode","tags":["Credentials"]}},"/plug/credentials/{credentialId}/passwords":{"get":{"description":"This endpoint allows you to retrieve the passwords for a given credential. You must be an admin user to use this endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-sensitive-credentials","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialSecretsResource"}}},"description":"OK"}},"summary":"Retrieve Sensitive Credentials","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/refresh":{"post":{"description":"Starts a job attempting to login to the credential so that its MFA session can be refreshed. This endpoint can only be used for Credentials for Providers which Arcadia supports MFA for. Read more about the MFA workflow [here](https://docs.arcadia.com/docs/mfa).\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"initiate-mfa-refresh","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"202":{"description":"Accepted"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Initiate MFA Refresh","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/refreshUrl":{"get":{"description":"This endpoint generates a Connect URL that allows a user to refresh their multi-factor authentication (MFA) session for a specified credential. The URL generated will only work for 72 hours after it is generated. Read more about the MFA workflow [here](https://docs.arcadia.com/docs/mfa).\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"refresh-mfa-credentials-with-arcadia-connect","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCredentialRefreshURLResource"}}},"description":"OK"}},"summary":"Refresh MFA Credentials With Arcadia Connect","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/resources":{"delete":{"description":"Use this endpoint to delete a Credential from the system. Once completed, this Credential and its associated Accounts, Meters, and Statements resources will be deleted and cannot be recovered. After completion, you can check the status of deletion by using the Deletion Log ID from the response body and call [this endpoint](ref:retrieve-deletion-log).\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"delete-credential-along-with-its-accounts-meters-and-statements-resources","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDeletionLogResource"}}},"description":"OK"}},"summary":"Delete Credential Along With its Accounts, Meters, and Statements Resources","tags":["Deletion","Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/updateUrl":{"get":{"description":"This endpoint generates a Connect URL that allows a user to update their password for a specified credential. The URL generated will only work for 72 hours after it is generated.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"update-credentials-with-arcadia-connect","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCredentialURLResource"}}},"description":"OK"}},"summary":"Update Credentials With Arcadia Connect","tags":["Credentials"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/credentials/{credentialId}/verificationMethod":{"put":{"description":"Select the multi-factor authentication (MFA) verification method for the specified credential's current job. Read more about the MFA workflow [here](https://docs.arcadia.com/docs/mfa).","operationId":"submit-multi-factor-authentication-method","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationMethod"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCredentialResource"}}},"description":"OK"}},"summary":"Submit Multi-factor Authentication Method","tags":["Credentials"]}},"/plug/deletionLogs/{deletionLogId}":{"get":{"description":"This endpoint allows you to view the details of a particular deletion request, after performing the deletion.","operationId":"retrieve-deletion-log","parameters":[{"in":"path","name":"deletionLogId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDeletionLogResource"}}},"description":"OK"}},"summary":"Retrieve Deletion Log","tags":["Deletion"]}},"/plug/discoveredStatements":{"get":{"description":"Get a list of discovered statements in the Arcadia system. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-discovered-statements","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountIds`\n- `accountNumbers`\n- `businessUnitsIntersection.id`\n- `businessUnitsIntersection.name`\n- `businessUnitsUnion.id`\n- `businessUnitsUnion.name`\n- `correlationIds`\n- `createdAt`\n- `credentialIds`\n- `dataIngestionMethod`\n- `dueDate`\n- `hasValidAccountStatus`\n- `id`\n- `invoiceNumber`\n- `periodEndDate`\n- `periodStartDate`\n- `provider.id`\n- `provider.name`\n- `statementDate`\n- `statementId`\n- `statementType`\n- `status`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Discovered Statements by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicDiscoveredStatementResource"}}},"description":"OK"}},"summary":"List Discovered Statements","tags":["Discovered Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/discoveredStatements/{discoveredStatementId}":{"get":{"description":"Retrieve a single discovered statement record.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-discovered-statement","parameters":[{"in":"path","name":"discoveredStatementId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDiscoveredStatementResource"}}},"description":"OK"}},"summary":"Retrieve Discovered Statement","tags":["Discovered Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/discoveredStatements/{discoveredStatementId}/source":{"get":{"description":"Download the source file for a discovered statement.","operationId":"download-discovered-statement-source","parameters":[{"in":"path","name":"discoveredStatementId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugErrorResponse"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Download Discovered Statement Source","tags":["Discovered Statements"]}},"/plug/discoveredStatements/{discoveredStatementId}/versions":{"get":{"description":"List all versions of a specific Discovered Statement.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-discovered-statement-versions","parameters":[{"in":"path","name":"discoveredStatementId","required":true,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicDiscoveredStatementResource"}}},"description":"OK"}},"summary":"List Discovered Statement Versions","tags":["Discovered Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/discoveredStatements/{discoveredStatementId}/versions/{discoveredStatementVersionId}":{"get":{"description":"Retrieve a specific version of a Discovered Statement.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-a-discovered-statement-version","parameters":[{"in":"path","name":"discoveredStatementId","required":true,"schema":{"type":"string"}},{"in":"path","name":"discoveredStatementVersionId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDiscoveredStatementResource"}}},"description":"OK"}},"summary":"Retrieve a Discovered Statement Version","tags":["Discovered Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/downloads/csv":{"post":{"description":"This endpoint will generate a CSV report based on the provided parameters.\n\nThe `globalSearch` and `search` parameters reuse the search functionality\nfor the list endpoints of the `entityType` specified:\n- [Account and Statement Gap](ref:list-accounts)\n- [Credential](ref:list-credentials)\n- [File](ref:list-files)\n- [Meter](ref:list-meters)\n- [Site](ref:list-sites)\n- [Statement](ref:list-statements)\n\nThe columns in the report will vary based on `entityType`.\nBy default (if the `columns` parameter is not provided), all available fields will be included.\nThe names of these columns can then be passed in the `columns` parameter for future\nreports to only include those fields.\n\nIf `downloadMethod` is set to `IN_BROWSER`, use information in the response to make a request to the\n[Get the DownloadRequest](ref:get-the-downloadrequest) endpoint to retrieve the file.\n\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"create-a-csv-download-request","parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadCSVRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}},"text/csv":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}}},"description":"Accepted"}},"summary":"Create a CSV Download Request","tags":["Downloads"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/downloads/{downloadRequestWebhookId}":{"get":{"description":"If you have the specific download request ID, this endpoint allows you to retrieve detailed information about the download request.","operationId":"get-the-downloadrequest","parameters":[{"description":"Create the input for this field by appending the token from the response of the first step to the end of the downloadId without any space","in":"path","name":"downloadRequestWebhookId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}},"text/csv":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}}},"description":"OK"}},"summary":"Get the DownloadRequest","tags":["Downloads"]}},"/plug/downloads/{downloadRequestWebhookId}/source":{"get":{"description":"Downloading a CSV file through the API is a 2 step process. The first step prepares the download and provides a URL in the response body that can be used for downloading the CSV file. The next step (this one) is to download the file using a GET request with the response body URL. With this endpoint, you can download the accounts, meters, statements or associated metadata when it is ready. The first step can be performed using any of the endpoints below.\n* [Download Account Statements](ref:download-account-statements)\n* [Download Meter Usage](ref:download-meter-usage)\n* [Download Sites' Usage](ref:download-sites-usage)","operationId":"stream-download","parameters":[{"description":"Create the input for this field by appending the token from the response of the first step to the end of the downloadId without any space","in":"path","name":"downloadRequestWebhookId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}},"text/csv":{"schema":{"type":"object"}}},"description":"OK"},"202":{"content":{"application/json":{"schema":{"type":"object"}},"text/csv":{"schema":{"type":"object"}}},"description":"Accepted"},"204":{"content":{"application/json":{"schema":{"type":"object"}},"text/csv":{"schema":{"type":"object"}}},"description":"No Content"}},"summary":"Stream Download","tags":["Downloads"]}},"/plug/expectedAccounts":{"get":{"description":"Get a list of expected accounts in the Arcadia system. This endpoint is pageable.","operationId":"list-expected-accounts","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `businessUnits.id`\n- `businessUnits.name`\n- `expectedAccountNumber`\n- `normalizedExpectedAccountNumber`\n- `providerId`\n- `providerName`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Expected Accounts by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicExpectedAccountResource"}}},"description":"Successfully retrieved expected accounts"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicExpectedAccountResource"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicExpectedAccountResource"}}},"description":"Forbidden"}},"summary":"List Expected Accounts","tags":["Expected Accounts"]},"post":{"description":"This endpoint allows you to create a new expected account in the Arcadia system.","operationId":"create-expected-account","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExpectedAccountRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExpectedAccountResource"}}},"description":"Expected account successfully created"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExpectedAccountResource"}}},"description":"Invalid request body"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExpectedAccountResource"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExpectedAccountResource"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExpectedAccountResource"}}},"description":"Provider not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExpectedAccountResource"}}},"description":"Expected account already exists"}},"summary":"Create Expected Account","tags":["Expected Accounts"],"parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}]}},"/plug/files":{"get":{"description":"A file is a utility statement PDF uploaded for OCR processing on the Arcadia Platform. This endpoint allows you to get a list of all the files that are in the system. This endpoint is pageable.","operationId":"list-files","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountNumbers`\n- `businessUnitsIntersection.id`\n- `businessUnitsIntersection.name`\n- `businessUnitsUnion.id`\n- `businessUnitsUnion.name`\n- `correlationId`\n- `createdAt`\n- `discoveredStatementId`\n- `fileId`\n- `fileName`\n- `normalizedAccountNumbers`\n- `organizationId`\n- `provider.name`\n- `statementId`\n- `status`\n- `statusDetails`\n- `transferMethod`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Files by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicFileResource"}}},"description":"OK"}},"summary":"List Files","tags":["Files"]},"post":{"description":"This endpoint allows you to upload new files into the system. In order to add new files, they must be in PDF format. Multiple statements cannot be combined into a single file; each individual file must only contain one statement. The maximum number of files in an upload is 75, and the combined size of all files must be less than 1 GB.","operationId":"add-files","parameters":[{"in":"query","name":"providerId","required":false,"schema":{"type":"string"}},{"in":"query","name":"correlationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"transferMethod","required":false,"schema":{"type":"string","default":"API","enum":["CLIENT","API","EMAIL","SFTP","WEB_NAVIGATION_OCR"]}},{"description":"Business Unit IDs to assign to the file's Account, if newly created.","in":"query","name":"requestedBusinessUnitIds","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files":{"type":"array","items":{"type":"string","format":"binary"}}},"required":["files"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionPublicFileResource"}}},"description":"OK"}},"summary":"Add Files","tags":["Files"]}},"/plug/files/{fileId}":{"get":{"description":"This endpoint allows you to view the details of a particular file.","operationId":"retrieve-file","parameters":[{"in":"path","name":"fileId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicFileResource"}}},"description":"OK"}},"summary":"Retrieve File","tags":["Files"]},"patch":{"description":"To update a file, make a PATCH call to the files endpoint with a specific fileId. Currently only correlationId can be updated.","operationId":"update-file","parameters":[{"in":"path","name":"fileId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUpdateFileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicFileResource"}}},"description":"OK"}},"summary":"Update File","tags":["Files"]}},"/plug/files/{fileId}/counts":{"get":{"description":"This endpoint returns the count of Accounts, Meters and Statements that was obtained by a specific file.","operationId":"get-the-files-count-of-associated-account-statement-and-meter-resources","parameters":[{"in":"path","name":"fileId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAssociatedEntitiesCountResource"}}},"description":"OK"}},"summary":"Get the File's Count of Associated Account, Statement and Meter Resources","tags":["Files"]}},"/plug/files/{fileId}/events":{"get":{"description":"This endpoint allows you to view the event history for a file. For example, you can query this endpoint to find out when a file was created and who it was created by. This endpoint is pageable.","operationId":"list-files-events","parameters":[{"in":"path","name":"fileId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `eventType`\n- `fieldName`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicFileEventResource"}}},"description":"OK"}},"summary":"List File's Events","tags":["Files"]}},"/plug/files/{fileId}/resources":{"delete":{"description":"Once completed, this File and its associated Accounts, Meters, and Statements resources will be deleted and cannot be recovered. After completion, you can check the status of deletion by using the Deletion Log ID from the response body and call [this endpoint](ref:retrieve-deletion-log).","operationId":"deletes-file-along-with-its-accounts-meters-and-statements-resources","parameters":[{"in":"path","name":"fileId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDeletionLogResource"}}},"description":"OK"}},"summary":"Deletes File Along With its Accounts, Meters, and Statements Resources","tags":["Deletion","Files"]}},"/plug/files/{fileId}/source":{"get":{"description":"This endpoint allows you to retrieve the source PDF for a specific file.","operationId":"download-file-source","parameters":[{"in":"path","name":"fileId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"string","format":"binary"}}},"description":"OK"},"204":{"description":"No Content"}},"summary":"Download File Source","tags":["Files"]}},"/plug/intervals/meters/{meterId}":{"get":{"description":"The Intervals API endpoint allow you to interact programmatically with the intervals data offering of the Arcadia Platform to retrieve utility provided intervals data for electric meters. This solution allows you to use utility data to conduct granular energy analysis. Use-cases for this include solar/storage modelling and Demand Response programs validation. The intervals data API endpoints delivers up to a year’s historical data initially and then continues to deliver the latest meter readings on an on-going basis as made available the provider.","operationId":"list-intervals-for-a-meter","parameters":[{"in":"path","name":"meterId","required":true,"schema":{"type":"string"}},{"description":"API response returns up to 1 year of interval data from the startAt datetime requested","in":"query","name":"startAt","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"API response returns up to 1 year of interval data up to the endAt datetime requested","in":"query","name":"endAt","required":false,"schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicIntervalResource"}}},"description":"OK"}},"summary":"List Intervals for a Meter","tags":["Intervals"]}},"/plug/meters":{"get":{"description":"Arcadia retrieves Meters from utility providers using the credentials that are submitted. There can be one or more meters behind a credential. This endpoint is pageable\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-meters","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountId`\n- `accountNumber`\n- `bulbType`\n- `businessUnitsIntersection.id`\n- `businessUnitsIntersection.name`\n- `businessUnitsUnion.id`\n- `businessUnitsUnion.name`\n- `correlationIds`\n- `createdAt`\n- `createdBy`\n- `credentialIds`\n- `currentTariff.tariffName`\n- `customData1`\n- `customData10`\n- `customData2`\n- `customData3`\n- `customData4`\n- `customData5`\n- `customData6`\n- `customData7`\n- `customData8`\n- `customData9`\n- `generalDescriptionAsPrinted`\n- `id`\n- `isIntervalsDormant`\n- `isIntervalsProductActive`\n- `isLocationRecommendationIgnored`\n- `isStandalone`\n- `lastModifiedAt`\n- `lastModifiedBy`\n- `latestIntervalAt`\n- `latestIntervalsCheckedAt`\n- `latestStatementDate`\n- `meterNumber`\n- `nextExpectedPostDate`\n- `normalizedMeterNumber`\n- `normalizedPointOfDeliveryNumber`\n- `normalizedPreviousMeterNumber`\n- `pipeType`\n- `pointOfDeliveryNumber`\n- `previousMeterNumber`\n- `provider.name`\n- `providerId`\n- `serviceAddress.fullAddress`\n- `serviceType`\n- `site.serviceAddress.fullAddress`\n- `site.siteCode`\n- `site.siteFacilityType`\n- `site.siteNumber`\n- `site.siteRegion`\n- `site.siteSubRegion`\n- `siteId`\n- `siteName`\n- `statementIds`\n- `status`\n- `statusDetail`\n- `voidedAt`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Meters by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicMeterResource"}}},"description":"OK"}},"summary":"List Meters","tags":["Meters"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"post":{"description":"Create a new meter in the Arcadia system. This is used for providers that support intervals third party portals for indirect account access. The end user will receive an email and have to approve access before Arcadia can read information from the provider.","operationId":"create-meter-through-an-intervals-third-party-portal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCreateMeterRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeterResource"}}},"description":"OK"}},"summary":"Create Meter through an Intervals Third Party Portal","tags":["Meters"],"parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}]}},"/plug/meters/downloads/intervals":{"post":{"description":"Downloading a CSV file with meter intervals is a 2 step process. The first step (this one) prepares the download and provides a URL in the response body that can be used for downloading the CSV file. [The next step](ref:stream-download) is to download the file using a GET request with the response body URL. The maximum number of meter IDs is 500. If you need to download more than 500 meters, you will need to make multiple requests. The format of the generated CSV is separate from and will not exactly match the JSON you receive from the API endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"download-meter-intervals","parameters":[{"description":"Business Unit IDs to filter Meters by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadIntervalsRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}}},"description":"Accepted"}},"summary":"Download Meter Intervals","tags":["Meters"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/meters/downloads/usages":{"post":{"description":"Downloading a CSV file with high-level summary information for  meters, statements, sites, and associated metadata is a 2 step process. The first step (this one) prepares the download and provides a URL in the response body that can be used for downloading the CSV file. [The next step](ref:stream-download) is to download the file using a GET request with the response body URL. The maximum number of meter IDs is 500. If you need to download more than 500 meters, you will need to make multiple requests. The format of the generated CSV is separate from and will not exactly match the JSON you receive from the API endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"download-meter-usage","parameters":[{"description":"Business Unit IDs to filter Meters by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadMeterUsageRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}}},"description":"Accepted"}},"summary":"Download Meter Usage","tags":["Meters"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/meters/{meterId}":{"get":{"description":"You can use this endpoint to retrieve the details for a specific meter. If your organization does not have the Intervals product enabled and if the associated account is not activated, you will see limited detailed data returned.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-meter","parameters":[{"in":"path","name":"meterId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeterResource"}}},"description":"OK"}},"summary":"Retrieve Meter","tags":["Meters"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"patch":{"description":"To make updates to a specific meter, you can make a PATCH call to the meters endpoint. Each meter can have up to 10 custom data fields associated. Custom data fields are not required. Custom data allows you to organize meters and tie them back to records in your own system. To update a custom data field, the field must already have a defined label. To define a Custom Data label, you must use the [Update Organization Custom Data](ref:update-organization-custom-data) endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"update-meter","parameters":[{"in":"path","name":"meterId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugPublicMeterRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeterResource"}}},"description":"OK"}},"summary":"Update Meter","tags":["Meters"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"put":{"description":"Each meter can have up to 10 custom data fields associated. Custom data fields are not required. Custom data allows you to organize meters and tie them back to records in your own system. To update a custom data field, the field must already have a defined label. To define a Custom Data label, you must use the [Update Organization Custom Data](ref:update-organization-custom-data) endpoint. This is a PUT method, which requires all fields be provided to ensure a complete update of the existing resource.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"set-meter","parameters":[{"in":"path","name":"meterId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugPublicMeterRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeterResource"}}},"description":"OK"}},"summary":"Set Meter","tags":["Meters"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/meters/{meterId}/events":{"get":{"description":"This endpoint allows you to view the event history for a meter. For example, you can query this endpoint to find out when a meter was created and who it was created by. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-meters-events","parameters":[{"in":"path","name":"meterId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `eventType`\n- `fieldName`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicMeterEventResource"}}},"description":"OK"}},"summary":"List Meter's Events","tags":["Meters"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/normalizedIntervals/meters/{meterId}":{"get":{"description":"The Intervals API endpoint allow interacting programmatically with the intervals data offering of the Arcadia Platform to retrieve utility provided intervals data for electric meters. The normalized version of the interval endpoint makes integration simpler by consistently delivering interval data of 15 minute intervals irrespective of the length of timestamp in the source data collected from utility.","operationId":"list-normalized-intervals-for-a-meter","parameters":[{"in":"path","name":"meterId","required":true,"schema":{"type":"string"}},{"description":"API response returns up to 1 year of interval data from the startAt datetime requested","in":"query","name":"startAt","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"API response returns up to 1 year of interval data up to the endAt datetime requested","in":"query","name":"endAt","required":false,"schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicNormalizedIntervalResource"}}},"description":"OK"}},"summary":"List Normalized Intervals for a Meter","tags":["Intervals"]}},"/plug/organization":{"get":{"description":"This endpoint returns your Arcadia organization name and also returns your account and meter level custom data field names.","operationId":"retrieve-organization","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrganizationResource"}}},"description":"OK"}},"summary":"Retrieve Organization","tags":["Custom Data"],"parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}]},"patch":{"description":"In order to use account or meter level custom data fields, you need to define the field names. You can update these custom data field names through this endpoint. You can have up to 25 custom data fields at the account level and up to 10 at the meter level.","operationId":"update-organization-custom-data","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrganizationCustomDataRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrganizationResource"}}},"description":"OK"}},"summary":"Update Organization Custom Data","tags":["Custom Data"],"parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}]},"put":{"description":"In order to use account or meter level custom data fields, you need to define the field names. You can update these custom data field names through this endpoint. You can have up to 25 custom data fields at the account level and up to 10 at the meter level. This is a PUT method, which requires all fields be provided to ensure a complete update of the existing resource.","operationId":"set-organization-custom-data","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrganizationCustomDataRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrganizationResource"}}},"description":"OK"}},"summary":"Set Organization Custom Data","tags":["Custom Data"],"parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}]}},"/plug/organization/events":{"get":{"description":"This endpoint allows you to view the history of changes made to your organization's custom data fields. This endpoint is pageable.","operationId":"get-organization-events","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `createdBy`\n- `eventType`\n- `fieldName`\n- `newValue`\n- `oldValue`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicOrganizationEventResource"}}},"description":"OK"}},"summary":"Get Organization Events","tags":["Custom Data"]}},"/plug/sites":{"get":{"description":"The sites endpoint allows you to get a list of all the sites that are in the Arcadia system. A site object allows you to group credentials, accounts, meters, and statements by a location or another logical grouping for your system. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-sites","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountIds`\n- `addressIssueType`\n- `area`\n- `buildingType`\n- `buildingTypeGroup`\n- `businessUnitsIntersection.id`\n- `businessUnitsIntersection.name`\n- `businessUnitsUnion.id`\n- `businessUnitsUnion.name`\n- `city`\n- `country`\n- `createdAt`\n- `createdBy`\n- `fullAddress`\n- `heatingFuel`\n- `hvacCoolType`\n- `hvacHeatType`\n- `hvacVentType`\n- `id`\n- `isLocationRecommendationIgnored`\n- `lastModifiedAt`\n- `lastModifiedBy`\n- `meterIds`\n- `numberOfStories`\n- `postalCode`\n- `recipient`\n- `serviceAddress`\n- `siteCode`\n- `siteName`\n- `siteNumber`\n- `state`\n- `streetLine1`\n- `streetLine2`\n- `totalMeters`\n- `yearBuilt`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Sites by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PagedPublicSiteResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicSiteResource"}}},"description":"OK"}},"summary":"List Sites","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"post":{"description":"This endpoint allows you to create a new site in the Arcadia system. A site object allows you to group credentials, accounts, meters, and statements by a location or another logical grouping for your system.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"create-site","parameters":[{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteRequest"}}},"required":true},"responses":{"202":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PublicSiteResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteResource"}}},"description":"Accepted"}},"summary":"Create Site","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/sites/downloads/intervals":{"post":{"description":"Downloading a CSV file with meter intervals is a 2 step process. The first step (this one) prepares the download and provides a URL in the response body that can be used for downloading the CSV file. [The next step](ref:stream-download) is to download the file using a GET request with the response body URL. The maximum number of site IDs is 500. If you need to download more than 500 sites, you will need to make multiple requests, or alternatively provide search/globalSearch (the same filters as [List Sites](ref:list-sites)) to download intervals for every site matching the search. The format of the generated CSV is separate from and will not exactly match the JSON you receive from the API endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"download-meter-intervals-by-site","parameters":[{"description":"Business Unit IDs to filter Sites by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadIntervalsRequest"}}},"required":true},"responses":{"202":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}}},"description":"Accepted"}},"summary":"Download Meter Intervals by Site","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/sites/downloads/usages":{"post":{"description":"Downloading a CSV file with high-level summary information for statements, sites, and associated metadata is a 2 step process. The first step (this one) prepares the download and provides a URL in the response body that can be used for downloading the CSV file. [The next step](ref:stream-download) is to download the file using a GET request with the response body URL. The maximum number of site IDs is 500. If you need to download more than 500 sites, you will need to make multiple requests, or alternatively provide search/globalSearch (the same filters as [List Sites](ref:list-sites)) to download every site matching the search. The format of the generated CSV is separate from and will not exactly match the JSON you receive from the API endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"download-sites-usage","parameters":[{"description":"Business Unit IDs to filter Sites by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadSitesUsageRequest"}}},"required":true},"responses":{"202":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}}},"description":"Accepted"}},"summary":"Download Sites' Usage","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/sites/{siteId}":{"delete":{"description":"Unlike Credential and File deletions, Site deletion does not delete any related entities, but it does remove references to the deleted Site on those related entities. For example, Meters assigned to the site will be unassigned when the Site is deleted. After completion, you can check the status of deletion by using the Deletion Log ID from the response body and call [this endpoint](ref:retrieve-deletion-log).\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"delete-site","parameters":[{"in":"path","name":"siteId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PublicDeletionLogResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PublicDeletionLogResource"}}},"description":"OK"}},"summary":"Delete Site","tags":["Deletion","Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"get":{"description":"If you have the siteId, you can use this endpoint to retrieve the details for that specific site.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-site","parameters":[{"in":"path","name":"siteId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PublicSiteResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteResource"}}},"description":"OK"}},"summary":"Retrieve Site","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"patch":{"description":"Each site has 20 fields where you can define values associated. These custom data allow you to organize Arcadia data and tie them back to records in your system as well as enrich your synthetic intervals data.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"update-site","parameters":[{"in":"path","name":"siteId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteRequest"}}},"required":true},"responses":{"202":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PublicSiteResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteResource"}}},"description":"Accepted"}},"summary":"Update Site","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"put":{"description":"Each site has 20 fields where you can define values associated. These custom data allow you to organize Arcadia data and tie them back to records in your system as well as enrich your synthetic intervals data. This is a PUT method, which requires all fields to be provided to ensure a complete update of the existing resource.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"update-site-using-put-method","parameters":[{"in":"path","name":"siteId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteRequest"}}},"required":true},"responses":{"202":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PublicSiteResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteResource"}}},"description":"Accepted"}},"summary":"Update Site using PUT method","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/sites/{siteId}/events":{"get":{"description":"This endpoint allows you to view the event history for a site. For example, you can query this endpoint to find out when a site was created and who it was created by. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-sites-events","parameters":[{"in":"path","name":"siteId","required":true,"schema":{"type":"string"}},{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `eventType`\n- `fieldName`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PagedPublicSiteEventResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicSiteEventResource"}}},"description":"OK"}},"summary":"List Site's Events","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/sites/{siteId}/meters":{"delete":{"description":"This endpoint allows you to disassociate a list of meters from a site. Note that the specified meters will not be deleted; only the association between the meters and the site will be removed. Provide a non-empty list of meter IDs in the request body to remove the specified meters from the site.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"remove-meters-from-a-site","parameters":[{"in":"path","name":"siteId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteMeterRequest"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Remove Meters From a Site","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]},"patch":{"description":"This endpoint allows you to associate a list of meters with a site. Provide a non-empty list of meter IDs in the request body to add the specified meters to the site.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"add-meters-to-a-site","parameters":[{"in":"path","name":"siteId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSiteMeterRequest"}}},"required":true},"responses":{"200":{"content":{"application/hal+json":{"schema":{"$ref":"#/components/schemas/PagedPublicMeterResource"}},"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicMeterResource"}}},"description":"OK"}},"summary":"Add Meters to a Site","tags":["Sites"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements":{"get":{"description":"Get a list of statements in the Arcadia system. This endpoint does not return any line item charges or usages regardless of contribution status. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-statements","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountIds`\n- `accountNumbers`\n- `amountDue`\n- `businessUnitsIntersection.id`\n- `businessUnitsIntersection.name`\n- `businessUnitsUnion.id`\n- `businessUnitsUnion.name`\n- `correlationIds`\n- `createdAt`\n- `credentialIds`\n- `dataIngestionMethod`\n- `discoveredAt`\n- `discoveredStatementId`\n- `dueDate`\n- `hasValidAccountStatus`\n- `id`\n- `invoiceNumber`\n- `isLatestVersion`\n- `lastModifiedAt`\n- `meterIds`\n- `meterNumbers`\n- `normalizedAccountNumbers`\n- `normalizedMeterNumbers`\n- `outstandingBalance`\n- `periodEndDate`\n- `periodStartDate`\n- `provider.name`\n- `providerId`\n- `siteIds`\n- `siteNames`\n- `statementDate`\n- `summaryAccountNumber`\n- `totalCharges`\n- `type`\n- `versionId`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Statements by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"If true, the response will search against all versions of Statements instead of only the latest versions. If the search returns multiple hits for a single Statement, only the latest Statement version out of the hits for that Statement is returned.","in":"query","name":"isCrossVersionSearch","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicStatementSummaryResource"}}},"description":"OK"}},"summary":"List Statements","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements/details":{"get":{"description":"Get a list of Detailed Statements in the Arcadia system. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-detailed-statements","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `accountIds`\n- `accountNumbers`\n- `amountDue`\n- `businessUnitsIntersection.id`\n- `businessUnitsIntersection.name`\n- `businessUnitsUnion.id`\n- `businessUnitsUnion.name`\n- `correlationIds`\n- `createdAt`\n- `credentialIds`\n- `dataIngestionMethod`\n- `discoveredAt`\n- `discoveredStatementId`\n- `dueDate`\n- `hasValidAccountStatus`\n- `id`\n- `invoiceNumber`\n- `isLatestVersion`\n- `lastModifiedAt`\n- `meterIds`\n- `meterNumbers`\n- `normalizedAccountNumbers`\n- `normalizedMeterNumbers`\n- `outstandingBalance`\n- `periodEndDate`\n- `periodStartDate`\n- `provider.name`\n- `providerId`\n- `siteIds`\n- `siteNames`\n- `statementDate`\n- `summaryAccountNumber`\n- `totalCharges`\n- `type`\n- `versionId`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"A global search query string. See [this page](ref:searching#global-search) for more information.","in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Statements by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"description":"If true, the response will search against all versions of Statements instead of only the latest versions. If the search returns multiple hits for a single Statement, only the latest Statement version out of the hits for that Statement is returned.","in":"query","name":"isCrossVersionSearch","required":false,"schema":{"type":"boolean","default":false}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedDetailedStatementResource"}}},"description":"OK"}},"summary":"List Detailed Statements","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements/downloads":{"post":{"description":"Downloading a CSV file with high-level summary information for accounts, statements, and associated metadata is a 2 step process. The first step (this one) prepares the download and provides a URL in the response body that can be used for downloading the CSV file. [The next step](ref:stream-download) is to download the file using a GET request with the response body URL. The maximum number of statement IDs is 500. If you need to download more than 500 accounts, you will need to make multiple requests. Alternatively, instead of statementIds you can provide search/globalSearch (the same filters as [List Statements](ref:list-statements)) to download every statement matching the search. The format of the generated CSV is separate from and will not exactly match the JSON you receive from the API endpoint.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"download-statements","parameters":[{"description":"Business Unit IDs to filter Statements by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadStatementAccountsRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadRequestResource"}}},"description":"Accepted"}},"summary":"Download Statements","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements/{statementId}":{"get":{"description":"Retrieve a single Statement record.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-statement","parameters":[{"in":"path","name":"statementId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicStatementSummaryResource"}}},"description":"OK"}},"summary":"Retrieve Statement","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements/{statementId}/details":{"get":{"description":"Retrieve a single Detailed Statement record.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-detailed-statement","parameters":[{"in":"path","name":"statementId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDetailedStatementResource"}}},"description":"OK"}},"summary":"Retrieve Detailed Statement","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements/{statementId}/source":{"get":{"description":"Arcadia provides a copy of the source file for where the system retrieved data. In most cases this is a copy of the structured PDF. In some cases this may be a PDF rendering of a portion of the website. This endpoint allows you to retrieve the source files for a specific statement.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"download-statement-source","parameters":[{"in":"path","name":"statementId","required":true,"schema":{"type":"string"}},{"in":"query","name":"isOriginal","required":false,"schema":{"type":"boolean","default":false}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugErrorResponse"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Download Statement Source","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements/{statementId}/versions":{"get":{"description":"List all versions of a specific Statement.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-statement-versions","parameters":[{"in":"path","name":"statementId","required":true,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicStatementSummaryResource"}}},"description":"OK"}},"summary":"List Statement Versions","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements/{statementId}/versions/{versionId}":{"get":{"description":"Retrieve a specific version of a Statement.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-statement-version","parameters":[{"in":"path","name":"statementId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicStatementSummaryResource"}}},"description":"OK"}},"summary":"Retrieve Statement Version","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/statements/{statementId}/versions/{versionId}/details":{"get":{"description":"Retrieve a specific, detailed version of a Statement.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-detailed-statement-version","parameters":[{"in":"path","name":"statementId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDetailedStatementResource"}}},"description":"OK"}},"summary":"Retrieve Detailed Statement Version","tags":["Statements"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/webhooks":{"get":{"description":"Plug can send webhook events for any notable events for recurring requests. For example, this could include if a new statement is available or we notice a credential is now resulting in login failure. This endpoint allows you to get a list of all the webhooks that are in the system. However, the system will not create any webhooks until your organization has configured a webhook URL. You can configure this in Dashboard by selecting the gear in the top right corner to open the Configuration list, then select Webhooks.  This endpoint is pageable.\n\nWebhooks are deleted automatically after 30 days past their last send attempt date, except for Realtime Credential Validation (RTCV) webhooks or MFA-related webhooks, which are deleted immediately after successfully being delivered or after 3 failed send attempts. RTCV webhooks have `eventType` of either `REAL_TIME_CREDENTIAL_VALIDATION_SUCCESS` or `REAL_TIME_CREDENTIAL_VALIDATION_FAILURE` and may have a webhook URL different from the organization default if the credential was submitted via Connect. MFA webhooks have `eventType` of either `MFA_CHALLENGE_METHOD` or `MFA_CHALLENGE_CODE`.\n\nNote that the webhook resources returned by this endpoint are not the same as the payload that is sent to the webhook URL. That payload is included in the message field as a JSON string in this resource which also includes more metadata about the webhook, such as the last and next send attempt times.\n\nFor more information on how webhooks work in Plug, see [this page](ref:webhooks-overview).\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-webhooks","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `createdAt`\n- `createdBy`\n- `eventType`\n- `id`\n- `lastAttemptedSendAt`\n- `lastModifiedBy`\n- `nextScheduledSendAt`\n- `numberOfAttempts`\n- `resource`\n- `status`\n- `webhookUrl`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Business Unit IDs to filter Webhooks by.","in":"query","name":"businessUnitIds","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPublicWebhookResource"}}},"description":"OK"}},"summary":"List Webhooks","tags":["Webhooks"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/webhooks/{webhookId}":{"get":{"description":"If you have the webhookId for a specific webhook, you can get the details of that webhook.See the description of [this endpoint](ref:list-webhooks) for more details on how the system stores webhooks. For more information on how webhooks work in Plug, see [this page](ref:webhooks-overview).\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-webhook","parameters":[{"in":"path","name":"webhookId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicWebhookResource"}}},"description":"OK"}},"summary":"Retrieve Webhook","tags":["Webhooks"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/webhooks/{webhookId}/resend":{"post":{"description":"If you have the webhookId for a specific webhook, you can initiate a resend attempt for that webhook. Note that this happens asynchronously and merely reschedules the webhook to be resent as soon as possible. For non-RTCV webhooks, the URL the webhook will be sent to will update automatically to the current webhook URL for your organization. You can configure this in Dashboard by selecting the gear in the top right corner to open the Configuration list, then selecting Webhooks. See the description of [this endpoint](ref:list-webhooks) for more details on how the system stores webhooks. For more information on how webhooks work in Plug, see [this page](ref:webhooks-overview).\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"resend-webhook","parameters":[{"in":"path","name":"webhookId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicWebhookResource"}}},"description":"OK"}},"summary":"Resend Webhook","tags":["Webhooks"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/providers":{"get":{"description":"Get a list of all Providers available in the Arcadia system. This endpoint is pageable.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"list-providers","parameters":[{"description":"A search query string. See [this page](ref:searching) for more information.\n\nThe searchable fields for this endpoint are:\n- `country`\n- `id`\n- `intervals.isHistorySupported`\n- `intervals.isSupported`\n- `intervals.isInstantIntervalsSupported`\n- `intervals.serviceTypes`\n- `isHistorySupported`\n- `isMultiFactorAuthenticationSupported`\n- `isPaymentDataAvailable`\n- `isRealTimeCredentialValidationSupported`\n- `isThirdPartyPortalSupported`\n- `isIntervalsThirdPartyPortalSupported`\n- `isInstantIntervalsSupported`\n- `multiFactorAuthentication.isOptOutSupported`\n- `multiFactorAuthentication.isSupported`\n- `multiFactorAuthentication.requestType`\n- `multiFactorAuthentication.type`\n- `multiFactorAuthentication.isGuestAccessSupported`\n- `name`\n- `region`\n- `statements.isHistorySupported`\n- `statements.isSupported`\n- `statements.isWebNavigationSupported`\n- `statements.serviceTypes`\n- `website`","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"globalSearch","required":false,"schema":{"type":"string"}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","schema":{"type":"array","items":{"type":"string"}}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlugPagedProviderResource"}}},"description":"OK"}},"summary":"List Providers","tags":["Providers"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}},"/plug/providers/{providerId}":{"get":{"description":"Retrieve a single Provider.\n\nThis endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).","operationId":"retrieve-provider","parameters":[{"in":"path","name":"providerId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/arcVersionInHeaderParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPlugProviderResource"}}},"description":"OK"}},"summary":"Retrieve Provider","tags":["Providers"],"servers":[{"url":"https://api.arcadia.com"},{"url":"https://sandbox.api.arcadia.com"}]}}}}