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

# Void Customer Card

> Permanently void a customer's virtual card. This action is irreversible and only applies to virtual cards.

<ParamField header="Authorization" type="string" required>
  Bearer token: `Bearer YOUR_ACCESS_TOKEN`
</ParamField>

<ParamField path="yativoCardId" type="string" required>
  The customer's `yativo_card_id`.
</ParamField>

<ParamField path="cardId" type="string" required>
  The virtual card ID to void.
</ParamField>

<Warning>
  Voiding is permanent and irreversible — the card is cancelled on the card network immediately. Only **virtual cards** can be voided. For physical cards, use [Freeze](/api-reference/cards/customer-freeze) to block transactions instead.
</Warning>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST 'https://crypto-api.yativo.com/api/v1/yativo-card/customers/yativo_card_customer_8f9a..._1769031332068/cards/b2dc97ab-03f9-49eb-c72f-95be13815278/void' \
    -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
    -H 'Content-Type: application/json'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "success": true,
    "message": "Card marked as void successfully",
    "data": {
      "yativo_card_id": "yativo_card_customer_8f9a..._1769031332068",
      "card_id": "b2dc97ab-03f9-49eb-c72f-95be13815278",
      "is_void": true,
      "voided_at": "2026-04-01T14:00:00.000Z"
    }
  }
  ```

  ```json 422 Physical card theme={null}
  {
    "success": false,
    "error_code": "VIRTUAL_CARD_ONLY",
    "message": "Only virtual cards can be voided"
  }
  ```

  ```json 422 Already voided theme={null}
  {
    "success": false,
    "error_code": "CARD_ALREADY_VOIDED",
    "message": "Card is already voided"
  }
  ```
</ResponseExample>
