Bank Account Connection Intents
A Bank Account Connection Intent facilitates user authorization of access to Bank Accounts, for example, using Open Banking flows. Typically the authorization will follow an OAuth flow where the user is redirected to a third-party system to authenticate and select one or more bank accounts.
Contents
Models
Bank Account Connection Intent
Fields
Field | Type | Description |
---|---|---|
id | String | The Bank Account Connection Intent’s unique identifier. |
accountId | String | The id of the owning Centrapay Account. |
type | String | The type of Bank Account Connection Intent. See Bank Account Connection Intent Types. |
status | String | The current status of the Bank Account Connection Intent. Supported values are created , authorized and failed . |
createdAt | Timestamp | When the Bank Account Connection Intent was created. |
createdBy | CRN | The User or API Key that created the Bank Account Connection Intent. |
updatedAt | Timestamp | When the Bank Account Connection Intent was updated. |
updatedBy | CRN | The User or API Key that updated the Bank Account Connection Intent. |
authorizationUrl | String | A URL to the third-party beginning the authorization flow. |
test | Boolean Optional | A flag which is present if the intention is to connect with a Bank Account used for testing. |
Bank Account Connection Intent Types
Name | description |
---|---|
quartz-accounts | Initiates an authorization flow for authorizing access to bank account details. After a Bank Account Connection Intent has been authorized, one or more Centrapay Bank Account resources may be created. |
quartz-payment | Initiates an authorization flow for authorizing access to create payments. |
Operations
Create Bank Account Connection Intent EXPERIMENTAL
POST /
curl -X POST https://service.centrapay.com/api/bank-account-connection-intents \
-H "X-Api-Key: $api_key" \
-H "Content-Type: application/json" \
-d '{
"accountId": "uooxSens6ykJaim1Cu1Q55",
"type": "quartz-accounts",
"test": true
}'
Fields
Field | Type | Description |
---|---|---|
accountId | String | The id of the owning Account. |
type | String | The type of Bank Account Connection Intent. |
bankAccountId | String Optional | The id of the associated Bank Account. Required if type is quartz-payment . |
test | Boolean Optional | A flag which is present if the intention is to connect with a Bank Account used for testing. |
Example response payload
{
"id": "3KVjuKW2CZCJeJVqPxwkX7",
"accountId": "B4u4WZCu3joZFVWT3XjWW3",
"type": "quartz-accounts",
"status": "created",
"createdAt": "2022-03-31 02:56:29 UTC",
"createdBy": "crn:B4u4WZCu3joZFVWT3XjWW3:api-key:MyApiKey",
"updatedAt": "2022-03-31 02:56:29 UTC",
"updatedBy": "crn:B4u4WZCu3joZFVWT3XjWW3:api-key:MyApiKey",
"authorizationUrl": "https://example.com/authorization-url",
"test": true
}
Error Responses
Status | Code | Description |
---|---|---|
403 | LIVENESS_ | Only Bank Account Connection Intents with the test flag can be associated with test Bank Accounts, and vice versa. |
Authorize Bank Account Connection Intent EXPERIMENTAL
POST /
curl -X POST https://service.centrapay.com/api/bank-account-connection-intents/3KVjuKW2CZCJeJVqPxwkX7/authorize \
-H "X-Api-Key: $api_key" \
-H "Content-Type: application/json" \
-d '{
"code": "hKpKupTM391pE10xfQiorMxXarRKAHRhTfH_x"
}'
Fields
Field | Type | Description |
---|---|---|
code | String | Authorization code returned from third-party. |
Example response payload
{
}