> ## Documentation Index
> Fetch the complete documentation index at: https://docs.keette.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Banks

> Bank directory for a country. Use each bank's `code` as
`routing.bank_code` (or `bankCode`) when creating a beneficiary on a
local bank corridor (e.g. `ng_nip`).

`country` is an **ISO 3166-1 alpha-2** code (**2 letters**, not 3) —
e.g. Nigeria is `NG` (not `NGA`). See the full code list in
[Country codes](/guides/country-codes). Today the directory is
populated for Nigeria (`NG`); other codes may return an empty list
until that country's banks are synced.




## OpenAPI

````yaml /openapi.yaml get /banks
openapi: 3.1.0
info:
  title: Keette API
  version: 1.0.0
  description: |
    Public HTTP API for Keette workspaces. One base URL — live vs sandbox is
    selected by your API key (`sk_live_…` / `sk_test_…`).

    Endpoints are added as each implementation phase ships.
  contact:
    name: Keette Support
    email: talk@keette.com
servers:
  - url: https://1178-41-90-137-132.ngrok-free.app/v1
    description: Local tunnel (ngrok → core :8080)
  - url: https://api.keette.com/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Account
    description: Identity for the authenticating API key
  - name: Utilities
    description: |
      Lookup helpers for building beneficiaries and payouts — corridors
      (schemes + routing field keys), bank directory codes, account resolve,
      and SWIFT/BIC lookup.
  - name: Balances
    description: Wallet books
  - name: Beneficiaries
    description: Payout recipients
  - name: Transactions
    description: Unified transaction index
  - name: FX
    description: Indicative rates and firm quotes
  - name: Payouts
    description: Send money to a beneficiary
  - name: Payins
    description: Collect money into your books
  - name: Swaps
    description: FX between your own books
  - name: Webhooks
    description: Durable event log, ping, and webhook delivery helpers
paths:
  /banks:
    get:
      tags:
        - Utilities
      summary: Banks
      description: |
        Bank directory for a country. Use each bank's `code` as
        `routing.bank_code` (or `bankCode`) when creating a beneficiary on a
        local bank corridor (e.g. `ng_nip`).

        `country` is an **ISO 3166-1 alpha-2** code (**2 letters**, not 3) —
        e.g. Nigeria is `NG` (not `NGA`). See the full code list in
        [Country codes](/guides/country-codes). Today the directory is
        populated for Nigeria (`NG`); other codes may return an empty list
        until that country's banks are synced.
      operationId: listBanks
      parameters:
        - name: country
          in: query
          required: true
          description: |
            ISO 3166-1 alpha-2 country code (**2 letters**). Full list:
            [Country codes](/guides/country-codes). Example: `NG`.
          schema:
            type: string
            minLength: 2
            maxLength: 2
          example: NG
      responses:
        '200':
          description: Bank list
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    enum:
                      - list
                  country:
                    type: string
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Bank'
              examples:
                ng:
                  value:
                    object: list
                    country: NG
                    data:
                      - object: bank
                        country: NG
                        currency: NGN
                        code: '058'
                        name: Guaranty Trust Bank
                      - object: bank
                        country: NG
                        currency: NGN
                        code: '044'
                        name: Access Bank
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Bank:
      type: object
      properties:
        object:
          type: string
          enum:
            - bank
        country:
          type: string
          description: ISO country of the directory entry.
        currency:
          type: string
          description: Primary currency for transfers to this bank.
        code:
          type: string
          description: Value to send as `routing.bank_code` / `bankCode`.
          example: '058'
        name:
          type: string
          description: Display name.
        type:
          type: string
          description: Optional bank type from the directory.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - code
            - message
          properties:
            type:
              type: string
              description: Broad error class for client handling.
              enum:
                - invalid_request
                - authentication_error
                - permission_error
                - rate_limit
                - api_error
            code:
              type: string
              description: Stable machine-readable code (e.g. `parameter_invalid`).
            message:
              type: string
              description: Human-readable explanation safe to show developers.
            param:
              type: string
              description: Request field that failed validation, when applicable.
            doc_url:
              type: string
              format: uri
              description: Optional link to docs for this error.
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              type: authentication_error
              code: invalid_api_key
              message: Invalid API key provided.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: |
        Secret API key from **Settings → Developers → API keys**.
        Example: `Authorization: Bearer sk_test_…`

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.