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

# Detach a preset

> Detach a preset from a stored card, one API client, or the company. The purchases it covered there stop being judged by it.

Send the same `kind` and `target_id` you attached with, in the body or as query parameters. The preset stays in your library, attached wherever else you put it. Takes a platform access token or an API key. See [Set rules on a card](/vault/set-rules-on-a-card).

<ParamField path="name" type="string" required>The preset's name.</ParamField>
<ParamField body="kind" type="string" required>`card`.</ParamField>
<ParamField body="target_id" type="string" required>The stored card id the preset was attached to.</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X DELETE https://api.agentcard.sh/api/v2/vault/presets/office-supplies/attachments \
    -H "Authorization: Bearer $ORG_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"kind": "card", "target_id": "CARD_ID"}'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "object": "vault_preset",
    "name": "office-supplies",
    "id": "cmtvwbc0g000bjpcc88yiyx8z",
    "version": 1,
    "summary": "Up to $50.00 per day. Merchants: EXAMPLE SHOP, ACME. Currency: USD.",
    "attachments": []
  }
  ```
</ResponseExample>

**Errors.** `404 preset_not_found` when no preset of that name is saved. `400 invalid_request` for a missing `target_id`, or for a `kind` other than `card`, the only kind; any other value is refused as unknown.
