openapi: 3.1.0
servers:
- url: https://balanceplatform-api-test.adyen.com/capital/v1
  description: Test Environment
- url: https://balanceplatform-api-live.adyen.com/capital/v1
  description: Live Environment
info:
  title: Capital API
  description: "The Capital API provides endpoints for embedding Adyen Capital into\
    \ your [marketplace](https://docs.adyen.com/platforms/capital) or [platform](https://docs.adyen.com/platforms/capital).\
    \ With Capital, you can offer business financing to your users as grants. When\
    \ a user receives a grant, they must repay the grant amount in a specified term,\
    \ in addition to paying a fee for using this service.\n\nWith these endpoints,\
    \ you can:\n- **Get available grant offers**: You can get the grant offers that\
    \ are available for your users. Adyen configures the financing amount, the fee,\
    \ and the repayment conditions for each offer. These configurations are based\
    \ on proactive risk analyses that Adyen performs on your users.\n- **Make requests\
    \ for grants**: When a user selects a grant offer, you can make a request for\
    \ the grant on their behalf.\n- **Get information about your grant account**:\
    \ Your grant account tracks the information of all grants in your marketplace\
    \ or platform.\n\n## Authentication\nEach request made to the Capital API must\
    \ be signed with an API key. Generate an API key in your Customer Area.\n\nTo\
    \ connect to the API, add an `X-API-Key` header with the API key as the value,\
    \ for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"\
    X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\n## Roles and permissions\nTo use the\
    \ Capital API, your API credential must have the following roles:\n- **Balance_Platform_Capital_Configuration_Role**\n\
    - **Balance_Platform_Capital_Grant_Initiation_Role**\n\nReach out to your Adyen\
    \ contact to set up these roles.\n## Going live\nWhen going live, generate an\
    \ API key in your [live Customer Area](https://ca-live.adyen.com/ca). You can\
    \ then use the API key to send requests to `https://balanceplatform-api-live.adyen.com/capital/v{version}`.\n\
    \n"
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  contact:
    name: Adyen Developer Experience team
    url: https://github.com/Adyen/adyen-openapi
  version: '1'
  x-timestamp: '2025-03-20T17:41:19Z'
tags:
- name: Grants
  x-groupIndex: 1
- name: Grant offers
  x-groupIndex: 2
- name: Grant accounts
  x-groupIndex: 3
paths:
  /grants:
    get:
      tags:
      - Grants
      summary: Get all the grants of an account holder
      description: Returns a list of all the grants of a specific account holder.
      operationId: get-grants
      parameters:
      - name: counterpartyAccountHolderId
        in: query
        description: The unique identifier of the account holder that received the
          grants.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK - The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Grants'
        '404':
          description: Not Found - The entity was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
        '422':
          description: Unprocessable Entity - A request validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
      x-sortIndex: 2
    post:
      tags:
      - Grants
      summary: Make a request for a grant
      description: Make a request for a grant on behalf of an account holder.
      operationId: post-grants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrantInfo'
      responses:
        '200':
          description: OK - The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Grant'
        '422':
          description: Unprocessable Entity - A request validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
      x-sortIndex: 1
  /grants/{grantId}:
    get:
      tags:
      - Grants
      summary: Get the details of a grant
      description: Returns the details of the specified grant.
      operationId: get-grants-grantId
      parameters:
      - name: grantId
        in: path
        description: The unique identifier of the grant reference.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK - The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Grant'
        '404':
          description: Not Found - The entity was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
        '422':
          description: Unprocessable Entity - A request validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
      x-sortIndex: 3
  /grants/{grantId}/disbursements:
    get:
      tags:
      - Grants
      summary: Get all the disbursements of a grant
      description: Returns the disbursements of a specified grant.
      operationId: get-grants-grantId-disbursements
      parameters:
      - name: grantId
        in: path
        description: The unique identifier of the grant reference.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK - The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disbursements'
        '404':
          description: Not Found - The entity was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
        '422':
          description: Unprocessable Entity - A request validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
      x-sortIndex: 4
  /grants/{grantId}/disbursements/{disbursementId}:
    patch:
      tags:
      - Grants
      summary: Update the repayment configuration of a disbursement
      description: Update the percentage of your user's net income that is deducted
        for repaying the grant.
      operationId: patch-grants-grantId-disbursements-disbursementId
      parameters:
      - name: grantId
        in: path
        description: The unique identifier of the grant reference.
        required: true
        schema:
          type: string
      - name: disbursementId
        in: path
        description: The unique identifier of the disbursement.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchableDisbursement'
        required: true
      responses:
        '200':
          description: OK - The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disbursement'
        '404':
          description: Not Found - The entity was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
        '422':
          description: Unprocessable Entity - A request validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
      x-sortIndex: 6
  /grantAccounts/{id}:
    get:
      tags:
      - Grant accounts
      summary: Get the information of your grant account
      description: Returns the details of the specified grant account. This account
        tracks existing grants in your marketplace or platform.
      operationId: get-grantAccounts-id
      parameters:
      - name: id
        in: path
        description: The unique identifier of the grant account.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK - The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrantAccount'
        '404':
          description: Not Found - The entity was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
        '422':
          description: Unprocessable Entity - A request validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
      x-sortIndex: 1
  /grantOffers/{id}:
    get:
      tags:
      - Grant offers
      summary: Get the details of a grant offer
      description: Returns the details of the specified grant offer.
      operationId: get-grantOffers-id
      parameters:
      - name: id
        in: path
        description: The unique identifier of the grant offer.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK - The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrantOffer'
        '404':
          description: Not Found - The entity was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
        '422':
          description: Unprocessable Entity - A request validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
      x-sortIndex: 2
  /grantOffers:
    get:
      tags:
      - Grant offers
      summary: Get all available grant offers
      description: Returns a list of all [grant offers](https://docs.adyen.com/platforms/capital#grant-offers)
        available for `accountHolderId` specified as a query parameter.
      operationId: get-grantOffers
      parameters:
      - name: accountHolderId
        in: query
        description: The unique identifier of the account holder for which you want
          to get the available grant offers.
        schema:
          type: string
      responses:
        '200':
          description: OK - The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrantOffers'
        '404':
          description: Not Found - The entity was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
        '422':
          description: Unprocessable Entity - A request validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponseEntity'
      x-sortIndex: 1
components:
  schemas:
    DefaultErrorResponseEntity:
      type: object
      properties:
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of
            the problem.
        errorCode:
          type: string
          description: Unique business error code.
        instance:
          type: string
          description: A URI that identifies the specific occurrence of the problem
            if applicable.
        invalidFields:
          type: array
          description: Array of fields with validation errors when applicable.
          items:
            $ref: '#/components/schemas/InvalidField'
        requestId:
          type: string
          description: The unique reference for the request.
        status:
          type: integer
          description: The HTTP status code.
          format: int32
        title:
          type: string
          description: A short, human-readable summary of the problem type.
        type:
          type: string
          description: A URI that identifies the validation error type. It points
            to human-readable documentation for the problem type.
      description: Standardized error response following RFC-7807 format
      externalDocs:
        url: https://www.rfc-editor.org/rfc/rfc7807
    InvalidField:
      required:
      - message
      - name
      - value
      type: object
      properties:
        name:
          type: string
          description: The field that has an invalid value.
        value:
          type: string
          description: The invalid value.
        message:
          type: string
          description: Description of the validation error.
    Amount:
      required:
      - currency
      - value
      type: object
      properties:
        currency:
          type: string
          description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes).
        value:
          type: integer
          description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
          format: int64
    Balance:
      required:
      - currency
      - fee
      - principal
      - total
      type: object
      properties:
        currency:
          type: string
          description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
        fee:
          type: integer
          description: The amount of the grant fee.
          format: int64
        principal:
          type: integer
          description: The grant amount that is paid out to the user for business
            financing.
          format: int64
        total:
          type: integer
          description: The total amount of the grant that the user must repay. It
            is the sum of the fee amount and the principal amount.
          format: int64
    Counterparty:
      type: object
      properties:
        accountHolderId:
          type: string
          description: The unique identifier of the account holder that receives the
            grant. If no `balanceAccountId` is provided, the grant funds are disbursed
            to the primary balance account of this account holder.
        balanceAccountId:
          type: string
          description: The unique identifier of the balance account where the funds
            are disbursed. The balance account must belong to the specified account
            holder.
        transferInstrumentId:
          type: string
          description: The unique identifier of the transfer instrument where the
            funds are disbursed. The transfer instrument must belong to the legal
            entity of the specified account holder.
    Fee:
      required:
      - amount
      type: object
      properties:
        amount:
          description: Contains the amount of the grant fee.
          $ref: '#/components/schemas/Amount'
    Grant:
      required:
      - balances
      - grantAccountId
      - grantOfferId
      - id
      - status
      type: object
      properties:
        amount:
          description: Contains information about the amount of the grant. This is
            the sum of the amounts of all the disbursements related to the grant.
          $ref: '#/components/schemas/Amount'
        balances:
          description: Contains information about the balances of the grant.
          $ref: '#/components/schemas/Balance'
        counterparty:
          description: Contains the details of the party that receives the grant.
            Setting either an `accountHolderId`, `balanceAccountId`, or both is required.
          $ref: '#/components/schemas/Counterparty'
        fee:
          description: Contains information about the fee that your user must pay
            for the grant. This is the sum of the fees of all the disbursements related
            to the grant.
          $ref: '#/components/schemas/Fee'
        grantAccountId:
          type: string
          description: The unique identifier of the grant account that tracks this
            grant.
        grantOfferId:
          type: string
          description: The unique identifier of the selected grant offer. Adyen uses
            the details of the selected grant offer to create a grant.
        id:
          type: string
          description: The unique identifier of the grant reference.
        repayment:
          description: Contains information about the repayment configuration of the
            grant. By default, this repayment configuration applies to all the disbursements
            related to the grant.
          $ref: '#/components/schemas/Repayment'
        status:
          description: Contains the status of the grant.
          $ref: '#/components/schemas/Status'
    Repayment:
      required:
      - basisPoints
      type: object
      properties:
        basisPoints:
          type: integer
          description: The percentage of your user's incoming net volume that is deducted
            for repaying the grant. The percentage expressed in [basis points](https://www.investopedia.com/terms/b/basispoint.asp).
          format: int32
        term:
          description: Contains information about the time period in which your user
            must repay the total amount of the grant.
          $ref: '#/components/schemas/RepaymentTerm'
        threshold:
          description: Contains the minimum threshold amount that your user must repay
            every 30-day period.
          $ref: '#/components/schemas/ThresholdRepayment'
    RepaymentTerm:
      required:
      - estimatedDays
      type: object
      properties:
        estimatedDays:
          type: integer
          description: The estimated duration of the repayment term, in days.
          format: int32
        maximumDays:
          type: integer
          description: The maximum duration of the repayment term, in days. Only applies
            when `contractType` is **loan**.
          format: int32
    Status:
      required:
      - code
      type: object
      properties:
        code:
          description: 'The code for the status of the grant. Possible values:

            - **Pending**

            - **Active**

            - **Repaid**

            - **WrittenOff**

            - **Failed**

            - **Revoked**'
          enum:
          - Pending
          - Active
          - Repaid
          - WrittenOff
          - Failed
          - Revoked
    ThresholdRepayment:
      required:
      - amount
      type: object
      properties:
        amount:
          description: The minimum threshold amount that your user must repay on every
            30-day period.
          $ref: '#/components/schemas/Amount'
    GrantInfo:
      required:
      - grantAccountId
      - grantOfferId
      type: object
      properties:
        amount:
          description: Contains information about the amount of the grant. This is
            the sum of the amounts of all the disbursements related to the grant.
          $ref: '#/components/schemas/Amount'
        counterparty:
          description: Contains the details of the party that receives the grant.
            Setting either an `accountHolderId`, `balanceAccountId`, or both is required.
          $ref: '#/components/schemas/Counterparty'
        fee:
          description: Contains information about the fee that your user must pay
            for the grant. This is the sum of the fees of all the disbursements related
            to the grant.
          $ref: '#/components/schemas/Fee'
        grantAccountId:
          type: string
          description: The unique identifier of the grant account that tracks this
            grant.
        grantOfferId:
          type: string
          description: The unique identifier of the selected grant offer. Adyen uses
            the details of the selected grant offer to create a grant.
        repayment:
          description: Contains information about the repayment configuration of the
            grant. By default, this repayment configuration applies to all the disbursements
            related to the grant.
          $ref: '#/components/schemas/Repayment'
    Grants:
      required:
      - grants
      type: object
      properties:
        grants:
          type: array
          description: Contains a list of the grants that the account holder has received.
          items:
            $ref: '#/components/schemas/Grant'
    AULocalAccountIdentification:
      required:
      - accountNumber
      - bsbCode
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 9
            minLength: 5
            type: string
            description: The bank account number, without separators or whitespace.
          bsbCode:
            maxLength: 6
            minLength: 6
            type: string
            description: The 6-digit [Bank State Branch (BSB) code](https://en.wikipedia.org/wiki/Bank_state_branch),
              without separators or whitespace.
          type:
            type: string
            description: '**auLocal**'
            default: auLocal
    AdditionalBankIdentification:
      type: object
      properties:
        code:
          type: string
          description: The value of the additional bank identification.
        type:
          description: "The type of additional bank identification, depending on the\
            \ country.\n\nPossible values:\n\n * **gbSortCode**: The 6-digit [UK sort\
            \ code](https://en.wikipedia.org/wiki/Sort_code), without separators or\
            \ spaces\n * **usRoutingNumber**: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),\
            \ without separators or spaces."
          $ref: '#/components/schemas/AdditionalBankIdentificationTypes'
    AdditionalBankIdentificationTypes:
      type: string
      enum:
      - auBsbCode
      - caRoutingNumber
      - gbSortCode
      - hkBankCode
      - jpZenginCode
      - nzBankBranchCode
      - usRoutingNumber
    BRLocalAccountIdentification:
      required:
      - accountNumber
      - bankCode
      - branchNumber
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 10
            minLength: 1
            type: string
            description: The bank account number, without separators or whitespace.
          bankCode:
            maxLength: 3
            minLength: 3
            type: string
            description: The 3-digit bank code, with leading zeros.
          branchNumber:
            maxLength: 4
            minLength: 1
            type: string
            description: The bank account branch number, without separators or whitespace.
          ispb:
            maxLength: 8
            minLength: 8
            type: string
            description: The 8-digit ISPB, with leading zeros.
          type:
            type: string
            description: '**brLocal**'
            default: brLocal
    BankAccountIdentification:
      type: object
      properties:
        type:
          type: string
          description: The type of account, which depends on the country of the account
            and the currency of the transfer.
      discriminator:
        propertyName: type
        mapping:
          iban: '#/components/schemas/IbanAccountIdentification'
          numberAndBic: '#/components/schemas/NumberAndBicAccountIdentification'
          auLocal: '#/components/schemas/AULocalAccountIdentification'
          brLocal: '#/components/schemas/BRLocalAccountIdentification'
          czLocal: '#/components/schemas/CZLocalAccountIdentification'
          noLocal: '#/components/schemas/NOLocalAccountIdentification'
          plLocal: '#/components/schemas/PLLocalAccountIdentification'
          huLocal: '#/components/schemas/HULocalAccountIdentification'
          seLocal: '#/components/schemas/SELocalAccountIdentification'
          sgLocal: '#/components/schemas/SGLocalAccountIdentification'
          ukLocal: '#/components/schemas/UKLocalAccountIdentification'
          usLocal: '#/components/schemas/USLocalAccountIdentification'
          caLocal: '#/components/schemas/CALocalAccountIdentification'
          dkLocal: '#/components/schemas/DKLocalAccountIdentification'
          nzLocal: '#/components/schemas/NZLocalAccountIdentification'
          hkLocal: '#/components/schemas/HKLocalAccountIdentification'
    CALocalAccountIdentification:
      required:
      - accountNumber
      - institutionNumber
      - transitNumber
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 12
            minLength: 5
            type: string
            description: The 5- to 12-digit bank account number, without separators
              or whitespace.
          accountType:
            description: 'The bank account type.


              Possible values: **checking** or **savings**. Defaults to **checking**.'
            $ref: '#/components/schemas/CALocalBankAccountType'
            default: checking
          institutionNumber:
            maxLength: 3
            minLength: 3
            type: string
            description: The 3-digit institution number, without separators or whitespace.
          transitNumber:
            maxLength: 5
            minLength: 5
            type: string
            description: The 5-digit transit number, without separators or whitespace.
          type:
            type: string
            description: '**caLocal**'
            default: caLocal
    CALocalBankAccountType:
      type: string
      enum:
      - checking
      - savings
    CZLocalAccountIdentification:
      required:
      - accountNumber
      - bankCode
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 17
            minLength: 2
            type: string
            description: "The 2- to 16-digit bank account number (\u010C\xEDslo \xFA\
              \u010Dtu) in the following format:\n\n- The optional prefix (p\u0159\
              ed\u010D\xEDsl\xED).\n\n- The required second part (z\xE1kladn\xED \u010D\
              \xE1st) which must be at least two non-zero digits.\n\nExamples:\n\n\
              - **19-123457** (with prefix)\n\n- **123457** (without prefix)\n\n-\
              \ **000019-0000123457** (with prefix, normalized)\n\n- **000000-0000123457**\
              \ (without prefix, normalized)"
          bankCode:
            maxLength: 4
            minLength: 4
            type: string
            description: "The 4-digit bank code (K\xF3d banky), without separators\
              \ or whitespace."
          type:
            type: string
            description: '**czLocal**'
            default: czLocal
    DKLocalAccountIdentification:
      required:
      - accountNumber
      - bankCode
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 10
            minLength: 4
            type: string
            description: The 4-10 digits bank account number (Kontonummer) (without
              separators or whitespace).
          bankCode:
            maxLength: 4
            minLength: 4
            type: string
            description: The 4-digit bank code (Registreringsnummer) (without separators
              or whitespace).
          type:
            type: string
            description: '**dkLocal**'
            default: dkLocal
    Disbursement:
      required:
      - accountHolderId
      - amount
      - balanceAccountId
      - balances
      - fee
      - grantId
      - id
      - repayment
      type: object
      properties:
        accountHolderId:
          type: string
          description: The unique identifier of the account holder that received the
            disbursement.
        amount:
          description: Contains information about the amount of the disbursement.
          $ref: '#/components/schemas/Amount'
        balanceAccountId:
          type: string
          description: The unique identifier of the balance account that received
            the disbursement.
        balances:
          description: Contains information about the balances of the disbursement.
          $ref: '#/components/schemas/Balance'
        fee:
          description: Contains information about the fee that your user must pay
            for the disbursement.
          $ref: '#/components/schemas/Fee'
        fundsCollections:
          type: array
          description: Contains information about the accounts that Adyen uses to
            collect funds related to repayments.
          items:
            $ref: '#/components/schemas/FundsCollection'
        grantId:
          type: string
          description: The unique identifier of the grant related to the disbursement.
        id:
          type: string
          description: The unique identifier of the disbursement.
        repayment:
          description: Contains information about the basis points configured for
            repaying the disbursement.
          $ref: '#/components/schemas/DisbursementRepayment'
    DisbursementRepayment:
      required:
      - basisPoints
      type: object
      properties:
        basisPoints:
          maximum: 10000
          minimum: 0
          type: integer
          description: The percentage of your user's incoming net volume that is deducted
            for repaying the grant. The percentage expressed in [basis points](https://www.investopedia.com/terms/b/basispoint.asp).
          format: int32
    Disbursements:
      required:
      - disbursements
      type: object
      properties:
        disbursements:
          type: array
          description: Contains a list of all disbursements related to the specified
            grant.
          items:
            $ref: '#/components/schemas/Disbursement'
    FundsCollection:
      type: object
      properties:
        accountIdentification:
          description: Contains the identification information of the account to which
            you can transfer funds related to repayments.
          $ref: '#/components/schemas/BankAccountIdentification'
        fundsCollectionType:
          description: 'The type of funds collection.


            Possible values: **UnscheduledRepayment**, **Revocation**.'
          $ref: '#/components/schemas/FundsCollectionType'
    FundsCollectionType:
      type: string
      enum:
      - UnscheduledRepayment
      - Revocation
    HKLocalAccountIdentification:
      required:
      - accountNumber
      - clearingCode
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 15
            minLength: 9
            type: string
            description: The 9- to 15-character bank account number (alphanumeric),
              without separators or whitespace. Starts with the 3-digit branch code.
          clearingCode:
            maxLength: 3
            minLength: 3
            type: string
            description: The 3-digit clearing code, without separators or whitespace.
          type:
            type: string
            description: '**hkLocal**'
            default: hkLocal
    HULocalAccountIdentification:
      required:
      - accountNumber
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 24
            minLength: 24
            type: string
            description: The 24-digit bank account number, without separators or whitespace.
          type:
            type: string
            description: '**huLocal**'
            default: huLocal
    IbanAccountIdentification:
      required:
      - iban
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          iban:
            type: string
            description: The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html)
              standard.
          type:
            type: string
            description: '**iban**'
            default: iban
    NOLocalAccountIdentification:
      required:
      - accountNumber
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 11
            minLength: 11
            type: string
            description: The 11-digit bank account number, without separators or whitespace.
          type:
            type: string
            description: '**noLocal**'
            default: noLocal
    NZLocalAccountIdentification:
      required:
      - accountNumber
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 16
            minLength: 15
            type: string
            description: The 15-16 digit bank account number. The first 2 digits are
              the bank number, the next 4 digits are the branch number, the next 7
              digits are the account number, and the final 2-3 digits are the suffix.
          type:
            type: string
            description: '**nzLocal**'
            default: nzLocal
    NumberAndBicAccountIdentification:
      required:
      - accountNumber
      - bic
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 34
            type: string
            description: The bank account number, without separators or whitespace.
              The length and format depends on the bank or country.
          additionalBankIdentification:
            description: Additional identification codes of the bank. Some banks may
              require these identifiers for cross-border transfers.
            $ref: '#/components/schemas/AdditionalBankIdentification'
          bic:
            maxLength: 11
            minLength: 8
            type: string
            description: The bank's 8- or 11-character BIC or SWIFT code.
          type:
            type: string
            description: '**numberAndBic**'
            default: numberAndBic
    PLLocalAccountIdentification:
      required:
      - accountNumber
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 26
            minLength: 26
            type: string
            description: The 26-digit bank account number ([Numer rachunku](https://pl.wikipedia.org/wiki/Numer_Rachunku_Bankowego)),
              without separators or whitespace.
          type:
            type: string
            description: '**plLocal**'
            default: plLocal
    SELocalAccountIdentification:
      required:
      - accountNumber
      - clearingNumber
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 10
            minLength: 7
            type: string
            description: The 7- to 10-digit bank account number ([Bankkontonummer](https://sv.wikipedia.org/wiki/Bankkonto)),
              without the clearing number, separators, or whitespace.
          clearingNumber:
            maxLength: 5
            minLength: 4
            type: string
            description: The 4- to 5-digit clearing number ([Clearingnummer](https://sv.wikipedia.org/wiki/Clearingnummer)),
              without separators or whitespace.
          type:
            type: string
            description: '**seLocal**'
            default: seLocal
    SGLocalAccountIdentification:
      required:
      - accountNumber
      - bic
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 19
            minLength: 4
            type: string
            description: The 4- to 19-digit bank account number, without separators
              or whitespace.
          bic:
            maxLength: 11
            minLength: 8
            type: string
            description: The bank's 8- or 11-character BIC or SWIFT code.
          type:
            type: string
            description: '**sgLocal**'
            default: sgLocal
    UKLocalAccountIdentification:
      required:
      - accountNumber
      - sortCode
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 8
            minLength: 8
            type: string
            description: The 8-digit bank account number, without separators or whitespace.
          sortCode:
            maxLength: 6
            minLength: 6
            type: string
            description: The 6-digit [sort code](https://en.wikipedia.org/wiki/Sort_code),
              without separators or whitespace.
          type:
            type: string
            description: '**ukLocal**'
            default: ukLocal
    USLocalAccountIdentification:
      required:
      - accountNumber
      - routingNumber
      - type
      type: object
      allOf:
      - $ref: '#/components/schemas/BankAccountIdentification'
      - type: object
        properties:
          accountNumber:
            maxLength: 18
            minLength: 2
            type: string
            description: The bank account number, without separators or whitespace.
          accountType:
            description: 'The bank account type.


              Possible values: **checking** or **savings**. Defaults to **checking**.'
            $ref: '#/components/schemas/USLocalBankAccountType'
            default: checking
          routingNumber:
            maxLength: 9
            minLength: 9
            type: string
            description: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),
              without separators or whitespace.
          type:
            type: string
            description: '**usLocal**'
            default: usLocal
    USLocalBankAccountType:
      type: string
      enum:
      - checking
      - savings
    PatchableDisbursement:
      type: object
      properties:
        repayment:
          description: Contains information about the basis points configured for
            repaying the disbursement.
          $ref: '#/components/schemas/PatchableDisbursementRepayment'
    PatchableDisbursementRepayment:
      type: object
      properties:
        basisPoints:
          maximum: 10000
          minimum: 0
          type: integer
          description: The percentage of your user's incoming net volume that is deducted
            for repaying the grant. The percentage expressed in [basis points](https://www.investopedia.com/terms/b/basispoint.asp).
          format: int32
    GrantAccount:
      type: object
      properties:
        balances:
          type: array
          description: Contains the sum of the balances of all grants tracked by this
            grant account. The balances are separated by currency.
          items:
            $ref: '#/components/schemas/Balance'
        fundingBalanceAccountId:
          type: string
          description: The unique identifier of the balance account used to fund the
            grant.
        id:
          type: string
          description: The unique identifier of the grant account.
        limits:
          type: array
          description: Contains the maximum amount of funds that you can disburse
            for grants.
          items:
            $ref: '#/components/schemas/GrantLimit'
    GrantLimit:
      type: object
      properties:
        amount:
          description: The limit amount of the grant account.
          $ref: '#/components/schemas/Amount'
    GrantOffer:
      required:
      - accountHolderId
      type: object
      properties:
        accountHolderId:
          type: string
          description: The unique identifier of the account holder to which the grant
            is offered.
        amount:
          description: The amount that would be paid out to the user for business
            financing.
          $ref: '#/components/schemas/Amount'
        contractType:
          description: 'The contract type of the grant offer. Possible values: **cashAdvance**,
            **loan**.'
          enum:
          - cashAdvance
          - loan
        expiresAt:
          type: string
          description: The date when the grant offer expires.
          format: date-time
        fee:
          description: Contains information about the fee that your user would pay
            for the grant.
          $ref: '#/components/schemas/Fee'
        id:
          type: string
          description: The unique identifier of the grant offer.
        repayment:
          description: Contains information about the repayment configuration of the
            grant.
          $ref: '#/components/schemas/Repayment'
        startsAt:
          type: string
          description: The date when the grant offer becomes available.
          format: date-time
    GrantOffers:
      required:
      - grantOffers
      type: object
      properties:
        grantOffers:
          type: array
          description: Contains a list of available grant offers for the specified
            account holder.
          items:
            $ref: '#/components/schemas/GrantOffer'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: X-API-Key
      in: header
    BasicAuth:
      type: http
      scheme: basic
jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base
