Creating a Bank Account

If you have not selected your FCA regulatory permissions, please visit https://app.beta.griffin.sh/bank first.
Once that's complete, you can start creating accounts via the API.

There are two types of account you can create. A business demand account is a deposit account for your business. You will be prompted to create one in the application, after confirming your FCA regulatory permissions.

A client money account is one that is on behalf of one of your customers. That is, it must be assigned to a legal person.

The API call is almost identical, except that a client money account requires a beneficiary to be provided.

📘

The below documentation assumes you know your API key and organisation ID. These are referred to as $API_KEY and $ORGANISATION_ID in code samples. If you don't have your organisation ID available, refer to Navigating the API

Business Demand Account

A business demand account requires only a name to be created:

curl 'https://api.beta.griffin.sh/v0/organizations/$ORGANISATION_ID/bank/accounts' \
  -H "Authorization: GriffinAPIKey $API_KEY"
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data '
{
  "display-name":"Deposit Account",
  "bank-product-type":"business-demand-account"
}'

A successful response will look something like:

{
    "account-url": "/v0/bank/accounts/ac.z7iJVZ5xx3wTA8g4Ce1gQw",
    "display-name": "Deposit Account",
    "beneficiary-url": "/v0/corporations/lp.X6LqoUDFvnsP5lZAEN7npg",
    "account-balance": {
        "currency": "GBP",
        "value": "0.00"
    },
    "account-transactions-url": "/v0/bank/accounts/ac.z7iJVZ5xx3wTA8g4Ce1gQw/transactions",
    "bank-product-type": "business-demand-account",
    "owner-url": "/v0/corporations/lp.X6LqoUDFvnsP5lZAEN7npg",
    "controller-url": "/v0/corporations/lp.X6LqoUDFvnsP5lZAEN7npg"
}

The important thing to note, is that for this type of account, the legal person that represents your company is the beneficiary, owner and controller.

Client Money Account

The process is identical for a client money account, but a beneficiary must be provided. This needs to be a legal person URL.

📘

How to create a legal person for an individual or corporation is covered in Creating a Legal Person.

An example request, including specifying the beneficiary - your client. The beneficiary-url is the URL returned after creating a legal person. It could be an individual or a corporation, but in this case, we use the example of an individual with an ID $LEGAL_PERSON_ID.

curl 'https://api.beta.griffin.sh/v0/organizations/$ORGANISATION_ID/bank/accounts' \
  -H "Authorization: GriffinAPIKey $API_KEY"
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data '
{
  "display-name":"Mr Jones",
  "bank-product-type":"client-money-account",
  "beneficiary-url":"/v0/individuals/$LEGAL_PERSON_ID"
}'

The response is identical to the business demand account response, except that
owner-url and beneficiary-url reflect your client rather than you. You
remain represented in the controller-url field:

{
    "account-url": "/v0/bank/accounts/ac.f8VI42_8x2-3RBGVk4pk0g",
    "display-name": "hgjfd",
    "beneficiary-url": "/v0/individuals/lp.4dO6lyllx8mwgUf8QmHmCA",
    "account-balance": {
        "currency": "GBP",
        "value": "0.00"
    },
    "account-transactions-url": "/v0/bank/accounts/ac.f8VI42_8x2-3RBGVk4pk0g/transactions",
    "bank-product-type": "client-money-account",
    "owner-url": "/v0/individuals/lp.4dO6lyllx8mwgUf8QmHmCA",
    "controller-url": "/v0/corporations/lp.X6LqoUDFvnsP5lZAEN7npg"
}

In all respects, both are bank accounts, and further API interactions will be identical or extremely similar.