> ## 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.

# List capabilities

> List what your sub-clients can be enabled for. The list is your account's own: it carries only the banks your account is authorized for.

Request a `feature` with [Request a capability](/api-reference/capabilities/request-a-capability). A `bank` is not requested there: the sub-client declares it in `capabilities.requested_banks` on [Update a user](/api-reference/users/update-a-user).

[List capability grants](/api-reference/capabilities/list-capability-grants) tells you which ones a sub-client holds.



## OpenAPI

````yaml /openapi/kira-api.2026-04-14.json get /v1/capabilities
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 except the token call needs a bearer
    access token (see Authentication). Pin your account to the recommended
    version before integrating (see [Versioning](/using-the-api/versioning)).
  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: []
tags:
  - name: Authentication
  - name: Versioning
  - name: Users
  - name: Virtual Accounts
  - name: Recipients
  - name: Quotations
  - name: Payouts
  - name: Ultimate Payors
  - name: Capabilities
  - name: Reference
  - name: RFIs
paths:
  /v1/capabilities:
    get:
      tags:
        - Capabilities
      summary: List capabilities
      description: >-
        List what your sub-clients can be enabled for. The list is your
        account's own: it carries only the banks your account is authorized for.


        Request a `feature` with [Request a
        capability](/api-reference/capabilities/request-a-capability). A `bank`
        is not requested there: the sub-client declares it in
        `capabilities.requested_banks` on [Update a
        user](/api-reference/users/update-a-user).


        [List capability
        grants](/api-reference/capabilities/list-capability-grants) tells you
        which ones a sub-client holds.
      operationId: get_v1-capabilities
      parameters:
        - 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: The catalogue, features first.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapabilityListResponse'
              example:
                capabilities:
                  - code: pobo
                    kind: feature
                    name: Payments on behalf of
                    description: >-
                      Lets a business subclient pay beneficiaries on behalf of
                      its own customers.
                    eligibility:
                      user_status: VERIFIED
                    requirements_version: 850f14
                    requirements:
                      - id: pobo_intragroup
                        title: Payments on behalf of companies in the same group
                      - id: pobo_third_party
                        title: Payments on behalf of third parties outside the group
                      - id: pobo_compliance_program
                        title: AML/KYC/sanctions program covering those third parties
                      - id: pobo_compliance_policy_doc
                        title: Compliance policy or program document
                      - id: pobo_trade
                        title: >-
                          International trade payments for other companies or
                          end-buyers
                      - id: group_companies
                        title: Group companies paid on behalf of
                      - id: trade_industries
                        title: Industries and sectors traded in
                      - id: trade_goods
                        title: Products or materials sourced
                      - id: trade_corridors
                        title: Countries operated in or sourced from
                      - id: trade_aml_policy
                        title: Written AML and sanctions policies
                      - id: trade_aml_policy_doc
                        title: AML and sanctions policy document
                      - id: trade_dual_use
                        title: Dual-use export-control screening
                      - id: trade_subbuyer_screening
                        title: >-
                          Sanctions, PEP and adverse-media screening of
                          sub-buyers
                      - id: trade_monthly_volume
                        title: Expected monthly volume (USD)
                      - id: trade_model
                        title: How money, invoices and goods are handled
                  - code: jp_morgan
                    kind: bank
                    name: JP Morgan
                    description: USD accounts at JP Morgan.
                    requirements: []
                total: 2
        '401':
          description: >-
            No valid bearer token came with the request. Get one from [Get
            access token](/api-reference/authentication/get-access-token) and
            send it as `Authorization: Bearer <token>`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: invalid_request
                message: >-
                  The request was not authenticated. Request a token at POST
                  /auth with your Client ID and your API key, then send it as
                  Authorization: Bearer <token>.
        '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:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: error
                message: Internal server error
      security:
        - bearerAuth: []
          apiKeyAuth: []
      servers:
        - url: https://api.balampay.com/sandbox
          description: Sandbox
        - url: https://api.balampay.com
          description: Production
components:
  schemas:
    CapabilityListResponse:
      type: object
      properties:
        capabilities:
          type: array
          description: >-
            Every feature, then each bank your account is authorized for that
            opens new accounts.
          items:
            $ref: '#/components/schemas/Capability'
        total:
          type: integer
          description: How many capabilities are in `capabilities`.
    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
    Capability:
      type: object
      description: >-
        One capability your sub-clients can hold. A `feature` is requested and
        reviewed; a `bank` comes with the sub-client's verification for that
        bank.
      properties:
        code:
          type: string
          description: >-
            The capability's identifier. See [Capability
            values](/reference/capabilities/values#code).
        kind:
          type: string
          description: >-
            Available options: `feature`, `bank`. See [Capability
            values](/reference/capabilities/values#kind).
        name:
          type: string
          description: A name to show your users.
        description:
          type: string
          description: One sentence on what it lets the sub-client do.
        eligibility:
          type: object
          description: Who can request it. Only on a `feature`.
          properties:
            user_status:
              type: string
              description: The `status` the sub-client needs. Always `VERIFIED`.
        requirements_version:
          type: string
          description: >-
            Identifies the current list of requirements, as a request opened now
            records it. Only on a `feature`.
        requirements:
          type: array
          description: >-
            What the sub-client answers through the request's link, in the order
            it is asked. `[]` on a `bank`.
          items:
            type: object
            properties:
              id:
                type: string
                description: The requirement's stable identifier.
              title:
                type: string
                description: What the sub-client is asked for.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        The `data.access_token` value from [Get access
        token](/api-reference/authentication/get-access-token).

````

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