# Atto Developer Documentation

Version: all
License: All Rights Reserved © The IDCO. Ltd

## Servers

UK Environment (Production)
```
https://uk.api.atto.co
```

US Environment (Production)
```
https://us.api.atto.co
```

## Security

### Bearer

[object Object],[object Object],[object Object]

Type: http
Scheme: bearer

## Download OpenAPI description

 - [Atto Developer Documentation](https://docs.atto.co/_bundle/content/apis/index.yaml)

## Get Token

 - [Overview ](https://docs.atto.co/content/apis/get-token/authentication-overview.md): ### Overview To access our APIs you need to pass your `client_id` and `client_secret`, along with the `scope` that you are requesting, to our authentication service. If that all goes according to pla
 - [Integration ](https://docs.atto.co/content/apis/get-token/authentication-integration.md): ### Integration A request with the following payload to our endpoint should return an access token for use in subsequent calls in any of our Data API endpoints. | Key | Value | | --- | --- | | `gran
 - [Using the access token ](https://docs.atto.co/content/apis/get-token/authentication-access-token.md): ### Using the access token Once you have the `access_token`, you'll assign it to the `Authorization` header with a prefix of `Bearer`. More information can be found [**here**](https://oauth.net/2/bea
 - [POST /v1/oauth2/token](https://docs.atto.co/content/apis/get-token/gettoken.md): Returns a token. Only client_credentials grant type is supported.
## Connect Invitation

 - [Overview ](https://docs.atto.co/content/apis/connect-invitation/connect-invitation-overview.md): ### Overview Connect Invitation API offers the capability to effortlessly send Connect invitations to your users. It is underpinned by Atto's outbound email solution which supports dynamic components
 - [Authorization ](https://docs.atto.co/content/apis/connect-invitation/connect-invitation-authorization.md): ### Authorization This API requires a bearer token using the `api:connect_invitation` scope.
 - [GET /connect-invitations/v1/{invitationId}](https://docs.atto.co/content/apis/connect-invitation/getemailinvitation.md): Returns an email invitation with the supplied invitationId, if it exists.
 - [POST /connect-invitations/v1](https://docs.atto.co/content/apis/connect-invitation/sendemailinvitation.md): Returns Invitation ID of the sent invitation
## Get Consents

 - [Overview ](https://docs.atto.co/content/apis/get-consents/consent-overview.md): ### Overview This allows you to retrieve details for consents such as expiry date, status, provider, permissions and any other detail about the consent that has been stored.
 - [Authorization ](https://docs.atto.co/content/apis/get-consents/consent-authorization.md): ### Authorization This API requires a bearer token using the `api:consent` scope
 - [GET /consents/v2](https://docs.atto.co/content/apis/get-consents/getconsentsv2.md): Returns a list of consents that can be filtered with a number of optional parameters and ordered descending by status updated datetime value
 - [GET /consents/v1/{consentId}](https://docs.atto.co/content/apis/get-consents/getconsent.md): Returns a single consent which details information regarding the connection
 - [GET /consents/v1](https://docs.atto.co/content/apis/get-consents/paths/~1consents~1v1/get.md)
## Revoke Consent

 - [Overview ](https://docs.atto.co/content/apis/revoke-consent/consent-revoke-overview.md): ### Overview This allows you to revoke an active consent. Please note that this will not remove any stored data for the consent.
 - [Authorization ](https://docs.atto.co/content/apis/revoke-consent/consent-revoke-authorization.md): ### Authorization This API requires a bearer token using the `api:consent` scope
 - [POST /consents/v1/{consentId}/revoke](https://docs.atto.co/content/apis/revoke-consent/revokeconsent.md): Revokes a consent stopping further interaction without reauthenticating or reconfirming
## Bank Data (stored)

 - [Overview ](https://docs.atto.co/content/apis/bank-data-(stored)/insights-overview.md): ### Overview This set of APIs provides the same functionality as the Data API but the data is stored with Atto. There is an an [endpoint](#tag/Bank-Data-(stored)/refreshuserdataasync) that refreshes
 - [Authorization ](https://docs.atto.co/content/apis/bank-data-(stored)/insights-authorization.md): ### Authorization This API requires a bearer token using the `api:stored_data` scope
 - [DELETE /stored-data/v1/consents/{consentId}](https://docs.atto.co/content/apis/bank-data-(stored)/deleteconsentdataasync.md): Deletes all the stored data associated with the consent
 - [GET /stored-data/v1/consents/{consentId}/accounts](https://docs.atto.co/content/apis/bank-data-(stored)/getaccountsasync.md): Returns a list of accounts that contains the relevant account information
 - [GET /stored-data/v1/consents/{consentId}/accounts/{accountId}/end-of-day-balances](https://docs.atto.co/content/apis/bank-data-(stored)/getendofdaybalancesasync.md): Returns the end of day balances for an account for a given consent.
 - [GET /stored-data/v1/consents/{consentId}/accounts/{accountId}/transactions](https://docs.atto.co/content/apis/bank-data-(stored)/gettransactionsasync.md): Returns a list of transactions for an account for a consent.
 - [GET /stored-data/v1/consents/{consentId}/provider-details](https://docs.atto.co/content/apis/bank-data-(stored)/getproviderdataasync.md): Returns details of the connection with bank name and relevant connection dates
 - [POST /stored-data/v1/consents/{consentId}/refresh](https://docs.atto.co/content/apis/bank-data-(stored)/refreshuserdataasync.md): Refreshes the underlying connection for the banking data with the provider, then performs enrichment
 - [DELETE /stored-data/v1/users/{userId}](https://docs.atto.co/content/apis/bank-data-(stored)/deleteuserdataasync.md): Deletes all the stored data associated with the user
 - [GET /stored-data/v2/consents/{consentId}/accounts/{accountId}/balances](https://docs.atto.co/content/apis/bank-data-(stored)/getbalancesv2async.md): Returns balances for an account for a consent which contains credit lines
 - [GET /stored-data/v1/consents/{consentId}/accounts/{accountId}/balances](https://docs.atto.co/content/apis/bank-data-(stored)/getbalancesasync.md): Returns balances for an account for a consent which contains credit lines
## Income Verification (stored)

 - [Overview ](https://docs.atto.co/content/apis/income-verification-(stored)/stored-income-verification-overview.md): ### Overview This set of APIs provides the same functionality as the Income Verification endpoint but use the data and calculation that is stored instead of fetching it from the banks.
 - [Authorization ](https://docs.atto.co/content/apis/income-verification-(stored)/stored-income-verification-authorization.md): ### Authorization This API requires a bearer token using the `api:stored_data` scope
 - [GET /stored-data/v1/consents/{consentId}/income-verifications](https://docs.atto.co/content/apis/income-verification-(stored)/getincomeverification.md): Gets the income verifications for the accounts shared for a consent including income sources
## Payment Account Confirmation

 - [Overview ](https://docs.atto.co/content/apis/payment-account-confirmation/payment-confirmation-overview.md): ### Overview The Payment Confirmation stage allows a user to select an account which they would like to receive payments into. It is an optional stage in Atto Connect. This endpoint allows the custom
 - [Authorization ](https://docs.atto.co/content/apis/payment-account-confirmation/payment-confirmation-authorization.md): ### Authorization This API requires a bearer token using the `api:stored_data` scope
 - [GET /stored-data/v1/consents/{consentId}/payment-account-confirmation](https://docs.atto.co/content/apis/payment-account-confirmation/paths/~1stored-data~1v1~1consents~1%7Bconsentid%7D~1payment-account-confirmation/get.md)
## Affordability (stored)

 - [Overview ](https://docs.atto.co/content/apis/affordability-(stored)/stored-affordability-overview.md): ### Overview This set of APIs provides the same functionality as the Affordability endpoint but use the data and calculation that is stored instead of fetching it from the banks. After a refresh for
 - [Authorization ](https://docs.atto.co/content/apis/affordability-(stored)/stored-affordability-authorization.md): ### Authorization This API requires a bearer token using the `api:stored_data` scope
 - [GET /stored-data/v1/consents/{consentId}/affordability](https://docs.atto.co/content/apis/affordability-(stored)/getaffordability.md): Returns the affordability of one or more accounts including monthly affordability and transactions
## Atto Score

 - [Integration ](https://docs.atto.co/content/apis/atto-score/atto-score-integration.md): ### Integration If you wish to receive the Atto score, you can do so using the `GET /atto-score/v1/consents/{consentId}/accounts/{accountId}` endpoint. In response to your call, you will receive a JS
 - [Authorization ](https://docs.atto.co/content/apis/atto-score/atto-score-authorization.md): ### Authorization This API requires a bearer token using the `api:advanced_insights` scope
 - [Errors ](https://docs.atto.co/content/apis/atto-score/atto-score-errors.md): ### Errors Accounts must pass validation before a score can be generated. If validation fails, then requests to `GET /atto-score/v1/consents/{consentId}/accounts/{accountId}` will produce a `422 Unpr
 - [GET /atto-score/v1/consents/{consentId}/accounts/{accountId}](https://docs.atto.co/content/apis/atto-score/paths/~1atto-score~1v1~1consents~1%7Bconsentid%7D~1accounts~1%7Baccountid%7D/get.md)
## Consumer Financial Health

 - [Integration ](https://docs.atto.co/content/apis/consumer-financial-health/consumer-financial-health-integration.md): ### Integration If the individual has connected their account using Atto Connect, you can use the `GET /advanced-insights/v1/consents/{consentId}/consumer-financial-health` endpoint to verify an indi
 - [Authorization ](https://docs.atto.co/content/apis/consumer-financial-health/consumer-financial-health-authorization.md): ### Authorization This API requires a bearer token using the `api:advanced_insights` scope. Also bear in mind that this API works only when data storage is enabled <br />
 - [Details ](https://docs.atto.co/content/apis/consumer-financial-health/consumer-financial-health-details.md): ### Details We are taking customers' current balance as a basis for the calculation. Current balance does not contain any `Pending` transactions and drawn Overdraft amount. However our API response c
 - [GET /advanced-insights/v1/consents/{consentId}/consumer-financial-health](https://docs.atto.co/content/apis/consumer-financial-health/getconsumerfinancialhealthasync.md): Get Consumer Financial Health
## Business Financial Health

 - [Integration ](https://docs.atto.co/content/apis/business-financial-health/business-financial-health-integration.md): ### Integration If the individual has connected their account using Atto Connect, you can use the `GET /advanced-insights/v1/consents/{consentId}/business-financial-health` endpoint to verify a busin
 - [Authorization ](https://docs.atto.co/content/apis/business-financial-health/business-financial-health-authorization.md): ### Authorization This API requires a bearer token using the `api:advanced_insights` scope. Also bear in mind that this API works only when data storage is enabled <br />
 - [Details ](https://docs.atto.co/content/apis/business-financial-health/business-financial-health-details.md): ### Details We are taking customers' current balance as a basis for the calculation. Current balance does not contain any `Pending` transactions and drawn Overdraft amount. However our API response c
 - [GET /advanced-insights/v1/consents/{consentId}/business-financial-health](https://docs.atto.co/content/apis/business-financial-health/getbusinessfinancialhealthasync.md): Get Business Financial Health
## Categorisation Engine

 - [Integration ](https://docs.atto.co/content/apis/categorisation-engine/categorisation-integration.md): ### Integration If you wish to categorise any transactions that you have, you can do so using the `POST /insights-engine/v1/enrich-transactions` endpoint. This will be using the data supplied via the
 - [Authorization ](https://docs.atto.co/content/apis/categorisation-engine/categorisation-authorization.md): ### Authorization This API requires a bearer token using the `api:data` scope
 - [POST /insights-engine/v1/enrich-transactions](https://docs.atto.co/content/apis/categorisation-engine/enrichtransactions.md): Adds categorisation, classification and predicts a merchant name for transactions supplied.
## Income Verification Engine

 - [Integration ](https://docs.atto.co/content/apis/income-verification-engine/income-verification-engine-integration.md): ### Integration If you wish to verify an individual's income with your own transaction data, you can do so using the `POST /insights-engine/v1/income-verification` endpoint. This will be using the da
 - [Authorization ](https://docs.atto.co/content/apis/income-verification-engine/income-verification-engine-authorization.md): ### Authorization This API requires a bearer token using the `api:data` scope
 - [POST /insights-engine/v1/income-verification](https://docs.atto.co/content/apis/income-verification-engine/processincomeverification.md): Processes the income verifications for the accounts supplied.
## Affordability Engine

 - [Integration ](https://docs.atto.co/content/apis/affordability-engine/affordability-engine-integration.md): ### Integration If you wish to calculate affordability with any transactions that you have, you can do so using the `POST /insights-engine/v1/affordability` endpoint. This will be using the data supp
 - [Authorization ](https://docs.atto.co/content/apis/affordability-engine/affordability-engine-authorization.md): ### Authorization This API requires a bearer token using the `api:data` scope
 - [POST /insights-engine/v1/affordability](https://docs.atto.co/content/apis/affordability-engine/processaffordability.md): Processes affordability for the transactions supplied.
## Get Statement

 - [Integration ](https://docs.atto.co/content/apis/get-statement/atto-statement-integration.md): ### Integration If you wish to get the PDF statement of an account for a given consent, you can do so using the `GET /stored-data/v1/consents/:consentId/accounts/:accountId/statement` endpoint.
 - [Authorization ](https://docs.atto.co/content/apis/get-statement/atto-statement-authorization.md): ### Authorization This API requires a bearer token using the `api:stored_data` scope.
 - [GET /stored-data/v1/consents/{consentId}/accounts/{accountId}/statement](https://docs.atto.co/content/apis/get-statement/getstatementasync.md): Get PDF statement for the account
## Get User Report

 - [Integration ](https://docs.atto.co/content/apis/get-user-report/atto-user-report-integration.md): ### Integration If you wish to get a PDF report of all the data held for a given user, you can do so using the `GET /stored-data/v1/users/:userId/report` endpoint.
 - [Authorization ](https://docs.atto.co/content/apis/get-user-report/atto-user-report-authorization.md): ### Authorization This API requires a bearer token using the `api:stored_data` scope.
 - [GET /stored-data/v1/users/{userId}/report](https://docs.atto.co/content/apis/get-user-report/getuserprofilepdfasync.md): Returns all the data for a user in a PDF.
## Accounts

 - [Integration ](https://docs.atto.co/content/apis/accounts/atto-credit-information-integration.md): ### Integration If you wish to get a list of credit information accounts for a user, you can do so using the `GET /connect/users/v1/{userId}/accounts` endpoint.
 - [Authorization ](https://docs.atto.co/content/apis/accounts/atto-credit-information-authorization.md): ### Authorization This API requires a bearer token using the `api:cis` scope.
 - [DELETE /connect/users/v1/{userId}/accounts](https://docs.atto.co/content/apis/accounts/deletecisaccounts.md): This API deletes all credit bureau reported accounts information held for a user from the database and will no longer be retrievable
 - [GET /connect/users/v1/{userId}/accounts](https://docs.atto.co/content/apis/accounts/getcisaccounts.md): This API returns a list of connected accounts and unconnected accounts. A connected account is an account that has been found in the credit file and the associated banking connection has been made for
## User Verification

 - [Integration ](https://docs.atto.co/content/apis/user-verification/atto-credit-information-integration.md): ### Integration Create a Credit Information registration on behalf of a user. This API must be requested to be used with our [support team](https://www.atto.co/about/contact) as it requires pre-valid
 - [Authorization ](https://docs.atto.co/content/apis/user-verification/atto-credit-information-authorization.md): ### Authorization This API requires a bearer token using the `api:cis` scope.
 - [Validation Rules and Examples ](https://docs.atto.co/content/apis/user-verification/atto-credit-information-validation.md): ### Validation Rules and Examples * **CustomerReference**: Required; 1–250 characters. * **Title**: Required; 2–30 characters; letters, spaces, and single quotes only (`^[a-zA-Z ']+$`). * **FirstName
 - [POST /connect/users/v1/verification](https://docs.atto.co/content/apis/user-verification/userverification.md): This API validates a users personal information which if successful will retrieve their credit profile.
## Bank Account Verification

 - [Integration ](https://docs.atto.co/content/apis/bank-account-verification/bank-account-verification-integration.md): ### Integration In response to your call, you will receive a JSON object containing the verification result and optionally a reason of a failed verification. We currently support IBAN or a bank code
 - [Authorization ](https://docs.atto.co/content/apis/bank-account-verification/bank-account-verification-authorization.md): ### Authorization This API requires a bearer token using the `api:data` scope
 - [POST /account-verification/v3/consents/{consentId}](https://docs.atto.co/content/apis/bank-account-verification/accountverification.md): Trigger a bank account validation.
## Bank Data

 - [Overview ](https://docs.atto.co/content/apis/bank-data/data-api-overview.md): ### Overview The most common use case is fetching user's bank account data from the Atto Data API.
 - [Authorization ](https://docs.atto.co/content/apis/bank-data/data-api-authorization.md): ### Authorization This API requires a bearer token using the `api:data` scope
 - [Deprecated endpoint ](https://docs.atto.co/content/apis/bank-data/data-api-deprecated.md): ### Deprecated endpoint The endpoint `/data/v1/consents/{consentId}/accounts`, previously returned all the data we received from the bank/data provider including all transactions along with any data
 - [Latest endpoints ](https://docs.atto.co/content/apis/bank-data/data-api-latest.md): ### Latest endpoints The above endpoint has been split into the following: - `/data/v2/consents/{consentId}/accounts` *(Returns a list containing all accounts shared for a consent)* - `/data/v2/conse
 - [Pagination Strategy ](https://docs.atto.co/content/apis/bank-data/data-api-pagination.md): ### Pagination Strategy We have added a `links` component to our responses to easily paginate through large volumes of data. The `next` and `prev` links represent relative uris. You can append our `b
 - [GET /data/v1/consents/{consentId}/accounts](https://docs.atto.co/content/apis/bank-data/paths/~1data~1v1~1consents~1%7Bconsentid%7D~1accounts/get.md): Returns a list containing the accounts shared for a consent. Does a fresh pull from the external provider.
 - [GET /data/v2/consents/{consentId}/accounts](https://docs.atto.co/content/apis/bank-data/paths/~1data~1v2~1consents~1%7Bconsentid%7D~1accounts/get.md): Returns a list containing the accounts shared for a consent. Does a fresh pull from the external provider.
 - [GET /data/v2/consents/{consentId}/accounts/{accountId}](https://docs.atto.co/content/apis/bank-data/paths/~1data~1v2~1consents~1%7Bconsentid%7D~1accounts~1%7Baccountid%7D/get.md): Returns a specific account shared for a consent. Does a fresh pull from the external provider.
 - [GET /data/v2/consents/{consentId}/accounts/{accountId}/balances](https://docs.atto.co/content/apis/bank-data/paths/~1data~1v2~1consents~1%7Bconsentid%7D~1accounts~1%7Baccountid%7D~1balances/get.md): Returns the balance information for a specific account. Does a fresh pull from the external provider.
 - [GET /data/v2/consents/{consentId}/accounts/{accountId}/transactions](https://docs.atto.co/content/apis/bank-data/paths/~1data~1v2~1consents~1%7Bconsentid%7D~1accounts~1%7Baccountid%7D~1transactions/get.md): Returns a list of transactions tied to a specific account. The data returned by this endpoint is paginated and subsequent calls using the links provided in response body may be required to retrieve
## Income Verification

 - [Overview ](https://docs.atto.co/content/apis/income-verification/income-verification-overview.md): ### Overview Verify an individual’s income using Atto Income Verification. This solution, which accesses the individual’s bank statements for up to 12 months, is powered using our own unique algorith
 - [Integration ](https://docs.atto.co/content/apis/income-verification/income-verification-integration.md): ### Integration If the individual has connected their account using Atto Connect, you can use the `GET /income-verification/v1/consents/{consentId}/verifications` endpoint to verify an individual's i
 - [Authorization ](https://docs.atto.co/content/apis/income-verification/income-verification-authorization.md): ### Authorization This API requires a bearer token using the `api:data` scope
 - [GET /income-verification/v1/consents/{consentId}/verifications](https://docs.atto.co/content/apis/income-verification/paths/~1income-verification~1v1~1consents~1%7Bconsentid%7D~1verifications/get.md)
## Affordability

 - [Integration ](https://docs.atto.co/content/apis/affordability/affordability-integration.md): ### Integration If you wish to get the affordability for a given consent, you can do so using the `GET /affordability/v1/consents/:consentId` endpoint. Please ensure that this product is enabled for
 - [Authorization ](https://docs.atto.co/content/apis/affordability/affordability-authorization.md): ### Authorization This API requires a bearer token using the `api:data` scope
 - [GET /affordability/v1/consents/{consentId}](https://docs.atto.co/content/apis/affordability/paths/~1affordability~1v1~1consents~1%7Bconsentid%7D/get.md): Maximum of 12 months returned
