Skip to content
POST→GET Wrapping
Cron Scheduling
Cookie Sessions
Async Job Queue
Response Storage
Retry Logic
Proxy Support
libcurl (Rust)
POST→GET Wrapping
Cron Scheduling
Cookie Sessions
Async Job Queue
Response Storage
Retry Logic
Proxy Support
libcurl (Rust)
POST→GET Wrapping
Cron Scheduling
Cookie Sessions
Async Job Queue
Response Storage
Retry Logic
Proxy Support
libcurl (Rust)
POST→GET Wrapping
Cron Scheduling
Cookie Sessions
Async Job Queue
Response Storage
Retry Logic
Proxy Support
libcurl (Rust)
kit / curl / hero
cURLHOODY CURL

Any HTTP Request. One Shareable URL.

Encode any POST — headers, body, auth — into a bookmarkable GET URL. Schedule recurring calls with cron. Persist cookies automatically. Powered by libcurl.

hoody-curl — quickstart

# Simple GET via query params

curl 'https://abc123-def456-curl-1.node-us-1.containers.hoody.com/api/v1/curl/request?url=https://httpbin.org/get'

→ {"success": true, "status_code": 200, "body": "..."}

# Any POST becomes one bookmarkable GET URL

curl -X POST https://api.example.com -d '{"ok":true}'

https://abc123-def456-curl-1.node-us-1.containers.hoody.com/api/v1/curl/request?url=https%3A%2F%2Fapi.example.com&method=POST&json=%7B%22ok%22%3Atrue%7D

# Schedule it — every weekday at 9am

curl -X POST https://abc123-def456-curl-1.node-us-1.containers.hoody.com/api/v1/curl/schedule -d '{"cron":"0 0 9 * * MON-FRI","request":{"url":"..."}}'

→ {"id": "01HMZ8X9K2QF3N5P7R8T6V4WYD", "enabled": true}

REQUEST BUILDER
REQUEST BUILDER

Build. Wrap. Share.

Pick a method, enter a URL, add headers and a body — get back a single GET URL you can bookmark, share in Slack, or hand to any cron job.

Headers
Body
Options
https://abc123-def456-curl-1.node-us-1.containers.hoody.com/api/v1/curl/request?url=https%3A%2F%2Fapi.hoody.com%2Fdata&method=POST&headers=%7B%22Content-Type%22%3A%22application%2Fjson%22%2C%22Authorization%22%3A%22Bearer%20...%22%7D&json=%7B%0A%20%20%22key%22%3A%20%22value%22%0A%7D
Avoid passing credentials in query params — they appear in server logs and browser history. Use the POST body or bearer_token for secrets.
THE KILLER FEATURE
THE KILLER FEATURE

POST Requests. GET URLs.

Any POST with headers and a JSON body encodes into a single GET URL — shareable over chat, embeddable in no-code tools, bookmarkable in any browser.

before / after

# Before — raw cURL POST

curl -X POST \

-H "Content-Type: application/json" \

-H "Authorization: Bearer $TOKEN" \

-d '{"user":"alice","action":"export"}' \

https://api.hoody.com/report

# After — one bookmarkable GET URL

https://abc123-def456-curl-1.node-us-1.containers.hoody.com/api/v1/curl/request?url=https%3A%2F%2Fapi.hoody.com%2Freport&method=POST&json=%7B%22user%22%3A%22alice%22%7D

Authorization headers embedded in a shared URL are visible in logs and browser history. Keep secrets server-side.

Share in Chat

Paste the GET URL into Slack, Discord, or email. Anyone with the link can trigger the request — no client code.

No-Code Tools

Zapier, Make, and any GET-only integration accept the URL natively. Wire Hoody cURL calls into any no-code workflow.

Bookmark APIs

Save a wrapped POST as a browser bookmark. One click re-runs the exact request — method, headers, and body intact.

AI Trigger

Hand the GET URL to any web-fetching AI agent as a tool. It triggers real HTTP workflows with no SDK and no auth ceremony.

SCHEDULED REQUESTS
SCHEDULED REQUESTS

Set It. Forget It. Retrieve Results.

Attach a 6-field cron expression to any HTTP request. Schedules persist in storage across restarts, and every run's response is saved automatically.

GEThttps://api.hoody.com/health0 * * * * *in 42s
POSThttps://api.hoody.com/report0 0 9 * * MON-FRIMon 09:00
GEThttps://metrics.internal/export0 0 * * * *in 47m
POSThttps://api.hoody.com/backup0 0 0 * * *Tomorrow 00:00

6-field cron: second minute hour day month weekday

FEATURES
FEATURES

Everything libcurl Offers. As an Endpoint.

Built on libcurl Rust bindings, every HTTP capability is exposed over one request endpoint — sync or async, GET or POST.

Cookie Sessions

Pass a session_id to persist cookies across requests. Stateful login flows work without re-authenticating each call.

Async Jobs

Set mode: async to queue the request and receive a job_id. Poll for pending, running, completed, failed, or cancelled states.

Retry Logic

Configure retry_count and retry_delay to automatically re-attempt requests that fail on transient network errors or timeouts.

Response Storage

Set save: true to persist the full response to /hoody/storage/curl/downloads/ for later retrieval via the Storage API or Files.

Proxy Support

Route requests through an upstream proxy via the proxy parameter. Both HTTP and SOCKS proxies are supported.

Dual Response Modes

Choose json mode for a structured wrapper with timing and metadata, or transparent mode to pass the raw upstream bytes straight through.

API REFERENCE
API REFERENCE

18 Endpoints. Five Subsystems.

Request execution, async job management, cron scheduling, cookie sessions, and response storage — all reachable from your container's cURL service URL.

Execution

2 endpoints

GET /api/v1/curl/request?url=...&mode=async

GET
/api/v1/curl/requestExecute via query parameters
POST
/api/v1/curl/requestExecute with full cURL config

Jobs

4 endpoints

GET /api/v1/curl/jobs/{id}/result

GET
/api/v1/curl/jobsList all async jobs
GET
/api/v1/curl/jobs/{id}Get detailed job information
DELETE
/api/v1/curl/jobs/{id}Cancel a pending or running job
GET
/api/v1/curl/jobs/{id}/resultGet job response body

Schedule

5 endpoints

PATCH /api/v1/curl/schedule/{id}/toggle

GET
/api/v1/curl/scheduleList all scheduled jobs
POST
/api/v1/curl/scheduleCreate a recurring scheduled job
GET
/api/v1/curl/schedule/{id}Get schedule details
DELETE
/api/v1/curl/schedule/{id}Delete a schedule
PATCH
/api/v1/curl/schedule/{id}/toggleEnable or disable a schedule

Sessions

4 endpoints

GET /api/v1/curl/sessions/{id}/cookies

GET
/api/v1/curl/sessionsList all cookie sessions
GET
/api/v1/curl/sessions/{id}Get session details
DELETE
/api/v1/curl/sessions/{id}Delete a session
GET
/api/v1/curl/sessions/{id}/cookiesGet session cookies only

Storage

3 endpoints

GET /api/v1/curl/storage/{path}

GET
/api/v1/curl/storageList all saved downloads
GET
/api/v1/curl/storage/{path}Download a saved file
DELETE
/api/v1/curl/storage/{path}Delete a saved file

Plus an unauthenticated health check, a Prometheus /metrics export, and a WebSocket job-events stream.

kit / curl / cta

HTTP Requests as Infrastructure

Any POST becomes a GET URL. Any URL becomes a schedule. Built on libcurl, exposed over one endpoint.

Read the Docs