Ingestion API
Report agent runs with a single authenticated HTTP call. No SDK, no library, no agent code changes.
Endpoint
POST https://agentpulse.sentinelflux.in/v1/runs
Authentication
Send the agent's Bearer secret in the Authorization header. The secret identifies both the organisation and the agent the run belongs to.
Authorization: Bearer <agent-secret>
Request body
| Field | Type | Required | Description |
|---|---|---|---|
status | string | Yes | success or error. Drives success and error rates. |
duration_ms | number | No | Total wall-clock duration of the run, in milliseconds. |
tokens | number | No | Total tokens consumed by the run. |
cost_usd | number | No | Cost of the run in USD. Rolls up into cost-by-product. |
steps | array | No | Execution-trace steps. See Execution Traces. |
error | string | No | Error message or context when status is error. |
Example
curl -X POST https://agentpulse.sentinelflux.in/v1/runs \
-H "Authorization: Bearer $AGENTPULSE_SECRET" \
-H "Content-Type: application/json" \
-d '{ "status": "success", "duration_ms": 4210, "tokens": 18450, "cost_usd": 0.072 }'Responses
| Status | Meaning |
|---|---|
202 Accepted | Run recorded. |
400 Bad Request | Malformed body or invalid status. |
401 Unauthorized | Missing or invalid Bearer secret. |
402 Payment Required | Monthly run limit for the plan reached. |
429 Too Many Requests | Rate limited; retry after a short backoff. |
Tip: treat reporting as fire-and-forget with a short timeout, or enqueue it and send from a worker. Never block your agent's hot path on the observability call.