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 request editor with the URL bar at the top and the Query Params, Body, Headers, and Auth sections beneath it.The request editor with the URL bar at the top and the Query Params, Body, Headers, and Auth sections beneath it.The request editor with the URL bar at the top and the Query Params, Body, Headers, and Auth sections beneath it.

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.

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:

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:

The request menu expanded, showing Use GraphQL, View curl, Export as HAR, Cookies, Tests, Certificates, and Settings.The request menu expanded, showing Use GraphQL, View curl, Export as HAR, Cookies, Tests, Certificates, and Settings.The request menu expanded, showing Use GraphQL, View curl, Export as HAR, Cookies, Tests, Certificates, and Settings.

Working with cURL

HTTPBot speaks cURL in both directions:

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.