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

# List card transactions and card-funded fees

> Scope `cards:read`. Paged history for all tenant card programs, including
purchases, declined attempts, refunds, reversals, and card-funded fees.
History remains readable when new sales of a product are disabled.
Pages are newest first. Updates preserve the original pagination position.
Hex identifiers remain case-insensitive; other card ids are case-sensitive.
Another tenant's card, a retail card, and an unknown card return the
same `404 not_found`. `limit` is 1..100 (default 50). `0`, a negative
value, a fraction, and a non-numeric value return `400 invalid_limit`.
Values above 100 are capped at 100. A cursor from another card, zero,
or a negative cursor is `400 invalid_cursor`. A body that is not JSON,
or is larger than 8 KiB, is `400 invalid_json`. No PAN, CVV, issuer
name, or supplier name. Card numbers are stripped from merchant text,
decline reasons, and transaction ids, including when digits are
separated by spaces, dots, slashes, or dashes. Unsafe raw issuer ids
are never exposed: a program may omit such an authorization or use
an opaque public transaction id instead.
`amount`, `merchant_amount`, and `fee_amount` are exact signed
decimals. A missing amount is omitted, not zero, and its currency is
omitted with it.
`entry_type=fee` means a separate card-funded fee; company-funded costs
are excluded. Transaction `fee_amount` is an attribute, not another
settlement debit. `original_transaction_id` links an original event
when known. Transaction ids and cursors are opaque.
For programs reporting detailed types, `auth_type` distinguishes refunds,
reversals, maintenance fees, verification, and expenses. Approved means
completed, including completed refunds. Unknown types remain visible.
The source is persisted issuer events and supported synchronization;
paging does not fetch a full live issuer archive.




## OpenAPI

````yaml /openapi/partner.openapi.yaml post /api/partner/card_transactions
openapi: 3.1.0
info:
  title: IMBA Partner API
  version: 1.2.0
  summary: B2B Partner API for USDT settlement, cards, eSIM, gift cards, and KYT
  description: |
    B2B Partner API. Production host `https://imbawallet.com` (no sandbox).

    - Human docs: `https://api-docs.imbawallet.com` (guides + FAQ)
    - Authenticate with `POST /auth/v1/partner/token` (assertion JWT), then call
      `POST /api/partner/<function>` with `Authorization: Bearer <access_token>`
      and a JSON body. Resource ids are body fields, not URL segments.
    - Amounts are decimal strings.
    - Response timestamps are UTC RFC 3339 with `Z`.
    - Request time fields accept RFC 3339 or unix seconds (not milliseconds).
    - Catalog calls (`/api/partner/gift_offers`, `/api/partner/esim_offers`,
      `/api/partner/card_products`) are live availability and the live USDT price.
      There is no `/quote` or `/availability` path.
    - Order lookup: `POST /api/partner/document_get`. Secrets via product calls
      after fulfillment (card JWE, gift `epin`, eSIM LPA) — not in webhooks
      except `card.otp`.
    - Card authorizations: `POST /api/partner/card_transactions`.
      Unfreeze: `POST /api/partner/card_unfreeze` (only a freeze by you or the cardholder).
    - Not in v1: purchase refund/cancel, card unload, card replacement.
  contact:
    name: IMBA Partner Support
    email: support@imbawallet.com
  license:
    name: Proprietary
    url: https://imbawallet.com
servers:
  - url: https://imbawallet.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Auth
    description: Assertion JWT → access token
  - name: Balance
    description: Partner settlement balance
  - name: Deposit
    description: Sticky USDT TRC-20 deposit address
  - name: Withdrawals
    description: USDT withdrawals from partner balance
  - name: Cards
    description: Card catalog, issue, list, secrets, topup, freeze
  - name: eSIM
    description: eSIM offers, purchase, topup
  - name: Gift cards
    description: Gift offers and purchases
  - name: Batch
    description: Mixed create cart (best-effort per item)
  - name: Documents
    description: Poll async documents by ext_id
  - name: Reconciliation
    description: Ledger lines for partner books
  - name: KYT
    description: Crypto-address screening, quotes and owned check history
