What are the parts of an HTTP request?
An HTTP request is a method (GET, POST, PUT, PATCH, DELETE …) and a target URL — path plus query parameters — followed by headers and, for methods that carry data, a body whose format the Content-Type header names. RFC 9110 defines the methods and their semantics: GET and HEAD are safe, PUT and DELETE are idempotent, POST is neither, which is what decides whether a request may be retried. A cURL command line is the same request written out, and is the lingua franca for reproducing an API call in a bug report.
Read the guide: What is API Testing? How to Test a REST API
How to use API Query Parameter Builder
- Enter the endpoint URL.
- Add parameters; use "a, b" or ["a","b"] for lists and bracket keys for nested filters.
- Choose the array style and encoding your backend expects.
- Copy the final URL or just the query string.
API Query Parameter Builder features
- Key/value editor with comma lists and JSON values for arrays and nested filters
- Bracket keys (filter[price][max]) and JSON objects produce nested structures
- Four array styles (repeat, brackets, indices, comma) and RFC 3986 or form encoding
- Optional key sorting, empty-value skipping and merging with the base URL's existing query
- Live final URL, bare query string, encoded-parameter table and JSON view
- Warnings for over-long URLs and whitespace in keys
API Query Parameter Builder example
Pagination, sorting and a list filter
Input:
Base: https://api.example.com/v1/products · page=2 · per_page=25 · sort=-created_at · status=active, pending · q=café & crèmeOutput:
https://api.example.com/v1/products?page=2&per_page=25&sort=-created_at&status=active&status=pending&q=caf%C3%A9%20%26%20cr%C3%A8meFrequently asked questions about API Query Parameter Builder
How do I pass a list of values?
Type them comma-separated (active, pending) or as a JSON array (["a","b"]). Then pick the array style your API expects: repeat (status=a&status=b), brackets (status[]=a), indices (status[0]=a) or comma (status=a,b).
How do I build nested filters?
Use bracket keys such as filter[price][max] or JSON objects as values. They are serialised with percent-encoded brackets (filter%5Bprice%5D%5Bmax%5D=…), which PHP, Rails, Laravel and Express (qs) decode into nested structures.
Which characters are encoded?
Everything outside the unreserved set (letters, digits, - _ . ~) is percent-encoded per RFC 3986, including & = # + and non-ASCII characters (UTF-8 bytes). Form encoding additionally turns spaces into +.
What happens to a query string already in the base URL?
With "Keep existing query" enabled, existing parameters are parsed and merged with the ones you add; new values with the same key are appended as repeats.
References
- RFC 9110: HTTP SemanticsThe meaning of HTTP methods, header fields, status codes and content negotiation, independent of the wire version.
- HTTP headers — MDNReference for request and response headers: syntax, directives and browser support.
- RFC 7578: Returning Values from Forms: multipart/form-dataThe multipart/form-data encoding used for file uploads and mixed form submissions.