Response headers

The headers ACOG adds to responses: the model that answered, cache hits, budget warnings, fallbacks and features removed for compatibility.

1 min read Updated View as Markdown Report a problem

Your provider’s own response headers are passed through. ACOG adds:

HeaderValueWhen
x-request-idThe request’s IDAlways
x-acog-resolved-modelThe model that was sent the requestCompatible endpoints, including cache hits. Differs from your request for auto or a version alias.
x-acog-cachehitThe response came from the response cache, the semantic cache or a shared in-flight request
x-acog-cache-modelA model idA semantic-cache hit on a compatible endpoint: the model that generated the stored answer
x-acog-budget-noticescope/window=pct, comma-separated, for example org/month=80A budget passed 50, 80 or 90% of its limit with this response
x-acog-policy-fallbackapplied, skipped or unavailableThe provider’s safety classifier refused the request. See Routing and failover.
x-acog-thinking-strippedtrueThe serving model rejected extended thinking, and ACOG retried without it
x-acog-beta-strippedThe rejected anthropic-beta values, or allThe serving platform rejected beta features, and ACOG retried without them
x-acog-fields-strippedComma-separated field namesThe serving model rejected these request fields, and ACOG retried without them
Retry-AfterSecondsWith 429 rate_limited and 503 upstream_unavailable

Streaming responses also carry a keep-alive comment line (: keep-alive) every 15 seconds without data. It is part of the event stream, not a header.

ACOG adds no header with costs or savings. Read them from the console or the management API.