Skip to main content

Ping API (ingest)

Jobs check in on https://ping.seiri.app. No auth token is required — the endpoint ID is the secret.

Management/dashboard stays on https://cloud.seiri.app.

OpenAPI: /docs/openapi/seiri-ingest-api.yaml.


Endpoint ID

<org-slug>:<webhook-ref>

Copy the full base URL from Core → Webhooks (ENDPOINT column).


Routes

MethodPathMeaning
GET or POST/webhook/{endpoint-id}Plain heartbeat / success
GET or POST/webhook/{endpoint-id}/successExplicit success
GET or POST/webhook/{endpoint-id}/failExplicit failure

There is no /start route.

Optional JSON body on POST is accepted and stored with the event.


Examples

curl -fsS -m 10 \
https://ping.seiri.app/webhook/acme-demo:deno-xFY-7Yv/success

curl -fsS -m 10 -X POST \
https://ping.seiri.app/webhook/acme-demo:deno-xFY-7Yv/fail \
-H "Content-Type: application/json" \
-d '{"error":"timeout"}'
# seirictl
seirictl ping acme-demo:deno-xFY-7Yv --path /success

Email alternative

Send mail to {webhook-ref}@ping.seiri.app after configuring Services → Email Pings. See Email heartbeats.


Agent notes

  • Never use cloud.seiri.app for heartbeats.
  • Never invent short URLs like https://ping.seiri.app/<token> without /webhook/<endpoint-id>.
  • Keep timeouts short (~10s) and swallow ping errors so monitoring cannot take down the job.