Create an HTTPS workflow webhook endpoint
The signing secret is returned exactly once. Verify `x-browser-workflow-signature` over `timestamp.body` and reject stale timestamps.
POST
The signing secret is returned exactly once. Verify x-browser-workflow-signature over timestamp.body and reject stale timestamps.
BrowserWorkflowApiKeyheader
X-API-Key<token>Project- and environment-scoped browser workflow API key.
projectId*stringFormat
uuidenvironmentId*stringFormat
uuidIdempotency-Key?stringOptional. Generate a unique value before a write and retain it for an exact-body retry; replay is free and a different body returns 409 IDEMPOTENCY_CONFLICT.
Length
8 <= length <= 200application/json- body
url*stringMatch
^https://Format
uriLength
length <= 2048events*array<>Items
1 <= items <= 2Webhook endpoint and one-time signing secret Error body uses the documented PublicError DTO.
application/json- response
webhook*signing_secret*stringcurl -X POST 'https://api.runharvester.com/api/v1/browser/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/environments/497f6eca-6276-4993-bfeb-53cbbbba6f08/webhooks' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://hooks.example.com/runharvester", "events": [ "workflow.run.completed" ]}' \ --header "X-API-Key: ${RUNHARVESTER_BROWSER_API_KEY:?Set your Browser Workflow API key}" \ --header "Idempotency-Key: ${RUNHARVESTER_IDEMPOTENCY_KEY:?Set a unique key for this submission; reuse it for retries}"{ "webhook": { "id": "0f18d89e-8d50-467b-9297-7f4c84d648ae", "url": "https://hooks.example.com/runharvester", "events": [ "workflow.run.completed" ], "status": "active" }, "signing_secret": "rhwh_example_secret"}