Skip to main content
Organization events fire for activity that spans your entire organization — surveys being created, modified, or deleted, and the programming lifecycle. Subscribe to these events when you want to react to survey-level state changes regardless of which survey triggered them.

survey.created

Fires when a new survey is created.
{
  "event": "survey.created",
  "timestamp": "2025-04-01T10:00:00Z",
  "data": {
    "id": "a1b2c3d4-e5f6-4890-abcd-ef1234567890",
    "slug": "q4-customer-satisfaction-study",
    "name": "Q4 Customer Satisfaction Study",
    "user_id": "user_abc123",
    "org_id": "c0c1c2c3-d4d5-4678-9abc-def012345678",
    "first_page_id": "d1e2f3a4-b5c6-7890-defa-012345678901",
    "locked": false,
    "programming_status": null,
    "programming_started_at": null,
    "programming_completed_at": null,
    "paid_at": null,
    "language_code": "en",
    "content_only": false,
    "created_at": "2025-04-01T10:00:00Z",
    "updated_at": "2025-04-01T10:00:00Z"
  }
}

survey.updated

Fires when a survey’s metadata, status, or settings change — including when locked, programming_status, or programming_completed_at are updated.
{
  "event": "survey.updated",
  "timestamp": "2025-04-01T10:02:34Z",
  "data": {
    "id": "a1b2c3d4-e5f6-4890-abcd-ef1234567890",
    "slug": "q4-customer-satisfaction-study",
    "name": "Q4 Customer Satisfaction Study",
    "user_id": "user_abc123",
    "org_id": "c0c1c2c3-d4d5-4678-9abc-def012345678",
    "first_page_id": "d1e2f3a4-b5c6-7890-defa-012345678901",
    "locked": false,
    "programming_status": "completed",
    "programming_started_at": "2025-04-01T10:00:10Z",
    "programming_completed_at": "2025-04-01T10:02:34Z",
    "paid_at": null,
    "language_code": "en",
    "content_only": false,
    "created_at": "2025-04-01T10:00:00Z",
    "updated_at": "2025-04-01T10:02:34Z"
  }
}

survey.deleted

Fires when a survey is permanently deleted.
{
  "event": "survey.deleted",
  "timestamp": "2025-04-01T11:00:00Z",
  "data": {
    "id": "a1b2c3d4-e5f6-4890-abcd-ef1234567890"
  }
}

programming.started

Fires when the AI agent begins programming a survey. This is emitted once per programming job (not on retries).
{
  "event": "programming.started",
  "timestamp": "2025-04-01T10:00:10Z",
  "data": {
    "survey_id": "a1b2c3d4-e5f6-4890-abcd-ef1234567890",
    "file_id": "b9c8d7e6-f5a4-4321-9876-543210fedcba"
  }
}

programming.finished

Fires when the AI agent finishes a programming job — whether it succeeded, failed, or was cancelled.
{
  "event": "programming.finished",
  "timestamp": "2025-04-01T10:02:34Z",
  "data": {
    "survey_id": "a1b2c3d4-e5f6-4890-abcd-ef1234567890",
    "file_id": "b9c8d7e6-f5a4-4321-9876-543210fedcba",
    "status": "completed"
  }
}
statusMeaning
completedProgramming finished successfully — the survey is ready to export
failedAn error occurred — the survey may be partially programmed
cancelledThe job was manually cancelled