Skip to main content
There is no POST /v1/webhooks registry. Knowledge resolve and PA checks are synchronous. The only outbound POST is when an agent job finishes, if you set callback_url on submit. You can still poll GET /v1/agents/jobs/{job_id}. Use a callback when an EHR or worker cannot poll.

Submit with a callback

callback_url must be HTTPS (localhost HTTP is allowed in non-prod). Optional host allowlist: CALLBACK_URL_ALLOWED_HOSTS.

Payload

Signature

When callback_secret is set (8–128 characters), we send X-RCI-Signature: sha256=<hex> over the raw JSON body.
Without a secret we still POST (useful on localhost). Production should always set callback_secret. The secret is never returned on GET /v1/agents/jobs/{id}.

Retries

Three attempts, in-process: immediate, then ~2s, then ~8s. We retry on timeouts, connection errors, 5xx, and 429. We do not retry other 4xx. After three failures we log and stop — poll the job. Return 2xx within 10 seconds. Do the work asynchronously.

What is not a webhook