GoCardlessDeveloper Docs
Create a sandbox account

Endpoints

Base URL: https://bankaccountdata.gocardless.com. All requests require an Authorization: Bearer <access_token> header except the Authentication endpoints.

Authentication

Obtain JWT pair#

POST/api/v2/token/new/

Request Body
secret_idstring

Secret id from /user-secrets/

secret_keystring

Secret key from /user-secrets/

Response 200

Obtain JWT response.

accessstring
access_expiresinteger
refreshstring
refresh_expiresinteger
Errors 401403429
401

Incorrect secret key or id

403

IP address not whitelisted

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Refresh access token#

POST/api/v2/token/refresh/

Request Body
refreshstring
Response 200

Refresh access token.

accessstring
access_expiresinteger
Errors 401403429
401

Token is invalid or expired

403

IP address not whitelisted

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Institutions

List all available institutions#

GET/api/v2/institutions/

Query Parameters

NameTypeDescription
access_scopes_supportedstring

Boolean value, indicating if access scopes are supported

account_selection_supportedstring

Boolean value, indicating if account selection is supported

business_accounts_supportedstring

Boolean value, indicating if business accounts are supported

card_accounts_supportedstring

Boolean value, indicating if card accounts are supported

corporate_accounts_supportedstring

Boolean value, indicating if corporate accounts are supported

countrystring

ISO 3166 two-character country code

pending_transactions_supportedstring

Boolean value, indicating if pending transactions are supported

private_accounts_supportedstring

Boolean value, indicating if private accounts are supported

read_debtor_account_supportedstring

Boolean value, indicating if debtor account can be read before submitting payment

read_refund_account_supportedstring

Boolean value, indicating if read refund account is supported

separate_continuous_history_consent_supportedstring

Boolean value, indicating if separate consent for continuous history is supported

ssn_verification_supportedstring

Boolean value, indicating if ssn verification is supported

Response 200

list of supported Institutions in the country

Errors 400401403404429
400

Unknown Fields

401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Get details about a specific Institution and its supported features#

GET/api/v2/institutions/{id}/

Path Parameters

NameTypeDescription
idrequiredstring
Response 200

Retrieve institution by id

idstring
namestring
bicstring
transaction_total_daysstring
max_access_valid_for_daysstring
max_access_valid_for_days_reconfirmationstring
countriesarray
logostring
supported_featuresarray
identification_codesarray
Errors 401403404429
401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

End User Agreements

Retrieve all End User Agreements belonging to the company#

GET/api/v2/agreements/enduser/

Query Parameters

NameTypeDescription
limitinteger

Number of results to return per page.

offsetinteger

The initial zero-based index from which to return the results.

Response 200

Retrieve all end user agreements

countinteger
nextstring
previousstring
resultsarray
8 properties
idstring

The ID of this End User Agreement, used to refer to this end user agreement in other API calls.

createdstring

The date & time at which the end user agreement was created.

institution_idstring

an Institution ID for this EUA

max_historical_daysinteger

Maximum number of days of transaction data to retrieve.

access_valid_for_daysinteger

Number of days from acceptance that the access can be used.

access_scopearray

Array containing one or several values of ['balances', 'details', 'transactions']

acceptedstring

The date & time at which the end user accepted the agreement.

reconfirmationboolean

if this agreement can be extended. Supported by GB banks only.

Errors 401403404429
401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Retrieve end user agreement by ID#

GET/api/v2/agreements/enduser/{id}/

Path Parameters

NameTypeDescription
idrequiredstring

A UUID string identifying this end user agreement.

Response 200

Retrieve end user agreement by ID

idstring
createdstring
institution_idstring
max_historical_daysinteger
access_valid_for_daysinteger
access_scopearray
acceptedstring
reconfirmationboolean
Errors 400401403404429
400

Invalid ID

401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Delete an end user agreement#

DELETE/api/v2/agreements/enduser/{id}/

Path Parameters

NameTypeDescription
idrequiredstring

A UUID string identifying this end user agreement.

Response 200
summarystring
detailstring
Errors 400401403404429
400

Invalid ID

401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Accept an end-user agreement via the API#

PUT/api/v2/agreements/enduser/{id}/accept/

Path Parameters

NameTypeDescription
idrequiredstring

A UUID string identifying this end user agreement.

Request Body
user_agentstring
ip_addressstring
Response 200

Accept end user agreement

idstring
createdstring
institution_idstring
max_historical_daysinteger
access_valid_for_daysinteger
access_scopearray
acceptedstring
reconfirmationboolean
Errors 400401403404405429
400

Invalid ID

401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

405

End User Agreements cannot be accepted more than once

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Retrieve EUA reconfirmation#

GET/api/v2/agreements/enduser/{id}/reconfirm/

Path Parameters

NameTypeDescription
idrequiredstring

A UUID string identifying this end user agreement.

Response 200

Reconfirmation details

reconfirmation_urlstring
createdstring
url_valid_fromstring
url_valid_tostring
redirectstring
last_accessedstring
last_submittedstring
accountsobject
Errors 400401403404429
400

EUA does not have reconfirmation flag set.

401

Token is invalid or expired

403

Reconfirmation is not enabled for this company.

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Create EUA reconfirmation#

POST/api/v2/agreements/enduser/{id}/reconfirm/

Path Parameters

NameTypeDescription
idrequiredstring

A UUID string identifying this end user agreement.

Request Body
redirectstring

Optional redirect URL for reconfirmation to override requisition's redirect.

Response 201

Reconfirmation created

