swagger: '2.0' info: title: The Griffin API keys Payments API version: '' description: "## Introduction\n\nThe Griffin API is based on [REST](https://en.wikipedia.org/wiki/Representational_state_transfer).\nIt has resource-oriented URLs, accepts [JSON](https://www.json.org/json-en.html)-encoded request bodies, returns [JSON](https://www.json.org/json-en.html)-encoded responses, and uses standard HTTP response verbs and response codes.\n\nOur API deviates from strict RESTful principles if it makes sense to do so, such as when we enforce tighter access controls around certain operations.\nFor example, when closing a bank account: rather than send a PATCH request to the [bank account](#tag/Bank-accounts) resource to update it's status to `\"closed\"`, we provide a dedicated account closure resource.\n\nAnyone can [create an account](https://app.griffin.com/register) with Griffin and try out our API in [sandbox mode](/docs/guides/sandbox-vs-live-mode).\n\nNew to Griffin? Check out our [getting started guide](/docs/guides/get-started-with-the-api).\n\n## Navigation\n\nOur API is designed to be navigated programmatically. When you request any resource, you will find the URLs for related resources in the response body.\n\nThe API is structured as a tree with your [organization](#tag/Organizations) at the top. Everything that you own will be a sub-resource of your organization.\n\nTo bootstrap the navigation process, request the [index](#tag/Navigation/paths/~1v0~1index/get) endpoint: the response will contain your `organization-url`.\n\nFor a walkthrough, see our [getting started guide](/docs/guides/get-started-with-the-api).\n\n## Pagination\n\nOur list APIs support pagination (e.g. [list bank accounts](#tag/Bank-accounts/paths/~1v0~1organizations~1%7Borganization-id%7D~1bank~1accounts/get) and [list payments](#tag/Payments/paths/~1v0~1bank~1accounts~1%7Bbank-account-id%7D~1payments/get)).\nBy default, a list API returns up to 25 results. If there are more results available, the response payload will include links to the previous/next pages.\n\n### Change page size\n\nYou can request a different number of results (between 1 and 200, inclusive) by using the `page[size]` query parameter:\n\n```\nGET /v0/organizations/:id/bank/accounts?page[size]=100\n```\n\n### Navigating between pages\n\nList responses will include a `links` object with `prev` and `next` attributes, as shown below.\nPerform a GET request to the value of the attribute to fetch the previous/next page of results.\n\n```\n{\n \"accounts\": [\n // ...\n ],\n \"links\": {\n \"prev\": \"/v0/organizations/og.IG9yZ2FuaXphdGlvbi1pZA/bank/accounts?page[before]=djE6WxSPxfYUTnCU9XtWzj9gGA\",\n \"next\": \"/v0/organizations/og.IG9yZ2FuaXphdGlvbi1pZA/bank/accounts?page[after]=djE6aw79PXZySUOL16LD8HRJ3A\"\n }\n}\n\n```\nIf there is no previous or next page available, the value of the attribute will be null.\n\nAny other query parameters included in the initial request will also be included in the response payload's links.\nIf you want to change parameters (see [filtering and sorting](#section/Filtering-and-sorting)), request the first page and follow the links from there.\n\n## Filtering and sorting\n\n### Sort results\n\nBy default, resources will be listed in descending order, usually based on the `created-at` attribute.\nYou can change the sorting behaviour of a list of results by using the `sort` query parameter.\n\nFor example, to list bank accounts in ascending order (oldest first):\n\n```\nGET /v0/organizations/:id/bank/accounts?sort=created-at\n```\n\nTo _explicitly_ sort in descending order (newest first), prefix the sort attribute with `-`:\n\n```\nGET /v0/organizations/:id/bank/accounts?sort=-created-at\n```\n\n### Filter results\n\nSome list APIs allow you to filter the results.\nFilters are expressed as nested data structures encoded into query parameters.\nFor example, you can list bank accounts that are in either the `opening` or `open` state with:\n\n```\nGET /v0/organizations/:id/bank/accounts?filter[account-status][in][]=opening&filter[account-status][in][]=open\n```\n\nSimilarly, you can list legal persons with a specific `application-status`:\n\n```\nGET /v0/organizations/:id/legal-persons?filter[application-status][eq]=accepted\n```\n\n### Include resources\n\nSome list APIs allow you to include associated resources in the response, reducing the number of requests needed to fetch related data.\nFor instance, when listing bank accounts, you can include each bank account's beneficiary legal person by using the `include` query parameter:\n\n```\nGET /v0/organizations/:id/bank/accounts?include=beneficiary\n```\n\nThe response returns the usual list of bank accounts, but it will also have an `included` object with a `legal-persons` attribute:\n\n```\n{\n \"accounts\": [\n // ...\n ],\n \"links\": {\n // ...\n }\n \"included\": {\n \"legal-persons\": [\n // ...\n ]\n }\n}\n```\n\nCheck the documentation for each list API to see all options for sorting and filtering\n\n## Request limits\n\nEach organization is allowed up to 50 concurrent (in-flight) API requests. Exceeding this threshold results in a 429 - Too Many Requests response. Upon receiving a 429 response, you should implement a backoff strategy, pausing to allow your outstanding requests to complete before attempting new requests. To manage your request rate effectively and avoid surpassing this limit, consider using a controlled approach such as a finite pool of threads or workers.\n\n## Versioning\n\nThe Griffin API is versioned via a prefix in the URL.\nThe current version is v0.\nAn example endpoint is: https://api.griffin.com/v0/index.\n\nWe will not break your integration with a particular version for as long as we support that version.\nIf we release a new version, you will have 12 months to upgrade to it." host: api.griffin.com basePath: / schemes: - https consumes: - application/json produces: - application/json security: - api-key-auth: [] tags: - name: Payments 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)" paths: /v0/admissions/{admission-id}: get: tags: - Payments description: Yields an admission. parameters: - type: string required: true name: admission-id in: path responses: '200': schema: type: object properties: admission-status: title: admission-status enum: - cancelled - processing - returned - delivered type: string description: Specifies the progress of the inbound payment. admission-scheme-information: type: object properties: {} required: - payment-scheme title: admission-scheme-information x-anyOf: - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - fps type: string required: - end-to-end-identification - payment-scheme title: fps - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - book-transfer type: string required: - end-to-end-identification - payment-scheme title: book-transfer - type: object properties: payment-scheme: enum: - chaps type: string title: chaps required: - payment-scheme - type: object properties: payment-scheme: enum: - bacs type: string title: bacs required: - payment-scheme payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. admission-url: type: string title: admission-url example: /v0/admissions/pa.ICAgIGFkbWlzc2lvbi1pZA unique-scheme-identifier: type: string title: unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. original-unique-scheme-identifier: type: string title: original-unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 required: - admission-status - admission-scheme-information - payment-url - created-at - admission-url - unique-scheme-identifier - account-url title: admission description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '403': description: '' '404': description: '' summary: Get payment admission /v0/bank/accounts/{bank-account-id}/admissions: get: tags: - Payments description: Lists admissions targeting a bank account parameters: - in: query name: sort description: '' type: string required: false enum: - -created-at - created-at - x-allOf: - type: integer format: int64 - minimum: 1 maximum: 201 maximum: 200 minimum: 1 name: page[size] required: false type: integer description: '' format: int64 in: query - in: query name: page[before] description: A base64 encoded opaque string returned in paginated responses. type: string required: false format: byte - in: query name: page[after] description: A base64 encoded opaque string returned in paginated responses. type: string required: false format: byte - in: query name: filter[created-at][lte] description: Return only resources with a created-at less than or equal to the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][lt] description: Return only resources with a created-at less than the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][gte] description: Return only resources with a created-at greater than or equal to the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][gt] description: Return only resources with a created-at greater than the given timestamp. type: string required: false format: date-time - in: query name: filter[admission-status][in][] description: '' type: array required: false x-allOf: - {} - {} items: enum: - cancelled - processing - returned - delivered type: string - type: string required: true name: bank-account-id in: path responses: '200': schema: type: object properties: admissions: type: array items: type: object properties: admission-status: title: admission-status enum: - cancelled - processing - returned - delivered type: string description: Specifies the progress of the inbound payment. admission-scheme-information: type: object properties: {} required: - payment-scheme title: admission-scheme-information x-anyOf: - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - fps type: string required: - end-to-end-identification - payment-scheme title: fps - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - book-transfer type: string required: - end-to-end-identification - payment-scheme title: book-transfer - type: object properties: payment-scheme: enum: - chaps type: string title: chaps required: - payment-scheme - type: object properties: payment-scheme: enum: - bacs type: string title: bacs required: - payment-scheme payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. admission-url: type: string title: admission-url example: /v0/admissions/pa.ICAgIGFkbWlzc2lvbi1pZA unique-scheme-identifier: type: string title: unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. original-unique-scheme-identifier: type: string title: original-unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 required: - admission-status - admission-scheme-information - payment-url - created-at - admission-url - unique-scheme-identifier - account-url title: admission links: type: object properties: prev: type: string x-nullable: true next: type: string x-nullable: true required: - prev - next title: links required: - admissions - links title: admissions-paginated-response description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' summary: List bank account admissions /v0/bank/accounts/{bank-account-id}/payments: get: tags: - Payments description: Lists payments made from a bank account. parameters: - in: query name: sort description: '' type: string required: false enum: - -created-at - created-at - x-allOf: - type: integer format: int64 - minimum: 1 maximum: 201 maximum: 200 minimum: 1 name: page[size] required: false type: integer description: '' format: int64 in: query - in: query name: page[before] description: A base64 encoded opaque string returned in paginated responses. type: string required: false format: byte - in: query name: page[after] description: A base64 encoded opaque string returned in paginated responses. type: string required: false format: byte - in: query name: include description: For each payment returned, include its bank account, latest submission (if one exists), rejecting user (if one exists), and/or creating user (if one exists) in the response under the `included` attribute. type: array required: false x-allOf: - {} - {} items: enum: - bank-account - rejected-by - latest-submission.created-by - created-by - latest-submission type: string - in: query name: filter[rejected][eq] description: Specifies whether the payment has been [rejected](/docs/guides/payment-approvals). type: boolean required: false - in: query name: filter[payment-direction][eq] description: Whether the payment is moving money into or out of the account. type: string required: false enum: - inbound-payment - outbound-payment - in: query name: filter[latest-submission-status][in][] description: '' type: array required: false x-allOf: - {} - {} items: enum: - scheduled - failed - processing - returned - delivered type: string x-anyOf: - title: submission-status enum: - scheduled - failed - processing - returned - delivered type: string description: Specifies the progress of the outbound payment. - enum: - 'null' type: string title: no-latest-submission-status description: No latest submission status - in: query name: filter[created-at][lte] description: Return only resources with a created-at less than or equal to the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][lt] description: Return only resources with a created-at less than the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][gte] description: Return only resources with a created-at greater than or equal to the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][gt] description: Return only resources with a created-at greater than the given timestamp. type: string required: false format: date-time - type: string required: true name: bank-account-id in: path responses: '200': schema: type: object properties: payments: type: array items: type: object properties: creditor: type: object properties: {} required: - creditor-type title: creditor x-anyOf: - type: object properties: 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. creditor-type: enum: - griffin-bank-account type: string required: - account-url - creditor-type title: griffin-bank-account - type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true creditor-type: enum: - uk-domestic type: string bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: - creditor-type title: uk-domestic description: Creditor specified with bank details rejected-at: title: rejected-at format: date-time type: string description: ISO 8601 formatted date-time. latest-submission-url: type: string example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA title: latest-submission-url description: Most recent submission (if any made) rejected-by-url: type: string title: rejected-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. payment-direction: title: payment-direction enum: - inbound-payment - outbound-payment type: string description: Whether the payment is moving money into or out of the account. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. created-via: title: created-via type: string enum: - api - ui created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. payment-reference: title: payment-reference type: string description: Free-text field to help identify and categorise payments. maxLength: 35 example: test reference minLength: 1 payment-amount: title: payment-amount 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 x-allOf: - title: money-amount 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 - x-allOf: - x-allOf: - {} - {} - {} description: Compound value representing both the currency and amount of money being sent. ultimate-debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor payment-admissions-url: type: string title: payment-admissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/admissions description: Link to the endpoint for listing payment admissions. payment-submissions-url: type: string title: payment-submissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/submissions description: Link to the endpoint for creating and listing payment submissions. debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor rejection-reason: title: non-empty-string type: string minLength: 1 x-nullable: true required: - created-at - payment-amount - payment-url - payment-direction title: payment links: type: object properties: prev: type: string x-nullable: true next: type: string x-nullable: true required: - prev - next title: links required: - links - payments title: '' description: Present only when the request uses the `include` parameter. description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. summary: List bank account payments post: tags: - Payments description: Registers a new payment request for the bank account parameters: - in: body name: request-create-payment description: '' required: true schema: type: object properties: creditor: type: object properties: {} required: - creditor-type title: creditor x-anyOf: - type: object properties: payee-url: type: string x-allOf: - type: string - {} - type: object properties: payee-id: type: string format: '' title: payee-id required: true name: payee-id required: - payee-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: payee-id: type: string format: '' title: payee-id required: true name: payee-id required: - payee-id - type: string x-allOf: - type: string - {} - type: object properties: payee-id: type: string format: '' title: payee-id required: true name: payee-id required: - payee-id title: payee-url example: /v0/payees/pe.ICAgICAgICBwYXllZS1pZA description: Link to the [payee](#tag/Payees). creditor-type: enum: - payee type: string required: - payee-url - creditor-type title: payee - type: object properties: 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. creditor-type: enum: - griffin-bank-account type: string required: - account-url - creditor-type title: griffin-bank-account - type: object properties: account-number: type: string x-allOf: - type: string - {} title: account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 creditor-type: enum: - uk-domestic type: string account-number-code: title: account-number-code type: string enum: - bban required: - creditor-type - account-holder - bank-id - bank-id-code - account-number-code - account-number title: uk-domestic description: Creditor specified with bank details payment-amount: title: payment-amount 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 x-allOf: - title: money-amount 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 - x-allOf: - x-allOf: - {} - {} - {} description: Compound value representing both the currency and amount of money being sent. payment-reference: title: payment-reference type: string description: 'Free-text field to help identify and categorise payments. X is the legal person who owns the account. This will be the `entity-name` or `business-name` for companies, or the `given-name` and `surname` for individuals. This is also subject to a 35 character limit, so longer names may be cut off. When making a payment to a payee with an associated Confirmation of Payee request containing secondary reference data (SRD), the SRD will take precedence over any `payment-reference` set in the payment creation request.' maxLength: 35 example: test reference minLength: 1 default: Sent from X required: - creditor - payment-amount title: request-create-payment - type: string required: true name: bank-account-id in: path responses: '201': schema: type: object properties: created-by-user: type: object properties: user-email: type: string title: user-email example: user@example.com description: The user's email address. user-url: type: string title: user-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. user-username: type: string title: user-username example: user@example.com description: The username. api-keys-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: api-keys-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/api-keys description: Link to the user's [api keys](#tag/API-keys). user-memberships-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: user-memberships-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/memberships description: Link to the user's [memberships](#tag/Memberships). given-name: title: given-name type: string minLength: 1 surname: title: surname type: string minLength: 1 required: - user-email - user-url - user-username - api-keys-url - user-memberships-url title: created-by-user description: Shows the associated [user](#tag/Users). creditor: type: object properties: {} required: - creditor-type title: creditor x-anyOf: - type: object properties: 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. creditor-type: enum: - griffin-bank-account type: string required: - account-url - creditor-type title: griffin-bank-account - type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true creditor-type: enum: - uk-domestic type: string bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: - creditor-type title: uk-domestic description: Creditor specified with bank details rejected-at: title: rejected-at format: date-time type: string description: ISO 8601 formatted date-time. latest-submission-url: type: string example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA title: latest-submission-url description: Most recent submission (if any made) rejected-by-url: type: string title: rejected-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. payment-direction: title: payment-direction enum: - inbound-payment - outbound-payment type: string description: Whether the payment is moving money into or out of the account. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. created-via: title: created-via type: string enum: - api - ui created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. payment-reference: title: payment-reference type: string description: Free-text field to help identify and categorise payments. maxLength: 35 example: test reference minLength: 1 payment-amount: title: payment-amount 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 x-allOf: - title: money-amount 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 - x-allOf: - x-allOf: - {} - {} - {} description: Compound value representing both the currency and amount of money being sent. ultimate-debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor payment-admissions-url: type: string title: payment-admissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/admissions description: Link to the endpoint for listing payment admissions. payment-submissions-url: type: string title: payment-submissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/submissions description: Link to the endpoint for creating and listing payment submissions. debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor rejection-reason: title: non-empty-string type: string minLength: 1 x-nullable: true rejected-by-user: type: object properties: user-email: type: string title: user-email example: user@example.com description: The user's email address. user-url: type: string title: user-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. user-username: type: string title: user-username example: user@example.com description: The username. api-keys-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: api-keys-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/api-keys description: Link to the user's [api keys](#tag/API-keys). user-memberships-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: user-memberships-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/memberships description: Link to the user's [memberships](#tag/Memberships). given-name: title: given-name type: string minLength: 1 surname: title: surname type: string minLength: 1 required: - user-email - user-url - user-username - api-keys-url - user-memberships-url title: rejected-by-user description: Shows the associated [user](#tag/Users). required: - created-at - payment-amount - payment-direction - payment-url description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' '422': description: An error occurred when trying to create the payment. See [https://docs.griffin.com/docs/errors/payment](https://docs.griffin.com/docs/errors/payment) for details. '500': description: '' summary: Create payment /v0/bank/accounts/{bank-account-id}/submissions: get: tags: - Payments description: Lists submissions originating from a bank account parameters: - in: query name: sort description: '' type: string required: false enum: - -created-at - created-at - x-allOf: - type: integer format: int64 - minimum: 1 maximum: 201 maximum: 200 minimum: 1 name: page[size] required: false type: integer description: '' format: int64 in: query - in: query name: page[before] description: A base64 encoded opaque string returned in paginated responses. type: string required: false format: byte - in: query name: page[after] description: A base64 encoded opaque string returned in paginated responses. type: string required: false format: byte - in: query name: filter[submission-status][in][] description: '' type: array required: false x-allOf: - {} - {} items: enum: - scheduled - failed - processing - returned - delivered type: string - in: query name: filter[created-at][lte] description: Return only resources with a created-at less than or equal to the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][lt] description: Return only resources with a created-at less than the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][gte] description: Return only resources with a created-at greater than or equal to the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][gt] description: Return only resources with a created-at greater than the given timestamp. type: string required: false format: date-time - type: string required: true name: bank-account-id in: path responses: '200': schema: type: object properties: submissions: type: array items: type: object properties: submission-scheme-information: type: object properties: {} required: - payment-scheme title: submission-scheme-information x-anyOf: - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. scheme-status-code: type: string minLength: 1 title: scheme-status-code description: A scheme-specific code describing the current status. scheme-status-code-description: type: string minLength: 1 title: scheme-status-code-description description: A human-readable description of the scheme status code. payment-scheme: enum: - fps type: string required: - end-to-end-identification - payment-scheme title: fps - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - book-transfer type: string required: - end-to-end-identification - payment-scheme title: book-transfer submission-status: title: submission-status enum: - scheduled - failed - processing - returned - delivered type: string description: Specifies the progress of the outbound payment. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. scheduled-at: title: scheduled-at format: date-time type: string description: ISO 8601 formatted date-time. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. submission-status-reason: title: submission-status-reason type: string minLength: 1 payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. unique-scheme-identifier: type: string title: unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. submission-url: type: string title: submission-url example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA required: - submission-status - submission-scheme-information - payment-url - created-at - submission-url - account-url title: submission links: type: object properties: prev: type: string x-nullable: true next: type: string x-nullable: true required: - prev - next title: links required: - submissions - links title: submissions-paginated-response description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' summary: List bank account submissions /v0/organizations/{organization-id}/payments: get: tags: - Payments description: List payments in your organization. parameters: - in: query name: sort description: '' type: string required: false enum: - -created-at - created-at - x-allOf: - type: integer format: int64 - minimum: 1 maximum: 201 maximum: 200 minimum: 1 name: page[size] required: false type: integer description: '' format: int64 in: query - in: query name: page[before] description: A base64 encoded opaque string returned in paginated responses. type: string required: false format: byte - in: query name: page[after] description: A base64 encoded opaque string returned in paginated responses. type: string required: false format: byte - in: query name: include description: For each payment returned, include its bank account, latest submission (if one exists), rejecting user (if one exists), and/or creating user (if one exists) in the response under the `included` attribute. type: array required: false x-allOf: - {} - {} items: enum: - bank-account - rejected-by - latest-submission.created-by - created-by - latest-submission type: string - in: query name: filter[rejected][eq] description: Specifies whether the payment has been [rejected](/docs/guides/payment-approvals). type: boolean required: false - in: query name: filter[payment-direction][eq] description: Whether the payment is moving money into or out of the account. type: string required: false enum: - inbound-payment - outbound-payment - in: query name: filter[latest-submission-status][in][] description: '' type: array required: false x-allOf: - {} - {} items: enum: - scheduled - failed - processing - returned - delivered type: string x-anyOf: - title: submission-status enum: - scheduled - failed - processing - returned - delivered type: string description: Specifies the progress of the outbound payment. - enum: - 'null' type: string title: no-latest-submission-status description: No latest submission status - in: query name: filter[created-at][lte] description: Return only resources with a created-at less than or equal to the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][lt] description: Return only resources with a created-at less than the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][gte] description: Return only resources with a created-at greater than or equal to the given timestamp. type: string required: false format: date-time - in: query name: filter[created-at][gt] description: Return only resources with a created-at greater than the given timestamp. type: string required: false format: date-time - type: string required: true name: organization-id in: path responses: '200': schema: type: object properties: payments: type: array items: type: object properties: creditor: type: object properties: {} required: - creditor-type title: creditor x-anyOf: - type: object properties: 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. creditor-type: enum: - griffin-bank-account type: string required: - account-url - creditor-type title: griffin-bank-account - type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true creditor-type: enum: - uk-domestic type: string bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: - creditor-type title: uk-domestic description: Creditor specified with bank details rejected-at: title: rejected-at format: date-time type: string description: ISO 8601 formatted date-time. latest-submission-url: type: string example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA title: latest-submission-url description: Most recent submission (if any made) rejected-by-url: type: string title: rejected-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. payment-direction: title: payment-direction enum: - inbound-payment - outbound-payment type: string description: Whether the payment is moving money into or out of the account. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. created-via: title: created-via type: string enum: - api - ui created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. payment-reference: title: payment-reference type: string description: Free-text field to help identify and categorise payments. maxLength: 35 example: test reference minLength: 1 payment-amount: title: payment-amount 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 x-allOf: - title: money-amount 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 - x-allOf: - x-allOf: - {} - {} - {} description: Compound value representing both the currency and amount of money being sent. ultimate-debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor payment-admissions-url: type: string title: payment-admissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/admissions description: Link to the endpoint for listing payment admissions. payment-submissions-url: type: string title: payment-submissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/submissions description: Link to the endpoint for creating and listing payment submissions. debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor rejection-reason: title: non-empty-string type: string minLength: 1 x-nullable: true required: - created-at - payment-amount - payment-url - payment-direction title: payment links: type: object properties: prev: type: string x-nullable: true next: type: string x-nullable: true required: - prev - next title: links required: - links - payments title: '' description: Present only when the request uses the `include` parameter. description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. /v0/organizations/{organization-id}/payments/search: post: tags: - Payments description: Returns a list of payments which reference or scheme ID match the `search-query` supplied in the request. parameters: - in: body name: payments-search description: '' required: true schema: type: object properties: search-query: title: search-query type: string minLength: 1 required: - search-query title: payments-search - in: query name: include description: For each payment returned, include its bank account, latest submission (if one exists), rejecting user (if one exists), and/or creating user (if one exists) in the response under the `included` attribute. type: array required: false x-allOf: - {} - {} items: enum: - bank-account - rejected-by - latest-submission.created-by - created-by - latest-submission type: string - type: string required: true name: organization-id in: path responses: '200': schema: type: object properties: search-results: type: array items: type: object properties: creditor: type: object properties: {} required: - creditor-type title: creditor x-anyOf: - type: object properties: 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. creditor-type: enum: - griffin-bank-account type: string required: - account-url - creditor-type title: griffin-bank-account - type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true creditor-type: enum: - uk-domestic type: string bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: - creditor-type title: uk-domestic description: Creditor specified with bank details rejected-at: title: rejected-at format: date-time type: string description: ISO 8601 formatted date-time. latest-submission-url: type: string example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA title: latest-submission-url description: Most recent submission (if any made) rejected-by-url: type: string title: rejected-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. payment-direction: title: payment-direction enum: - inbound-payment - outbound-payment type: string description: Whether the payment is moving money into or out of the account. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. created-via: title: created-via type: string enum: - api - ui created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. payment-reference: title: payment-reference type: string description: Free-text field to help identify and categorise payments. maxLength: 35 example: test reference minLength: 1 payment-amount: title: payment-amount 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 x-allOf: - title: money-amount 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 - x-allOf: - x-allOf: - {} - {} - {} description: Compound value representing both the currency and amount of money being sent. ultimate-debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor payment-admissions-url: type: string title: payment-admissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/admissions description: Link to the endpoint for listing payment admissions. payment-submissions-url: type: string title: payment-submissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/submissions description: Link to the endpoint for creating and listing payment submissions. debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor rejection-reason: title: non-empty-string type: string minLength: 1 x-nullable: true required: - created-at - payment-amount - payment-url - payment-direction title: payment meta: type: object properties: page: type: object properties: total: type: integer format: int64 minimum: 0 title: total description: Total number of items. Present when the total number of items in the full result set is less than 10,000. estimated-total: type: object properties: at-least: enum: - 10000 type: integer title: at-least description: Present when the total number of items in the full result set exceeds 10,000. This indicates that the actual number of items is at least 10,000, but the exact total is not provided due to performance considerations. title: estimated-total title: page title: meta included: type: object properties: accounts: type: array items: type: object properties: account-submissions-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-submissions-url example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/submissions description: Link to the [payment submissions](#tag/Payments) debiting from this account. bank-account-product-url: type: string x-allOf: - type: string - {} - type: object properties: bank-product-id: type: string format: '' title: bank-product-id required: true name: bank-product-id required: - bank-product-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: bank-product-id: type: string format: '' title: bank-product-id required: true name: bank-product-id required: - bank-product-id - type: string x-allOf: - type: string - {} - type: object properties: bank-product-id: type: string format: '' title: bank-product-id required: true name: bank-product-id required: - bank-product-id title: bank-account-product-url example: /v0/bank/products/bp.IGJhbmstcHJvZHVjdC1pZA description: Link to the [bank account](#tag/Bank-accounts) product. account-restricted: type: boolean title: account-restricted description: Specifies whether the bank account has restrictions applied by Griffin. account-payments-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-payments-url example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/payments description: Link to the [payments](#tag/Payments) associated with this account. pooled-account-memberships-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: pooled-account-memberships-url example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/membership description: Link to the list of [pool members](#tag/Pooled-account-membership) associated with this account. account-admissions-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-admissions-url example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/admissions description: Link to the [payment admissions](#tag/Payments) crediting to this account. bank-product-type: title: bank-product-type enum: - savings-account - client-money-account - safeguarding-account - embedded-account - operational-account type: string description: Specifies the type of bank account. (For more detail on bank account types, see our guide for [types of bank accounts](/docs/guides/types-of-bank-accounts). display-name: type: string minLength: 1 title: display-name description: A human readable label for an entity controller-url: type: string title: controller-url example: /v0/legal-persons/lp.IGxlZ2FsLXBlcnNvbi1pZA description: Link to the [legal person](#tag/Legal-persons) that represents the [controller](/docs/terms/controller) of the account. pooled-funds: type: boolean title: pooled-funds description: Specifies whether the bank account holds funds belonging to multiple beneficiaries. accrued-interest: 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: accrued-interest description: Shows the [accrued interest](/docs/terms/accrued-interest). account-status: title: account-status enum: - closing - open - closed - opening type: string description: Shows the status of the account. An account can be moved between statuses during its lifecycle. The status value affects the operations that you can perform. An account must be `"open"` to be fully operational. client-money-type: title: client-money-type enum: - designated-client-fund - designated-client-money - general-client-money type: string description: Specifies the type of client money account. owner-url: type: string x-allOf: - type: string - {} - type: object properties: legal-person-id: type: string format: '' title: legal-person-id required: true name: legal-person-id required: - legal-person-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: legal-person-id: type: string format: '' title: legal-person-id required: true name: legal-person-id required: - legal-person-id - type: string x-allOf: - type: string - {} - type: object properties: legal-person-id: type: string format: '' title: legal-person-id required: true name: legal-person-id required: - legal-person-id example: /v0/legal-persons/lp.IGxlZ2FsLXBlcnNvbi1pZA description: Link to the [legal person](#tag/Legal-persons) that represents the [owner](/docs/terms/owner) of the account. title: owner-url closed-at: title: closed-at format: date-time type: string description: ISO 8601 formatted date-time. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. opened-at: title: opened-at format: date-time type: string description: ISO 8601 formatted date-time. close-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: close-account-url description: Link to the endpoint that enables account closure for this account. available-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: available-balance description: Shows the [available balance](/docs/terms/available-balance). pooled-account-membership-updates-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: pooled-account-membership-updates-url example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/membership-updates description: Link to manage [pooled account membership](#tag/Pooled-account-membership) bank-account-restrictions-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: bank-account-restrictions-url example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/restrictions description: Link to the [restrictions](#tag/Bank-account-restrictions) on this account. bank-addresses: type: array items: type: object properties: account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 account-number: type: string x-allOf: - type: string - {} title: account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 account-number-code: title: account-number-code type: string enum: - bban required: - account-holder - bank-id-code - bank-id - account-number - account-number-code title: bank-address title: bank-addresses description: Shows a collection of public addresses which uniquely identify the account. Any one of these can be used to pay into the account. account-transactions-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-transactions-url description: Link to the [transactions](#tag/Transactions) associated with this account. 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. bank-account-events-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: bank-account-events-url example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA/events description: Link to the events for this bank account. beneficiary-url: type: string x-allOf: - type: string - {} - type: object properties: legal-person-id: type: string format: '' title: legal-person-id required: true name: legal-person-id required: - legal-person-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: legal-person-id: type: string format: '' title: legal-person-id required: true name: legal-person-id required: - legal-person-id - type: string x-allOf: - type: string - {} - type: object properties: legal-person-id: type: string format: '' title: legal-person-id required: true name: legal-person-id required: - legal-person-id example: /v0/legal-persons/lp.IGxlZ2FsLXBlcnNvbi1pZA description: Link to the [legal person](#tag/Legal-persons) that represents the [beneficiary](/docs/terms/beneficiary) of the account. title: beneficiary-url primary-account: type: boolean title: primary-account description: Specifies whether the bank account is the organization's [primary account](/docs/guides/primary-account). example: false 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). savings-type: title: savings-type enum: - easy-access - bare-trust type: string description: Specifies the type of savings account. required: - account-balance - accrued-interest - available-balance - account-payments-url - account-admissions-url - account-submissions-url - account-transactions-url - account-url - owner-url - controller-url - display-name - account-restricted - account-status - bank-product-type - pooled-funds - created-at - primary-account title: bank-account submissions: type: array items: type: object properties: submission-scheme-information: type: object properties: {} required: - payment-scheme title: submission-scheme-information x-anyOf: - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. scheme-status-code: type: string minLength: 1 title: scheme-status-code description: A scheme-specific code describing the current status. scheme-status-code-description: type: string minLength: 1 title: scheme-status-code-description description: A human-readable description of the scheme status code. payment-scheme: enum: - fps type: string required: - end-to-end-identification - payment-scheme title: fps - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - book-transfer type: string required: - end-to-end-identification - payment-scheme title: book-transfer submission-status: title: submission-status enum: - scheduled - failed - processing - returned - delivered type: string description: Specifies the progress of the outbound payment. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. scheduled-at: title: scheduled-at format: date-time type: string description: ISO 8601 formatted date-time. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. submission-status-reason: title: submission-status-reason type: string minLength: 1 payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. unique-scheme-identifier: type: string title: unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. submission-url: type: string title: submission-url example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA required: - submission-status - submission-scheme-information - payment-url - created-at - submission-url - account-url title: submission users: type: array items: type: object properties: user-email: type: string title: user-email example: user@example.com description: The user's email address. user-url: type: string title: user-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. user-username: type: string title: user-username example: user@example.com description: The username. api-keys-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: api-keys-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/api-keys description: Link to the user's [api keys](#tag/API-keys). user-memberships-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: user-memberships-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/memberships description: Link to the user's [memberships](#tag/Memberships). given-name: title: given-name type: string minLength: 1 surname: title: surname type: string minLength: 1 required: - user-email - user-url - user-username - api-keys-url - user-memberships-url title: user description: Shows the associated [user](#tag/Users). title: '' description: Present only when the request uses the `include` parameter. required: - search-results - meta title: payments-search-response description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' summary: Search payments /v0/payments/{payment-id}: get: tags: - Payments description: Yields payment details parameters: - type: string required: true name: payment-id in: path responses: '200': schema: type: object properties: created-by-user: type: object properties: user-email: type: string title: user-email example: user@example.com description: The user's email address. user-url: type: string title: user-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. user-username: type: string title: user-username example: user@example.com description: The username. api-keys-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: api-keys-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/api-keys description: Link to the user's [api keys](#tag/API-keys). user-memberships-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: user-memberships-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/memberships description: Link to the user's [memberships](#tag/Memberships). given-name: title: given-name type: string minLength: 1 surname: title: surname type: string minLength: 1 required: - user-email - user-url - user-username - api-keys-url - user-memberships-url title: created-by-user description: Shows the associated [user](#tag/Users). creditor: type: object properties: {} required: - creditor-type title: creditor x-anyOf: - type: object properties: 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. creditor-type: enum: - griffin-bank-account type: string required: - account-url - creditor-type title: griffin-bank-account - type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true creditor-type: enum: - uk-domestic type: string bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: - creditor-type title: uk-domestic description: Creditor specified with bank details rejected-at: title: rejected-at format: date-time type: string description: ISO 8601 formatted date-time. latest-submission-url: type: string example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA title: latest-submission-url description: Most recent submission (if any made) rejected-by-url: type: string title: rejected-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. payment-direction: title: payment-direction enum: - inbound-payment - outbound-payment type: string description: Whether the payment is moving money into or out of the account. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. created-via: title: created-via type: string enum: - api - ui created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. payment-reference: title: payment-reference type: string description: Free-text field to help identify and categorise payments. maxLength: 35 example: test reference minLength: 1 payment-amount: title: payment-amount 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 x-allOf: - title: money-amount 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 - x-allOf: - x-allOf: - {} - {} - {} description: Compound value representing both the currency and amount of money being sent. ultimate-debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor payment-admissions-url: type: string title: payment-admissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/admissions description: Link to the endpoint for listing payment admissions. payment-submissions-url: type: string title: payment-submissions-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA/submissions description: Link to the endpoint for creating and listing payment submissions. debtor: type: object properties: iban: title: iban pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$ type: string description: An International Bank Account Number. maxLength: 34 example: GB42GFNB12345612345678 minLength: 5 uk-domestic-sort-code: title: uk-domestic-sort-code pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 bic: title: bic pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}' type: string description: A BIC. maxLength: 11 example: GFNBGB22 minLength: 8 account-number: example: '12345678' x-allOf: - type: string - {} minLength: 8 maxLength: 8 deprecated: true title: account-number pattern: ^[0-9]{8}$ type: string description: A UK account number. account-holder: type: string minLength: 1 title: account-holder description: The name of the [account holder](/docs/terms/account-holder). bank-id-code: title: bank-id-code type: string enum: - gbdsc deprecated: true bank-id: title: bank-id pattern: ^[0-9]{6}$ type: string description: A UK sort code. maxLength: 6 example: '123456' minLength: 6 deprecated: true bban: title: bban pattern: ^[a-zA-Z0-9]{1,30}$ type: string description: A country-specific Basic Bank Account Number. maxLength: 30 example: GFNB12345612345678 minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. uk-domestic-account-number: type: string x-allOf: - type: string - {} title: uk-domestic-account-number pattern: ^[0-9]{8}$ description: A UK account number. maxLength: 8 example: '12345678' minLength: 8 other-account-identification: title: other-account-identification type: string description: Uncategorised account identification maxLength: 64 example: ABC123 minLength: 1 account-number-code: title: account-number-code type: string enum: - bban deprecated: true other-institution-identification: title: other-institution-identification type: string description: Uncategorised financial institution identification maxLength: 64 example: ABC123 minLength: 1 required: [] title: debtor rejection-reason: title: non-empty-string type: string minLength: 1 x-nullable: true rejected-by-user: type: object properties: user-email: type: string title: user-email example: user@example.com description: The user's email address. user-url: type: string title: user-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. user-username: type: string title: user-username example: user@example.com description: The username. api-keys-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: api-keys-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/api-keys description: Link to the user's [api keys](#tag/API-keys). user-memberships-url: type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id x-anyOf: - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id - type: string x-allOf: - type: string - {} - type: object properties: user-id: type: string format: '' title: user-id required: true name: user-id required: - user-id title: user-memberships-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA/memberships description: Link to the user's [memberships](#tag/Memberships). given-name: title: given-name type: string minLength: 1 surname: title: surname type: string minLength: 1 required: - user-email - user-url - user-username - api-keys-url - user-memberships-url title: rejected-by-user description: Shows the associated [user](#tag/Users). required: - created-at - payment-amount - payment-direction - payment-url description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' summary: Get payment patch: tags: - Payments description: Updates a payment parameters: - in: body name: request-update-payment description: '' required: true schema: type: object properties: rejection-reason: title: non-empty-string type: string minLength: 1 x-nullable: true description: Specify null for rejection-reason to reject without a reason. title: request-update-payment - type: string required: true name: payment-id in: path responses: '204': description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' '409': description: An error occurred when trying to update the payment. See [https://docs.griffin.com/docs/errors/payment](https://docs.griffin.com/docs/errors/payment) for details. '422': description: '' '500': description: '' /v0/payments/{payment-id}/admissions: get: tags: - Payments description: Lists admissions for a payment. A payment may have at most one admission. parameters: - type: string required: true name: payment-id in: path responses: '200': schema: type: object properties: admissions: type: array items: type: object properties: admission-status: title: admission-status enum: - cancelled - processing - returned - delivered type: string description: Specifies the progress of the inbound payment. admission-scheme-information: type: object properties: {} required: - payment-scheme title: admission-scheme-information x-anyOf: - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - fps type: string required: - end-to-end-identification - payment-scheme title: fps - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - book-transfer type: string required: - end-to-end-identification - payment-scheme title: book-transfer - type: object properties: payment-scheme: enum: - chaps type: string title: chaps required: - payment-scheme - type: object properties: payment-scheme: enum: - bacs type: string title: bacs required: - payment-scheme payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. admission-url: type: string title: admission-url example: /v0/admissions/pa.ICAgIGFkbWlzc2lvbi1pZA unique-scheme-identifier: type: string title: unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. original-unique-scheme-identifier: type: string title: original-unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 required: - admission-status - admission-scheme-information - payment-url - created-at - admission-url - unique-scheme-identifier - account-url title: admission required: - admissions title: admissions-response description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' summary: List payment admissions /v0/payments/{payment-id}/submissions: get: tags: - Payments description: Lists submissions for a payment. The presence of a submission means that the payment has been submitted. parameters: - type: string required: true name: payment-id in: path responses: '200': schema: type: object properties: submissions: type: array items: type: object properties: submission-scheme-information: type: object properties: {} required: - payment-scheme title: submission-scheme-information x-anyOf: - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. scheme-status-code: type: string minLength: 1 title: scheme-status-code description: A scheme-specific code describing the current status. scheme-status-code-description: type: string minLength: 1 title: scheme-status-code-description description: A human-readable description of the scheme status code. payment-scheme: enum: - fps type: string required: - end-to-end-identification - payment-scheme title: fps - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - book-transfer type: string required: - end-to-end-identification - payment-scheme title: book-transfer submission-status: title: submission-status enum: - scheduled - failed - processing - returned - delivered type: string description: Specifies the progress of the outbound payment. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. scheduled-at: title: scheduled-at format: date-time type: string description: ISO 8601 formatted date-time. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. submission-status-reason: title: submission-status-reason type: string minLength: 1 payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. unique-scheme-identifier: type: string title: unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. submission-url: type: string title: submission-url example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA required: - submission-status - submission-scheme-information - payment-url - created-at - submission-url - account-url title: submission required: - submissions title: submissions-response description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' summary: List payment submissions post: tags: - Payments description: 'Submits a previously created payment for execution. You can submit payments over different payment schemes, check out our [payments guides](docs/guides/payments-overview) to help decide which scheme best suites your use case.' parameters: - in: body name: request-create-payment-submission description: '' required: true schema: type: object properties: payment-scheme: title: payment-scheme enum: - fps - book-transfer type: string description: Specifies the scheme over which a payment is executed. required: - payment-scheme title: request-create-payment-submission - type: string required: true name: payment-id in: path responses: '200': schema: type: object properties: submission-scheme-information: type: object properties: {} required: - payment-scheme title: submission-scheme-information x-anyOf: - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. scheme-status-code: type: string minLength: 1 title: scheme-status-code description: A scheme-specific code describing the current status. scheme-status-code-description: type: string minLength: 1 title: scheme-status-code-description description: A human-readable description of the scheme status code. payment-scheme: enum: - fps type: string required: - end-to-end-identification - payment-scheme title: fps - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - book-transfer type: string required: - end-to-end-identification - payment-scheme title: book-transfer submission-status: title: submission-status enum: - scheduled - failed - processing - returned - delivered type: string description: Specifies the progress of the outbound payment. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. scheduled-at: title: scheduled-at format: date-time type: string description: ISO 8601 formatted date-time. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. submission-status-reason: title: submission-status-reason type: string minLength: 1 payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. unique-scheme-identifier: type: string title: unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. submission-url: type: string title: submission-url example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA required: - submission-status - submission-scheme-information - payment-url - created-at - submission-url - account-url title: submission description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '404': description: '' '410': description: '' '422': description: An error occurred when trying to submit the payment. See [https://docs.griffin.com/docs/errors/payment](https://docs.griffin.com/docs/errors/payment) for details. '429': description: '' summary: Submit payment /v0/submissions/{submission-id}: get: tags: - Payments description: Yields a submission. parameters: - type: string required: true name: submission-id in: path responses: '200': schema: type: object properties: submission-scheme-information: type: object properties: {} required: - payment-scheme title: submission-scheme-information x-anyOf: - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. scheme-status-code: type: string minLength: 1 title: scheme-status-code description: A scheme-specific code describing the current status. scheme-status-code-description: type: string minLength: 1 title: scheme-status-code-description description: A human-readable description of the scheme status code. payment-scheme: enum: - fps type: string required: - end-to-end-identification - payment-scheme title: fps - type: object properties: end-to-end-identification: title: end-to-end-identification type: string minLength: 1 x-allOf: - title: non-empty-string type: string minLength: 1 - {} description: An identifier for a payment, assigned by the originator, passed along unchanged throughout the entire end-to-end chain. Not necessarily unique. payment-scheme: enum: - book-transfer type: string required: - end-to-end-identification - payment-scheme title: book-transfer submission-status: title: submission-status enum: - scheduled - failed - processing - returned - delivered type: string description: Specifies the progress of the outbound payment. created-by-url: type: string title: created-by-url example: /v0/users/ur.ICAgICAgICAgdXNlci1pZA description: Link to the user. scheduled-at: title: scheduled-at format: date-time type: string description: ISO 8601 formatted date-time. created-at: title: created-at format: date-time type: string description: ISO 8601 formatted date-time. submission-status-reason: title: submission-status-reason type: string minLength: 1 payment-url: type: string title: payment-url example: /v0/payments/pm.ICAgICAgcGF5bWVudC1pZA description: Link to the payment resource. unique-scheme-identifier: type: string title: unique-scheme-identifier maxLength: 140 example: 'PGIT2IS7AJG77D2HK23020240212826NatWes ' minLength: 1 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 example: /v0/bank/accounts/ba.IGJhbmstYWNjb3VudC1pZA description: Link to the bank account resource. submission-url: type: string title: submission-url example: /v0/submissions/ps.ICAgc3VibWlzc2lvbi1pZA required: - submission-status - submission-scheme-information - payment-url - created-at - submission-url - account-url title: submission description: '' '400': description: '' '401': description: Requires an API key to continue headers: www-authenticate: type: string description: Returns `GriffinSession` if no valid authentication is found. '403': description: '' '404': description: '' summary: Get payment submission securityDefinitions: 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