/cards/{cardId}/suspendSuspend or Resume Card Spend
Toggles transaction enablement for an Active card. Does not close, freeze, or replace the card — CardStatus stays Active.
Cannot resume a card suspended by FV Bank. Expired cards cannot be changed. Idempotent: already suspended / already resumed returns success.
curl -X POST "{{baseUrl}}/cards/{{cardId}}/suspend" \
-H "session-token: {{sessionToken}}" \
-H "Content-Type: application/json" \
-d "{\"Suspended\": true}"Path variables
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
cardId | string | Required | 55d0c52f-79ee-4d38-acf4-a16c07957898 | Card reference ID from list cards. |
Headers
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
session-token | string | Required | — | SessionToken obtained from the Create GMA Session endpoint. All secured endpoints require this header. |
Request body
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
Suspended | boolean | Required | true | false | `true` = suspend spend; `false` = resume. |
Example request
{
"Suspended": true
}Only Active cards. Expired → 400. FV Bank suspension cannot be resumed by the partner. Idempotent. Request body must use PascalCase (`Suspended`); camelCase is not accepted.
Additional info
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
Request — resume spend | object | Optional | — | Body to resume transactions. |
200 — Resume success | object | Optional | — | Successful resume response. |
400 — Card not Active | object | Optional | — | Suspend/resume is only allowed when CardStatus is Active. |
400 — Card Expired | object | Optional | — | Expired cards cannot be suspended or resumed. |
Example— Request — resume spend
{
"Suspended": false
}Example— 200 — Resume success
{
"ResponseCode": 200,
"ResponseMessage": "Success",
"ResponseData": {
"CardId": "55d0c52f-79ee-4d38-acf4-a16c07957898",
"Suspended": false,
"Message": "Card transactions resumed successfully"
}
}Example— 400 — Card not Active
{
"ResponseCode": 400,
"ResponseMessage": "Card transactions can only be changed for Active cards",
"ResponseData": null
}Example— 400 — Card Expired
{
"ResponseCode": 400,
"ResponseMessage": "Card is Expired",
"ResponseData": null
}Path param stays camelCase (`cardId`). Body field is PascalCase (`Suspended`).
Response
| Field | Type | Possible values | Description |
|---|---|---|---|
ResponseCode | integer | 200 | 201 | 204 | 301 | 400 | 401 | 403 | 404 | 410 | 422 | 500 | 503 | API result code in the response envelope. Indicates success or the error category (e.g. 200 success, 400 bad request, 401 unauthorized). |
ResponseMessage | string | Success | Created | NoContent | BadRequest | Unauthorized | Forbidden | NotFound | Gone | UnprocessableContent | ServerError | ResourceMoved | ServiceUnAvailable | UnProcessableEntity | Human-readable label paired with ResponseCode (e.g. Success, BadRequest, Unauthorized). Use with ResponseCode to interpret the outcome. |
ResponseData | object | Please refer to below example for response body | Updated suspension state. |
ResponseData.CardId | string | — | Card reference id. |
ResponseData.Suspended | boolean | — | Resulting suspended state. |
ResponseData.Message | string | — | Suspend / resume / already-* message. |
Example response
{
"ResponseCode": 200,
"ResponseMessage": "Success",
"ResponseData": {
"CardId": "55d0c52f-79ee-4d38-acf4-a16c07957898",
"Suspended": true,
"Message": "Card transactions suspended successfully"
}
}Requires `session-token: {SessionToken}` from Create GMA Session. Use the same client IP as authentication.