Open a savings account
This approach to opening bank accounts is being deprecated. If you are working on a new integration, or updating your existing integration, see opening a bank account.
A savings account enables you to offer savings products to your customers. Learn more about savings accounts.
Before opening a savings account for your customer, you must:
-
Provide a savings summary box — The FCA's BCOBs regulation requires you to give customers a summary box containing key account information (interest rates, fees, terms) in good time before they open the account. The summary box must be included in your account opening flow and on your website's savings product page. See our product and marketing standards for the template and requirements.
-
Obtain FSCS acknowledgement — Customers must acknowledge they have read the FSCS information sheet and exclusions list before opening an account. Eligible deposits are protected up to £120,000 per depositor. You must provide a copy of the FSCS information sheet to customers at least annually.
For questions about these requirements, contact your customer success manager.
Prerequisites
- You will need your
organization-bank-accounts-url(shown as$ORGANIZATION_BANK_ACCOUNTS_URLin the examples below). Yourorganization-bank-accounts-urlis one of the URLs returned when you request yourorganization-url. If you don't have yourorganization-urlyet, check out our getting started guide.
- Easy access savings accounts
- Bare trust savings accounts
Request
- Set the
bank-product-typetosavings-account - Set the
savings-typetoeasy-access - Set the
owner-urlto the legal person URL who is entitled to the money in the account
- The beneficiary and owner are the same legal person.
curl "https://api.griffin.com${ORGANIZATION_BANK_ACCOUNTS_URL}" \
-X 'POST' \
-H "Authorization: GriffinAPIKey $GRIFFIN_API_KEY" \
-H 'Content-Type: application/json' \
--data '
{
"bank-product-type": "savings-account",
"savings-type": "easy-access",
"owner-url": "$CUSTOMER_LEGAL_PERSON_URL"
}'
Synchronous Response
A successful response looks like this.
{
"savings-type": "easy-access",
"account-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A",
"pooled-funds": false,
"available-balance": {
"currency": "GBP",
"value": "0.00"
},
"account-restricted": false,
"display-name": "savings-1",
"beneficiary-url": "$CUSTOMER_LEGAL_PERSON_URL",
"account-balance": {
"currency": "GBP",
"value": "0.00"
},
"account-transactions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/transactions",
"created-at": "2023-12-07T17:03:20.757Z",
"account-payments-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/payments",
"bank-product-type": "savings-account",
"bank-addresses": [],
"owner-url": "$CUSTOMER_LEGAL_PERSON_URL",
"close-account-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/actions/close",
"account-admissions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/admissions",
"account-status": "opening",
"account-submissions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/submissions",
"controller-url": "/v0/legal-persons/lp.Ph9xPUvzULGohmZ4_u_TDw"
}
This response indicates that you have successfully requested the creation of a new savings 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 simply 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.
Poll for status
Poll the account-url endpoint.
curl "https://api.griffin.com${ACCOUNT_URL}" \
-X 'GET' \
-H "Authorization: GriffinAPIKey $GRIFFIN_API_KEY" \
-H 'Content-Type: application/json' \
When the account-status is open, the account is ready for use.
{
"savings-type": "easy-access",
"account-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A",
"pooled-funds": false,
"available-balance": {
"currency": "GBP",
"value": "0.00"
},
"account-restricted": false,
"display-name": "savings-1",
"beneficiary-url": "$CUSTOMER_LEGAL_PERSON_URL",
"account-balance": {
"currency": "GBP",
"value": "0.00"
},
"account-transactions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/transactions",
"created-at": "2023-12-07T17:03:20.757Z",
"account-payments-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/payments",
"bank-product-type": "savings-account",
"bank-addresses": [],
"owner-url": "$CUSTOMER_LEGAL_PERSON_URL",
"close-account-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/actions/close",
"account-admissions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/admissions",
"account-status": "open",
"account-submissions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/submissions",
"controller-url": "/v0/legal-persons/lp.Ph9xPUvzULGohmZ4_u_TDw"
}
Request
- Set the
bank-product-typetosavings-account - Set the
savings-typetobare-trust
- Before a Bare trust savings account is able to make or receive payments, you must add pooled members to the account
- You do not need to identify the owner of this account as it is always your organisation.
curl "https://api.griffin.com${ORGANIZATION_BANK_ACCOUNTS_URL}" \
-X 'POST' \
-H "Authorization: GriffinAPIKey $GRIFFIN_API_KEY" \
-H 'Content-Type: application/json' \
--data '
{
"bank-product-type": "savings-account",
"savings-type": "bare-trust",
}'
Synchronous Response
A successful response looks like this.
{
"savings-type": "bare-trust",
"account-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A",
"pooled-funds": true,
"available-balance": {
"currency": "GBP",
"value": "0.00"
},
"account-restricted": false,
"display-name": "baretrust-1",
"account-balance": {
"currency": "GBP",
"value": "0.00"
},
"account-transactions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/transactions",
"created-at": "2023-12-07T17:03:20.757Z",
"account-payments-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/payments",
"bank-product-type": "savings-account",
"bank-addresses": [],
"owner-url": "$CUSTOMER_LEGAL_PERSON_URL",
"close-account-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/actions/close",
"account-admissions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/admissions",
"account-status": "opening",
"account-submissions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/submissions",
"controller-url": "/v0/legal-persons/lp.Ph9xPUvzULGohmZ4_u_TDw"
}
This response indicates that you have successfully requested the creation of a new savings 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 simply 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.
Poll for status
Poll the account-url endpoint.
curl "https://api.griffin.com${ACCOUNT_URL}" \
-X 'GET' \
-H "Authorization: GriffinAPIKey $GRIFFIN_API_KEY" \
-H 'Content-Type: application/json' \
When the account-status is open, the account is ready for use.
{
"savings-type": "bare-trust",
"account-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A",
"pooled-funds": true,
"available-balance": {
"currency": "GBP",
"value": "0.00"
},
"account-restricted": false,
"display-name": "baretrust-1",
"beneficiary-url": "$CUSTOMER_LEGAL_PERSON_URL",
"account-balance": {
"currency": "GBP",
"value": "0.00"
},
"account-transactions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/transactions",
"created-at": "2023-12-07T17:03:20.757Z",
"account-payments-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/payments",
"bank-product-type": "savings-account",
"bank-addresses": [],
"owner-url": "$CUSTOMER_LEGAL_PERSON_URL",
"close-account-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/actions/close",
"account-admissions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/admissions",
"account-status": "open",
"account-submissions-url": "/v0/bank/accounts/ba.IcqDdMDxT7OaYRznoit-7A/submissions",
"controller-url": "/v0/legal-persons/lp.Ph9xPUvzULGohmZ4_u_TDw"
}