---
title: "List card transactions"
method: GET
path: "/v2/transactions/card"
---

# List card transactions

`GET /v2/transactions/card`

## Request

- Base URL: `https://api.slash.com`
- URL: `https://api.slash.com/v2/transactions/card`
- Auth: API key in header `X-API-Key`

Returns the newest-first card transaction feed for the selected legal
entity. Only card activity is returned; use the card-specific filters to
narrow by card, card group, processor authorization, or authorization time.

## Query parameters

- `cursor` string
- `limit` integer
- `sort` 'date' | 'authorizedAt'
- `sortDirection` 'asc' | 'desc'
- `accountId` string
- `virtualAccountId` string
- `status` 'pending' | 'posted' | 'failed': Coarse transaction state.
- `detailedStatus` 'pending' | 'canceled' | 'failed' | 'settled' | 'declined' | 'refund' | 'reversed' | 'dispute': Exact lifecycle state of a card transaction.
- `from` string, date-time
- `to` string, date-time
- `cardId` string
- `cardGroupId` string
- `providerAuthorizationId` string
- `authorizedFrom` string, date-time
- `authorizedTo` string, date-time
- `includeSummary` boolean

## Response `200`

A page of card transactions.

- object
  - `items` TransactionCard[], required
    - `id` string, required: Transaction id.
    - `date` string, date-time, required: Posting date, or creation date while pending or failed.
    - `description` string, required: Statement descriptor when one was supplied; otherwise a Slash-generated display description.
    - `memo` string: Human-readable payment memo, when present. For transfers, this is the request's top-level `description`.
    - `note` string: User-editable private note, when present.
    - `amountCents` integer, required: Signed USD account impact in cents. Debits are negative.
    - `status` 'pending' | 'posted' | 'failed', required: Coarse transaction state.
    - `accountId` string, required: Account containing the transaction.
    - `virtualAccountId` string: Virtual account containing the transaction, when applicable.
    - `accountSubtype` 'cash' | 'credit', required: Balance type affected by the transaction.
    - `transferId` string: The transfer that produced this transaction, if any. Uses the `transfer_intent_` prefix.
    - `accountingEntryId` string: The accounting entry created for this transaction once it settled, if the legal entity has an accounting connection. Read it at `GET /v2/accounting/entries/{entryId}`.
    - `originalCurrency` object: Original currency details when the transaction was converted. Despite the historical `amountCents` field name, the amount uses the original currency's native minor unit.
      - `code` string, required
      - `amountCents` number, required: Amount in the original currency's native minor unit.
      - `conversionRate` number
    - `category` 'card', required
    - `detailedStatus` 'pending' | 'canceled' | 'failed' | 'settled' | 'declined' | 'refund' | 'reversed' | 'dispute', required: Exact lifecycle state of a card transaction.
    - `details` object: Card, merchant, and authorization data for a card transaction.
      - `cardId` string
      - `merchant` object
        - `id` string: The merchant's id, with the `merchant_v2_` prefix. Use it as a `merchant` source in `PUT /v2/accounting/mappings` to code every transaction at this merchant the same way. Absent while the merchant is still being identified.
        - `description` string, required
        - `categoryCode` string, required: The merchant category code (MCC) the network reported.
        - `categoryId` string: The Slash merchant category the `categoryCode` falls in, with the `merchant_category_` prefix. Use it as a `merchant_category` source in `PUT /v2/accounting/mappings` to code every transaction in the category the same way. Absent when the code is not in any category.
        - `location` object
          - `city` string, required
          - `state` string, required
          - `country` string, required
          - `zip` string, required
      - `orderId` string
      - `referenceNumber` string
      - `authorizedAt` string, date-time
      - `declineReason` string
      - `approvalReason` string
      - `providerAuthorizationId` string
      - `cashback` object
        - `amountCents` integer, required: Cashback earned, in cents.
        - `rate` number, required
      - `fxFee` object
        - `amountCents` integer, required: Foreign transaction fee charged, in cents.
  - `metadata` PaginationMetadata, required
    - `nextCursor` string: Opaque cursor for the next page. Omitted on the final page.
    - `count` integer, required: Number of items in this page.
  - `summary` TransactionSummary: Totals over every transaction matching the request's filters, not just the returned page. Present only when `includeSummary=true`.
    - `count` integer, required: Number of matching transactions.
    - `totalInCents` integer, required: Sum of positive amounts, in cents. Excludes failed, declined, canceled, and reversed transactions and transfers between virtual accounts.
    - `totalOutCents` integer, required: Sum of negative amounts, in cents, with the same exclusions as `totalInCents`.
    - `netChangeCents` integer, required: `totalInCents + totalOutCents`.

## Other responses

- `400`: - `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.
- `401`: - `unauthorized` — API key authentication is missing or invalid.
- `403`: - `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity. - `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime. - `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.
- `404`: - `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.
- `429`: The request exceeded the applicable rate limit. The response body is plain text, not the error object; clients must not depend on its wording.
- `500`: - `internal` — Slash could not complete the request. Quote `referenceId` when contacting Slash support.

## Changes

- **2026-10-16** `8b5d371ffeea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/slashfi/apis/slash-public-api/changes/v2/transactions/card/get.md)

---

[API](https://skmtc.dev/slashfi/apis/slash-public-api.md) - [All operations](https://skmtc.dev/slashfi/apis/slash-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/slashfi/apis/slash-public-api/revisions/eaed2d63c9e2?raw)
