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

# List Transactions

Returns a paginated list of on-ramp, off-ramp, and cross-ramp transactions belonging to your partner account. Use query parameters to filter by status, type, user, receiver, or currency.

***

## Important Notes

* **Scoped access**: You can only retrieve transactions created via your own partner credentials.
* **Pagination**: Use `skip` and `limit` to paginate. `limit` must not exceed 100 (defaults to 20).
* Combine filters such as `status`, `type`, `userId`, and `receiverId` freely.

***

## Use Cases

* **User dashboards**: Display past transactions per user.
* **Reconciliation**: Fetch completed transactions for accounting.
* **Customer support**: Inspect and manage pending transactions.

***

## Error Codes

### Common Errors

| HTTP Status | Code                   | Message                            |
| ----------- | ---------------------- | ---------------------------------- |
| 401         | `UNAUTHORIZED`         | "API Key is missing"               |
| 401         | `UNAUTHORIZED`         | "Invalid API Key format"           |
| 401         | `UNAUTHORIZED`         | "Invalid API Key"                  |
| 403         | `INVALID_PARTNER_FLOW` | "The partner has an invalid flow." |

### Endpoint-Specific Errors

| HTTP Status | Code                       | Message              |
| ----------- | -------------------------- | -------------------- |
| 400         | `INVALID_USER_INPUT_ERROR` | "Invalid User Input" |


## OpenAPI

````yaml reference/openapi/TransactionPartnerV2Controller_listPartnerUserTransactions.json GET /api/partner/v2/transactions
openapi: 3.0.0
info:
  title: Capa Partner API - V2
  description: >-
    Partner API for integrating cryptocurrency on-ramp and off-ramp services
    using Capa's infrastructure. Enable your users to seamlessly convert between
    fiat and crypto.
  version: v2
  contact: {}
servers:
  - url: https://api.sandbox.capa.fi
  - url: https://production-api.capa.fi
