Skip to main content

Response Viewer

After sending a request, the response panel appears in the lower or right half of the workspace (depending on your layout). It shows every detail of the server's response: status, timing, size, headers, body, test results, and cookies.


States

StateDescription
EmptyNo request has been sent yet. Shows "Send a request to see the response."
SendingRequest is in flight. Shows a spinner. Once any data arrives the spinner is replaced by live content.
SSE streamFor Server-Sent Events, events are streamed live into the body as they arrive.
Response loadedFull response is shown with all tabs and the toolbar.

Status Bar

The status bar sits at the very top of the response panel. Every element is interactive — hover to get more detail.

HTTP Status Code

Displays the status code and reason phrase (e.g., 200 OK, 404 Not Found, 500 Internal Server Error) in a color-coded badge:

ColorRangeMeaning
Green2xxSuccess
Blue3xxRedirect
Orange4xxClient error
Red5xxServer error
Gray0 / errorNetwork error or cancelled

Hover the status badge to see a plain-English description of the specific code. For example, hovering 429 shows: "Too many requests. You are being rate limited."

If a network error occurs (e.g., DNS failure, connection refused, timeout), the badge shows the error message directly instead of a numeric code.

Response Time

Shows the total elapsed time from sending the request to receiving the full response, formatted as milliseconds (45 ms) or seconds (1.23 s).

Hover to see a waterfall timing breakdown:

PhaseDescription
DNS LookupTime to resolve the hostname to an IP address
TCP ConnectTime to establish the TCP connection
TLS HandshakeTime to negotiate TLS/SSL (HTTPS requests only)
Waiting (TTFB)Time to first byte — server processing time
DownloadTime to transfer the response body
TotalEnd-to-end elapsed time

Each phase is shown with its absolute duration and a proportional colored bar.

Response Size

Shows the response body size, formatted as bytes (512 B), kilobytes (14.2 KB), or megabytes (3.1 MB).

Hover to see a full breakdown:

RowDescription
Response — HeadersSize of all response headers in bytes
Response — BodySize of the response body in bytes
Response TotalHeaders + body combined
Request — HeadersSize of request headers sent (when available)

Network Info (Globe Icon)

A globe icon appears when network connection metadata is available. Hover to see:

FieldExample
HTTP VersionHTTP/2.0
Remote Address93.184.216.34:443
TLS ProtocolTLSv1.3
CipherTLS_AES_128_GCM_SHA256
Certificate CN*.example.com
IssuerDigiCert Inc
Valid Until2026-01-15

Click the copy icon in the popover to copy all network details as plain text.

All status bar popovers stay open when you move the mouse into them, so you can select and copy text freely.


Toolbar

The toolbar in the status bar row provides quick actions:

IconShortcutDescription
SearchOpen/close the search bar to find text within the response body
Wrap LinesToggle word wrapping in the Pretty and Raw body views
DownloadSave the response body to a file (extension is inferred from Content-Type)
BookmarkSave the current response as a named Example (only visible for saved requests)
CopyCopy the entire response body to clipboard
TrashClear the current response from the panel

Save Response to File

When you click Download, the file is saved with an extension based on Content-Type:

Content-TypeExtension
application/json.json
application/xml / text/xml.xml
text/html.html
image/png.png
image/jpeg.jpg
application/pdf.pdf
Binary / other.bin

For binary responses (images, PDFs, video, audio), the file is saved as a binary file. For text responses, it is saved as UTF-8 text.

Save as Example (Bookmark)

Click the Bookmark icon to save the current request + response pair as a named example. An inline input field appears in the toolbar row:

  1. Type an example name (defaulted to "Example 200" or similar based on status).
  2. Press Enter or click Save. Press Escape to cancel.

The example is attached to the current saved request and appears in the Examples sub-tab of the request builder.

Click the Search icon to open the search bar below the toolbar:

  • Type a query to find matches in the response body.
  • Match count is shown in real-time (e.g., 12 matches).
  • In Pretty mode, matching text is highlighted directly in the Monaco editor with yellow decorations and overview ruler markers. The editor automatically scrolls to the first match.
  • In Raw mode, matching text is highlighted inline.
  • Press Escape or click the X to close the search bar and clear highlights.

Response Tabs

Body

The Body tab shows the response content with multiple view modes.

View Mode Selector

A segmented control in the top-right of the tab bar lets you switch views. Available views depend on the response content type:

ViewWhen AvailableDescription
VisualBinary responses (images, video, audio, PDF, CSV, SVG)Media-specific viewer (see below)
PrettyAlwaysSyntax-highlighted, formatted view with code folding
RawAlwaysPlain unformatted text
PreviewAlwaysRendered HTML in a sandboxed iframe
TableJSON arrays; CSV responsesTabular view with sticky headers

Rostyman automatically selects the best view when a new response arrives:

  • Binary content → Visual
  • text/html → Preview
  • application/json array → Table
  • All other JSON → Pretty
  • Everything else → Pretty

Pretty View

Uses a Monaco editor (the same engine as VS Code) with:

  • Syntax highlighting for JSON, XML, HTML, and other text formats
  • JSON is auto-formatted (pretty-printed with 2-space indentation)
  • Line numbers and code folding
  • Bracket pair colorization
  • Indentation guides
  • Word wrap toggle (via the Wrap Lines toolbar button)
  • Search highlighting (via the Search toolbar button)
  • Right-click context menuSet as Variable — select any text in the editor, right-click, and save the selected value directly as an environment variable, collection variable, or global variable without leaving the response panel.

