---
title: "Suspend a card"
description: "Suspend a card."
source: https://developers.qashio.com/v2/reference/put-public-v1-core-cards-by-cardid-change-status/
---

# Suspend a card

`PUT /public/v1/core/cards/{cardId}/change_status`

Requires a Bearer access token.

**Purpose.** Suspend a card.

**Description.** Suspends an active card so it stops authorising transactions. **This endpoint is
suspend-only.** `status` must be `suspended`; any other value — including `active` or `terminated` —
is rejected with `403`. Reactivating or terminating a card is done in the Qashio dashboard.

The suspension is **processed asynchronously**. A success response means the request was accepted and
sent to the card issuer, not that the card is already suspended. Poll
[`GET /public/v1/erp/cards/{cardId}`](#get-publicv1erpcardscardid) to confirm the committed state.

**Input.**

| Field | In | Type | Description |
| --- | --- | --- | --- |
| `cardId` | path | string | Card identifier (`CA…`) |
| `status` | body | string | Must be `suspended` |
| `reason` | body | string | Optional free text, e.g. `Card is stolen`. Accepted but not retained |

```json
{ "status": "suspended", "reason": "Card is stolen" }
```

**Output.** `200` with `message: "Resource updated successfully."` and `data.message` confirming the
change is being processed.

**Errors.** `403` (any `status` other than `suspended`), `400` (the card cannot be suspended in its
current state), `401`.

---

# Users

### Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `cardId` | string | yes | Card identifier (`CA…`) |

### Request body

```json
{
  "status": "suspended",
  "reason": "Card is stolen"
}
```

### Example request

```bash
curl -X PUT 'https://api.qashio.com/public/v1/core/cards/%3AcardId/change_status' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "status": "suspended",
    "reason": "Card is stolen"
  }'
```

### Example response (200)

```json
{
  "status_code": 200,
  "success": true,
  "message": "Resource updated successfully.",
  "data": {
    "message": "Change card status process started. Please refresh in a few seconds to see updated status."
  },
  "meta": {
    "request_id": "3adb2d16090c7b3bdbde3b326a814b30",
    "timestamp": "2026-09-09T10:07:52.143Z"
  }
}
```

### Errors

- `401` Unauthorized - missing or invalid Bearer token
- `403` Forbidden
