Last updated
Building a GET Request
The HTTP Request Builder constructs and sends HTTP requests with full control over all parameters. Here is a basic GET request to a REST API:
/* Request configuration */
Method: GET
URL: https://api.example.com/users
Query Parameters:
page=1
limit=20
sort=created_at
order=desc
Headers:
Accept: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9...
X-API-Version: 2
/* Constructed URL */
GET https://api.example.com/users?page=1&limit=20&sort=created_at&order=desc
/* Equivalent curl command */
curl -X GET \
"https://api.example.com/users?page=1&limit=20&sort=created_at&order=desc" \
-H "Accept: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." \
-H "X-API-Version: 2"
/* Response */
HTTP/2 200 OK
Content-Type: application/json
X-Total-Count: 142
X-Page-Number: 1
{
"users": [
{ "id": 1, "name": "Alice", "email": "alice@example.com" },
{ "id": 2, "name": "Bob", "email": "bob@example.com" }
],
"total": 142,
"page": 1,
"limit": 20
}
Building a POST Request with JSON Body
POST requests create new resources. The builder handles JSON body formatting and sets the correct Content-Type header:
/* Request configuration */
Method: POST
URL: https://api.example.com/users
Headers:
Content-Type: application/json
Accept: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9...
Body (JSON):
{
"name": "Carol White",
"email": "carol@example.com",
"role": "editor",
"preferences": {
"notifications": true,
"theme": "dark"
}
}
/* Equivalent curl command */
curl -X POST \
"https://api.example.com/users" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." \
-d '{
"name": "Carol White",
"email": "carol@example.com",
"role": "editor",
"preferences": {
"notifications": true,
"theme": "dark"
}
}'
/* Response */
HTTP/2 201 Created
Content-Type: application/json
Location: https://api.example.com/users/43
{
"id": 43,
"name": "Carol White",
"email": "carol@example.com",
"role": "editor",
"created_at": "2024-01-16T08:45:22Z"
}
Building a PUT Request (Full Update)
PUT requests replace an entire resource. Here is updating a user record:
/* Request configuration */
Method: PUT
URL: https://api.example.com/users/43
Headers:
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9...
Body:
{
"name": "Carol Johnson",
"email": "carol.johnson@example.com",
"role": "admin",
"preferences": {
"notifications": false,
"theme": "light"
}
}
/* Equivalent curl */
curl -X PUT \
"https://api.example.com/users/43" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." \
-d '{"name":"Carol Johnson","email":"carol.johnson@example.com","role":"admin","preferences":{"notifications":false,"theme":"light"}}'
/* PATCH request — partial update */
Method: PATCH
URL: https://api.example.com/users/43
Body:
{
"role": "admin"
}
/* Only updates the role field, leaves everything else unchanged */
Form Data and File Upload Requests
The builder handles multipart form data for file uploads:
/* File upload request */
Method: POST
URL: https://api.example.com/uploads
Content-Type: multipart/form-data
Form Fields:
title: "Profile Photo"
description: "User avatar image"
file: [binary file data]
/* Equivalent curl */
curl -X POST \
"https://api.example.com/uploads" \
-F "title=Profile Photo" \
-F "description=User avatar image" \
-F "file=@/path/to/photo.jpg"
/* URL-encoded form data (no files) */
Method: POST
URL: https://api.example.com/login
Content-Type: application/x-www-form-urlencoded
Body:
username=alice&password=secretpassword&remember_me=true
/* Equivalent curl */
curl -X POST \
"https://api.example.com/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=alice&password=secretpassword&remember_me=true"
Authentication Examples
The builder supports all common authentication schemes:
/* Basic authentication */
Method: GET
URL: https://api.example.com/protected
Authorization: Basic YWxpY2U6c2VjcmV0cGFzc3dvcmQ=
/* base64("alice:secretpassword") */
curl -u alice:secretpassword https://api.example.com/protected
/* Bearer token (JWT) */
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFsaWNlIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
/* API key in header */
X-API-Key: sk_live_abcdefghijklmnopqrstuvwxyz123456
/* API key as query parameter */
GET https://api.example.com/data?api_key=sk_live_abcdefghijklmnopqrstuvwxyz123456
/* OAuth 2.0 token request */
Method: POST
URL: https://auth.example.com/oauth/token
Content-Type: application/x-www-form-urlencoded
Body:
grant_type=client_credentials
&client_id=your_client_id
&client_secret=your_client_secret
&scope=read:users write:users
Yes! HTTP Request Builder is completely free to use with no registration required. All processing is done client-side in your browser.
Absolutely! All processing happens locally in your browser. Your data never leaves your device, ensuring complete privacy and security.