Building a Request
A request is the core unit of work in HTTPBot. It describes what you want to send to a server — the URL, the HTTP method, any query parameters, headers, a body, and authentication — and HTTPBot turns it into a real network call when you tap Send.
This page walks through the request editor and the pieces that make up a request. The Body, Authentication, and Tests sections each have their own pages, which are linked below.



The URL bar and method picker
At the top of every request is the URL bar, where you type or paste the endpoint URL. The HTTP method button sits in the navigation bar next to the request's name. Tap it to choose the HTTP method.
Supported HTTP methods
HTTPBot supports the full set of standard HTTP methods:
| Method | Typical use |
|---|---|
| GET | Read a resource |
| POST | Create a resource / submit data |
| PUT | Replace a resource |
| PATCH | Partially update a resource |
| DELETE | Remove a resource |
| HEAD | Like GET, but headers only |
| OPTIONS | Discover allowed methods / CORS preflight |
| CONNECT | Establish a tunnel |
| TRACE | Echo the received request |
| QUERY | Safe, body-bearing read (the QUERY method) |
The URL accepts {{variable}} placeholders, so you can keep the host or other
parts of the URL in an environment. See
Environments & Variables for details.
Query Parameters
The Query Params section is a key/value editor for the values that appear
after the ? in your URL. HTTPBot keeps the two in sync: adding a parameter here
appends it to the URL, and typing ?key=value into the URL bar adds a row here.
- Each row has a key and a value, and a toggle to enable or disable it. Disabled rows stay in your request for later but are not sent.
- Values support
{{variable}}substitution, so you can reference environment or global variables — for example?api_key={{apiKey}}.
This makes it easy to keep a set of optional parameters around and switch them on and off between sends without deleting anything.
Path Variables
When your URL contains a path placeholder — for example
https://api.example.com/users/:id — HTTPBot detects it and shows a Path
Variables section so you can fill in the value for :id. Each placeholder
becomes a key/value row. Path Variables only appear when the URL actually
contains one or more placeholders.
Body
The Body section holds the payload you send with a request. A Type picker switches between the supported body types:
- None — no payload (the default for GET, HEAD, and DELETE).
- URL Encoded —
application/x-www-form-urlencodedkey/value fields. - Form Data —
multipart/form-data, including file uploads. - Raw — a free-form editor for JSON, XML, or plain text.
- GraphQL — a dedicated GraphQL query editor.
Choosing a body type for a method that doesn't normally carry one (GET, HEAD, DELETE) switches the method to POST automatically. See Request Body for the full details of each type.
Headers
The Headers section is a key/value editor for request headers such as
Content-Type, Accept, or any custom header your API needs. Like query
parameters, header values support {{variable}} substitution, which is handy for
things like Authorization: Bearer {{token}}.
Some headers are added for you automatically (for example a User-Agent, and the
headers produced by your chosen authentication type). You can override the
User-Agent in Request Settings.
Auth
The Auth section is where you tell HTTPBot how to authenticate the request. Pick an authentication type and fill in its fields, and HTTPBot adds the right headers, query parameters, or signatures when you tap Send. Types range from Basic, Bearer Token, and API Key (available to everyone) to OAuth 1.0a, OAuth 2.0, Digest, Hawk, JWT, NTLM, and AWS (HTTPBot Pro). See Authentication for every type and its options.
The request menu
The … (ellipsis) button in the top-right of the editor opens the request menu.
From here you can:
- Environment — pick the active environment, open Global Variables, or Manage Environments. See Environments & Variables.
- Use GraphQL — switch the request from a regular HTTP body to a GraphQL query editor. See GraphQL.
- View curl — generate a cURL command equivalent to the current request, which you can copy and run in a terminal or share with a teammate.
- Import curl — paste a cURL command and HTTPBot builds the request from it, filling in the method, URL, headers, and body.
- Export as HAR — export the request as an HTTP Archive (
.har) file via the share sheet. - View Documentation — open a read-only summary of the request's URL, description, and headers/params/body (only shown for requests that have documentation attached). See Collections & Folders.
- Cookies — view and edit the cookies that apply to this request's URL. See Cookies.
- Tests — add assertions that run automatically after each send. See Tests.
- Certificates — manage client certificates used for the request.
- Settings — open the request settings (timeout, redirects, cookies, Verify SSL, and other values that apply to every request you send). See Request Settings.
- Help — open this documentation.



Working with cURL
HTTPBot speaks cURL in both directions:
- Import from cURL — paste a cURL command and HTTPBot builds a request from it, filling in the method, URL, headers, and body for you. This is the fastest way to bring in an example from API documentation.
- View as cURL — choose View curl from the request menu to generate a cURL command for the request you've built, ready to copy or share.
A typical command you can import looks like this:
curl -X POST 'https://api.example.com/v1/users' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer abc123' \
-d '{"name":"Ada","role":"admin"}'
Naming and saving requests
Every request has a name shown in the editor's title. Tap the title to rename it. When you finish editing, HTTPBot saves your changes; if you try to close with unsaved edits, it asks whether to Save or Discard them.
A request can be saved on its own — where it shows up in the Requests list — or inside a Collection, which is how HTTPBot groups related requests together (and how it syncs them). For more on organizing, importing, and sending requests from collections, see Collections.
The number of requests you can save is unlimited with HTTPBot Pro. PRO Without Pro you can keep up to 5 saved requests.
Where to go next
A request also has a Tests section — assertions checked automatically after each response. See Tests.
Once you've built a request, tap Send and review the result on the response screen. See Viewing Responses.