HTTP Request Execution
Execute HTTP requests via GET or POST against any reachable target, with full control over headers, body, redirects, and timeouts. See Execution.
The Hoody cURL service exposes a containerized HTTP client for executing arbitrary requests, persisting session state, managing async jobs, scheduling recurring calls, and storing response payloads. It runs as a sidecar container reachable at a dedicated per-container hostname.
HTTP Request Execution
Execute HTTP requests via GET or POST against any reachable target, with full control over headers, body, redirects, and timeouts. See Execution.
Session Management
Persist cookies and authentication state across requests so subsequent calls reuse the captured credentials. See Sessions.
Job Management
List, inspect, cancel, and retrieve the results of asynchronous cURL jobs. See Jobs.
Request Scheduling
Create recurring HTTP requests driven by cron expressions for periodic polling or webhook fan-out. See Scheduling.
Storage Management
List, retrieve, and delete response files stored on disk by the cURL service. See Storage.
Returns the standardized 9-field health response for the cURL service. Unauthenticated.
This endpoint takes no parameters.
curl -X GET "https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com/api/v1/curl/health"import { HoodyClient } from 'hoody-sdk';
const client = new HoodyClient({ baseURL: 'https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com', token: process.env.HOODY_TOKEN });
await client.curl.health.check();{ "status": "ok", "service": "curl", "built": "2024-01-15T09:00:00Z", "started": "2024-01-15T10:00:00Z", "memory": null, "fds": 42, "pid": 1234, "ip": "10.0.0.5", "userAgent": null}Exports a minimal Prometheus metrics set suitable for dashboards and alerting. The response body uses the standard Prometheus text exposition format with content type text/plain.
This endpoint takes no parameters.
curl -X GET "https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com/metrics"import { HoodyClient } from 'hoody-sdk';
const client = new HoodyClient({ baseURL: 'https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com', token: process.env.HOODY_TOKEN });
await client.curl.ops.metrics();# HELP process_resident_memory_bytes Resident memory size in bytes# TYPE process_resident_memory_bytes gaugeprocess_resident_memory_bytes 0
# HELP hoody_curl_requests_total Total HTTP requests executed# TYPE hoody_curl_requests_total counterhoody_curl_requests_total 0
# HELP hoody_curl_jobs_total Async jobs submitted# TYPE hoody_curl_jobs_total counterhoody_curl_jobs_total 0