Skip to main content
Program emits the events below to subscribed webhook endpoints. Payloads use a Standard Webhooks–aligned envelope:
Delivery is at-least-once. Use event.id (API) / webhook-id (header) as your idempotency key and return HTTP 2xx to acknowledge. This page is generated from @questra-ai/program-storage (repositories/webhooks/events/registry.ts). Add or change events there, then run pnpm --filter @questra-ai/program-api generate:openapi.

survey.created

A survey was created.

data schema (WebhookEventData_survey_created)

Example outbound payload

survey.updated

A survey was updated.

data schema (WebhookEventData_survey_updated)

Example outbound payload

survey.deleted

A survey was deleted.

data schema (WebhookEventData_survey_deleted)

Example outbound payload

file.created

A survey file record was created (upload may still be pending).

data schema (WebhookEventData_file_created)

Example outbound payload

file.updated

A survey file record was updated.

data schema (WebhookEventData_file_updated)

Example outbound payload

file.ready

A survey file finished uploading and is ready to download.

data schema (WebhookEventData_file_ready)

Example outbound payload

file.deleted

A survey file was deleted.

data schema (WebhookEventData_file_deleted)

Example outbound payload

questionnaire.updated

A new questionnaire revision was asserted for a survey via PUT …/questionnaire.

data schema (WebhookEventData_questionnaire_updated)

Example outbound payload

questionnaire.clarifications.updated

A questionnaire clarifications session changed (inspection started/ready/failed, or answers were submitted).

data schema (WebhookEventData_questionnaire_clarifications_updated)

Example outbound payload

survey.audit.updated

A survey audit run changed (detect started/completed/failed, or findings were updated).

data schema (WebhookEventData_survey_audit_updated)

Example outbound payload

workflow.started

A workflow was accepted and started (e.g. survey.programming).

data schema (WebhookEventData_workflow_started)

Example outbound payload

workflow.updated

A workflow root status or timing changed while still active (e.g. pending → running).

data schema (WebhookEventData_workflow_updated)

Example outbound payload

workflow.finished

A workflow reached a terminal state. Read status for completed, failed, or cancelled.

data schema (WebhookEventData_workflow_finished)

Example outbound payload

content.updated

A new survey content revision was created (by programming or CRUD).

data schema (WebhookEventData_content_updated)

Example outbound payload