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
Bearer token or X-API-Keyscope: policy:writeoperation_id: policies.patchDetector
Authentication
Send either Authorization: Bearer <token> or X-API-Key: <token>. The caller must hold the "policy:write" role on the organization. Any org token with sufficient scope. Create tokens from the console or the /v1/orgs/{org_id}/tokens endpoints. Requests without a valid credential are rejected with 401.
SDK install
pip install znyx-sdknpm install @znyx/sdkCode samples
Request
curl -X PATCH "$ZNYX_API_URL/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
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id#path | string | required | - |
| app_id#path | string | required | - |
| agent_id#path | string | required | - |
| env#path | string | required | - |
| detector_name#path | string | required | - |
Header parameters
| Name | Type | Required | Description |
|---|---|---|---|
| x-created-by#header | string | optional | - |
| X-API-Key#header | string | null | optional | - |
| authorization#header | string | null | optional | - |
Request bodyrequired
| Field | Type | Required | Description |
|---|---|---|---|
| config | object | required | Detector configuration |
| change_reason | string | null | optional | Reason for this change |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation Error |
Response schema
any
Errors & what triggers them
| Code | Trigger | Fix |
|---|---|---|
| 403 | Caller is not authorized for this app_id (X-API-Key or JWT scope mismatch). | - |
| 422 | Policy JSON failed schema validation - unknown detector, bad threshold. | - |
| 500 | Database contention while writing the new version. | Retry once with fresh `If-Match` if your client sends it. |