Below are all HTTP error codes with associated message codes (ACC-xxx) to be returned by Data Providers through the Control APIs.
The Data Providers will strive to follow this specification as far as possible. The error situations in the tables below are typical examples the Data Providers will have to handle, but the list is not exhaustive. Data Providers may granulate further error situations given that they are within the HTTP errors and ACC codes.
HTTP error codes and ACC codes are predefined and must be returned in a consistent manner by Data Providers. However, Data Providers must strive to return as descriptive messages as possible so that Data Consumers understand error situations as well as possible.
Important: Data Providers must use
messagein their response, notdescription.Example: 400 BAD REQUEST with response:
{"code":"ACC-001","message":"Input parameter AccountInfoRequestID is missing."}
The Version column indicates the version in which the error situation was introduced. A dash (-) indicates that the introduction version is not specified.
HTTP error code 400 - Bad Request
| ACC-code | Example of error situation | Message | Version |
|---|---|---|---|
| ACC-001 | Mandatory input-parameter(s) missing. | Best possible error description from Data Providers (if possible, which parameter(s) are missing). | - |
|
AdditionalReferenceID and AdditionalReferenceIDType are missing for a given Data Consumer with a specific Legal-Mandate. To be used by the police when using valid Legal-Mandate in encoded format. To be used by SRF when using valid Legal-Mandate in encoded format. |
Best possible error description from Data Providers. | - | |
|
The extradition order (utleveringspålegg) from the police delivered through
AdditionalReferenceID with AdditionalReferenceIDType = 'polx' is invalid. Invalid JWT: Format according to spec., invalid signature, integrity, etc. |
Best possible error description from Data Providers regarding the invalid extradition order (JWT). | - | |
| Incorrect format or syntax in the input parameter according to specification. | Best possible error description from Data Providers (if possible, which parameter is wrong). | - | |
| endDate < startDate in the request. | Best possible error description from Data Providers. | - | |
| AdditionalReferenceID or AdditionalReferenceIDType are incorrect for a given Data Consumer in relation to the service and a given Legal-Mandate. | Best possible error description from Data Providers (if possible, which of the two parameters are wrong). | - |
HTTP error code 401 - Unauthorized
| ACC-code | Example of error situation | Message | Version |
|---|---|---|---|
| ACC-010 | Set with errors related to access control - Token from Maskinporten, scope, etc. | Best possible error description from Data Providers regarding missing authentication information. | - |
HTTP error code 403 - Forbidden
| ACC-code | Example of error situation | Message | Version |
|---|---|---|---|
| ACC-011 | Incorrect time period according to Legal-Mandate when the Data Consumer asks for information beyond the time allowed by the legal mandate. | Best possible error description from Data Providers saying that the Data Consumer is not authorized for the requested service. | - |
| The combination Legal-Mandate/OnlyPrimaryOwner in the request is not a valid one for this particular Data Consumer for Accounts endpoint. | Best possible error description from Data Providers. | - | |
| The request is not valid as it does not comply with the extradition order. | Best possible error description from Data Providers regarding the invalid request. | - | |
| The request is not valid, either because there is no valid guardianship for the given guardian in AdditionalReferenceID or the bank is unable to verify that the guardian is valid in FREG. | Best possible error description from Data Providers. | 2.0.1 | |
| The request is not valid as the consumer does not have access to the endpoint: Not valid combination customer.ID (in the request token for the given scope) and the valid Legal-Mandate. | Best possible error description from Data Providers regarding the invalid request. | 2.0.3 | |
| The request to the endpoints is not valid as accountReference = "dataNotDelivered". | Best possible error description from Data Providers regarding the invalid request. | 2.0.2 |
HTTP error code 404 - Not Found
| ACC-code | Example of error situation | Message | Version |
|---|---|---|---|
| ACC-002 |
No data found for a given combination of AccountReference and input parameters
(typical startDate and endDate). This error does not apply to Accounts API. This doesn't apply to APIs returning lists. In that case an empty list should be returned. |
Best possible error description from Data Providers. | - |
| The financial institution doesn't have PartyID as a customer in the time period. | Best possible error description from Data Providers. | - | |
| ACC-002 or ACC-003 | AccountReference has expired (> 24 hours). |
Expired - Best possible error description from Data Providers (ACC-003). If this is not possible, best possible error description from Data Providers (ACC-002). |
- |
HTTP error code 405 - Method Not Allowed
| ACC-code | Example of error situation | Message | Version |
|---|---|---|---|
| ACC-012 | Invalid HTTP method, only GET is supported. | Best possible error description from Data Providers. | - |
HTTP error code 406 - Not Acceptable
| ACC-code | Example of error situation | Message | Version |
|---|---|---|---|
| ACC-013 | Not acceptable exception. The Data Consumer sends a request with incorrect media type in accept parameter (e.g. JSON instead of JOSE). | Best possible error description from Data Providers regarding incorrect media type in accept parameter. | - |
HTTP error code 429 - Too Many Requests
| ACC-code | Example of error situation | Message | Version |
|---|---|---|---|
| ACC-022 | Too many requests, can be given if one chooses to impose rate-limiting on the services to limit the number of requests from a client. | Best possible error description from Data Providers. | - |
HTTP error code 500 - Internal Server Error
| ACC-code | Example of error situation | Message | Version |
|---|---|---|---|
| ACC-100 | Connection error between the bank's service and BCL / BCP, Maskinporten, etc. | Various technical errors on Data Providers' side. The message shall not reveal any information that could be used to exploit a weakness in the solution. | - |
| ACC-500 | The Data Provider is unable to respond as underlying sources are unavailable. | Best possible description from Data Providers. The message shall not reveal any information that could be used to exploit a weakness in the solution. | - |
Planned error codes (not yet part of the standard)
The error codes listed below are planned for future versions and are not yet a valid part of the DSOP common standard.
HTTP error code 404 - Not Found
| ACC-code | Example of error situation | Message | Planned for version |
|---|---|---|---|
| ACC-005 | The financial institution doesn’t have accountID as an account number in the time period. | Best possible error description from Data Providers. | 2.1 |
Planned change log
| Date of change | Description | Reason | Planned for version |
|---|---|---|---|
| 21.10.2026 |
Introduction of new ACC error codes in relation to the new endpoint /accounts/owners:
|
|
2.1 |
Change log
| Date of change | Description | Reason | Version |
|---|---|---|---|
| 06.10.2025 | Added new example of error situation associated with request to not allowed endpoints for a given consumer for HTTP 403. | To be used in cases where a public agency requests data from endpoints they are not allowed to use with a given Legal-Mandate. | 2.0.3 |
| 28.03.2025 | Added new example of error situation associated with request to endpoints with accountReference = "dataNotDelivered" for HTTP 403. | To be used in cases where a public agency requests data from accounts where the Data Provider has already indicated that data will not be delivered. | 2.0.2 |
| 07.02.2025 | New example of error situation associated with Vergekontroll for HTTP 403. | This change specifies an error situation that banks need to return when it occurs so that the agency (SRF) can handle it properly. | 2.0.1 |
| 31.01.2025 | Introduction of a change log in the document. | With several services to be introduced in 2025, it may be necessary to define new ACC-codes in order to help the consumers to handle specific error situations. Those changes will also be reflected in the API specification. | 2.0.0 |