Guest Machines
API referenceTriggers

Trigger an inbound webhook

POST/api/v1/hooks/{webhook_id}/{token}

Start the automation configured behind this trigger URL.

The request body becomes the automation's input. A JSON body is parsed and delivered as input_data.webhook.payload; anything else is delivered as {"raw": "<text>"}. Constrain what the sending system can put there rather than relying on the agent to be sensible about arbitrary payloads — a trigger URL should not become an unbounded prompt relay.

A 202 means the event is durable, not that the work finished: the response carries the accepted event, never a run result. Observe the outcome through the runs endpoints or an outbound webhook.

Retries may carry an idempotency id in Idempotency-Key, X-Idempotency-Key, or webhook-id. A retry presenting the same id adopts the event already accepted — the same 202 with the same event id, without consuming a rate slot — instead of starting a second run. Presenting the same id with a different payload is a sender bug rather than a retry, and answers 409.

An unknown webhook and a bad token are deliberately indistinguishable: both answer 404. A valid token for a paused webhook answers 410, so a sender can tell disabled from wrong URL. Oversized bodies answer 413.

Required access

Credential: trigger token

Authenticated by the token in the URL path, not by a bearer credential. Send no Authorization header. The token is a secret: anyone holding the URL can start the configured work, so treat it like a key and rotate it if it is disclosed.

Path Parameters

webhook_id*Webhook Id
Formatuuid
token*Token

Request Body

application/json

Any JSON object. The payload is passed through to the automation unvalidated, so constrain it at the sender.

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/hooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/whk_3f8a1c2e5b7d9046a1c3e5b7d9046a1c" \  -H "Content-Type: application/json" \  -d '{    "event": "deployment.failed",    "service": "checkout",    "commit": "9f2c1ab"  }'
{}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}