Rotate the hook secret

⚠️
Preview — this feature is being built; the design below is the spec.
POST https://app.syntic.ai/v1/organizations/inference_hook/rotate_secret

Issue a new signing secret for the calls Syntic makes to your hook endpoint. The new secret is returned only in this response; deploy it to your endpoint straight away.

For how this fits into a full workflow, see Inference policy hooks.

Headers

HeaderRequiredValue
AuthorizationYesBearer <admin key>: an Admin API key (sk_admin_...). Inference keys are refused with 403 admin_key_required. See Admin API keys.
syntic-betaYes, while in previewadmin-2026-11-01. Without it the call fails with 400 beta_required. See Versioning.

Response

200 OK, Content-Type: application/json

{
  "type": "inference_hook",
  "url": "https://ai-gateway.example.com/syntic-hook",
  "enabled": true,
  "timeout_ms": 1000,
  "failure_mode": "fail_closed",
  "include_content": true,
  "post_response": false,
  "workspace_ids": [],
  "sample_rate": 1.0,
  "updated_at": "2026-11-05T10:00:00Z",
  "signing_secret": "whsec_Nw9...redacted"
}

Examples

curl -sS -X POST https://app.syntic.ai/v1/organizations/inference_hook/rotate_secret \
  -H "Authorization: Bearer $SYNTIC_ADMIN_KEY" \
  -H "syntic-beta: admin-2026-11-01"

Errors

Errors use the error envelope and carry a request_id. Codes specific to this operation:

StatustypecodeWhen
400invalid_request_errorbeta_requiredThe syntic-beta header is missing.
403permission_errorrole_requiredOnly keys created by an Owner may change this.
404not_found_errorinference_hook_not_configuredNo hook is configured.
401authentication_errorinvalid_api_keyThe admin key is missing, unknown, revoked or expired.
403permission_erroradmin_key_requiredAn inference key was used.
429rate_limit_errorrate_limitedToo many requests; wait for Retry-After. See Rate-limit headers.
Was this page helpful?