About http-request
A command-line skill for making HTTP requests, intended for API calls, testing, and data downloads. It supports multiple request methods, JSON handling, authentication, form uploads, and saving responses.
Key features
- 01GET, POST, PUT, PATCH, and DELETE requests
- 02JSON request bodies and response formatting
- 03Bearer, Basic, and custom-header authentication
- 04Form data and file uploads
- 05Redirects, timeouts, and response saving
Use cases
- 01Calling authenticated API endpoints
- 02Sending JSON data and inspecting responses
- 03Uploading files or saving responses to files
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ winsorllc/ upgraded-carnival --skill http-requestAfter installing, type/http-requestin Claude Code to confirm it loaded.
Bundled filesindex.jsrequest.sh
Details
From the project READMEHTTP Request Skill
Make HTTP requests with enhanced output and JSON handling.
When to Use
✅ USE this skill when:
- "Make a GET request to..."
- "POST this JSON to..."
- "Call this API endpoint"
- "Download data from URL"
- "Test an API"
When NOT to Use
❌ DON'T use this skill when:
- Simple file downloads → use web-fetch/download.sh
- Browser automation → use browser-tools
- Web scraping → use web-fetch
Commands
GET Request
{baseDir}/request.sh GET "https://api.example.com/data"
{baseDir}/request.sh GET "https://api.example.com/data" --json
{baseDir}/request.sh GET "https://api.example.com/data" --header "Authorization: Bearer token"
POST Request
{baseDir}/request.sh POST "https://api.example.com/create" --data '{"name": "test"}'
{baseDir}/request.sh POST "https://api.example.com/create" --file data.json
{baseDir}/request.sh POST "https://api.example.com/upload" --form "[email protected]"
PUT/PATCH/DELETE
{baseDir}/request.sh PUT "https://api.example.com/update/1" --data '{"name": "updated"}'
{baseDir}/request.sh PATCH "https://api.example.com/patch/1" --data '{"status": "active"}'
{baseDir}/request.sh DELETE "https://api.example.com/delete/1"
With Authentication
{baseDir}/request.sh GET "https://api.example.com/private" --auth bearer:TOKEN
{baseDir}/request.sh GET "https://api.example.com/private" --auth basic:user:pass
{baseDir}/request.sh GET "https://api.example.com/private" --header "X-API-Key: secret"
Custom Options
{baseDir}/request.sh GET "https://api.example.com" --timeout 60
{baseDir}/request.sh GET "https://api.example.com" --follow --max-redirects 5
{baseDir}/request.sh GET "https://api.example.com" --verbose
Options
--data <json>: Request body (JSON string)--file <path>: Read request body from file--form <data>: Form data or file upload (@filename)--header <header>: Custom header (can be repeated)--auth <type:credentials>: Authentication (bearer:TOKEN or basic:user:pass)--timeout <sec>: Request timeout (default: 30)--json: Format JSON response--verbose: Show request details--follow: Follow redirects--max-redirects <n>: Max redirects (default: 5)--out <file>: Save response to file
Examples
Get JSON and format:
{baseDir}/request.sh GET "https://jsonplaceholder.typicode.com/users" --json
POST data:
{baseDir}/request.sh POST "https://api.example.com/users" \
--data '{"name": "John", "email": "[email protected]"}' \
--json
With Bearer token:
{baseDir}/request.sh GET "https://api.example.com/protected" \
--auth bearer:your_token_here
Upload file:
{baseDir}/request.sh POST "https://api.example.com/upload" \
--form "[email protected]"
Notes
- Automatically adds Content-Type: application/json for JSON data
- Handles response body parsing
- Shows response headers with --verbose
- Supports multipart form data uploads
Comments
Markdown supported