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

# Get a recipient

> Read one recipient you have saved.



## OpenAPI

````yaml /openapi/kira-api.2026-04-14.json get /v1/recipients/{recipient_id}
openapi: 3.1.0
info:
  title: Kira API
  version: '2026-04-14'
  description: >-
    REST API for users, KYC/KYB verification, virtual accounts, payouts,
    recipients, and webhooks. Every request requires an `x-api-key` header and a
    bearer access token (see Authentication). Pin your account to version
    `2026-04-14` before integrating.
  contact:
    name: Kira API Support
    email: support@kirafin.ai
servers:
  - url: https://api.balampay.com
    description: Production
  - url: https://api.balampay.com/sandbox
    description: Sandbox
security:
  - bearerAuth: []
    apiKeyAuth: []
tags:
  - name: Authentication
  - name: Versioning
  - name: Users
  - name: Virtual Accounts
  - name: Recipients
  - name: Quotations
  - name: Payouts
  - name: Reference
paths:
  /v1/recipients/{recipient_id}:
    get:
      tags:
        - Recipients
      summary: Get a recipient
      description: Read one recipient you have saved.
      operationId: get_v1-recipients-recipient-id
      parameters:
        - in: path
          name: recipient_id
          required: true
          schema:
            type: string
            format: uuid
          description: UUID of the recipient to read.
        - in: header
          name: X-Api-Version
          required: false
          description: >-
            Version applied to this request. It wins over your account's pinned
            version — see [Versioning](/using-the-api/versioning).
          schema:
            type: string
            example: '2026-04-14'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipientResponse'
              example:
                recipient_id: cccccccc-dddd-eeee-ffff-000000000000
                type: business
                company_name: Acme Supplies LLC
                email: ap@example.com
                address:
                  street_name: 500 Howard Street
                  city: San Francisco
                  state: CA
                  postal_code: '94105'
                  country: US
                account_type: WIRE
                account_details:
                  routing_number: '000000001'
                  account_number: '1000000001'
                  type: checking
                  bank_name: Example Bank National Association
                  bank_address:
                    street_name: 1 Second Street South
                    city: St. Cloud
                    state: MN
                    postal_code: '56301'
                    country: US
                  doc_type: ein
                  doc_number: '123456789'
                created_ts: '2026-09-01T12:00:00.000Z'
                updated_ts: '2026-09-01T12:00:00.000Z'
                metadata: {}
        '400':
          description: >-
            `recipient_id` is not a UUID. The id is checked before the lookup,
            so a malformed one is a `400` and never a `404`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Always `Invalid request data`.
                  details:
                    type: array
                    description: One entry per rejected value.
                    items:
                      type: object
                      properties:
                        path:
                          type: string
                          description: The value that was rejected.
                        message:
                          type: string
                          description: What is wrong with it.
                        code:
                          type: string
                          description: The validation rule that failed.
              example:
                error: Invalid request data
                details:
                  - path: recipientId
                    message: Invalid uuid
                    code: invalid_string
        '403':
          description: >-
            Your request was turned away before it reached the API. The message
            talks about routing, but any of these causes it:


            - The `x-api-key` header is missing or wrong.

            - Your bearer token has expired. Get a new one from [Get access
            token](/api-reference/authentication/get-access-token).

            - The path or the HTTP method does not match. In sandbox, check that
            the path sits under the `/sandbox` prefix.


            A missing `Authorization` header comes back as a `401` with the same
            body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: invalid_request
                message: >-
                  The request could not be matched to a valid route, or was
                  malformed. Verify the path and HTTP method against the API
                  reference. This is a routing or request error, not a
                  credentials or signature problem.
        '404':
          description: >-
            No recipient of yours has that id. The same body comes back whether
            the id does not exist or the recipient belongs to another account
            holder, so it never reveals which.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: A short machine-readable reason.
                      message:
                        type: string
                        description: What went wrong, in one sentence.
                      details:
                        type: object
                        additionalProperties: true
                        description: >-
                          The values involved, when there are any. `{}`
                          otherwise.
              example:
                error:
                  code: NOT_FOUND
                  message: Recipient cccccccc-dddd-eeee-ffff-000000000000 not found
                  details: {}
        '500':
          description: >-
            Something failed on our side. Retry, and if it keeps happening
            contact your Kira contact with the time of the call.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: A short machine-readable reason.
                      message:
                        type: string
                        description: What went wrong, in one sentence.
                      details:
                        type: object
                        additionalProperties: true
                        description: >-
                          The values involved, when there are any. `{}`
                          otherwise.
              example:
                error:
                  code: INTERNAL_ERROR
                  message: An unexpected error occurred
                  details: {}
      security:
        - bearerAuth: []
          apiKeyAuth: []
      servers:
        - url: https://api.balampay.com/sandbox
          description: Sandbox
        - url: https://api.balampay.com
          description: Production
