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:

  1. Open split view to work with up to 4 panes side by side, for example a request, its gRPC sibling and two reference calls.
  2. Use the command palette to jump anywhere without leaving the keyboard.
  3. 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