## Errors

### Atto Connect

If an error occurs during the Atto Connect journey, a URL parameter `error`
will be included in the callback and in a webhook if specified. An optional
parameter of `error_description` may be included with further information.

| Error | Description |
|  --- | --- |
| `access_denied` | The Customer or the bank has denied consent. A reauthentication may result in a successful journey. |
| `provider_permanent_error` | An error has occurred with the bank and we are not able to complete the request. |
| `provider_unsupported_feature` | Feature is unsupported for provider. |
| `customer_cancelled` | The customer has cancelled the Atto Connect journey. The customer will need to complete the journey again. |
| `unexpected_error` | An unexpected error has occurred which is not recoverable. |


### Atto APIs

These errors will be returned via the API Endpoints in the
`application/json` response format below. `CorrelationId` is our unique
reference to trace the error.


```javascript
{
  "Code": "string",
  "Description": "string",
  "Details": "string",
  "CorrelationId": "string"
}
```

| HTTP Status | Code | Description |
|  --- | --- | --- |
| `400` | `application_invalid` | Invalid application id was provided. |
| `400` | `parameters_invalid` | Invalid parameters were provided. |
| `400` | `template_invalid` | Invalid template id was provided. |
| `401` | `unauthorised_client` | Client is not authorised. |
| `403` | `account_refresh_not_allowed` | Refresh is not allowed for this account. |
| `403` | `consent_denied` | Consent was denied access by the bank. |
| `403` | `consent_expired` | Consent has expired. |
| `403` | `consent_revoked` | Consent was revoked. |
| `403` | `sca_error` | SCA expiry has elapsed. Please have the user re-authenticate to continue |
| `404` | `account_not_found` | Account requested was not found. |
| `404` | `client_not_found` | Client for the provided client id was not found. |
| `404` | `configuration_not_found` | Configuration for the provided application id/configuration id was not found. |
| `404` | `consent_not_found` | Consent for the provided consent id was not found. |
| `404` | `invitation_not_found` | Email invitation for the provided invitation id was not found. |
| `422` | `provider_unsupported_feature` | Feature is unsupported for provider. |
| `422` | `atto_score_not_generated` | Atto Score could not be generated (see [Atto Score Errors](/content/apis/atto-score-errors)) |
| `429` | n/a | See [API Rate Limits](/content/docs/guides/platform-integration/api-rate-limits) |
| `500` | `unexpected_error` | Unexpected error has occurred. Please contact our support team. |
| `502` | `provider_permanent_error` | Provider is permanently unavailable. |
| `502` | `provider_rate_limit_reached` | Cannot request data for this provider as the rate limit has been reached. |
| `502` | `provider_temporarily_unavailable` | Provider is temporarily unavailable. Please try again later. |