paths:
  /api/partner/card_transactions:
    post:
      tags:
        - Cards
      summary: List card transactions and card-funded fees
      description: >
        Scope `cards:read`. Paged history for all tenant card programs,
        including

        purchases, declined attempts, refunds, reversals, and card-funded fees.

        History remains readable when new sales of a product are disabled.

        Pages are newest first. Updates preserve the original pagination
        position.

        Hex identifiers remain case-insensitive; other card ids are
        case-sensitive.

        Another tenant's card, a retail card, and an unknown card return the

        same `404 not_found`. `limit` is 1..100 (default 50). `0`, a negative

        value, a fraction, and a non-numeric value return `400 invalid_limit`.

        Values above 100 are capped at 100. A cursor from another card, zero,

        or a negative cursor is `400 invalid_cursor`. A body that is not JSON,

        or is larger than 8 KiB, is `400 invalid_json`. No PAN, CVV, issuer

        name, or supplier name. Card numbers are stripped from merchant text,

        decline reasons, and transaction ids, including when digits are

        separated by spaces, dots, slashes, or dashes. Unsafe raw issuer ids

        are never exposed: a program may omit such an authorization or use

        an opaque public transaction id instead.

        `amount`, `merchant_amount`, and `fee_amount` are exact signed

        decimals. A missing amount is omitted, not zero, and its currency is

        omitted with it.

        `entry_type=fee` means a separate card-funded fee; company-funded costs

        are excluded. Transaction `fee_amount` is an attribute, not another

        settlement debit. `original_transaction_id` links an original event

        when known. Transaction ids and cursors are opaque.

        For programs reporting detailed types, `auth_type` distinguishes
        refunds,

        reversals, maintenance fees, verification, and expenses. Approved means

        completed, including completed refunds. Unknown types remain visible.

        The source is persisted issuer events and supported synchronization;

        paging does not fetch a full live issuer archive.
      operationId: listPartnerCardTransactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - card_id
              properties:
                card_id:
                  type: string
                  example: 00112233445566778899aabb
                from:
                  description: RFC 3339 or unix seconds
                  example: '2026-04-01T00:00:00Z'
                to:
                  description: RFC 3339 or unix seconds
                  example: '2026-04-30T23:59:59Z'
                status:
                  type: string
                  description: >-
                    Filter only. `unknown` can appear on items but is not a
                    valid filter.
                  enum:
                    - pending
                    - approved
                    - declined
                  example: declined
                limit:
                  type: integer
                  minimum: 1
                  maximum: 100
                  default: 50
                  description: >
                    Page size. Values above 100 are capped at 100. Zero,
                    negative, fractional, and non-numeric values are 400
                    invalid_limit.
                cursor:
                  type: string
                  description: Opaque cursor from the previous page
            example:
              card_id: 00112233445566778899aabb
              status: declined
              limit: 50
      responses:
        '200':
          description: Authorization page
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardTransactionsResponse'
              example:
                card_id: 00112233445566778899aabb
                items:
                  - transaction_id: tx-example-001
                    card_id: 00112233445566778899aabb
                    ext_id: card-issue-20260710-003
                    status: declined
                    auth_type: purchase
                    decline_reason: insufficient_funds
                    amount: '38.15'
                    currency: USD
                    merchant_amount: '16915'
                    merchant_currency: KZT
                    merchant_name: EXAMPLE STORE
                    mcc: '4816'
                    fee_amount: '0.25'
                    fee_currency: USD
                    occurred_at: '2026-04-24T12:00:00.000Z'
                next_cursor: null
        '400':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
components:
  schemas:
    CardTransactionsResponse:
      type: object
      required:
        - card_id
        - items
      properties:
        card_id:
          type: string
          example: 00112233445566778899aabb
        items:
          type: array
          items:
            $ref: '#/components/schemas/CardTransaction'
        next_cursor:
          type:
            - string
            - 'null'
          example: null
    CardTransaction:
      type: object
      required:
        - transaction_id
        - card_id
        - status
        - occurred_at
      properties:
        transaction_id:
          type: string
          example: tx-example-001
        card_id:
          type: string
          example: 00112233445566778899aabb
        ext_id:
          type: string
          description: The ext_id from card issue for this card, not an authorization id.
          example: card-issue-20260710-003
        status:
          type: string
          enum:
            - pending
            - approved
            - declined
            - unknown
          example: declined
        previous_status:
          type: string
          description: Present on card_transaction.status_changed only
          example: pending
        auth_type:
          type: string
          description: >-
            Operation kind; use it to distinguish purchases, refunds, reversals,
            and fees.
          example: purchase
        entry_type:
          type: string
          enum:
            - transaction
            - fee
          description: >-
            When supplied, distinguishes a transaction from an additional
            card-funded fee.
        original_transaction_id:
          type: string
          description: Opaque public id of the original transaction when known
        fee_type:
          type: string
          description: Additional card fee category when reported
        decline_reason:
          type: string
          example: insufficient_funds
        amount:
          $ref: '#/components/schemas/DecimalString'
        currency:
          type: string
          example: USD
        merchant_amount:
          $ref: '#/components/schemas/DecimalString'
        merchant_currency:
          type: string
          example: KZT
        merchant_name:
          type: string
          example: EXAMPLE STORE
        mcc:
          type: string
          example: '4816'
        fee_amount:
          $ref: '#/components/schemas/DecimalString'
        fee_currency:
          type: string
          example: USD
        occurred_at:
          type: string
          format: date-time
          example: '2026-04-24T12:00:00.000Z'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          example: insufficient_balance
        message:
          type: string
          description: Optional human-readable explanation; handle the stable error code
    DecimalString:
      type: string
      description: Decimal amount as a string, not a JSON number.
      pattern: ^-?\d+(\.\d+)?$
  responses:
    Error:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Access token from POST /auth/v1/partner/token

````

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