Get Started

User Interface

User Interface

Curlex is organised into five zones that stay in the same positions throughout the app. Once you know what each zone does, everything else falls into place quickly.

Curlex interface — sidebar rail, collections panel, request builder, and response panel


The Sidebar Rail

The thin strip of icons on the far left controls what appears in the sidebar panel next to it. Click any icon to switch the sidebar content.

IconPanelWhat it shows
CollectionsCollectionsAll your saved requests, organised into collections and folders
RunnerCollection RunnerRun a full collection of requests automatically and see results
HistoryHistoryEvery request you have sent, most recent first
EnvironmentsEnvironmentsYour variable sets — base URLs, API keys, and other config
SettingsSettingsApp preferences, themes, certificates, Git Sync config, and more
HelpHelpQuick reference for keyboard shortcuts

At the bottom of the rail, a + button opens a menu to create a new HTTP Request or a new GraphQL Request from anywhere in the app.


The Header Bar

The header bar spans the top of the window and contains:

  • Workspace name (left side) — click to switch between workspaces or create a new one. Each workspace is a completely self-contained set of collections, environments, and history.
  • Import button — import requests from a cURL command, an OpenAPI spec, or a Postman collection.
  • Sync button — appears when Git Sync is enabled. Shows the last-synced time and lets you trigger a manual sync.
  • Environment selector (right side) — a badge showing the active environment. Click it to switch environments. All open tabs immediately start using the new variable set.

The Tab Bar

Below the header, the tab bar works like browser tabs — each open request gets its own tab. You can have many tabs open simultaneously and switch between them freely.

  • Click a tab to bring that request into focus.
  • Click × on a tab to close it. If the request has unsaved changes, Curlex asks whether to save.
  • Click the + button in the tab bar to open a new blank request.
  • Tabs with unsaved changes show a small dot (●) on them.

The Request Panel

The request panel takes up the upper portion of the main area and is where you build the request you want to send.

The Request Bar

The most prominent part of the request panel — a row across the top containing:

ElementDescription
Method selectorA colour-coded dropdown for the HTTP method: GET (blue), POST (green), PUT (amber), PATCH (purple), DELETE (red), HEAD, OPTIONS.
URL barWhere you type the request URL. You can embed {{variableName}} anywhere and Curlex fills in the value from your active environment. As you type, autocomplete suggestions appear for environment variables, collection variables, vault secrets, and dynamic variables.
Send buttonFires the request. Keyboard shortcut: Cmd/Ctrl Enter. While the request is in flight, this changes to a Cancel button — click it to abort.
More ▾A dropdown with extra actions: Save, Generate Code, and a Variables inspector that shows every variable currently in scope and its resolved value.

Pasting a cURL command into the URL bar is also supported — Curlex detects it and offers to parse the entire command into a fully configured request.

Request Tabs

Below the request bar, six tabs control different parts of the request configuration:

TabWhat it configuresBadge
ParamsQuery parameters. Add, enable/disable, or edit key-value pairs. The URL bar updates live as you type.Shows the count of active params
AuthAuthentication scheme — None, Inherit, Basic, Bearer, API Key, OAuth 1.0, OAuth 2.0.Shows a lock icon when configured
HeadersCustom HTTP headers. Curlex adds Content-Type and Authorization automatically from your body and auth settings — you only need to add extras here.Shows the count of custom headers
BodyThe request payload — JSON, form-data, URL-encoded, binary, GraphQL, or plain text.Shows a dot when a body is set
ScriptsPre-request and test scripts in JavaScript.Shows a dot when scripts are written
DocsA Markdown description for this endpoint — useful for documenting what a request does.Shows a dot when content exists

The Response Panel

The response panel sits below the request panel (or beside it, depending on your layout setting) and fills in after you click Send.

Before Sending

The response panel shows a prompt:

Send a request to see the response here.

Along with the keyboard shortcut hint. Nothing is shown until the first request is sent.

While a Request is In Progress

A loading state replaces the empty prompt:

Waiting for response from the server.

The Send button in the request bar becomes a Cancel button during this time.

