Opening a bank account
Opening a bank account has been simplified with the use of bank products. Rather than providing all of the specific attributes when opening a bank account, we now only need to know which bank product the account relates to, and information about the owners, controllers, and beneficiaries related to the bank account.
Prerequisites
- Each of your bank products exposes its own
bank-account-product-accounts-url— POSTing to it opens an account against that product. If you're unfamiliar with bank products, learn more about bank products. - To get a
bank-account-product-accounts-url, you first need yourorganization-bank-account-products-url. This is one of the URLs returned when you request yourorganization-url(e.g."organization-bank-account-products-url": "/v0/organizations/og.../bank/products"). - If you don't have your
organization-urlyet, check out our getting started guide. GET theorganization-bank-account-products-urlto list your bank products — each product in the response includes abank-account-product-accounts-url.
Request
- Set the
owner-urlto the legal person URL who is entitled to the money in the account - Set the
beneficiary-urlto the legal person URL who is entitled to the money in the account
All bank account products require you to specify an owner (except operational accounts), but not all require a beneficiary (although if you specify a valid one the request will still be accepted)
curl "https://api.griffin.com${BANK_ACCOUNT_PRODUCT_ACCOUNTS_URL}" \
-X 'POST' \
-H "Authorization: GriffinAPIKey $GRIFFIN_API_KEY" \
-H 'Content-Type: application/json' \
--data '
{
"display-name": "account name",
"owner-url": "/v0/legal-persons/lp.IGxlZ2FsLXBlcnNvbi1pZA",
"beneficiary-url": "/v0/legal-persons/lp.IGxlZ2FsLXBlcnNvbi1pZA"
}'
Response
{
"account-submissions-url": "/v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/submissions",
"bank-account-product-url": "/v0/bank/products/bp.IGJhbmstcHJvZHVjdC1pZA",
"account-restricted": false,
"account-payments-url": "/v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/payments",
"account-admissions-url": "/v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/admissions",
"bank-product-type": "savings-account",
"display-name": "Reserve a/c",
"controller-url": "/v0/legal-persons/lp.IGxlZ2FsLXBlcnNvbi1pZA",
"pooled-funds": false,
"account-status": "opening",
"owner-url": "/v0/legal-persons/lp.IGxlZ2FsLXBlcnNvbi1pZA",
"created-at": "2019-08-24T14:15:22Z",
"opened-at": "2019-08-24T14:15:22Z",
"close-account-url": "/v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/actions/close",
"available-balance": {
"currency": "GBP",
"value": "00.00"
},
"bank-addresses": [
{
"account-holder": "string",
"bank-id-code": "gbdsc",
"bank-id": "123456",
"account-number": "12345678",
"account-number-code": "bban"
}
],
"account-transactions-url": "/v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/transactions",
"account-url": "/v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA",
"beneficiary-url": "/v0/legal-persons/lp.IGxlZ2FsLXBlcnNvbi1pZA",
"primary-account": false,
"account-balance": {
"currency": "GBP",
"value": "00.00"
},
"savings-type": "easy-access"
}
This response indicates that you have successfully requested the creation of a new bank account. The account-status will likely be opening since there are some background preparatory tasks that need to finish before the account can be used. These take place automatically, so you can poll the account-url endpoint until the account-status is open.
NOTE: If you have created a webhook for your
organisation you can also listen
for the account-status-updated webhook event and track account-status.