API Changelog
Notable changes to the KnoxCall Management API (/v1) and the first-party SDKs. Newest first.
Backwards-compatible additions (new fields, new endpoints, new error types) ship without a
version bump; we call out anything that changes existing behavior.
Unified error envelope, request correlation, cross-worker rate-limit headers, dual idempotency-key header, typed secret creation in SDKs
Unified error envelope +
X-Request-Id. Every failure on /v1 now returns one
canonical shape — { "error": { "type", "message", "request_id" } } — with a bare-UUID
request_id (no req_ prefix). The same ID is now returned on every response, success
or error, in the new X-Request-Id header, so you can correlate a request even without
parsing the body. Added the forbidden type (403) for RBAC denials. See the new
Errors reference.Cross-worker rate-limit headers. Management API rate limits are enforced per API key
across all workers. Responses now carry X-RateLimit-Limit, X-RateLimit-Remaining, and
X-RateLimit-Reset (epoch seconds) whenever a limit is configured — not only on 429s —
plus Retry-After on a 429. See the new Rate limits reference.Dual idempotency-key header. Mutating requests accept an idempotency key as either
X-Idempotency-Key or the standard Idempotency-Key spelling. A retry replays the stored
response with X-Idempotent-Replay: true; reuse with a different body returns 422
(idempotency_key_reuse); a still-in-progress request returns 409
(request_in_progress). See the new Idempotency reference.Typed OAuth2 / certificate secret creation in SDKs. The first-party SDKs gained typed
helpers for creating OAuth2 and mTLS-certificate secrets, matching the dedicated
create OAuth2 secret and
create certificate secret endpoints.