Griffin Transactions API
A transaction represents funds deposited or withdrawn from a bank account. Read more about transactions [in our guides](/docs/guides/transactions).
A transaction represents funds deposited or withdrawn from a bank account. Read more about transactions [in our guides](/docs/guides/transactions).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/griffin-transactions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Griffin Transactions API
version: ''
description: '## Introduction
The Griffin API is based on REST.'
servers:
- url: https://api.griffin.com/
security:
- api-key-auth: []
tags:
- name: Transactions
description: 'A transaction represents funds deposited or withdrawn from a bank account.
Read more about transactions in our guides.'
paths:
/v0/bank/accounts/{bank-account-id}/transactions:
get:
tags:
- Transactions
description: 'Lists transactions on a bank account. Use an `Accept: application/vnd.griffin+xero-csv` header to receive transactions in a CSV format suitable for importing into Xero.'
parameters:
- in: query
name: sort
description: ''
required: false
schema:
type: string
enum:
- -created-at
- processed-at
- -processed-at
- created-at
- x-allOf:
- type: integer
format: int64
- minimum: 1
maximum: 201
name: page[size]
required: false
description: ''
in: query
schema:
type: integer
format: int64
maximum: 200
minimum: 1
- in: query
name: page[before]
description: A base64 encoded opaque string returned in paginated responses.
required: false
schema:
type: string
format: byte
- in: query
name: page[after]
description: A base64 encoded opaque string returned in paginated responses.
required: false
schema:
type: string
format: byte
- in: query
name: include
description: For each transaction returned, include its payment (if one exists) in the response under the `included` attribute.
required: false
schema:
type: string
enum:
- payment
- in: query
name: filter[processed-at][lte]
description: Return only transactions processed at or before the given timestamp.
required: false
schema:
type: string
format: date-time
- in: query
name: filter[processed-at][lt]
description: Return only transactions processed before the given timestamp.
required: false
schema:
type: string
format: date-time
- in: query
name: filter[processed-at][gte]
description: Return only transactions processed at or after the given timestamp.
required: false
schema:
type: string
format: date-time
- in: query
name: filter[processed-at][gt]
description: Return only transactions processed after the given timestamp.
required: false
schema:
type: string
format: date-time
- required: true
name: bank-account-id
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
account-transactions:
type: array
items:
type: object
properties:
account-transaction-url:
type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-transaction-id:
type: string
format: ''
title: transaction-id
required: true
name: transaction-id
required:
- bank-account-transaction-id
x-anyOf:
- type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-transaction-id:
type: string
format: ''
title: transaction-id
required: true
name: transaction-id
required:
- bank-account-transaction-id
- type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-transaction-id:
type: string
format: ''
title: transaction-id
required: true
name: transaction-id
required:
- bank-account-transaction-id
title: account-transaction-url
description: Link to the transaction resource.
example: /v0/bank/transactions/tr.ICB0cmFuc2FjdGlvbi1pZA
processed-at:
format: date-time
type: string
description: When the transaction was entered into the account ledger.
title: processed-at
post-datetime:
format: date-time
type: string
description: Deprecated. Please use `processed-at` instead.
title: post-datetime
balance-change-direction:
title: balance-change-direction
enum:
- credit
- debit
type: string
description: Specifies the direction of a balance change.
origin-metadata:
type: object
additionalProperties:
type: string
title: origin-metadata
description: Identifiers from the system that originated the hold or transaction. Keys and values are originator-specific.
effective-at:
format: date-time
type: string
description: When the transaction actually takes effect on the account balance.
title: effective-at
transaction-origin-type:
title: transaction-origin-type
enum:
- interest
- deposit
- manual-payment
- card-transaction
- fee
- transfer
- payment
- commission
type: string
description: Indicates the source of the transaction. For a description of each origin type, see our guide to [transactions](/docs/guides/transactions).
payment-url:
type: string
title: payment-url
example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA
description: Link to the payment resource.
reference:
type: string
title: reference
description: This field is provided by the person or entity who made the payment.
example: Restaurant Charge - Sushi Palace
account-url:
type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-id:
type: string
format: ''
title: bank-account-id
required: true
name: bank-account-id
required:
- bank-account-id
x-anyOf:
- type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-id:
type: string
format: ''
title: bank-account-id
required: true
name: bank-account-id
required:
- bank-account-id
- type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-id:
type: string
format: ''
title: bank-account-id
required: true
name: bank-account-id
required:
- bank-account-id
title: account-url
description: Link to the bank account resource.
example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA
balance-change:
required:
- currency
- value
properties:
currency:
enum:
- GBP
type: string
title: currency code
example: GBP
value:
type: string
title: value
description: The value as a decimal-formatted string
example: '1000.00'
type: object
additionalProperties: false
title: balance-change
description: Shows the account [balance change](/docs/terms/balance-change).
account-balance:
required:
- currency
- value
properties:
currency:
enum:
- GBP
type: string
title: currency code
example: GBP
value:
type: string
title: value
description: The value as a decimal-formatted string
example: '1000.00'
type: object
additionalProperties: false
title: account-balance
description: Shows the [account balance](/docs/terms/account-balance).
description:
type: string
title: description
description: "This field is provided by the bank to help customers understand the\n nature of the transaction."
example: Interest earned in April from Alexa account.
required:
- account-url
- account-transaction-url
- account-balance
- balance-change
- balance-change-direction
- transaction-origin-type
- processed-at
- effective-at
title: account-transaction
links:
type: object
properties:
prev:
type:
- string
- 'null'
next:
type:
- string
- 'null'
required:
- prev
- next
title: links
included:
title: ''
description: Present only when the request uses the `include` parameter.
required:
- account-transactions
- links
title: ''
'400':
description: ''
'401':
description: Requires an API key to continue
headers:
www-authenticate:
description: Returns `GriffinSession` if no valid authentication is found.
schema:
type: string
'404':
description: ''
summary: List transactions
operationId: getV0BankAccountsByBankAccountIdTransactions
x-operation-id-source: derived
/v0/bank/transactions/{transaction-id}:
get:
tags:
- Transactions
description: Yields a bank account transaction
parameters:
- required: true
name: transaction-id
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
account-transaction-url:
type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-transaction-id:
type: string
format: ''
title: transaction-id
required: true
name: transaction-id
required:
- bank-account-transaction-id
x-anyOf:
- type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-transaction-id:
type: string
format: ''
title: transaction-id
required: true
name: transaction-id
required:
- bank-account-transaction-id
- type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-transaction-id:
type: string
format: ''
title: transaction-id
required: true
name: transaction-id
required:
- bank-account-transaction-id
title: account-transaction-url
description: Link to the transaction resource.
example: /v0/bank/transactions/tr.ICB0cmFuc2FjdGlvbi1pZA
processed-at:
format: date-time
type: string
description: When the transaction was entered into the account ledger.
title: processed-at
post-datetime:
format: date-time
type: string
description: Deprecated. Please use `processed-at` instead.
title: post-datetime
balance-change-direction:
title: balance-change-direction
enum:
- credit
- debit
type: string
description: Specifies the direction of a balance change.
origin-metadata:
type: object
additionalProperties:
type: string
title: origin-metadata
description: Identifiers from the system that originated the hold or transaction. Keys and values are originator-specific.
effective-at:
format: date-time
type: string
description: When the transaction actually takes effect on the account balance.
title: effective-at
transaction-origin-type:
title: transaction-origin-type
enum:
- interest
- deposit
- manual-payment
- card-transaction
- fee
- transfer
- payment
- commission
type: string
description: Indicates the source of the transaction. For a description of each origin type, see our guide to [transactions](/docs/guides/transactions).
payment-url:
type: string
title: payment-url
example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA
description: Link to the payment resource.
reference:
type: string
title: reference
description: This field is provided by the person or entity who made the payment.
example: Restaurant Charge - Sushi Palace
account-url:
type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-id:
type: string
format: ''
title: bank-account-id
required: true
name: bank-account-id
required:
- bank-account-id
x-anyOf:
- type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-id:
type: string
format: ''
title: bank-account-id
required: true
name: bank-account-id
required:
- bank-account-id
- type: string
x-allOf:
- type: string
- {}
- type: object
properties:
bank-account-id:
type: string
format: ''
title: bank-account-id
required: true
name: bank-account-id
required:
- bank-account-id
title: account-url
description: Link to the bank account resource.
example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA
balance-change:
required:
- currency
- value
properties:
currency:
enum:
- GBP
type: string
title: currency code
example: GBP
value:
type: string
title: value
description: The value as a decimal-formatted string
example: '1000.00'
type: object
additionalProperties: false
title: balance-change
description: Shows the account [balance change](/docs/terms/balance-change).
account-balance:
required:
- currency
- value
properties:
currency:
enum:
- GBP
type: string
title: currency code
example: GBP
value:
type: string
title: value
description: The value as a decimal-formatted string
example: '1000.00'
type: object
additionalProperties: false
title: account-balance
description: Shows the [account balance](/docs/terms/account-balance).
description:
type: string
title: description
description: "This field is provided by the bank to help customers understand the\n nature of the transaction."
example: Interest earned in April from Alexa account.
required:
- account-url
- account-transaction-url
- account-balance
- balance-change
- balance-change-direction
- transaction-origin-type
- processed-at
- effective-at
title: account-transaction
'400':
description: ''
'401':
description: Requires an API key to continue
headers:
www-authenticate:
description: Returns `GriffinSession` if no valid authentication is found.
schema:
type: string
'404':
description: ''
summary: Get transaction
operationId: getV0BankTransactionsByTransactionId
x-operation-id-source: derived
components:
securitySchemes:
api-key-auth:
type: apiKey
in: header
name: Authorization
description: 'API token authentication.
It should follow the format: `GriffinAPIKey g-test-MyKey-XXXXXXX`'
x-tagGroups:
- name: Getting started
tags:
- API keys
- Connectivity
- Navigation
- Events
- Webhooks
- Message Signatures
- name: Customer verifications
tags:
- Legal persons
- Legal person history
- Claims
- Workflows
- Verifications
- Decisions
- Companies House
- Reliance onboarding
- name: Banking
tags:
- Bank accounts
- Bank account events
- Bank account restrictions
- Bank account holds
- Pooled account membership
- Payments
- Transactions
- Payees
- Confirmation of payee
- Open banking
- name: Team management
tags:
- Organizations
- Users
- Roles
- Memberships
- Invitations
x-id:
- default