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

# Cards

> Issue virtual and physical cards and decide what they can spend.

Virtual cards work the moment they are created; physical cards are produced
and shipped to the holder.

<CardGroup cols={3}>
  <Card title="Lifecycle" icon="arrows-spin" href="/docs/v2/cards/lifecycle">
    Pause, unpause and close cards.
  </Card>

  <Card title="Physical cards" icon="truck" href="/docs/v2/cards/physical">
    Order, track and replace them.
  </Card>

  <Card title="Controls and groups" icon="sliders" href="/docs/v2/cards/controls-and-groups">
    Limit where and how much cards spend.
  </Card>
</CardGroup>

## Issuing a card

Every card has a holder, a user from [`GET /v2/users`](/api-reference/users/list). It is issued on a card
account and spends from one of its virtual accounts, the primary one unless
you pick another. Name the account with `accountId` when the legal entity has
more than one.

```bash theme={null}
curl -X POST "https://api.slash.com/v2/cards" \
  -H "X-API-Key: $SLASH_API_KEY" \
  -H "x-legal-entity: $SLASH_LEGAL_ENTITY_ID" \
  -H "X-Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "virtual",
    "name": "Ads – Meta",
    "cardholderUserId": "u_2rj4l7hmrrrcv",
    "controls": {
      "limit": { "amount": { "amount": 500000, "currency": "USD" }, "period": "monthly" }
    }
  }'
```

Cards issue from the account's default card product; pick another from
[`GET /v2/card-products`](/api-reference/cards/products) with `cardProductId`.

Move a card to another virtual account of the same account with
[`PATCH /v2/cards/{cardId}`](/api-reference/cards/update). The move finishes in the background, and the card
shows its new `virtualAccountId` once it has.

## Card numbers

The card object never carries the number or security code. Read them with
[`GET /v2/cards/{cardId}/details`](/api-reference/cards/details), served only on `https://vault.slash.com`,
which swaps Slash's tokens for the real values on the way out. Add
[message-level encryption](/docs/message-level-encryption) to keep them
encrypted end to end.

## Transactions

Card spend is listed with [`GET /v2/transactions/card`](/api-reference/list-card-transactions), filtered by `cardId` or
`cardGroupId`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.