-
Notifications
You must be signed in to change notification settings - Fork 5
Responses
After a send, the response panel shows the result. At the top sit three chips:
- STATUS — the HTTP status code, colour-coded (e.g. green for 2xx, red for 4xx/5xx).
- TIME — round-trip duration in milliseconds.
-
SIZE — response body size, human-readable (e.g.
1.5 KB).
Once a tab has more than one recent response, a HISTORY dropdown joins the chips — see Response history (time-travel).
Below them are four tabs: BODY · HEADERS · COOKIES · TESTS. While a request is in flight you'll see a loading skeleton; before any send, an empty "no response yet" state.
When a response arrives, the active theme plays a reaction scaled to the outcome — a success flourish for 2xx/3xx, an error effect for 4xx/5xx — and the same for network failures and cancellations. See Themes and Appearance#reactive-effects (and THEME SOUNDS in Settings for optional audio cues).
A PRETTY / RAW / TREE toggle sits above the viewer. PRETTY formats and syntax-highlights JSON; RAW shows the body exactly as received; TREE renders a collapsible tree (see below). The body is read-only. TREE is only available when the body is a JSON object or array under the large-response size limit — otherwise the segment is greyed out.
TREE shows the JSON as a foldable tree: click any object/array row to collapse or expand it (the first level opens automatically). Each row has a ⋮ menu (appears on hover) with:
- Copy value — the scalar value, or the whole sub-tree as JSON for an object/array.
-
Copy path — the node's JSONPath (e.g.
$.user.addresses[0].zip), ready to paste into an extraction rule. - Extract to {{var}} — creates an Tests and Chaining for that path in one click (a starting variable name is filled in from the key; refine it in the RULES tab). The rule runs on every subsequent send.
In the PRETTY viewer, JSON objects and arrays can also be folded — click the ▾/▸ chevron in the gutter (next to the line numbers) to collapse a region down to a single line, like VS Code or Postman. Click again to unfold. (Folding lives in the editor view, so it isn't available in the plain-text large-response viewer.)
- Copy (copy icon) — copies the exact body text to the clipboard ("Response copied").
-
Save response to file (save icon) — opens a save dialog (default
response.json); allowed extensions are.jsonand.txt. Saves the verbatim body. -
Save as example (bookmark icon) — only shown when the tab is linked to a saved request and a response exists. Captures the request + response as a reusable Collections under that collection node. You're prompted for a name (default like
200 · 14:32). - Compare response — diffs this response against an earlier response from this tab (PREVIOUS RESPONSES (this tab)), a saved example, or a recent matching history entry. Shown only when a response exists; disabled when there's nothing to compare against. See Response Diff.
To stay fast, big bodies are handled specially:
-
≥ ~512 KB: shown in a plain-text viewer (no highlighting) with a banner reading e.g.
LARGE RESPONSE (2.1 MB) — HIGHLIGHTING DISABLED. A long body shows a SHOW FULL button (initial preview is ~256 KB), and a PRETTIFY ANYWAY button to opt into highlighting (you accept the render cost). - Always prettify large responses — a Settings that auto-highlights large bodies instead of using the plain viewer.
-
> ~1 MB: to avoid bloating local storage, the persisted copy is replaced by a placeholder (
[response body over 1 MB was not persisted — re-send the request]). The full body is still available in the current session for Copy/Save; after a restart, re-send to fetch it again.
When a response isn't text/JSON, Getman renders it instead of dumping raw bytes. The type is detected from the Content-Type header (falling back to the URL's file extension), and the BODY tab swaps the PRETTY/RAW/TREE toggle for a PREVIEW / RAW switch over a dedicated viewer:
- Images (PNG, JPEG, GIF, WebP, BMP) — shown inline; drag to pan, pinch/scroll to zoom.
- Video & audio (MP4, WebM, MKV, MOV, MP3, WAV, OGG, FLAC, AAC, and virtually any other format) — an embedded player. Video shows the picture; audio shows a play/pause control and a seek bar.
- PDF — rendered inline, scrollable and zoomable.
- CSV — parsed into a scrollable table (the first row is treated as the header; very large files show the first 500 rows).
- HTML — the source is shown inline, with an OPEN IN BROWSER button (desktop) that opens the page in your real browser for a faithful preview.
- Anything else (e.g. ZIP and other binary types) — a card showing the content type and size with a SAVE TO FILE button.
RAW for any media response shows that same type + size card with SAVE TO FILE — never garbled text.
A few things to know:
- In-session only. Media is held in memory for the current session and is not saved to disk. After an app restart — or when you flip back to an older response via the time-travel history — a media response shows a "media not stored this session — re-send to view" placeholder. Re-send to view it again.
- Very large media (over ~50 MB) isn't buffered into memory; you'll get the type + size card instead of an inline preview.
- If in-app playback isn't available on your platform, the player falls back to the SAVE TO FILE card so you can still grab the file.
Lists every response header as name → value. Shows "NO RESPONSE HEADERS" when empty.
Parses the response's Set-Cookie header(s) and lists each cookie with its name, value, and attributes (e.g. Max-Age, Path, Secure, HttpOnly). Shows "NO COOKIES" when none. These cookies are also stored in the Cookies and re-sent automatically on matching requests.
Shows the results of any Tests and Chaining configured in the RULES tab:
- A pass/fail summary badge (
{passed} / {total} PASSED, green or red). - Per-assertion rows: ✓/✗, a label like
status = 200, and the actual value found. - A CAPTURED section listing extracted variables:
{{name}} = value(or{{name}} — not found). - If you have no rules: "NO RULES — ADD EXTRACTIONS OR ASSERTIONS IN THE RULES TAB".
Getman keeps the most recent responses per tab, so you can flip back to an earlier send and compare it — without re-firing the request.
- Once a tab has two or more recent responses, a HISTORY dropdown appears in the metadata row. Open it to see the recent responses newest-first (each row shows its status, duration, size, and capture time); pick one to view it. The chip reads HISTORY: #2 while you're looking at an older response, and the menu's Latest entry takes you back.
- Viewing an older response never re-sends and never loses the newest one.
- Pair it with Compare response to diff "now vs. my last call" — earlier responses show up under PREVIOUS RESPONSES (this tab) in the picker.
How much is kept is up to you (see Settings):
- Response history (per tab) — how many recent responses to retain (default 5). Set it to 0 to turn the feature off entirely.
- Save large responses in history — when off, responses over ~512 KB are kept as metadata only (status/time/size, no body) to bound storage. On disk, every history body is still capped at ~1 MB like the current response.
- Cancelling a request leaves the previous response untouched (no response is recorded for the cancelled send).
- Every send is also recorded in History (subject to the history settings).
Getman on GitHub · Releases · Live demo · Local-first HTTP client — no account, no cloud, no telemetry.
Start here
Core
Variables & automation
More features
- History
- Cookies
- Realtime WebSocket and SSE
- Code Generation
- Command Palette
- Keyboard Shortcuts
- Auto-Update
Configuration
Project