Skip to content
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.

hoody-curl — quickstart

# GET request

curl 'https://proj.hoody.com/api/v1/curl/request?url=https://httpbin.org/get'

→ ["status": 200, "body": [...]]''

# POST wrapped as GET

curl 'https://proj.hoody.com/api/v1/curl/request?url=...&method=POST&json=[]'''

https://proj.hoody.com/api/v1/curl/request?url=...&method=POST&json=%7B%7D

# Create schedule (every weekday 9am)

curl -X POST .../schedule -d '["cron":"0 0 9 * * MON-FRI","request":["url":"..."]]'''

→ ["schedule_id": "sched_abc123", "enabled": true]

REQUEST BUILDER
REQUEST BUILDER

Build. Wrap. Share.

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

Headers
Body
Options
https://proj-dev-curl-1.hoody.com/api/v1/curl/request?url=https%3A%2F%2Fapi.hoody.com%2Fdata&method=POST&header_Content-Type=application%2Fjson&header_Authorization=Bearer%20...&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.
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 via email, 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://proj.hoody.com/api/v1/curl/request?url=https%3A%2F%2Fapi.hoody.com%2Freport&method=POST&json=%7B%22user%22%3A%22alice%22%7D

Avoid embedding Authorization headers in shared URLs — they are visible in logs and browser history. Use server-side proxying for secrets.

Share in Chat

Paste the GET URL in Slack, Discord, or email. Anyone with the URL can trigger the request.

No-Code Tools

Zapier and Make accept GET URLs natively. Connect Hoody cURL requests to any no-code workflow.

Bookmark APIs

Save any POST endpoint as a browser bookmark. One click re-runs the exact request every time.

AI Trigger

Pass the GET URL to any AI agent as a tool. The agent triggers real HTTP requests without an SDK.

SCHEDULED REQUESTS
SCHEDULED REQUESTS

Set It. Forget It. Retrieve Results.

Attach a 6-field cron expression to any HTTP request. Schedules persist across server restarts and store results automatically.

GEThttps://api.hoody.com/health0 * * * * *in 4m
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.

Powered by libcurl Rust bindings, every HTTP capability is exposed over a single POST endpoint.

Cookie Sessions

Pass session_id to persist cookies across requests. Stateful auth flows work without re-logging in.

Async Jobs

Set async: true 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 failed requests on transient errors.

Response Storage

Set save: true to persist the full response to /hoody/storage/hoody-curl/downloads/ for later retrieval.

Proxy Support

Route requests through HTTP or SOCKS proxies via proxy, proxy_user, and proxy_password parameters.

Dual Response Modes

Choose json mode for structured metadata and timing, or transparent mode to pass raw response bytes directly through.

API REFERENCE
API REFERENCE

18 Endpoints. Four Subsystems.

Request execution, async job management, cron scheduling, and session storage — all accessible from your container's cURL service URL.

Execution

1 endpoint

POST /api/v1/curl/request?url=...&save=true

GET
/api/v1/curl/sessionsList sessions
GET
/api/v1/curl/sessions/:idGet session
DELETE
/api/v1/curl/sessions/:idDelete session
POST
/api/v1/curl/sessions/:id/cookiesSet session cookies
GET
/api/v1/curl/storageList stored results
GET
/api/v1/curl/storage/:idGet stored result
DELETE
/api/v1/curl/storage/:idDelete stored result

Jobs

5 endpoints

GET /api/v1/curl/jobs → [[job_id, state, ...]]

GET
/api/v1/curl/jobsList async jobs
GET
/api/v1/curl/jobs/:idGet job details
GET
/api/v1/curl/jobs/:id/resultGet job result
DELETE
/api/v1/curl/jobs/:idDelete job
POST
/api/v1/curl/jobs/:id/retryRetry failed job

Schedule

5 endpoints

POST /api/v1/curl/schedule → cron: '0 0 9 * * MON-FRI'

POST
/api/v1/curl/scheduleCreate schedule
GET
/api/v1/curl/schedule/:idGet schedule
PUT
/api/v1/curl/schedule/:idUpdate schedule
DELETE
/api/v1/curl/schedule/:idDelete schedule
POST
/api/v1/curl/schedule/:id/pausePause schedule

Sessions + Storage

7 endpoints

GET /api/v1/curl/sessions → [[session_id, cookie_count]]

POST
/api/v1/curl/requestExecute HTTP request
kit / curl / cta

HTTP Requests as Infrastructure

Any POST becomes a GET URL. Any URL becomes a schedule.

Read the Docs