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

# Manage Card Security Settings

> GET and PUT /api/v1/cards/{card_id}/security - Read or update card security controls

Read or update card security controls through the reviewed public gateway.

## Endpoints

```text theme={null}
GET /api/v1/cards/{card_id}/security
PUT /api/v1/cards/{card_id}/security
```

## Path Parameters

<ParamField path="card_id" type="string" required>
  The card identifier returned during card creation or listing.
</ParamField>

## Update Request Body

The reviewed public contract accepts a flexible JSON object for card security settings. Depending on your card program, that may include:

* spending limits
* channel or merchant controls
* geofencing or travel controls
* other card-level safety settings

Confirm the exact supported keys for your program before relying on unapproved fields.

## Example Update Request

```bash theme={null}
curl -X PUT https://api.usezentra.com/api/v1/cards/card_123/security \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "spending_limits": {
      "daily_minor": 2500000,
      "monthly_minor": 10000000
    },
    "merchant_controls": {
      "blocked_categories": ["gambling"]
    }
  }'
```

## Response Notes

* `GET` returns the currently applied security configuration for the card.
* `PUT` updates those controls and returns the updated configuration.
* Lock and unlock are exposed as separate operational endpoints.

## Next Steps

<CardGroup cols={2}>
  <Card title="Lock Card" icon="lock" href="/api-reference/cards/lock">
    Temporarily lock card usage
  </Card>

  <Card title="Unlock Card" icon="unlock" href="/api-reference/cards/unlock">
    Restore card usage after review
  </Card>
</CardGroup>
