Skip to main content
GET
/
api
/
partner
/
v2
/
transactions
cURL
curl --request GET \
  --url https://staging-api.capa.fi/api/partner/v2/transactions \
  --header 'partner-api-key: <partner-api-key>'
{
  "success": true,
  "data": {
    "count": 2,
    "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,
        "createdAt": "2025-05-08T18:00:00Z",
        "completedAt": "2025-05-08T18:12:00Z",
        "destinationWalletAddress": "0xabc123...",
        "bankAccount": {
          "country": "MX",
          "accountIdentifier": "0146...",
          "bankName": "Santander",
          "accountType": "SAVINGS",
          "isVerified": true,
          "documentIdentifier": "123abc",
          "bic": "DEUTDEFF",
          "iban": "DE89370400440532013000",
          "routingNumber": "021000021"
        },
        "invoice": {
          "transactionHash": "0xabc123...",
          "paymentUrl": "https://cdn.example.com/invoice"
        },
        "cancellationReason": "Transaction cancelled by user",
        "crossFiatCurrency": "<string>",
        "crossFiatAmount": 123,
        "sourceCurrency": "<string>",
        "targetCurrency": "<string>",
        "sourceAmount": 123,
        "targetAmount": 123,
        "sourceBankAccount": {
          "country": "MX",
          "accountIdentifier": "0146...",
          "bankName": "Santander",
          "accountType": "SAVINGS",
          "isVerified": true,
          "documentIdentifier": "123abc",
          "bic": "DEUTDEFF",
          "iban": "DE89370400440532013000",
          "routingNumber": "021000021"
        },
        "targetBankAccount": {
          "country": "MX",
          "accountIdentifier": "0146...",
          "bankName": "Santander",
          "accountType": "SAVINGS",
          "isVerified": true,
          "documentIdentifier": "123abc",
          "bic": "DEUTDEFF",
          "iban": "DE89370400440532013000",
          "routingNumber": "021000021"
        }
      }
    ]
  }
}
Returns a paginated list of on-ramp and off-ramp transactions that belong to your partner account.
Use optional query parameters to filter or paginate the results.

🔐 Headers

HeaderDescription
partner-api-keyAPI key associated with your partner account. Required. See API Key Generation Guide.
This endpoint requires authentication with a valid partner-api-key.

📥 Query Parameters


ParameterTypeRequiredDescription
idstring🔘Transaction identifier.
statusstring🔘Filter by transaction status (FAILED, COMPLETED, PENDING, PENDING_PAYMENT, FIAT_PAYMENT_RECEIVED, FIAT_RECEIVED, CRYPTO_RECEIVED, CRYPTO_NOT_RECEIVED, COMPLETED_CRYPTO_RECEIVAL, EXPIRED, CANCELLED, IN_PROGRESS, BANK_TRANSFER_PENDING, READY_BANK_TRANSFER, AWAITING_MANUAL_CRYPTO_TRANSFER, AWAITING_MANUAL_FIAT_TRANSFER)
typestring🔘Filter by transaction type (ON_RAMP or OFF_RAMP).
fiatCurrencystring🔘Fiat currency code (e.g. MXN, USD).
userIdstring🔘Return transactions for a specific user.
skipnumber🔘Skip parameter for pagination.
limitnumber🔘Maximum number of items per page (1–100). Defaults to 20.
sortBystring🔘Field to sort by (e.g. createdAt).
sortOrderstring🔘Sort order (ASC or DESC).

📨 Example Request

HTTP
curl --request GET \
     --url 'https://staging-api.capa.fi/api/partner/v2/transactions?id=8374f327-38bd-4b0b-b8a7-2524599eb903&type=ON_RAMP&fiatCurrency=MXN&userId=8374f327-38bd-4b0b-b8a7-2524599eb903' \
     --header 'accept: application/json' \
     --header 'partner-api-key: {{API-KEY}}'

📤 Response Body