reconfirmation_urlstring
createdstring
url_valid_fromstring
url_valid_tostring
redirectstring
last_accessedstring
last_submittedstring
accountsobject
Errors 400401403404429
400

There are no accounts linked.

401

Token is invalid or expired

403

Reconfirmation is not enabled for this company.

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Requisitions

Retrieve all requisitions belonging to the company#

GET/api/v2/requisitions/

Query Parameters

NameTypeDescription
limitinteger

Number of results to return per page.

offsetinteger

The initial zero-based index from which to return the results.

Response 200

Retrieve all requisitions

countinteger
nextstring
previousstring
resultsarray
13 properties
idstring
createdstring

The date & time at which the requisition was created.

redirectstring

redirect URL to your application after end-user authorization with ASPSP

statusobject

status of this requisition

institution_idstring

an Institution ID for this Requisition

agreementstring

EUA associated with this requisition

referencestring

additional ID to identify the end user

accountsarray

array of account IDs retrieved within a scope of this requisition

user_languagestring

A two-letter country code (ISO 639-1)

linkstring

link to initiate authorization with Institution

ssnstring

optional SSN field to verify ownership of the account

account_selectionboolean

option to enable account selection view for the end user

redirect_immediateboolean

enable redirect back to the client after account list received

Errors 400401403404429
400

Unknown Fields

401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Create a new requisition#

POST/api/v2/requisitions/

Request Body
redirectstring

redirect URL to your application after end-user authorization with ASPSP

institution_idstring

an Institution ID for this Requisition

agreementstring

EUA associated with this requisition

referencestring

additional ID to identify the end user

user_languagestring

A two-letter country code (ISO 639-1)

ssnstring

optional SSN field to verify ownership of the account

account_selectionboolean

option to enable account selection view for the end user

redirect_immediateboolean

enable redirect back to the client after account list received

Response 201

Requisition has been successfully created

idstring
createdstring
redirectstring
statusobject
institution_idstring
agreementstring
referencestring
accountsarray
user_languagestring
linkstring
ssnstring
account_selectionboolean
redirect_immediateboolean
Errors 400401402403404429
400

Field is required

401

Token is invalid or expired

402

Free usage limit exceeded

403

IP address not whitelisted

404

Errors related to 'agreement' field.

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Retrieve a requisition by ID#

GET/api/v2/requisitions/{id}/

Path Parameters

NameTypeDescription
idrequiredstring

A UUID string identifying this requisition.

Response 200

Get requisition by ID

idstring
createdstring
redirectstring
statusobject
institution_idstring
agreementstring
referencestring
accountsarray
user_languagestring
linkstring
ssnstring
account_selectionboolean
redirect_immediateboolean
Errors 400401403404429
400

Invalid ID

401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Delete requisition and its end user agreement#

DELETE/api/v2/requisitions/{id}/

Path Parameters

NameTypeDescription
idrequiredstring

A UUID string identifying this requisition.

Response 200
summarystring
detailstring
Errors 400401403404429
400

Invalid ID

401

Token is invalid or expired

403

IP address not whitelisted

404

Not found error

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Accounts

Access account metadata. Information about the account record, such as the processing status and IBAN. Account status is recalculated based on the error count in the latest req.#

GET/api/v2/accounts/{id}/

Path Parameters

NameTypeDescription
idrequiredstring
Response 200

Sample account metadata

idstring
createdstring
last_accessedstring
ibanstring
bbanstring
statusstring
institution_idstring
owner_namestring
namestring
Errors 401403404429
401

Token is invalid or expired

403

IP address not whitelisted

404

Account not found

429

Rate limit exceeded

Error Body
summarystring
detailstring
typestring
status_codeinteger

Access account balances. Balances will be returned in Berlin Group PSD2 format.#

GET/api/v2/accounts/{id}/balances/

Path Parameters

NameTypeDescription
idrequiredstring
Response 200

Sample account balances

balancesarray
6 properties
balanceAmountobject

balanceAmount

balanceTypestring

balanceType

creditLimitIncludedboolean

creditLimitIncluded

lastChangeDateTimestring

lastChangeDateTime

referenceDatestring

referenceDate

lastCommittedTransactionstring

lastCommittedTransaction

Errors 400401403404409429500503
400

Invalid Account ID

401

AccountInactiveError

403

AccountResourceUnavailable

404

Account not found

409

Account state does not support this operation

429

RateLimitError

500

Couldn't update account balances

503

ConnectionError

Error Body
summarystring
detailstring
typestring
status_codeinteger

Access account details. Account details will be returned in Berlin Group PSD2 format.#

GET/api/v2/accounts/{id}/details/

Path Parameters

NameTypeDescription
idrequiredstring
Response 200

Sample account details

accountobject
Errors 400401403404409429500503
400

Invalid Account ID

401

AccountInactiveError

403

AccountResourceUnavailable

404

Account not found

409

Account state does not support this operation

429

RateLimitError

500

Couldn't update account details

503

ConnectionError

Error Body
summarystring
detailstring
typestring
status_codeinteger

Access account transactions. Transactions will be returned in Berlin Group PSD2 format.#

GET/api/v2/accounts/{id}/transactions/

Path Parameters

NameTypeDescription
idrequiredstring

Query Parameters

NameTypeDescription
date_fromstring
date_tostring
Response 200

Sample account transactions

transactionsobject
last_updatedstring
Errors 400401403404409429500503
400

Incorrect date range in query parameters

401

AccountInactiveError

403

AccountResourceUnavailable

404

Account not found

409

Account state does not support this operation

429

RateLimitError

500

Couldn't update account transactions

503

ConnectionError

Error Body
summarystring
detailstring
typestring
status_codeinteger