Raw View

Shows the response body exactly as received, with no formatting. Useful for:

  • Inspecting raw whitespace and encoding
  • Viewing non-JSON/XML text formats
  • Copying exact byte-for-byte content

Word wrap and search both work in Raw view.

Preview View

Renders the response body as HTML in a sandboxed <iframe>. The preview inherits the current Rostyman theme's background and foreground colors so it blends with the UI. JavaScript execution and external navigation are disabled (sandbox mode).

Table View

Available for:

  • JSON arrays — if the response is a JSON array of objects, each object is a row and each unique key across all objects is a column. Up to 500 rows are shown.
  • CSV responses — the first row is treated as headers, subsequent rows are data. Quoted fields and commas within quotes are handled correctly.

Columns have sticky headers so you can scroll horizontally and vertically while keeping headers visible.

Visual (Binary) Viewer

Automatically activated for binary responses (bodyEncoding: 'base64'). The viewer adapts based on the MIME type:

Images (PNG, JPEG, GIF, WebP, SVG, ICO, BMP, TIFF):

  • Rendered inline at full fidelity
  • Zoom controls to zoom out, + to zoom in (in 25% steps, range 10%–500%), 1:1 to reset to actual size
  • At zoom > 200%, pixel rendering switches to pixelated for crisp display of small images
  • Current zoom percentage shown between the controls
  • Save File button to download the image

Video (MP4, WebM, OGG):

  • Native browser <video> element with full playback controls (play/pause, seek, volume, fullscreen)
  • Save File button

Audio (MP3, WAV, OGG, AAC, WebM audio):

  • File type label and size shown
  • Native browser <audio> element with playback controls
  • Save File button

PDF (application/pdf):

  • Rendered in an embedded <iframe> using the system PDF viewer
  • Full browser PDF viewer controls (zoom, navigation, print)
  • Save File button

CSV (text/csv):

  • Parsed and displayed as a scrollable table with sticky column headers
  • Save File button

Unsupported binary types (ZIP, GZIP, Excel, Word, PowerPoint, etc.):

  • Shows a file type card with the extension, MIME type, and size
  • Save File button (you can still download the file, just not preview it)

Headers

Shows all headers returned by the server in a two-column table.

  • Each row shows header name (lowercase) and header value.
  • Some headers have an (i) info icon — hover to see a description of what the header does and links to relevant standards (sourced from the built-in header info database).
  • Click any value to copy it to clipboard.
  • A Content-Type badge in the toolbar area shows the detected content type at a glance.

Request headers section — shown in a separate collapsible group below the response headers. These are the exact headers that were sent, including auto-generated headers (User-Agent, Content-Type from body mode, Authorization from auth config, etc.).


Tests

Shows the results of JavaScript assertions from the post-request script.

When tests exist:

ElementDescription
Pass/fail summary"N passed, M failed" with a count badge on the tab label
Progress indicatorGreen dot (all passed) or red dot (any failed) next to the tab name
Test listEach test shows its name and a green checkmark (pass) or red X (fail)
Error messagesFor failed tests, the assertion error message is shown below the test name

When no tests are defined:

  • An empty state shows a "Generate Tests" button.
  • Clicking it creates a basic test template pre-filled with assertions based on the current response's status code and body structure.
  • The generated script is inserted into the post-request Scripts tab.
  • Rostyman immediately runs the new tests against the current response and shows results.

Cookies

Shows all cookies set by the server via Set-Cookie response headers.

ColumnDescription
NameCookie name
ValueCookie value
DomainThe domain the cookie applies to
PathThe path the cookie applies to
ExpiresExpiration date/time, or "Session" for session cookies
SecureWhether the cookie is sent over HTTPS only
HttpOnlyWhether the cookie is inaccessible to JavaScript
SameSiteCross-site request behavior (Strict / Lax / None)

Cookies shown here are automatically added to the global Cookie Jar for the matching domain and will be sent with future requests to that domain.


Code (Response Code Snippets)

The Code tab in the response panel is a shortcut to the Code Snippets tab in the request builder. It generates ready-to-paste code for the current request in all 17 supported languages, with variables fully resolved and auth headers injected.

See Code Snippets for the full language list and details.


Response History (Clock Icon)

The clock icon appears in the tab bar when the current request is a saved request. Clicking it opens a dropdown showing the last 10 responses for this specific request.

Each entry shows:

  • Timestamp — formatted as "Today, 5:02 AM" or "Mar 24, 3:15 PM"
  • Status code badge — color-coded (green/orange/red)
  • "Current" label on the most recent entry

Click any entry to load that historical response into the response viewer for inspection. This does not replace the current response in the panel permanently — switching tabs or sending a new request restores the current response.


SSE (Server-Sent Events) Mode

When Rostyman detects an SSE stream (based on Content-Type: text/event-stream or body format), the response body tab switches to a dedicated SSE event log:

  • Each event is shown as a timestamped entry with its event type and data payload.
  • A connection-open event is added automatically when the stream opens.
  • A connection-closed event is added when the stream ends or is cancelled.
  • The response status shows the live event count (e.g., SSE — 14 event(s)).
  • The X button in the toolbar cancels the stream.

Schema Change Detection

When viewing the History tab (the full per-request history, not the clock dropdown), Rostyman compares the JSON structure of the current response against previous responses. A banner appears when:

  • New fields were added to the response (shown in green)
  • Fields were removed from the response (shown in red)

This helps catch unintentional API breaking changes early.