security: []
paths:
  /api/partner/v2/transactions:
    get:
      tags:
        - transactions
      operationId: TransactionPartnerV2Controller_listPartnerUserTransactions
      parameters:
        - name: id
          required: false
          in: query
          description: Transaction identifier
          schema:
            type: string
        - name: status
          required: false
          in: query
          description: Transaction status
          schema:
            enum:
              - FAILED
              - COMPLETED
              - PENDING
              - PENDING_PAYMENT
              - FIAT_PAYMENT_RECEIVED
              - FIAT_RECEIVED
              - CRYPTO_RECEIVED
              - CRYPTO_NOT_RECEIVED
              - COMPLETED_CRYPTO_RECEIVAL
              - CANCELLED
              - IN_PROGRESS
              - BANK_TRANSFER_PENDING
              - READY_BANK_TRANSFER
              - AWAITING_MANUAL_CRYPTO_TRANSFER
              - AWAITING_MANUAL_FIAT_TRANSFER
              - PENDING_FUNDS
              - FUNDS_RECEIVED
              - AWAITING_FUND_TRANSFER
            type: string
        - name: type
          required: false
          in: query
          description: Transaction type
          schema:
            enum:
              - ON_RAMP
              - OFF_RAMP
              - CROSS_RAMP
            type: string
        - name: fiatCurrency
          required: false
          in: query
          description: Fiat currency code
          schema:
            enum:
              - MXN
              - DOP
              - USD
              - EUR
            type: string
        - name: userId
          required: false
          in: query
          description: User id
          schema:
            type: string
        - name: partnerId
          required: false
          in: query
          description: Partner identifier
          schema:
            type: string
        - name: receiverId
          required: false
          in: query
          description: Receiver identifier to filter transactions by receiver
          schema:
            type: string
        - name: skip
          required: false
          in: query
          description: The number of elements to exclude from the results.
          schema:
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum amount of results to return.
          schema:
            type: number
        - name: sortBy
          required: false
          in: query
          description: |-
            Supported values:
             - createdAt
          schema:
            type: string
      responses:
        '200':
          description: >-
            Retrieves transactions of the user associated with the current
            partner
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      count:
                        type: number
                        description: Total count of transactions matching the query
                        example: 2
                      data:
                        description: Array of transaction data
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Transaction ID
                              example: tx-1
                            userId:
                              type: string
                              description: User ID
                              example: user-123
                            status:
                              type: string
                              description: Transaction status
                              example: PENDING_PAYMENT
                            type:
                              type: string
                              description: Transaction type
                              example: ON_RAMP
                            tokenSymbol:
                              type: string
                              description: Token symbol
                              example: USDC
                            blockchainSymbol:
                              type: string
                              description: Blockchain symbol
                              example: POL
                            fiatCurrency:
                              type: string
                              description: Fiat currency code
                              example: MXN
                            fiatAmount:
                              type: number
                              description: Fiat amount
                              example: 5000
                            cryptoAmount:
                              type: number
                              description: Crypto amount
                              example: 251.2
                            exchangeRate:
                              type: number
                              description: Exchange rate
                              example: 19.9
                            premiumSpread:
                              type: number
                              description: Premium spread
                              example: 0.01
                            forwardingDays:
                              type: number
                              description: >-
                                Number of T+N forwarding days for settlement
                                (0-4). Only for MXN OTC transactions.
                              example: 2
                            effectiveForwardingDays:
                              type: number
                              description: >-
                                Effective forwarding days for settlement (may
                                differ from requested due to holidays/weekends).
                              example: 4
                            forwardingSettlementDate:
                              format: date-time
                              type: string
                              description: >-
                                Calculated settlement date based on effective
                                forwarding days offset.
                              example: '2026-03-14T03:25:27.495Z'
                            createdAt:
                              type: string
                              description: Transaction created date
                              example: '2025-05-08T18:00:00Z'
                            completedAt:
                              type: string
                              nullable: true
                              description: Transaction completed date
                              example: '2025-05-08T18:12:00Z'
                            destinationWalletAddress:
                              type: string
                              description: Destination wallet address
                              example: 0xabc123...
                            bankAccount:
                              description: Bank account information
                              allOf:
                                - type: object
                                  properties:
                                    country:
                                      type: string
                                      description: The country of the bank account
                                      example: MX
                                    accountIdentifier:
                                      type: string
                                      description: >-
                                        The account identifier for the bank
                                        account
                                      example: 0146...
                                    bankName:
                                      type: string
                                      description: The name of the bank
                                      example: Santander
                                    accountType:
                                      type: string
                                      description: The type of the account
                                      example: SAVINGS
                                    isVerified:
                                      type: boolean
                                      description: Whether the account is verified
                                      example: true
                                    documentIdentifier:
                                      type: string
                                      description: >-
                                        The document identifier used for
                                        verification
                                      example: 123abc
                                    bic:
                                      type: string
                                      description: SWIFT/BIC code for SEPA/EU accounts
                                      example: DEUTDEFF
                                    iban:
                                      type: string
                                      description: IBAN for SEPA/EU accounts
                                      example: DE89370400440532013000
                                    routingNumber:
                                      type: string
                                      description: >-
                                        ABA routing number for US accounts (9
                                        digits)
                                      example: '021000021'
                                  required:
                                    - country
                                    - isVerified
                                  x-readme-ref-name: TransactionBankAccountResponse
                            invoice:
                              description: Transaction invoice information
                              allOf:
                                - type: object
                                  properties:
                                    transactionHash:
                                      type: string
                                      description: The transaction hash in the blockchain
                                      example: 0xabc123...
                                    paymentUrl:
                                      type: string
                                      description: URL to the payment invoice
                                      example: https://cdn.example.com/invoice
                                  x-readme-ref-name: TransactionInvoiceResponse
                            cancellationReason:
                              type: string
                              description: Reason why the transaction was cancelled
                              example: Transaction cancelled by user
                            crossFiatCurrency:
                              type: string
                            crossFiatAmount:
                              type: number
                            sourceCurrency:
                              type: string
                            targetCurrency:
                              type: string
                            sourceAmount:
                              type: number
                            targetAmount:
                              type: number
                            sourceBankAccount:
                              type: object
                              properties:
                                country:
                                  type: string
                                  description: The country of the bank account
                                  example: MX
                                accountIdentifier:
                                  type: string
                                  description: The account identifier for the bank account
                                  example: 0146...
                                bankName:
                                  type: string
                                  description: The name of the bank
                                  example: Santander
                                accountType:
                                  type: string
                                  description: The type of the account
                                  example: SAVINGS
                                isVerified:
                                  type: boolean
                                  description: Whether the account is verified
                                  example: true
                                documentIdentifier:
                                  type: string
                                  description: >-
                                    The document identifier used for
                                    verification
                                  example: 123abc
                                bic:
                                  type: string
                                  description: SWIFT/BIC code for SEPA/EU accounts
                                  example: DEUTDEFF
                                iban:
                                  type: string
                                  description: IBAN for SEPA/EU accounts
                                  example: DE89370400440532013000
                                routingNumber:
                                  type: string
                                  description: >-
                                    ABA routing number for US accounts (9
                                    digits)
                                  example: '021000021'
                              required:
                                - country
                                - isVerified
                              x-readme-ref-name: TransactionBankAccountResponse
                            targetBankAccount:
                              type: object
                              properties:
                                country:
                                  type: string
                                  description: The country of the bank account
                                  example: MX
                                accountIdentifier:
                                  type: string
                                  description: The account identifier for the bank account
                                  example: 0146...
                                bankName:
                                  type: string
                                  description: The name of the bank
                                  example: Santander
                                accountType:
                                  type: string
                                  description: The type of the account
                                  example: SAVINGS
                                isVerified:
                                  type: boolean
                                  description: Whether the account is verified
                                  example: true
                                documentIdentifier:
                                  type: string
                                  description: >-
                                    The document identifier used for
                                    verification
                                  example: 123abc
                                bic:
                                  type: string
                                  description: SWIFT/BIC code for SEPA/EU accounts
                                  example: DEUTDEFF
                                iban:
                                  type: string
                                  description: IBAN for SEPA/EU accounts
                                  example: DE89370400440532013000
                                routingNumber:
                                  type: string
                                  description: >-
                                    ABA routing number for US accounts (9
                                    digits)
                                  example: '021000021'
                              required:
                                - country
                                - isVerified
                              x-readme-ref-name: TransactionBankAccountResponse
                          required:
                            - id
                            - userId
                            - status
                            - type
                            - exchangeRate
                            - createdAt
                          x-readme-ref-name: TransactionResponseData
                    required:
                      - count
                      - data
                    x-readme-ref-name: PaginatedTransactionResponse
              example:
                success: true
                data:
                  count: 1
                  data:
                    - id: tx-1
                      userId: user-123
                      status: PENDING_PAYMENT
                      type: ON_RAMP
                      tokenSymbol: USDC
                      blockchainSymbol: POL
                      fiatCurrency: MXN
                      fiatAmount: 5000
                      cryptoAmount: 251.2
                      exchangeRate: 19.9
                      premiumSpread: 0.01
                      forwardingDays: 2
                      effectiveForwardingDays: 4
                      forwardingSettlementDate: '2026-03-14T03:25:27.495Z'
                      createdAt: '2025-05-08T18:00:00Z'
                      completedAt: null
                      destinationWalletAddress: '0x7796d4f304bd84171ee6730ad0f69c07a47e786d'
                      bankAccount:
                        country: MX
                        accountIdentifier: '014680260346007120'
                        bankName: Santander
                        accountType: SAVINGS
                        isVerified: true
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                code: INVALID_USER_INPUT_ERROR
                message: Invalid User Input
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                UNAUTHORIZED:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: API Key is missing
                UNAUTHORIZED_2:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: Invalid API Key format
                UNAUTHORIZED_3:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: Invalid API Key
                UNAUTHORIZED_4:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: Partner information is required for this operation
                UNAUTHORIZED_5:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: User is not associated with the partner
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                code: INTERNAL_SERVER_ERROR
                message: Internal server error
      security:
        - PartnerApiKey: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable error message.
        errors:
          type: array
          description: Optional per-field validation details.
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
      required:
        - success
        - code
        - message
  securitySchemes:
    PartnerApiKey:
      type: apiKey
      in: header
      name: partner-api-key
      description: API key for the affiliated partner performing the request.

````