components:
  schemas:
    RecipientResponse:
      type: object
      description: >-
        One recipient. A name or contact field you never set is left out
        altogether rather than returned empty.
      properties:
        recipient_id:
          type: string
          format: uuid
          description: Recipient UUID. Send it on a payout or a quotation.
        type:
          type: string
          description: >-
            Whether the recipient is a person or a company. Available options:
            `individual`, `business`. See [Recipient
            values](/reference/recipients/values#recipient-type).
        first_name:
          type: string
          description: Given name of a person.
        middle_name:
          type: string
          description: Middle name of a person.
        last_name:
          type: string
          description: Family name of a person.
        company_name:
          type: string
          description: Registered name of a company.
        phone:
          type: string
          description: Phone number.
        email:
          type: string
          description: Email address.
        address:
          description: >-
            The recipient's own address, which is not the bank's. It comes back
            as an object when a city is on file, as a plain string when only
            free text was stored, and is absent when neither is.
          oneOf:
            - type: object
              properties:
                street_name:
                  type: string
                  description: Street and number.
                city:
                  type: string
                  description: City.
                state:
                  type: string
                  description: State or province.
                postal_code:
                  type: string
                  description: Postal code.
                country:
                  type: string
                  description: Country as an ISO 3166-1 alpha-2 code.
            - type: string
        account_type:
          type: string
          description: >-
            Which rail the money travels on. Available options: `ACH`, `WIRE`,
            `WALLET`. See [Recipient
            values](/reference/recipients/values#account_type).
        account_details:
          description: >-
            Where the money goes. Which fields you get depends on `account_type`
            — a wallet, an ACH account, or a wire account.
          anyOf:
            - type: object
              description: A crypto wallet.
              properties:
                token:
                  type: string
                  description: >-
                    Token the recipient receives. Available options: `USDC`,
                    `USDT`. See [Recipient
                    values](/reference/recipients/values#recipient-token).
                address:
                  type: string
                  description: Wallet address.
                network:
                  type: string
                  description: >-
                    Chain the wallet is on. Available options: `polygon`,
                    `solana`, `tron`. See [Recipient
                    values](/reference/recipients/values#recipient-network).
                doc_type:
                  type: string
                  description: >-
                    Which identity document was recorded. Kira lowercases this
                    on the way out, whatever case you sent.
                doc_number:
                  type: string
                  description: Number on that document.
            - type: object
              description: A US bank account reached over ACH.
              properties:
                routing_number:
                  type: string
                  description: The bank's 9-digit ABA routing number.
                account_number:
                  type: string
                  description: Account number at that bank.
                type:
                  type: string
                  description: 'Available options: `checking`, `savings`.'
                bank_name:
                  type: string
                  description: Name of the bank.
                bank_address:
                  type: string
                  description: Postal address of the bank, as one line of text.
                doc_type:
                  type: string
                  description: >-
                    Which identity document was recorded. Kira lowercases this
                    on the way out, whatever case you sent.
                doc_number:
                  type: string
                  description: Number on that document.
            - type: object
              description: A bank account reached by wire.
              properties:
                routing_number:
                  type: string
                  description: The bank's 9-digit ABA routing number.
                swift_code:
                  type: string
                  description: The bank's SWIFT or BIC code, when one was given.
                account_number:
                  type: string
                  description: Account number, or IBAN.
                type:
                  type: string
                  description: 'Available options: `checking`, `savings`.'
                bank_name:
                  type: string
                  description: Name of the bank.
                bank_address:
                  type: object
                  description: Postal address of the bank.
                  properties:
                    street_name:
                      type: string
                      description: Street and number.
                    city:
                      type: string
                      description: City.
                    state:
                      type: string
                      description: State or province.
                    postal_code:
                      type: string
                      description: Postal code.
                    country:
                      type: string
                      description: Country as an ISO 3166-1 alpha-2 code.
                  required:
                    - street_name
                    - city
                    - state
                    - postal_code
                    - country
                doc_type:
                  type: string
                  description: >-
                    Which identity document was recorded. Kira lowercases this
                    on the way out, whatever case you sent.
                doc_number:
                  type: string
                  description: Number on that document.
        created_ts:
          type: string
          description: When the recipient was created, as an ISO 8601 timestamp.
        updated_ts:
          type: string
          description: When it last changed, as an ISO 8601 timestamp.
        metadata:
          type: object
          additionalProperties: true
          description: Key/value pairs you attached. `{}` when you attached none.
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        statusCode:
          type: number
        error:
          type: string
        timestamp:
          type: string
        path:
          type: string
        details: {}
      required:
        - message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        The `data.access_token` value from [Get access
        token](/api-reference/authentication/get-access-token).
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key issued by Kira.

````