List Card Transactions
Returns transaction details for a single virtual card, with pagination and the same filters as List Transactions. The only difference: card_id is required and results are scoped to that one card.
card_idmust belong to your account and be a virtual card, otherwise404/400.- Same strict desensitization and same response shape as List Transactions.
Endpoint
| Item | Value |
|---|---|
| Method | POST |
| Path | /api/v1/openapi/card/transactions/list |
| Auth | HMAC |
| Idempotency | Not required |
Request Fields
| Field | Type | Required | Description |
|---|---|---|---|
card_id | string | ✅ | card_<id> — the card to query (must be your virtual card) |
transaction_time_from | string | optional | Start of range, YYYY-MM-DD HH:MM:SS |
transaction_time_to | string | optional | End of range, YYYY-MM-DD HH:MM:SS |
type | string | optional | Type filter — PURCHASE / AUTHORIZATION / REFUND / REVERSAL / TOPUP / WITHDRAW / FEE |
status | string | optional | PENDING / APPROVED / FAILED / REVERSED |
amount_from | string | optional | Minimum amount, e.g. "10.00" |
amount_to | string | optional | Maximum amount, e.g. "1000.00" |
merchant_name | string | optional | Merchant name (fuzzy) |
keyword | string | optional | Free-text keyword (fuzzy) |
page | int | optional | Page number (default 1) |
page_size | int | optional | Page size (default 20, max 100) |
Example Request
json
{
"card_id": "card_12345",
"type": "PURCHASE",
"page": 1,
"page_size": 50
}Response
Identical to List Transactions — a paginated envelope whose list items are transaction objects. See that page for the full field table, type values, categories, and the example payload. Every returned row belongs to the requested card_id.
Common Errors
| HTTP | message_key | Description |
|---|---|---|
| 400 | openapi_invalid_card_id | Missing or invalid card_id (required here) |
| 400 | openapi_card_type_not_supported | card_id is not a virtual card |
| 400 | invalid_date_format | transaction_time_from/to not in YYYY-MM-DD HH:MM:SS |
| 400 | invalid_params | Bad amount format |
| 401 | openapi_invalid_credentials | Auth failure |
| 404 | card_not_found | Card not found / not owned |
| 500 | openapi_list_transactions_failed | Server error |
Notes
- This endpoint is a convenience wrapper for the common "show me one card's history" case; functionally it equals List Transactions with
card_idset. Choose whichever reads clearer in your integration. - Data comes from Coinepay's local ledger; it does not call the provider synchronously.