AgentMessage
Guardrails

Remove a guardrail binding

DELETE
/v1/guardrails/bindings/{id}

Removes a guardrail binding by id. Removing a binding lets the affected numbers fall through to a lower-priority scope on their next sends. Unknown ids, or ids that belong to another organization, return 404 NOT_FOUND.

If the removed binding's profile was MORE protective (per tool) than the organization-default config the scope falls through to, the delete LOOSENS a Tier-2 guardrail and requires a human attestation, supplied via an optional JSON request body. A loosening delete without a non-blank attestation returns 422 ATTESTATION_REQUIRED (the details carry the loosened tool and scope_kind), and nothing is removed. A non-loosening delete needs no body. The attestation, when supplied, is stored verbatim in the audit log.

Requires the org:admin:write scope.

AuthorizationBearer <token>

Authenticate by sending your API key as a bearer token: Authorization: Bearer am_live_.... Every request is automatically scoped to the organization that owns the key and to the scopes granted to that key.

In: header

Path Parameters

id*string
Formatuuid

Request Body

application/json

Optional. Supply attestation when the delete loosens a Tier-2 guardrail (the removed profile was more protective than the organization default). Omit the body for a non-loosening delete.

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/v1/guardrails/bindings/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "authentication failed",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
  }
}
{
  "success": false,
  "error": {
    "code": "FORBIDDEN",
    "message": "missing required scope",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
  }
}
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "not found",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
  }
}

{
  "success": false,
  "error": {
    "code": "ATTESTATION_REQUIRED",
    "message": "loosening the freq_cap guardrail at profile scope requires an attestation, an explicit human statement that your organization accepts responsibility for this change",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM",
    "details": {
      "profile.attestation": "required to loosen the freq_cap guardrail",
      "tool": "freq_cap",
      "scope_kind": "profile"
    }
  }
}