all docs
/ reference

Echo Mode

Per-key synthetic responses: test an integration end to end with no provider credential, no provider call and no bill.

The gateway answers from its echo terminal instead of a provider. Auth, headers, routing, streaming and the response envelope behave as in production; nothing is sent upstream or billed.

  • Scope: one dev key. Same base URL, Authorization and body; other keys stay live.
  • Provider key: not needed — no provider is reached.
  • Turn on: the per-key switch in the dashboard, or set_echo_mode on /mcp/admin. Refused when the deployment has no echo terminal (ACE_ALLOW_ECHO off).
  • Surfaces: all, buffered and streamed, in each surface's own wire format — chat completions (incl. Azure and OpenRouter), /anthropic/v1/messages, Gemini, Bedrock converse/converse-stream, /v1/responses, /azure/openai/v1/responses.
  • Limits: text only. A request with thinking is answered without it and flagged x-ace-warnings: extensions_omitted; count_tokens returns the local estimate.
  • Turn off: manual — a key stays in echo until switched back. Send x-ace-mode: live on production traffic; it overrides the key's flag.
  • Detect: x-ace-served-by: echo, x-ace-warnings: echo_fallback.