HTTP Request Builder

Configure an HTTP method, URL, headers and body, or start from an OpenAPI operation. Export the request as cURL or Fetch code, or send it directly from the browser to an API that permits CORS.

Request details stay in this tab. VoriTools has no proxy: a request is sent only when you choose Send, and browser CORS rules still apply.
Request builder

Use a public API or one that explicitly permits this website with CORS. Credentials are omitted by default and no request is routed through VoriTools.

Use one Header-Name: value pair per line. Browser-restricted headers are rejected before sending.

Import an OpenAPI operation

Paste or choose a local OpenAPI JSON/YAML document. The tool reads paths, methods, server defaults, parameters, and a sample request body without fetching a URL.

No local API definition has been analyzed.
Generated request
Build a request to generate cURL.
Build a request to generate Fetch code.
Response
No request has been sent.
—
—

Build browser-visible API requests before moving to a full client

This utility creates requests and calls only the URL you explicitly enter. It cannot bypass CORS, browser security controls, private network restrictions, or authentication flows. Review generated code and use safe test credentials.

How to build and send an HTTP request

The builder assembles one HTTP request — method, URL, query parameters, headers, optional Basic or Bearer authentication and a body — and writes it out as a cURL command and a Fetch snippet. The same request can be sent from this tab when the target API lets the browser call it.

The second panel reads a local OpenAPI 3.x or Swagger 2.0 document, pasted or chosen from disk, and fills the builder with one of its operations. Nothing is uploaded, and no URL is fetched while the document is analysed.

  1. Pick the method (GET, POST, PUT, PATCH, DELETE, HEAD or OPTIONS) and type the full URL. Only http:// and https:// are accepted, so the scheme has to be part of the address.
  2. Add query parameters as key/value rows and headers as one Header-Name: value line each, then choose an authentication mode if the API needs one. The cURL and Fetch panes follow every keystroke.
  3. Choose a body type — JSON, plain text or form URL-encoded — and type the body. JSON is validated before the request is built, and GET or HEAD always send no body.
  4. Copy the cURL or Fetch code, download the request or an OpenAPI fragment, or press Send request to call the API from this browser.

Exports, headers and limits

What the exports contain

The cURL pane is a single command: curl -X with the method, the URL including its query string, one -H per header and --data-raw for the body, with single quotes escaped for the shell. The Fetch pane is the matching fetch() call with the method, the headers object, credentials: "omit" and the body as a string.

Download request JSON saves the method, URL, headers, body and body type as kivtools-http-request.json, with Authorization, Cookie and X-API-Key values replaced by [redacted]. Download OpenAPI fragment writes an OpenAPI 3.0.3 document whose server is the URL origin and whose single operation carries the query string as query parameters, your headers as header parameters, a requestBody inferred from the body, and a bearer or basic security scheme when you selected one.

Headers and bodies

Header lines must read Header-Name: value, and header names must be valid HTTP token characters. The names the browser controls — Host, Origin, Referer, Cookie, Content-Length, Connection, Accept-Encoding, DNT, Date, Expect, Keep-Alive, TE, Trailer, Transfer-Encoding, Upgrade, Via and the Access-Control-Request-* pair — are refused before the request is built, and the message names the one that was rejected.

Content-Type is filled in only when you have not set it yourself: application/json for JSON, text/plain;charset=utf-8 for plain text and application/x-www-form-urlencoded;charset=UTF-8 for form bodies. Query values are percent-encoded, and a key left without a value is sent as an empty parameter.

Importing an OpenAPI operation

Analysing a document lists every operation as METHOD /path — summary, shows the first 24 in the panel and reports the total. Choosing one fills in its server — with default values substituted for server variables — its path, query parameters, header parameters, path parameters and a sample body taken from example, examples or the schema.

A document without a paths object, or without an openapi or swagger version, is rejected as not an OpenAPI 3.x or Swagger 2.0 document with paths. YAML is parsed in the browser. A path parameter with no example keeps its {name} placeholder, and the builder says so instead of generating a broken address.

Sending, limits and privacy

Send request calls the URL you typed from this browser with CORS mode and credentials omitted, so the API has to allow voritools.com. The response card reports the status code and text, the elapsed time in milliseconds, the preview size and the response headers; the body preview stops at 1 MB and the request is aborted after 30 seconds.

An API that answers without CORS headers, a closed port or a rejected certificate ends in “Failed to fetch”, with a reminder to check the URL, the CORS policy, the certificate, the network and the API authentication. The request stays in the tab: nothing is uploaded, nothing is stored, and the only network call is the one you start.

Recent tools: