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.
# 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}
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.
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 — 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
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.
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.
6-field cron: second minute hour day month weekday
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.
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 endpointsGET /api/v1/curl/request?url=...&mode=async
Jobs
4 endpointsGET /api/v1/curl/jobs/{id}/result
Schedule
5 endpointsPATCH /api/v1/curl/schedule/{id}/toggle
Sessions
4 endpointsGET /api/v1/curl/sessions/{id}/cookies
Storage
3 endpointsGET /api/v1/curl/storage/{path}
Plus an unauthenticated health check, a Prometheus /metrics export, and a WebSocket job-events stream.
HTTP Requests as Infrastructure
Any POST becomes a GET URL. Any URL becomes a schedule. Built on libcurl, exposed over one endpoint.