Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/JonathanHerSa/xolo-api-hub/llms.txt

Use this file to discover all available pages before exploring further.

The Request Composer is Xolo’s central workspace. Every time you open a new tab you get a blank canvas: pick your HTTP method, type (or paste) a URL, configure headers, auth, and body, then hit Send. The response appears immediately in the Response tab — status code, duration, size, and a fully interactive JSON viewer. The composer supports multiple open tabs simultaneously, an incognito mode that suppresses history recording, and a command palette (Ctrl/Cmd + K) for fast navigation.

HTTP Methods

Xolo supports the seven standard HTTP verbs. Each method is rendered in a distinct colour so the active selection is recognisable at a glance:
MethodTypical use
GETRetrieve a resource
POSTCreate a new resource or submit data
PUTReplace a resource entirely
PATCHPartially update a resource
DELETERemove a resource
HEADFetch response headers only (no body)
OPTIONSDiscover allowed methods on a resource
Tap the method badge on the left side of the URL bar to open the picker and choose a different verb.

URL Bar

The URL bar is the primary input surface of the composer. It combines method selection, the URL field, and the Send button in a single compact row. {{variable}} substitution — wrap any environment or global variable name in double curly braces and the bar resolves it in real time. As you type {{, an autocomplete overlay drops down listing all variables in the active environment; selecting one inserts variableName}} and positions the cursor after the closing braces. The resolved value is shown as a preview chip directly in the bar. baseUrl prefix — when a baseUrl variable is defined in the active environment, it is displayed as a collapsible pill on the left of the text field. You only type the path (e.g. /users/42); Xolo prepends {{baseUrl}} automatically at send time. Tapping the pill expands it to show the full resolved URL. {:param} dynamic path parameters — type a segment like {:userId} in the URL and Xolo automatically adds userId as an editable row in the Params tab. Fill in the value there and the variable is substituted before the request is sent.
Use {{$timestamp}} in a header value to send a fresh Unix-millisecond nonce on every request — no manual editing required.

Request Tabs

Once a URL is entered, seven tabs below the URL bar let you configure every dimension of the outgoing request:
A key-value table for query string parameters. Toggle the checkbox on each row to include or exclude it without deleting the entry. Rows auto-populate when {:param} placeholders are detected in the URL.
Choose an authentication strategy for this specific request. Setting auth here overrides anything inherited from a parent collection. Supported strategies include Bearer token, Basic auth, API key, and OAuth 2.0. Set the type to Inherit to walk up the collection hierarchy automatically.
A key-value table for HTTP request headers. All {{variable}} references are resolved at send time, including in both the key and value fields.
A multiline editor for the raw request body. See Body Types below for formatting options.
Pre-request rules execute before the request is dispatched and can inject or override variable values. Post-request rules use JSONPath expressions to extract values from the response and store them as environment variables automatically.
Define pass/fail conditions that are evaluated against the response status code or JSON fields. Assertion results are surfaced per-step during a Collection Run.
Displays the full response once the request completes. See Sending & Response for details.
Auth configured directly on a request overrides any auth inherited from the parent collection. To re-enable inheritance, set the request’s auth type back to Inherit.

Body Types

The Body tab editor supports working with raw JSON — the most common format for REST APIs:
1

Write or paste JSON

Type directly into the monospace editor. {{variable}} tokens are highlighted and resolved at send time.
2

Beautify

Tap Beautify (Format icon) to pretty-print the JSON with two-space indentation. Xolo will show a snackbar error if the content is not valid JSON.
3

Minify

Tap Minify (Compress icon) to collapse the JSON to a single line before sending.
4

Generate from Schema

If the saved request has a JSON Schema attached (schemaJson), tap the ✨ Generate icon to produce a sample payload that satisfies the schema structure. The generated payload replaces the current editor content.

Sending & Response

Tap Send (or press Enter/Return inside the URL field) to dispatch the request. While the request is in-flight a linear progress indicator appears at the top of the tab content area and the Send button displays a spinner. Once the response arrives the composer switches to the Response tab automatically and shows:
  • Status code badge — green for 2xx, red for any other code.
  • Duration — round-trip time in milliseconds, recorded from before the request leaves the device to after the full response body is received.
  • Formatted JSON viewer — a collapsible, syntax-highlighted tree for JSON responses. Non-JSON bodies are rendered as selectable plain text.
  • Error panel — if the request fails at the network layer (timeout, TLS error, etc.) the error message is shown in the response area in red monospace text.

Saving Requests

Tap the bookmark icon (☆) in the composer toolbar to open the Save Request dialog. Enter a name and optionally choose a destination collection or subfolder from the hierarchical dropdown. Leaving the folder selector empty saves the request to the Unclassified bucket, which is always accessible from the Saved Requests screen. Saving calls createRequest(name, method, url, body, collectionId) on XoloRepository and persists the full request definition — headers, params, body, auth, scripts, and assertions — to local SQLite storage.

Multi-Tab Browsing

Xolo uses a browser-style tab bar at the top of the composer area. Each tab maintains its own independent session state: URL, method, headers, body, and the last response. Tabs persist until you close them manually.
1

Open a new tab

Tap the + button at the right end of the tab bar. A fresh blank session opens and becomes active immediately.
2

Switch tabs

Tap any tab chip to bring that session to the front. The URL bar and all configuration panels update to reflect the selected tab.
3

Close a tab

Long-press or tap the × icon on a tab chip to close it. The previous tab becomes active.

Incognito Mode

When Incognito Mode is enabled no history entry is written after a request completes — the request is sent and the response is shown normally, but watchRecentHistory will not include it. Incognito state is managed by isIncognitoProvider, a NotifierProvider<BooleanNotifier, bool> that defaults to false. The RequestController checks ref.read(isIncognitoProvider) immediately after a successful send; if the value is true, it skips the addHistoryItem call entirely. Toggle incognito from the toolbar eye icon. The icon changes appearance while the mode is active so the current state is always visible.
Incognito Mode is ideal for testing requests that contain credentials you do not want recorded, such as login endpoints or token-exchange calls.

Build docs developers (and LLMs) love