FieldTypeDescription
successbooleantrue if the request was successful.
data.countnumberTotal number of transactions matching the filters.
data.data[]arrayArray of transaction objects. Each object includes the following fields:
idstringUnique ID of the transaction.
userIdstringUser ID associated with the transaction.
statusstringCurrent status of the transaction. Default is PENDING on creation
typestringTransaction type (ON_RAMP or OFF_RAMP).
tokenSymbolstringSymbol of the cryptocurrency used.
blockchainSymbolstringSymbol of the blockchain the crypto belongs to.
fiatCurrencystringFiat currency code (e.g., MXN, DOP).
fiatAmountnumberAmount of fiat currency after conversion.
cryptoAmountstring | numberAmount of crypto used (as string for precision).
exchangeRatestring | numberExchange rate used for the conversion.
premiumSpreadstring | numberPremium spread applied to the exchange rate.
createdAtstringISO timestamp when the transaction was created.
completedAtstring | nullISO timestamp when the transaction was completed, or null if pending.
destinationWalletAddressstringWallet address used for the crypto transfer.
bankAccount.isVerifiedbooleanWhether the bank account is verified.
bankAccount.accountIdentifierstring | nullCLABE (MX) or account number (DO).
bankAccount.countrystringCountry where the bank account is registered.
bankAccount.accountTypestring | nullType of bank account. Required for Dominican Republic.
bankAccount.bankNamestring | nullName of the bank. Required for Dominican Republic.
bankAccount.documentIdentifierstring | nullID document linked to the bank account.
invoice.transactionHashstring | nullBlockchain transaction hash, if available.
invoice.paymentUrlstring | nullPayment URL for on-ramp invoice payments.

📘 Example Response

JSON
{
  "success": true,
  "data": {
    "count": 2,
    "data": [
      {
        "id": "af6e3ab7-b982-4ce7-adf6-f54d4d8de10a",
        "userId": "d3127f5f-ff64-47f9-a9cc-ff603862eca6",
        "status": "PENDING",
        "type": "ON_RAMP",
        "tokenSymbol": "USDC",
        "blockchainSymbol": "OP",
        "fiatCurrency": "DOP",
        "fiatAmount": 12,
        "cryptoAmount": "0.197576",
        "exchangeRate": "60.73613361949396",
        "premiumSpread": "0.02",
        "createdAt": "2025-06-10T05:54:28.572Z",
        "completedAt": null,
        "destinationWalletAddress": "0xc003f42ae20560eb57949038df3542071c6e759b",
        "bankAccount": {
          "country": "DO",
          "accountIdentifier": "00112548542",
          "isVerified": false,
          "bankName": "Sample",
          "accountType": "SAVINGS",
          "documentIdentifier": "123456789013"
        },
        "invoice": {
          "transactionHash": null,
          "paymentUrl": null
        }
      }
    ]
  }
}

⚠️ Important Notes & Requirements

  • Partner API Key is mandatory: Include PartnerApiKey in the header.
  • Limit cap: limit must not exceed 100.
  • Scoped access: You can only retrieve transactions created via your own credentials.
  • Filtering: Combine filters such as status, type, and userId is valid.

✅ Use Cases

  • User dashboards: Show a list of past transactions per user.
  • Reconciliation: Fetch completed flows for accounting.
  • Customer support: Manually inspect and manage pending transactions.

Headers

partner-api-key
string
required

Api key for the affiliated partner that is performing the request

Query Parameters

id
string

Transaction identifier

Example:

"8374f327-38bd-4b0b-b8a7-2524599eb903"

status
enum<string>

Transaction status

Available options:
FAILED,
COMPLETED,
PENDING,
PENDING_PAYMENT,
FIAT_PAYMENT_RECEIVED,
FIAT_RECEIVED,
CRYPTO_RECEIVED,
CRYPTO_NOT_RECEIVED,
COMPLETED_CRYPTO_RECEIVAL,
EXPIRED,
CANCELLED,
IN_PROGRESS,
BANK_TRANSFER_PENDING,
READY_BANK_TRANSFER,
AWAITING_MANUAL_CRYPTO_TRANSFER,
AWAITING_MANUAL_FIAT_TRANSFER,
PENDING_FUNDS,
FUNDS_RECEIVED,
AWAITING_FUND_TRANSFER
Example:

"PENDING"

type
enum<string>

Transaction type

Available options:
ON_RAMP,
OFF_RAMP,
CROSS_RAMP
Example:

"ON_RAMP"

fiatCurrency
enum<string>

Fiat currency code

Available options:
MXN,
DOP,
USD,
EUR
Example:

"MXN"

userId
string

User id

Example:

"8374f327-38bd-4b0b-b8a7-2524599eb903"

partnerId
string

Partner identifier

Example:

"8374f327-38bd-4b0b-b8a7-2524599eb903"

skip
number

The number of elements to exclude from the results.

Example:

5

limit
number

The maximum amount of results to return.

Example:

5

sortBy
string

Supported values:

  • createdAt
Example:

"createdAt"

Response

200 - application/json

Retrieves transactions of the user associated with the current partner

success
boolean
Example:

true

data
object