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

# Switch Card Status

> Freeze or unfreeze a card

Freezes or unfreezes a card. Frozen cards cannot be used for transactions until unfrozen.

<ParamField header="Authorization" type="string" required>
  Bearer token. Example: `Bearer sk_staging_your_api_key`
</ParamField>

<ParamField body="serviceCardId" type="string" required>
  The card's service ID.
</ParamField>

<ParamField body="status" type="string" required>
  Target status. Either `freeze` or `unfreeze`.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PATCH https://services-staging.getplu.com/api/v1/partner/card \
    -H "Authorization: Bearer sk_staging_your_api_key" \
    -H "Content-Type: application/json" \
    -d '{
      "serviceCardId": "acme-card-xyz789jkl012mno",
      "status": "freeze"
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://services-staging.getplu.com/api/v1/partner/card',
    {
      method: 'PATCH',
      headers: {
        'Authorization': 'Bearer sk_staging_your_api_key',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        serviceCardId: 'acme-card-xyz789jkl012mno',
        status: 'freeze',
      }),
    }
  );
  ```
</RequestExample>

<ResponseExample>
  ```json 200 — Frozen theme={null}
  {
    "status": "success",
    "message": "Card status updated",
    "data": {
      "serviceCardId": "acme-card-xyz789jkl012mno",
      "status": "frozen"
    }
  }
  ```

  ```json 200 — Unfrozen theme={null}
  {
    "status": "success",
    "message": "Card status updated",
    "data": {
      "serviceCardId": "acme-card-xyz789jkl012mno",
      "status": "active"
    }
  }
  ```

  ```json 400 — Already frozen theme={null}
  {
    "status": "error",
    "message": "CARD_ALREADY_FROZEN",
    "data": {
      "error": "Card is already frozen"
    }
  }
  ```

  ```json 400 — Already active theme={null}
  {
    "status": "error",
    "message": "CARD_IS_ACTIVE",
    "data": {
      "error": "Card is already active"
    }
  }
  ```

  ```json 400 — Terminated theme={null}
  {
    "status": "error",
    "message": "CARD_ALREADY_TERMINATED",
    "data": {
      "error": "Cannot modify a terminated card"
    }
  }
  ```
</ResponseExample>

<Warning>
  Terminated cards cannot be frozen or unfrozen. If a card has been [terminated](/api-reference/cards/terminate-card), it is permanently deactivated.
</Warning>
