Skip to content
Hoody.com

The Hoody cURL service provides containerized HTTP request execution, session management, asynchronous job tracking, request scheduling, and response storage. It runs as a long-lived sidecar accessible through a per-container HTTPS endpoint and is designed for agents that need to call arbitrary external APIs while persisting cookies, headers, and large response bodies across calls.

HTTP Request Execution

Synchronous GET and POST execution, asset sharing, and request replay.

Read more

Session Management

Persist cookies, headers, and authentication state across requests using named or auto-managed sessions.

Read more

Job Management

List, inspect, cancel, and retrieve results for asynchronous long-running requests.

Read more

Request Scheduling

Create recurring HTTP requests using cron expressions and inspect scheduled task state.

Read more

Storage Management

List, retrieve, and delete response files that have been offloaded to durable storage.

Read more

Returns the standardized 9-field health snapshot for the cURL service. This endpoint is unauthenticated and intended for liveness probes and operational monitoring.

{
"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
}
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.kit.getHealth();

Exports a minimal Prometheus-compatible metrics set for dashboards and alerting. The response body uses the standard Prometheus text exposition format and is not JSON.

# HELP hoody_curl_requests_total Total POST requests processed
# TYPE hoody_curl_requests_total counter
hoody_curl_requests_total{service="curl",status="ok"} 42
hoody_curl_requests_total{service="curl",status="error"} 3
# HELP hoody_curl_active_sessions Active cURL sessions
# TYPE hoody_curl_active_sessions gauge
hoody_curl_active_sessions 5
# HELP hoody_curl_jobs_total Total async jobs processed
# TYPE hoody_curl_jobs_total counter
hoody_curl_jobs_total{status="completed"} 18
hoody_curl_jobs_total{status="failed"} 1
hoody_curl_jobs_total{status="cancelled"} 0
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.kit.getMetrics();