The Griffin Developer Hub

Welcome to the Griffin developer hub. You'll find comprehensive guides and documentation to help you start working with us as quickly as possible, as well as support if you get stuck. Let's jump right in!

API Reference

 

Welcome to the Griffin API! You can use this API to access all of our endpoints, enabling you to do everything from managing accounts and counterparties to making payments.

The API is organized around REST; it has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. JSON is returned by all API responses, including errors, although our API libraries convert responses to appropriate language-specific objects.

To make the API as explorable as possible, accounts have test mode and live mode API keys. There is no "switch" for changing between modes, just use the appropriate key to perform a live or test transaction. Requests made with test mode credentials never hit any external banking networks and incur no cost.

Authentication

 

Authenticate your account when using the API by including your secret API key in the request. You can manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

Authentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password.

If you need to authenticate via bearer auth (e.g., for a cross-origin request), use -H "Authorization: Bearer BQokikJOvBiI2HlWgH4olfQ2" instead of -u BQokikJOvBiI2HlWgH4olfQ2:.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Client Errors

 

There are three possible types of client errors on API calls that receive request bodies:

  1. Sending invalid JSON will result in a 400 Bad Request response.
{"message":"Problems parsing JSON"}
  1. Sending the wrong type of JSON values will result in a 400 Bad Request response.
{"message":"Body should be a JSON object"}
  1. Sending invalid fields will result in a 422 Unprocessable Entity response.`
{
  "message": "Validation Failed",
  "errors": [
    {
      "resource": "account",
      "code": "invalid",
      "field_path": [
        "account_id"
      ],
      "hint": "account_id must be a UUID v4 string."
    }
  ]
}

All error objects have resource and field_path (an array of keys for identifying nested properties) so that your client can tell what the problem is. Most will include a human-readable hint field, as well as an error code to let you know what is wrong with the field. These are the possible validation error codes:

Error Name
Description

missing

This means a resource does not exist

missing_field

This means a required field on a resource has not been set.

invalid

This means the formatting of a field is invalid. The documentation for that resource should be able to give you more specific information.

already_exists

This means another resource has the same value as this field. This can happen in resources that must have a unique key.

Resources may also send custom validation errors (where code is custom). Custom errors will always have a message field describing the error, and most errors will also include a documentation_url field pointing to some content that might help you resolve the error.

Idempotent Requests

 

The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a payment fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single charge is created.

GET and DELETE requests are idempotent by definition, meaning that the same backend work will occur no matter how many times the same request is issued. You shouldn't send an idempotency key with these verbs because it will have no effect.

To perform an idempotent request, provide an additional Idempotency-Key: <key> header to the request.

How you create unique keys is up to you, but we suggest using V4 UUIDs or another appropriately random string. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.

Pagination

 

Requests that return multiple items will be paginated to 10 items by default.

You can specify further pages with the ?page parameter, and can also set a custom page size up to 100 with the ?limit parameter.

The Link header includes pagination information:

Link: <https://api.griffin.sh/0.1/payments/fps?page=3&limit=100>; rel="next",
  <https://api.griffin.sh/0.1/payments/fps?page=50&limite=100>; rel="last"

The above example includes a line break for readability.

This Link response header contains one or more Hypermedia link relations, some of which may require expansion as URI templates.

The possible rel values are:

Name
Description

next

The link relation for the immediate next page of results.

last

The link relation for the last page of results.

first

The link relation for the first page of results.

prev

The link relation for the immediate previous page of results.

Rate Limiting

 

The returned HTTP headers of any API request show your current rate limit status:

curl -i https://api.griffin.sh/0.1/accounts
HTTP/1.1 200 OK

Date: Mon, 01 Jul 2013 17:27:06 GMT
Status: 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 56
X-RateLimit-Reset: 1372700873

X-RateLimit-Limit

The maximum number of requests you're permitted to make per hour.

X-RateLimit-Remaining

The number of requests remaining in the current rate limit window.

X-RateLimit-Reset

The time at which the current rate limit window resets in UTC epoch seconds.

If you exceed the rate limit, an error response returns:

HTTP/1.1 403 Forbidden
Date: Tue, 20 Aug 2017 14:50:41 GMT
Status: 403 Forbidden
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1377013266

{
   "message": "API rate limit exceeded for xxx.xxx.xxx.xxx.",
   "documentation_url": "https://docs.griffin.sh/v0.1/reference#rate-limiting"
}

Abuse rate limits

To protect the quality of service on Griffin, additional rate limits may apply to some actions. For example: rapidly creating content, polling aggressively instead of using webhooks, making API calls with a high concurrency, or repeatedly requesting data that is computationally expensive may result in abuse rate limiting.

Abuse rate limits are not intended to interfere with legitimate use of the API. Your normal rate limits should be the only limit you target.

If your application triggers this rate limit, you'll receive an informative response:

HTTP/1.1 403 Forbidden
Content-Type: application/json; charset=utf-8
Connection: close

{
  "message": "You have triggered an abuse detection mechanism and have been temporarily blocked from content creation. Please retry your request again later.",
  "documentation_url": "https://docs.griffin.sh/v0.1/reference#section-abuse-rate-limits"
}

Customers

 

A customer in the API is a reference to a legal person that is a customer of your business. The customers API allows you to keep track of these legal persons and to quickly reference them when creating accounts, and allows us to perform the legally-required Know-Your-Customer (KYC) and Anti-Money-Laundering (AML) checks on them.

Register a customer

Register a new customer, triggering KYC/AML checks

 
posthttps://api.griffin.sh/0.1/customers
curl https://api.griffin.sh/0.1/customers \
 -X POST \
 -H "Content-Type: application/json" \
 -u EnwP9mDDN57vWThP7MB7gaVUOjD/wgCW37GFzsS6ag8jsWorT/RawTJe: \
 -d '{"type": "company", \
      "address": "10 Downing Street", \
      "city": "London", \
      "country": "UK", \
      "post_code": "SW1A 2AA", \
      "incorporation_number": "09446231", \
      "company_name": "Griffin Financial Technology Ltd."}'
A binary file was returned

You couldn't be authenticated

{
  "id": "3279cb2d-800f-4fbf-ad15-5e389c9c8fe4",
  "resource": "customer",
  "type": "company",
  "address": "10 Downing Street",
  "city": "London",
  "country": "UK",
  "post_code": "SW1A 2AA",
  "incorporation_number": "09446231",
  "company_name": "Griffin Financial Technology Ltd.",
  "compliance": {
    "kyc": "PENDING"
  }
}

Body Params

type
string
required

Either company or person.

address
string
required

Always required.

city
string
required

Always required.

country
string
required

Always required.

post_code
string
required

Always required.

company_name
string

Required if type is company

incorporation_number
string

Required if type is company

first_name
string

Required if type is person

last_name
string

Required if type is person

date_of_birth
string

Required if type is person

 

List customers

List all of your registered customers

 
gethttps://api.griffin.sh/0.1/customers
curl https://api.griffin.sh/0.1/customers
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "3279cb2d-800f-4fbf-ad15-5e389c9c8fe4",
    "resource": "customer",
    "type": "company",
    "address": "10 Downing Street",
    "city": "London",
    "country": "UK",
    "post_code": "SW1A 2AA",
    "incorporation_number": "09446231",
    "company_name": "Griffin Bank, Ltd.",
    "compliance": {
      "kyc": "PENDING"
    }
  },
  {
    "id": "2eabe9aa-3d98-4009-a897-789e0798d4d1",
    "resource": "customer",
    "type": "company",
    "address": "Tesco House, Shire Park, Kestrel Way",
    "city": "Welwyn Garden City",
    "country": "UK",
    "post_code": "AL7 1GA",
    "incorporation_number": "00445790",
    "company_name": "Tesco PLC.",
    "compliance": {
      "kyc": "SUCCEEDED"
    }
  }
]

Query Params

type
string

Either company or person.

address
string
city
string
country
string
post_code
string
company_name
string
incorporation_number
string
first_name
string
last_name
string
date_of_birth
string
 

Get a customer

Retrieve details on a specific customer

 
gethttps://api.griffin.sh/0.1/customers/customer_id
curl https://api.griffin.sh/0.1/customers/9a859aa0-f9bb-456b-b602-380d46c0e322
A binary file was returned

You couldn't be authenticated

{
  "id": "3279cb2d-800f-4fbf-ad15-5e389c9c8fe4",
  "resource": "customer",
  "type": "company",
  "address": "10 Downing Street",
  "city": "London",
  "country": "UK",
  "post_code": "SW1A 2AA",
  "incorporation_number": "09446231",
  "company_name": "Griffin Bank, Ltd.",
  "compliance": {
    "kyc": "PENDING"
  }
}

Path Params

customer_id
string
required

The customer_id of the customer you want to retrieve.

 

Current Accounts

 

Direct accounts (where your firm is the owner) will be opened instantly, because we'll already have completed the requisite Know-Your-Customer and Anti-Money-Laundering checks.

By contrast, indirect accounts will trigger an automated compliance flow on our end to make sure the counterparty that you are creating a current account for is one that has legal permissions to do so.

This compliance flow typically takes around 5 minutes, and we recommend configuring a webhook in your settings page that we can use to notify you once the compliance check has completed.

Create a current account

Creates a designated, segregated client money account for a specific customer.

 
posthttps://api.griffin.sh/0.1/customers/customer_id/accounts
curl https://api.griffin.sh/0.1/customers/2eabe9aa-3d98-4009-a897-789e0798d4d1/accounts \
-X POST \
-d '{"account_type": "checking", \
     "currency": "EUR"}'
import griffin
  
griffin.client_id = "AKd0QbT4fJfTsVSO0qExPVn0LmzNWUHpiYGRBgkP"
griffin.client_secret = "QnmN7YIM9TIyVpGcD+ltZtaI4aNpGU/txYC4MH1/"
griffin.Accounts.create(
  account_type = "checking",
  currency = "GBP"
)
A binary file was returned

You couldn't be authenticated

{
  "id": "4c4dbaa1-dbfe-4430-a0be-878a54bf353b",
  "resource": "account",
  "customer_id": "2eabe9aa-3d98-4009-a897-789e0798d4d1",
  "account_type": "checking",
  "available_balance": 0,
  "pending_balance": 0,
  "total_balance": 0,
  "currency": "EUR",
  "iban": "IE29AIBK93115212345678",
  "sort_code": 123456,
  "account_number": 31926819,
}

Path Params

customer_id
string
required

The customer_id for the customer this account is being created for.

Body Params

account_type
string
required

Either "checking" or "savings"

currency
string
required

An ISO 4217 currency code.

 

List all visible current accounts

List all visible current accounts across all customers

 
gethttps://api.griffin.sh/0.1/accounts
curl https://api.griffin.sh/0.1/accounts
import griffin
  
griffin.client_id = "AKd0QbT4fJfTsVSO0qExPVn0LmzNWUHpiYGRBgkP"
griffin.client_secret = "QnmN7YIM9TIyVpGcD+ltZtaI4aNpGU/txYC4MH1/"
accounts = griffin.Accounts.list()
  
  
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "4c4dbaa1-dbfe-4430-a0be-878a54bf353b",
    "resource": "account",
    "customer_id": "2eabe9aa-3d98-4009-a897-789e0798d4d1",
    "account_type": "checking",
    "sort_code": "12-34-56",
    "available_balance": 0,
    "pending_balance": 0,
    "total_balance": 0,
    "currency": "GBP",
    "account_number": 31926819
  }
]

Query Params

account_number
string

The account_number for the account

account_type
string

The account_type for the account. Must be either "checking" or "savings"

balance
object

The current balance of the account, in integer pence.

balance.gt
integer

Return values where the field is larger than this integer.

balance.gte
integer

Return values where the field is larger than or equal to this integer.

balance.lt
integer

Return values where the field is less than this integer.

balance.lte
integer

Return values where the field is less than or equal to this integer.

currency
string

An ISO 4217 currency code. Only "GBP" is supported for now.

customer_id
string

The customer_id for the customer that is the beneficiary of these accounts.

sort_code
string

The sort_code for the accounts

 

List a customer's current accounts

List current accounts for a specific customer

 
gethttps://api.griffin.sh/0.1/customers/customer_id/accounts
curl https://api.griffin.sh/0.1/customers/2eabe9aa-3d98-4009-a897-789e0798d4d1/accounts
import griffin
  
griffin.client_id = "AKd0QbT4fJfTsVSO0qExPVn0LmzNWUHpiYGRBgkP"
griffin.client_secret = "QnmN7YIM9TIyVpGcD+ltZtaI4aNpGU/txYC4MH1/"
accounts = griffin.Accounts.list()
  
  
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "4c4dbaa1-dbfe-4430-a0be-878a54bf353b",
    "resource": "account",
    "customer_id": "2eabe9aa-3d98-4009-a897-789e0798d4d1",
    "account_type": "checking",
    "sort_code": "12-34-56",
    "available_balance": 0,
    "pending_balance": 0,
    "total_balance": 0,
    "currency": "GBP",
    "account_number": 31926819
  }
]

Query Params

account_number
string

The account_number for the account

account_type
string

The account_type for the account. Must be either "checking" or "savings"

balance
object

The current balance of the account, in integer pence.

balance.gt
integer

Return values where the field is larger than this integer.

balance.gte
integer

Return values where the field is larger than or equal to this integer.

balance.lt
integer

Return values where the field is less than this integer.

balance.lte
integer

Return values where the field is less than or equal to this integer.

currency
string

An ISO 4217 currency code. Only "GBP" is supported for now.

customer_id
string

The customer_id for the customer that is the beneficiary of these accounts.

sort_code
string

The sort_code for the accounts

 

Get a single current account

Retrieve details on a single current account, including the current balance.

 
gethttps://api.griffin.sh/0.1/accounts/account_id
curl https://api.griffin.sh/0.1/accounts/4c4dbaa1-dbfe-4430-a0be-878a54bf353b
import griffin
  
griffin.client_id = "AKd0QbT4fJfTsVSO0qExPVn0LmzNWUHpiYGRBgkP"
griffin.client_secret = "QnmN7YIM9TIyVpGcD+ltZtaI4aNpGU/txYC4MH1/"
accounts = griffin.Accounts.get("4c4dbaa1-dbfe-4430-a0be-878a54bf353b")
A binary file was returned

You couldn't be authenticated

{
  "id": "4c4dbaa1-dbfe-4430-a0be-878a54bf353b",
  "resource": "account",
  "customer_id": "2eabe9aa-3d98-4009-a897-789e0798d4d1",
  "account_type": "checking",
  "sort_code": "12-34-56",
  "available_balance": 0,
  "pending_balance": 0,
  "total_balance": 0,
  "currency": "GBP",
  "account_number": 31926819
}

Path Params

account_id
string
required

The bank account ID

 

Transactions

 

The Transactions API endpoints provide read-only aggregations of other payments and events impacting a given Current Account.

List account transactions

Retrieve a list of account transactions

 
gethttps://api.griffin.sh/0.1/accounts/account_id/transactions
curl https://api.griffin.sh/0.1/accounts/4c4dbaa1-dbfe-4430-a0be-878a54bf353b/transactions
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "6190844b-6fe3-4639-a69b-a68a0d72e3cc",
    "resource": "transaction",
    "transaction": {
      "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
      "resource": "fps",
      "status": "settled",
      "amount": 12345,
      "description": "Paying the bills",
      "effective_at": "2016-01-27T00:00:00Z",
      "settled_at": "2016-01-28T00:00:00Z",
    }
  },
  {
    "id": "276c506a-424d-4fef-9210-d4e6165f86cf",
    "resource": "transaction",
    "transaction": {
      "id": "3e152ce2-62d5-4583-8758-3fbdbd1ef85f",
      "resource": "chaps",
      "status": "settled",
      "amount": 12345,
      "description": "New house purchase",
      "effective_at": "2017-06-27T00:00:00Z",
      "settled_at": "2016-01-28T00:00:00Z",
    }
  },
  {
    "id": "644b01d2-2cdf-469f-8456-26b7df25bbe6",
    "resource": "transaction",
    "transaction": {
      "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
      "resouce": "sepa",
      "status": "settled",
      "amount": 12345,
      "description": "Paying back Pavle.",
      "effective_at": "2017-08-27T00:00:00Z",
      "settled_at": "2016-01-28T00:00:00Z",
    }
  }
]

Path Params

account_id
string
required

The account_id for the account you are trying to retrieve the transactions for.

Query Params

resource
string

The transaction type - one of fps, chaps, or sepa

status
string

The transaction status - one of pending, cancelled, failed or settled.

amount
object

The amount of the transaction, in integer pence.

amount.gt
integer

Return values where the field is larger than this integer.

amount.gte
integer

Return values where the field is larger than or equal to this integer.

amount.lt
integer

Return values where the field is less than this integer.

amount.lte
integer

Return values where the field is less than or equal to this integer.

description
string

A simple description of the transaction.

effective_at
object

The timestamp at which the transaction was entered into the system.

settled_at
object

The timestamp at which the transaction was settled by the payment scheme.

settled_at.before
datetime
settled_at.after
datetime
 

Get an account transaction

Retrieve a specific account transaction

 
gethttps://api.griffin.sh/0.1/accounts/account_id/transactions/transaction_id
curl https://api.griffin.sh/0.1/accounts/4c4dbaa1-dbfe-4430-a0be-878a54bf353b/transactions/6190844b-6fe3-4639-a69b-a68a0d72e3cc
A binary file was returned

You couldn't be authenticated

{
  "id": "6190844b-6fe3-4639-a69b-a68a0d72e3cc",
  "resource": "transaction",
  "transaction": {
    "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
    "resource": "fps",
    "status": "settled",
    "amount": 12345,
    "description": "Paying the bills",
    "effective_at": "2016-01-27T00:00:00Z",
    "settled_at": "2016-01-28T00:00:00Z",
  }
}

Path Params

account_id
string
required

The account_id for the account you are trying to retrieve the transactions for.

transaction_id
string
required

The transaction_id for the specific transaction.

 

FPS

 

Faster Payments Scheme (FPS) provides near real-time payments as well as standing orders. Almost all internet and telephone banking payments in the UK are now processed via FPS. It is also used by PSPs to process other services. Faster Payments Scheme Ltd (FPSL) operates the FPS payment system.

Not all financial institutions participate in FPS. Transfers created through the FPS API to institutions that do not support FPS will result in a response with HTTP status 412 (Precondition Failed) as follows:

{
  "message": "Precondition Failed",
  "errors": [
    {
      "resource": "fps",
      "code": "invalid",
      "hint": "Target institution does not support FPS."
    }
  ]
}

Create an FPS payment

Schedule a new FPS payment.

 
posthttps://api.griffin.sh/0.1/payments/fps
curl https://api.griffin.sh/0.1/payments/fps
-X POST
-d '{"from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
     "amount": 12345,
     "description": "Paying the bills",
     "to_sort_code": "34-56-87",
     "to_account_number": "5823485"}'
import griffin
  
griffin.client_id = "AKd0QbT4fJfTsVSO0qExPVn0LmzNWUHpiYGRBgkP"
griffin.client_secret = "QnmN7YIM9TIyVpGcD+ltZtaI4aNpGU/txYC4MH1/"
griffin.Payments.FPS.create(
  from_account_id = "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  amount = 12345,
  description = "Paying the bills",
  to_sort_code = "34-56-87",
  to_account_number = "5823485"
)
A binary file was returned

You couldn't be authenticated

{
  "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
  "resource": "fps",
  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  "status": "pending",
  "amount": 12345,
  "description": "Paying the bills",
  "to_sort_code": "34-56-87",
  "to_account_number": "5823485",
  "created_at": "2016-01-27T00:00:00Z",
  "updated_at": "2016-01-27T00:00:00Z",
  "effective_at": "2016-01-27T00:00:00Z",
}
{
  "message": "Precondition Failed",
  "errors":
  [
    {
      "resource": "fps",
      "code": "invalid",
      "hint": "Target institution does not support FPS"
    } 
  ]
}

Body Params

from_account_id
string
required

The account_id (UUID) the transfer is to be paid from.

amount
int32
required

The FPS transaction amount, in integer pence. Cannot be more than 25000000

description
string

A simple description of the transaction.

to_sort_code
string
required

The sort code of the target account to be paid

to_account_number
string
required

The account number the transfer will be paid to.

 

List FPS payments

Retrieve current and prior FPS payments. Takes a number of optional query parameters that can be used to filter the returned resources.

 
gethttps://api.griffin.sh/0.1/payments/fps
curl https://api.griffin.sh/0.1/payments/fps
import griffin
  
griffin.client_id = "AKd0QbT4fJfTsVSO0qExPVn0LmzNWUHpiYGRBgkP"
griffin.client_secret = "QnmN7YIM9TIyVpGcD+ltZtaI4aNpGU/txYC4MH1/"
griffin.Payments.FPS.list()
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
    "resource": "fps",
    "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
    "status": "pending",
    "amount": 12345,
    "description": "Paying the bills",
    "to_sort_code": "34-56-87",
    "to_account_number": "5823485",
    "created_at": "2016-01-27T00:00:00Z",
    "updated_at": "2016-01-27T00:00:00Z",
    "effective_at": "2016-01-27T00:00:00Z"
  }
]

Query Params

status
string

One of pending, cancelled, failed or settled

from_account_id
string

The account_id the payment originated from.

to_sort_code
string

The sort code the payment was scheduled to go to.

to_account_number
string

The account number the payment was scheduled to go to.

effective_at
object

The timestamp at which the transaction was scheduled to take effect.

effective_at.before
datetime
effective_at.after
datetime
settled_at
object

The timestamp at which the payment was settled by the payment scheme.

settled_at.before
datetime
settled_at.after
datetime
 

Get an FPS payment

Retrieve details on an existing FPS payment

 
gethttps://api.griffin.sh/0.1/payments/fps/fps_payment_id
curl https://api.griffin.sh/0.1/payments/fps/10108533-f7c1-45c6-9977-8d8de12fd227
A binary file was returned

You couldn't be authenticated

{
  "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
  "resource": "fps",
  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  "status": "pending",
  "amount": 12345,
  "description": "Paying the bills",
  "to_sort_code": "34-56-87",
  "to_account_number": "5823485",
  "created_at": "2016-01-27T00:00:00Z",
  "updated_at": "2016-01-27T00:00:00Z",
  "effective_at": "2016-01-27T00:00:00Z",
}

Path Params

fps_payment_id
string
required

The Griffin UUID for the FPS payment.

 

Cancel an FPS payment

Cancel an outstanding FPS payment

 
posthttps://api.griffin.sh/0.1/payments/fps/fps_payment_id/cancel
curl -X POST https://api.griffin.sh/0.1/payments/fps/10108533-f7c1-45c6-9977-8d8de12fd227/cancel
import griffin
  
griffin.client_id = "AKd0QbT4fJfTsVSO0qExPVn0LmzNWUHpiYGRBgkP"
griffin.client_secret = "QnmN7YIM9TIyVpGcD+ltZtaI4aNpGU/txYC4MH1/"
griffin.Payments.FPS.list()
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
    "resource": "fps",
    "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
    "status": "cancelled",
    "amount": 12345,
    "description": "Paying the bills",
    "to_sort_code": "34-56-87",
    "to_account_number": "5823485",
    "created_at": "2016-01-27T00:00:00Z",
    "updated_at": "2016-01-27T00:00:00Z",
    "effective_at": "2016-01-27T00:00:00Z"
  }
]

Path Params

fps_payment_id
string
required

The ID of the FPS payment to be cancelled.

 

CHAPS

 

CHAPS is the UK’s real-time, high-value sterling interbank payment system, where payments are settled over the Bank's Real Time Gross Settlement (RTGS) infrastructure. CHAPS processes both wholesale (eg, international payments) and retail payments (eg, house purchases). CHAPS Clearing Company Ltd operates the CHAPS payment system.

Create a CHAPS payment

Schedule a new CHAPS payment.

 
posthttps://api.griffin.sh/0.1/payments/chaps
curl https://api.griffin.sh/0.1/payments/chaps
-X POST
-d '{"from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
     "amount": 12345,
     "description": "New house purchase",
     "to_sort_code": "57-82-83",
     "to_account_number": "5823485"}'
A binary file was returned

You couldn't be authenticated

{
  "id": "3e152ce2-62d5-4583-8758-3fbdbd1ef85f",
  "resource": "chaps",
  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  "status": "pending",
  "amount": 12345,
  "description": "New house purchase",
  "to_sort_code": "57-82-83",
  "to_account_number": "5823485",
  "created_at": "2017-06-27T00:00:00Z",
  "updated_at": "2017-06-27T00:00:00Z",
  "effective_at": "2017-06-27T00:00:00Z",
}

Body Params

from_account_id
string
required

The account_id (UUID) the transfer is to be paid from.

amount
int32
required

The transaction amount, in integer pence.

description
string

A description of the transaction.

to_sort_code
string
required

The sort code of the target account to be paid

to_account_number
string
required

The account number the transfer will be paid to.

 

List CHAPS payments

Retrieve current and prior CHAPS payments. Takes a number of optional query parameters that can be used to filter the returned resources.

 
gethttps://api.griffin.sh/0.1/payments/chaps
curl https://api.griffin.sh/0.1/payments/chaps
A binary file was returned

You couldn't be authenticated

[
  {
  	"id": "3e152ce2-62d5-4583-8758-3fbdbd1ef85f",
    "resource": "chaps",
	  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
	  "status": "pending",
	  "amount": 12345,
	  "description": "New house purchase",
	  "to_sort_code": "57-82-83",
	  "to_account_number": "5823485",
    "created_at": "2017-06-27T00:00:00Z",
	  "updated_at": "2017-06-27T00:00:00Z",
	  "effective_at": "2017-06-27T00:00:00Z",
	}
]

Query Params

status
string

One of pending, cancelled, failed or settled.

from_account_id
string

The account_id the payment originated from.

to_sort_code
string

The sort code the payment was scheduled to go to.

to_account_number
string

The account number the payment was scheduled to go to.

effective_at
object

The timestamp at which the transaction was scheduled to take effect.

effective_at.before
datetime
effective_at.after
datetime
settled_at
object

The timestamp at which the payment was settled by the payment scheme.

settled_at.before
datetime
settled_at.after
datetime
 

Get a CHAPS payment

Retrieve details on an existing CHAPS payment

 
gethttps://api.griffin.sh/0.1/payments/chaps/chaps_payment_id
curl https://api.griffin.sh/0.1/payments/chaps/3e152ce2-62d5-4583-8758-3fbdbd1ef85f
A binary file was returned

You couldn't be authenticated

{
  "id": "3e152ce2-62d5-4583-8758-3fbdbd1ef85f",
  "resource": "chaps",
  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  "status": "pending",
  "amount": 12345,
  "description": "New house purchase",
  "to_sort_code": "57-82-83",
  "to_account_number": "5823485",
  "created_at": "2017-06-27T00:00:00Z",
  "updated_at": "2017-06-27T00:00:00Z",
  "effective_at": "2017-06-27T00:00:00Z",
}

Path Params

chaps_payment_id
string
required

The ID for the CHAPS payment, as returned by the CHAPS payment creation or list endpoints.

 

Cancel a CHAPS payment

Cancel an outstanding CHAPS payment

 
posthttps://api.griffin.sh/0.1/payments/chaps/chaps_payment_id/cancel
curl -X POST https://api.griffin.sh/0.1/payments/chaps/3e152ce2-62d5-4583-8758-3fbdbd1ef85f/cancel
import griffin
  
griffin.client_id = "AKd0QbT4fJfTsVSO0qExPVn0LmzNWUHpiYGRBgkP"
griffin.client_secret = "QnmN7YIM9TIyVpGcD+ltZtaI4aNpGU/txYC4MH1/"
griffin.Payments.FPS.list()
A binary file was returned

You couldn't be authenticated

{
  "id": "3e152ce2-62d5-4583-8758-3fbdbd1ef85f",
  "resource": "chaps",
  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  "status": "cancelled",
  "amount": 12345,
  "description": "New house purchase",
  "to_sort_code": "57-82-83",
  "to_account_number": "5823485",
  "created_at": "2017-06-27T00:00:00Z",
  "updated_at": "2017-06-27T00:00:00Z",
  "effective_at": "2017-06-27T00:00:00Z",
}

Path Params

chaps_payment_id
string
required

The ID for the CHAPS payment to be cancelled.

 

SEPA

 

Create a SEPA payment

Schedule a new SEPA payment.

 
posthttps://api.griffin.sh/0.1/payments/sepa
curl https://api.griffin.sh/0.1/payments/sepa
-X POST
-d '{"from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
     "amount": 12345,
     "description": "Paying back Pavle.",
     "to_iban": "IE64BOFI90583812345678"}'
A binary file was returned

You couldn't be authenticated

{
  "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
  "resource": "sepa",
  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  "status": "pending",
  "amount": 12345,
  "description": "Paying back Pavle.",
  "to_iban": "IE64BOFI90583812345678",
  "created_at": "2017-08-27T00:00:00Z",
  "updated_at": "2017-08-27T00:00:00Z",
  "effective_at": "2017-08-27T00:00:00Z",
}

Body Params

from_account_id
string
required

The account_id to send the payment from.

amount
int32
required

The transaction amount, in integer pence.

description
string

A description of the transaction.

to_iban
string
required

The IBAN of the target account to be paid

 

List SEPA payments

Retrieve current and prior SEPA payments. Takes a number of optional query parameters that can be used to filter the returned resources.

 
gethttps://api.griffin.sh/0.1/payments/sepa
curl https://api.griffin.sh/v0.1/payments/sepa
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
    "resource": "sepa",
    "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
    "status": "pending",
    "amount": 12345,
    "description": "Paying back Pavle.",
    "to_iban": "IE64BOFI90583812345678",
    "created_at": "2017-08-27T00:00:00Z",
    "updated_at": "2017-08-27T00:00:00Z",
    "effective_at": "2017-08-27T00:00:00Z",
  }
]

Query Params

status
string

One of pending, cancelled, failed or settled.

from_account_id
string

The account_id the payment originated from.

to_sort_code
string

The sort code the payment was scheduled to go to.

to_account_number
string

The account number the payment was scheduled to go to.

effective_at
object

The timestamp at which the payment was scheduled to take effect.

effective_at.before
datetime
effective_at.after
datetime
settled_at
object

The timestamp at which the payment was settled by the payment scheme.

settled_at.before
datetime
settled_at.after
datetime
 

Get a SEPA payment

Retrieve details on an existing SEPA payment

 
gethttps://api.griffin.sh/0.1/payments/sepa/sepa_payment_id
curl https://api.griffin.sh/0.1/payments/sepa/10108533-f7c1-45c6-9977-8d8de12fd227
A binary file was returned

You couldn't be authenticated

{
  "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
  "resource": "sepa",
  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  "status": "pending",
  "amount": 12345,
  "description": "Paying back Pavle.",
  "to_iban": "IE64BOFI90583812345678",
  "created_at": "2017-08-27T00:00:00Z",
  "updated_at": "2017-08-27T00:00:00Z",
  "effective_at": "2017-08-27T00:00:00Z",
}

Path Params

sepa_payment_id
string
required

The ID for the SEPA payment to be retrieved.

 

Cancel a SEPA payment

Cancel an outstanding SEPA payment

 
posthttps://api.griffin.sh/0.1/payments/sepa/sepa_payment_id/cancel
curl -X POST https://api.griffin.sh/0.1/payments/sepa/10108533-f7c1-45c6-9977-8d8de12fd227/cancel
A binary file was returned

You couldn't be authenticated

{
  "id": "10108533-f7c1-45c6-9977-8d8de12fd227",
  "resource": "sepa",
  "from_account_id": "156cfe06-776b-4cff-a744-8fdc3d5fb34a",
  "status": "pending",
  "amount": 12345,
  "description": "Paying back Pavle.",
  "to_iban": "IE64BOFI90583812345678",
  "created_at": "2017-08-27T00:00:00Z",
  "updated_at": "2017-08-27T00:00:00Z",
  "effective_at": "2017-08-27T00:00:00Z",
}

Path Params

sepa_payment_id
string
required

The ID for the SEPA payment to be cancelled.