Skip to main content

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 your organization-bank-account-products-url. This is one of the URLs returned when you request your organization-url (e.g. "organization-bank-account-products-url": "/v0/organizations/og.../bank/products").
  • If you don't have your organization-url yet, check out our getting started guide. GET the organization-bank-account-products-url to list your bank products — each product in the response includes a bank-account-product-accounts-url.

Request

  • Set the owner-url to the legal person URL who is entitled to the money in the account
  • Set the beneficiary-url to the legal person URL who is entitled to the money in the account
info

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.

Learn more about the account lifecycle.