aid: griffin name: Griffin description: >- Griffin is a UK-regulated bank (Financial Conduct Authority authorised, Prudential Regulation Authority regulated) offering Banking-as-a-Service via a REST API. Fintechs and businesses embed FSCS-eligible bank accounts, payments (Faster Payments, BACS, CHAPS, book transfers, Confirmation of Payee), automated KYC/KYB onboarding (Verify), client-money and safeguarding accounts, savings accounts, and open banking directly into their own products. The v0 API uses API-key authentication with mandatory HTTP message signatures in live, documented webhooks, a full sandbox, and a first-party MCP server. accessModel: pricing: unknown onboarding: self-serve trial: false try_now: false public: false label: Self-serve signup confidence: medium source: - authentication generated: '2026-07-22' method: derived image: https://griffin.com/social.png url: https://raw.githubusercontent.com/api-evangelist/griffin/refs/heads/main/apis.yml x-type: company x-source: vc-portfolio x-backed-by: - eqt-ventures - seedcamp x-tier: enriched x-tier-reason: portfolio-lead specificationVersion: '0.20' created: '2026-07-17' modified: '2026-07-19' tags: - Company - Fintech - Banking - Banking as a Service - Payments - KYC - Open Banking - Bank Accounts - Financial Services apis: - aid: griffin:griffin-api-keys-api name: Griffin API keys API description: >- The `api-key-secret` field is only shown once when you create an API key. We cannot recover the value, so you should store it securely. Pass an `Authorization` header with `GriffinAPIKey api-key-secret` to authenticate. Each API key is only valid for one [organization](#tag/Organizations). If you are a [member](#tag/Memberships) of multiple organizations, you will need to create a new API key for each one. There is currently no limit on the number of API keys you can create. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - API keys properties: - type: OpenAPI url: openapi/griffin-api-keys-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-bank-account-holds-api name: Griffin Bank account holds API description: The Bank account holds API from Griffin — 2 operation(s) for bank account holds. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Bank account holds properties: - type: OpenAPI url: openapi/griffin-bank-account-holds-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-bank-account-restrictions-api name: Griffin Bank account restrictions API description: "Restrictions prevent payments on a bank account. A `freeze` blocks outbound payments while\ \ still allowing inbound payments. A `block` prevents both inbound and outbound payments. \n\n Restrictions\ \ can be applied at any point in the account lifecycle (`opening`, `open`, `closing`, or `closed`),\ \ and multiple restrictions can be active on the same account simultaneously. Each restriction is\ \ independent — lifting one does not affect others. \n\n Restrictions can only be updated or lifted\ \ if `active`. \n\n For more information, see our guide on [managing restrictions](/docs/guides/managing-restrictions)." humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Bank account restrictions properties: - type: OpenAPI url: openapi/griffin-bank-account-restrictions-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-bank-accounts-api name: Griffin Bank accounts API description: >- Bank accounts are used for managing funds. Every bank account is opened against a [bank product](/docs/guides/bank-products), which determines the account's behaviour (type, pooled vs dedicated, interest, notice period, etc.). Some account types are for managing your own funds and some are for managing your customers' funds. For information, check out our guides: - [Opening a bank account](/docs/guides/opening-a-bank-account). - [Bank products](/docs/guides/bank-products). - [Types of bank account](/docs/guides/types-of-bank-accounts). humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Bank accounts properties: - type: OpenAPI url: openapi/griffin-bank-accounts-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-claims-api name: Griffin Claims API description: >- A [claim](/docs/terms/claim) is an unverified data point or series of data points attached to a [legal person](#tag/Legal-persons). Claims are verified by running a [verification](#tag/Verifications) against the legal person. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Claims properties: - type: OpenAPI url: openapi/griffin-claims-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-companies-house-api name: Griffin Companies House API description: The Companies House API from Griffin — 1 operation(s) for companies house. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Companies House properties: - type: OpenAPI url: openapi/griffin-companies-house-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-confirmation-of-payee-api name: Griffin Confirmation of payee API description: The Confirmation of payee API from Griffin — 2 operation(s) for confirmation of payee. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Confirmation of payee properties: - type: OpenAPI url: openapi/griffin-confirmation-of-payee-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-connectivity-api name: Griffin Connectivity API description: The Connectivity API from Griffin — 1 operation(s) for connectivity. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Connectivity properties: - type: OpenAPI url: openapi/griffin-connectivity-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-decisions-api name: Griffin Decisions API description: The Decisions API from Griffin — 1 operation(s) for decisions. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Decisions properties: - type: OpenAPI url: openapi/griffin-decisions-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-events-api name: Griffin Events API description: The Events API from Griffin — 2 operation(s) for events. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Events properties: - type: OpenAPI url: openapi/griffin-events-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-invitations-api name: Griffin Invitations API description: >- Invitations enable [users](#tag/Users) to create new [memberships](#tag/Memberships) for their [organization](#tag/Organizations). The new membership is only created once when the invitation is accepted. If the `email-address` provided is linked to an existing user, the invitation will create a membership for that user. This does not affect any other memberships the user may have. If the `email-address` is not linked to an existing user, the invitee will be prompted to set up a Griffin account when they accept the invitation. When a new membership is created, the invited user is assigned the [role](#tag/Roles) with the most limited set of capabilities by default. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Invitations properties: - type: OpenAPI url: openapi/griffin-invitations-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-legal-person-history-api name: Griffin Legal person history API description: The Legal person history API from Griffin — 1 operation(s) for legal person history. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Legal person history properties: - type: OpenAPI url: openapi/griffin-legal-person-history-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-legal-persons-api name: Griffin Legal persons API description: >- In the Griffin API, your organization and your customers are all represented by [legal persons](/docs/terms/legal-person). When you sign up with Griffin, your organization will be automatically assigned a unique legal person ID. When onboarding your customers, you will create legal persons to represent them. Every legal person has a `legal-person-type` with the value: `individual` or `corporation`. An `individual` represents an individual human. A `corporation` represents any non-human entity (not just companies). A corporation should have at least one [director](/docs/terms/director) or [person with significant control](/docs/terms/person-with-significant-control) attached to it, who must also be represented as a distinct `individual` legal person. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Legal persons properties: - type: OpenAPI url: openapi/griffin-legal-persons-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-memberships-api name: Griffin Memberships API description: >- Memberships represents the relationship between a [user](#tag/Users) and an [organization](#tag/Organizations). A membership must have at least one [role](#tag/Roles) assigned to it. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Memberships properties: - type: OpenAPI url: openapi/griffin-memberships-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-message-signatures-api name: Griffin Message Signatures API description: >- Message Signatures confirm the identity of the sender and integrity of request messages. Key points: - Uses Ed25519 algorithm - Requires registering a public key with Griffin - Signatures cover specific message components - Includes `Signature-Input` and `Signature` headers [How to create message signatures](/docs/guides/how-to-create-message-signatures) provides a detailed guide. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Message Signatures properties: - type: OpenAPI url: openapi/griffin-message-signatures-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-navigation-api name: Griffin Navigation API description: The Navigation API from Griffin — 1 operation(s) for navigation. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Navigation properties: - type: OpenAPI url: openapi/griffin-navigation-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-open-banking-api name: Griffin Open banking API description: >- Open banking allows regulated third-party providers (TPPs) to access your customers' account data or initiate payments on their behalf. Griffin partners with [tell.money](https://tell.money/) to provide the TPP-facing open banking APIs. You handle the consent flow — authenticating your customer and registering the consent with Griffin — and Griffin handles the resource requests from TPPs. For a full walkthrough, see our [open banking integration guide](/docs/guides/open-banking-customer-accounts). humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Open banking properties: - type: OpenAPI url: openapi/griffin-open-banking-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-organizations-api name: Griffin Organizations API description: >- The organization resource represents your company and acts as a container for the majority of other resources, including [legal persons](#tag/Legal-Persons) and [bank accounts](#tag/Bank-accounts). When you register for an account with Griffin, a new [organization](#tag/Organizations) is created alongside your [user](#tag/Users) account (unless you have received an [invitation](#tag/Invitations) to join an existing organization). Your [user](#tag/Users) account is associated with an [organization](#tag/Organizations) via a [membership](#tag/Memberships). Your [organization](#tag/Organization) can be in one of two modes: - `test-mode` for organizations created when you sign up for the sandbox. - `live-mode` for when you go live with Griffin. Learn more about [sandbox vs. live mode](/docs/guides/sandbox-vs-live-mode). humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Organizations properties: - type: OpenAPI url: openapi/griffin-organizations-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-payees-api name: Griffin Payees API description: "A payee is the person or business to whom you are paying money. When you create a payee,\ \ you need to provide their name (`\"account-holder\"`), and their bank account number (`\"account-number\"\ `) and sort code (`\"bank-id\"`). \n\n You may also register the outcome of a [Confirmation of Payee\ \ (CoP) check](#tag/Confirmation-of-payee) with your payee by supplying a `cop-request-url`. \n\n\ \ Read more about payees [in our guides](/docs/guides/create-a-payee)." humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Payees properties: - type: OpenAPI url: openapi/griffin-payees-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-payments-api name: Griffin Payments API description: "A payment captures the intent to move funds from a bank account to another bank account.\ \ Outbound payments can be made from your [bank account](#tag/Bank-accounts) to a [payee](#tag/Payees).\ \ Griffin accepts inbound payments to your bank accounts on your behalf. \n If it's your first time\ \ using our payments API, check out our guide for [sending payments](/docs/guides/sending-payments)" humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Payments properties: - type: OpenAPI url: openapi/griffin-payments-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-pooled-account-membership-api name: Griffin Pooled account membership API description: >- The Pooled account membership API from Griffin — 2 operation(s) for pooled account membership. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Pooled account membership properties: - type: OpenAPI url: openapi/griffin-pooled-account-membership-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-reliance-onboarding-api name: Griffin Reliance onboarding API description: >- Reliance onboarding allows you to create and submit an application on behalf of your customer, using information about them you have already collected. For more information, checkout our [onboarding guides](https://docs.griffin.com/docs/tags/onboarding). humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Reliance onboarding properties: - type: OpenAPI url: openapi/griffin-reliance-onboarding-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-roles-api name: Griffin Roles API description: >- A role represents a pre-defined set of capabilities that can be assigned to a [user](#tag/Users) via their [membership](#tag/Memberships) in an [organization](#tag/Organization). By default, the first user in an organization gets assigned an administration role. Subsequent users get assigned the most limited set of capabilities. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Roles properties: - type: OpenAPI url: openapi/griffin-roles-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-transactions-api name: Griffin Transactions API description: >- A transaction represents funds deposited or withdrawn from a bank account. Read more about transactions [in our guides](/docs/guides/transactions). humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Transactions properties: - type: OpenAPI url: openapi/griffin-transactions-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-users-api name: Griffin Users API description: >- Users represent individuals who use the Griffin platform. A user must have a [membership](#tag/Memberships) in at least one [organization](#tag/Organizations), and may have memberships in multiple organizations. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Users properties: - type: OpenAPI url: openapi/griffin-users-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-verifications-api name: Griffin Verifications API description: The Verifications API from Griffin — 4 operation(s) for verifications. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Verifications properties: - type: OpenAPI url: openapi/griffin-verifications-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-webhooks-api name: Griffin Webhooks API description: The Webhooks API from Griffin — 5 operation(s) for webhooks. humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Webhooks properties: - type: OpenAPI url: openapi/griffin-webhooks-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - aid: griffin:griffin-workflows-api name: Griffin Workflows API description: >- A [workflow](/docs/terms/workflow) determines which checks will be run against a [legal person](#tag/Legal-persons) as part of a [verification](#tag/Verifications) humanURL: https://docs.griffin.com/ baseURL: https://api.griffin.com/v0 tags: - Workflows properties: - type: OpenAPI url: openapi/griffin-workflows-api-openapi.yml - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api maintainers: - FN: Kin Lane email: kin@apievangelist.com - FN: APIs.json email: info@apis.io common: - type: Website url: https://griffin.com/ - type: DeveloperPortal url: https://docs.griffin.com/ - type: Documentation url: https://docs.griffin.com/ - type: APIReference url: https://docs.griffin.com/api - type: GettingStarted url: https://docs.griffin.com/docs/guides/get-started-with-the-api - type: Pricing url: https://griffin.com/pricing - type: SignUp url: https://app.griffin.com/register - type: Login url: https://app.griffin.com - type: Blog url: https://griffin.com/blog - type: Support url: https://docs.griffin.com/ - type: GitHubOrganization url: https://github.com/griffinbank - type: TermsOfService url: https://griffin.com/terms - type: PrivacyPolicy url: https://griffin.com/privacy - type: StatusPage url: https://status.griffin.com/ - type: ChangeLog url: https://updates.griffin.com/ - type: Postman url: https://github.com/griffinbank/griffin-postman - type: OpenAPI url: openapi/griffin-openapi-original.yml - type: Authentication url: authentication/griffin-authentication.yml - type: Conventions url: conventions/griffin-conventions.yml - type: ErrorCatalog url: errors/griffin-problem-types.yml - type: Lifecycle url: lifecycle/griffin-lifecycle.yml - type: Deprecation url: lifecycle/griffin-lifecycle.yml - type: Sandbox url: sandbox/griffin-sandbox.yml - type: ChangeLog url: changelog/griffin-changelog.yml - type: MCPServer url: mcp/griffin-mcp.yml - type: Packages url: packages/griffin-packages.yml - type: Webhooks url: asyncapi/griffin-webhooks.yml - type: DataModel url: data-model/griffin-data-model.yml - type: Conformance url: conformance/griffin-conformance.yml - type: LLMsTxt url: llms/griffin-llms.txt - type: Overlay url: overlays/griffin-api-overlay.yaml - type: AgentSkill url: skills/_index.yml - type: AgenticAccess url: agentic-access/griffin-agentic-access.yml - type: DomainSecurity url: security/griffin-domain-security.yml x-enrichment: date: '2026-07-19' status: backfilled pass: local-v1 note: backfilled from .gitignore signal + verified work evidence