Requests and protocols
Echo puts five protocols in one editor, so you can stop switching tools the moment an API is not plain HTTP.
The five protocols
- HTTP: the everyday request editor with method, headers, body and per-request auth.
- gRPC: real reflection-based transport. Echo discovers services straight from the server and supports unary calls and all streaming modes.
- GraphQL: introspection, variables and subscriptions.
- WebSocket: connect and send messages interactively, with a binary hex view for non-text frames.
- SSE: subscribe to server-sent event streams with automatic reconnect when the stream drops.
You pick the protocol when you create a request, and the editor adapts to it.
Authentication
Auth is configured per request, with inheritance from parent collections. Set Bearer, Basic, API key or OAuth2 client credentials once on a collection, and every request inside it uses that configuration unless a request overrides it with its own.
OAuth2 client credentials tokens are cached, so repeated sends do not renegotiate a token every time.
Reading responses
The response viewer shows you the status, headers and body of every call. Two companions help you work over time:
- Request history keeps your earlier calls and lets you filter them, so yesterday's failing request is easy to find.
- The cookie jar records cookies and includes an editor, useful when you need to inspect or tweak a session by hand.
Timing breakdown
Every response comes with a network timing breakdown: DNS, TCP, TLS, time to first byte and download. That turns "the API feels slow" into a concrete answer about where the time actually went.
Echo also keeps a baseline for your requests and shows a "slower than usual" badge when a call falls behind it, so a regression stands out before anyone files a ticket.
Working efficiently
A few habits worth building early:
- Open split view to work with up to 4 panes side by side, for example a request, its gRPC sibling and two reference calls.
- Use the command palette to jump anywhere without leaving the keyboard.
- Rebind shortcuts to match your muscle memory from other tools.
Next steps
- Stop hardcoding hostnames and tokens: /docs/echo/environments-and-variables
- Run the same request against several environments at once: /docs/echo/environments-and-variables
- Turn requests into automated checks: /docs/echo/automation