---
title: "Retrieve a card transaction"
method: GET
path: "/v2/transactions/card/{transactionId}"
---

# Retrieve a card transaction

`GET /v2/transactions/card/{transactionId}`

## Request

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

Retrieve the latest state of one accessible card transaction.

## Path parameters

- `transactionId` string, required

## Response `200`

The card transaction.

- TransactionCard: Card activity with merchant and authorization data in `details`. This is the card variant of the unified Transaction model: `category` is always `card` and `detailedStatus` is limited to card lifecycle states.
  - `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.

## 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/:transactionId/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)