After a Response Arrives

A summary bar appears across the top of the response panel showing three numbers at a glance:

IndicatorWhat it tells you
Status codeThe HTTP response code — 200 OK shows in green, 4xx client errors in amber, 5xx server errors in red
TimeTotal round-trip time in milliseconds — from when the request was sent to when the full response was received
SizeThe size of the response body

Below the summary bar, up to five tabs appear depending on what the response contains:

TabWhen it appearsWhat it shows
BodyAlwaysThe response payload — JSON (formatted), XML, HTML, images, PDFs, audio/video, or binary
HeadersAlwaysAll response headers as a searchable table
CookiesWhen Set-Cookie headers are presentCookies parsed into a table with Name, Value, Domain, Path, Expires, HttpOnly, Secure
TimelineWhen redirects occurredThe full redirect chain with per-hop timing waterfall (DNS, TCP, TLS, Waiting, Download)
Test ResultsWhen a test script exists or has runPass/fail results for every assertion, with error messages for failures

The Body Tab in Detail

Curlex detects the content type and renders it appropriately:

Response typeWhat you see
JSONFormatted and syntax-highlighted tree. Click sections to expand/collapse. JSONPath filter available.
XML or HTMLSyntax-highlighted code view
Image (PNG, JPEG, GIF, SVG, WebP)Rendered inline
PDFEmbedded PDF viewer
Audio or videoMedia player with controls
Binary or unrecognisedHex and raw inspection view

Controls visible in the Body tab:

  • Format / Raw toggle — switch between the formatted view and the plain text response
  • Wrap — toggle word-wrap for long lines
  • Search (Cmd/Ctrl F) — highlights matching text in the response body
  • JSONPath filter — type an expression like $.users[*].email to extract and display only the matching values
  • Copy — copies the full response body to your clipboard

When a Request Fails

If the request could not be sent at all — connection refused, DNS failure, timeout, SSL error — the response panel shows an error state:

Could not get response

The error message appears in red, describing what went wrong (e.g. Connection refused, SSL certificate verify failed, Timed out).


The Status Bar

The slim bar at the bottom of the window provides quick access to several global features:

ItemWhat it does
Sidebar toggleCollapse or expand the entire sidebar (rail + panel) to give the request area more space
EnvironmentShows the currently active environment by name. Click to open the environment switcher.
VaultOpens the Vault panel — your encrypted secret store. Shows a locked/unlocked padlock to indicate the Vault's current state.
CookiesOpens the Cookie Manager — view, edit, or delete any cookie stored by the cookie jar
ConsoleToggles the Console log panel. Keyboard shortcut: `Cmd/Ctrl + ``. Shows a badge when new log entries have arrived.
Git SyncShows the last-synced time when Git Sync is enabled. Click for sync status.

Adjusting the Layout

Two-Pane Direction

By default the request panel sits above the response panel (horizontal split). If you prefer them side by side, go to Settings → General and change Layout to Vertical. This is particularly useful on wide monitors.

Resizing Panels

Drag the divider between the request and response panels to give more space to whichever you use more. The panels have minimum sizes to keep them usable.

Collapsing the Sidebar

Click the sidebar toggle in the status bar (or drag the sidebar edge all the way left) to collapse the sidebar entirely. This is useful when reviewing a response that needs the full screen width.


Keyboard Navigation

Most actions in Curlex have keyboard shortcuts. Here are the most useful ones for navigating the interface:

ActionmacOSWindows / Linux
Send request⌘ EnterCtrl Enter
Save request⌘ SCtrl S
Close tab⌘ WCtrl W
Close all tabs⌘ ⇧ WCtrl Shift W
Global search⌘ KCtrl K
Open in new tab⌘ ⇧ EnterCtrl Shift Enter
Manage Environments⌘ ECtrl E
Open Settings⌘ ,Ctrl ,
Toggle Console`⌘ ```Ctrl ``
Find in response⌘ FCtrl F
Import⌘ OCtrl O

A full shortcuts reference is available in Settings → Shortcuts and in the Help panel in the sidebar.