Skip to main content

Policies

PATCH/v1/policies/{tenant_id}/{app_id}/{agent_id}/{env}/detector/{detector_name}

Patch Detector

Update single detector configuration. Creates a new policy version with only this detector changed. Other detector configurations remain unchanged. **Supported detectors**: pii, jailbreak, toxicity, competitor, topic_restriction, secrets, exfiltration, tools, structure, abuse

CI or Admin tokenscope: writeoperation_id: policies.patchDetector

Authentication

Requires a CI- or admin-level token. Runtime tokens are rejected for mutations.

SDK install

pip install znyx-sdknpm install @znyx/sdk

Path parameters

NameTypeRequiredDescription
tenant_id#pathstringrequired
app_id#pathstringrequired
agent_id#pathstringrequired
env#pathstringrequired
detector_name#pathstringrequired

Header parameters

NameTypeRequiredDescription
x-created-by#headerstringoptional

Request bodyrequired

FieldTypeRequiredDescription
configobjectrequiredDetector configuration
change_reasonstring | nulloptionalReason for this change

Responses

StatusDescription
200Successful Response
422Validation Error

Response schema

any

Errors & what triggers them

CodeTriggerFix
403Caller is not authorized for this app_id (X-API-Key or JWT scope mismatch).
422Policy JSON failed schema validation — unknown detector, bad threshold.
500Database contention while writing the new version.Retry once with fresh `If-Match` if your client sends it.

Request

curl -X PATCH 'https://api.znyx.ai/v1/policies/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/prod/detector/<detector_name>' \
  -H 'Authorization: Bearer $ZNYX_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "change_reason": "Enabled PII blocking",
  "config": {
    "action": "BLOCK",
    "enabled": true
  }
}'

Response

application/json

Successful Response

null

Schema: any