Ship logs, metric data points, and uptime/synthetic monitors programmatically to Lumen.
Batch log ingestion. Submit up to 500 entries per request within a 256 KiB body limit.
curl -X POST https://projecthollow.com/monitoring/ingest/v1/logs \
-H "Authorization: Bearer hlw_sk_…" \
-H "Content-Type: application/json" \
-d '{
"service": "checkout-api",
"entries": [
{ "level": "error", "message": "database connection timed out", "ts": "2026-07-31T08:00:00Z" }
]
}'Returns HTTP 202 Accepted: { "accepted": 1 }
Batch metric ingestion. Submit up to 1,000 data points per request within a 256 KiB body limit.
curl -X POST https://projecthollow.com/monitoring/ingest/v1/metrics \
-H "Authorization: Bearer hlw_sk_…" \
-H "Content-Type: application/json" \
-d '{
"service": "checkout-api",
"points": [
{ "name": "request_latency_ms", "value": 142, "ts": "2026-07-31T08:00:00Z", "tags": { "route": "/checkout" } }
]
}'Returns HTTP 202 Accepted: { "accepted": 1 }
Create or update HTTP endpoint or synthetic browser monitors. Supply an Idempotency-Key header to uniquely identify the monitor instance.
curl -X POST https://projecthollow.com/monitoring/ingest/v1/monitors \
-H "Authorization: Bearer hlw_sk_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: checkout-uptime-check" \
-d '{
"name": "Checkout API Uptime",
"type": "http",
"target": "https://checkout.example.com/health",
"intervalMinutes": 5
}'For synthetic browser monitors ({"type": "browser"}), supply a steps array (up to 20 steps per monitor). Each step specifies kind (click, fill, wait_for, or assert_text), a DOM selector string, optional text value, and optional timeoutMs (default 10,000 ms).
{ "id": "mon_123" } for new monitors.{ "id": "mon_123", "duplicate": true } when updating an existing monitor with matching idempotency key.Fetch all active monitors configured for your developer key owner.
{
"monitors": [
{ "id": "mon_123", "name": "Checkout API Uptime", "type": "http", "target": "https://checkout.example.com/health", "status": "up", "intervalMinutes": 5 }
]
}Retrieve status details and timestamp for a specific monitor instance.
{ "id": "mon_123", "status": "up", "lastCheckedAt": "2026-07-31T08:00:00Z" }