Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 18 additions & 5 deletions mintlify/snippets/cards/freezing-and-closing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,14 @@ funding-source-only flow.

| From | To | Endpoint |
|------|----|----------|
| `ACTIVE` | `FROZEN` | `PATCH /cards/{id}` body `{ "status": "FROZEN" }` |
| `FROZEN` | `ACTIVE` | `PATCH /cards/{id}` body `{ "status": "ACTIVE" }` |
| `ACTIVE` or `FROZEN` | `CLOSED` | `PATCH /cards/{id}` body `{ "status": "CLOSED" }` |
| `ACTIVE` | `FROZEN` | `PATCH /cards/{id}` with `status`, `substatus`, and `reason` |
| `FROZEN` | `ACTIVE` | `PATCH /cards/{id}` with `status`, `substatus`, and `reason` |
| `ACTIVE` or `FROZEN` | `CLOSED` | `PATCH /cards/{id}` with `status`, `substatus`, and `reason` |

Every status change requires `substatus` (why the card is moving, in the issuer's
vocabulary) and `reason` (a short sentence explaining the change). See the
[API reference](/api-reference/cards/update-a-card) for the full list of
`substatus` values.

Any other transition returns `409 INVALID_STATE_TRANSITION`. In
particular, you cannot un-freeze a `CLOSED` card — close is terminal.
Expand All @@ -29,7 +34,11 @@ in one PATCH — just include both fields in the body.
curl -X PATCH "$GRID_BASE_URL/cards/Card:019542f5-b3e7-1d02-0000-000000000010" \
-u "$GRID_CLIENT_ID:$GRID_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{ "status": "FROZEN" }'
-d '{
"status": "FROZEN",
"substatus": "SUSPICIOUS_ACTIVITY",
"reason": "Unrecognised charges reported by the cardholder."
}'
```

The response is `200 OK` with the updated `Card` and a
Expand Down Expand Up @@ -68,7 +77,11 @@ setting `status: "CLOSED"`. The operation is permanent:
curl -X PATCH "$GRID_BASE_URL/cards/Card:019542f5-b3e7-1d02-0000-000000000010" \
-u "$GRID_CLIENT_ID:$GRID_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{ "status": "CLOSED" }'
-d '{
"status": "CLOSED",
"substatus": "END_USER_REQUEST",
"reason": "Cardholder asked us to close the card."
}'
```

`fundingSource` cannot be supplied alongside `status: CLOSED`.
Expand Down
14 changes: 10 additions & 4 deletions mintlify/snippets/cards/funding-sources.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,20 @@ from spending, set `status: FROZEN` instead.

## Stop a card from spending

Freeze the card without changing its funding source:
Freeze the card without changing its funding source. Every status change
requires `substatus` and `reason`:

```bash
curl -X PATCH "$GRID_BASE_URL/cards/Card:019542f5-b3e7-1d02-0000-000000000010" \
-u "$GRID_CLIENT_ID:$GRID_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{ "status": "FROZEN" }'
-d '{
"status": "FROZEN",
"substatus": "SUSPICIOUS_ACTIVITY",
"reason": "Unrecognised charges reported by the cardholder."
}'
```

To permanently retire a card, close it with `PATCH /cards/{id}` and
`status: "CLOSED"`.
To permanently retire a card, close it with `PATCH /cards/{id}` supplying
`status`, `substatus`, and `reason`. See
[Freezing and closing](/cards/card-management/freezing-and-closing) for details.
Loading