For the complete documentation index, see llms.txt. This page is also available as Markdown.

BAI Analytics API

Receive a content.pushed event

BAI Analytics POSTs to your subscribed URL when the content.pushed event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: content.pushedRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "content.pushed",
  "timestamp": "2026-07-12T09:30:05Z",
  "data": {
    "survey_series_id": 1842,
    "survey_id": 9021,
    "question_id": 31245,
    "original_survey_id": 9021,
    "original_question_id": 31245,
    "lines_pushed": 2,
    "api_key_id": 77
  }
}

Receive a series.created event

BAI Analytics POSTs to your subscribed URL when the series.created event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: series.createdRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "series.created",
  "timestamp": "2026-07-12T09:00:00Z",
  "data": {
    "survey_series_id": 1842,
    "name": "Customer Support EU",
    "api_key_id": 77
  }
}

Receive a survey.created event

BAI Analytics POSTs to your subscribed URL when the survey.created event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: survey.createdRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "survey.created",
  "timestamp": "2026-07-12T09:01:00Z",
  "data": {
    "survey_series_id": 1842,
    "survey_id": 9021,
    "survey_title": "Support tickets (CRM sync)",
    "questions_created": 2,
    "api_key_id": 77
  }
}

Receive a survey.published event

BAI Analytics POSTs to your subscribed URL when the survey.published event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: survey.publishedRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "survey.published",
  "timestamp": "2026-07-12T09:02:00Z",
  "data": {
    "survey_series_id": 1842,
    "survey_id": 9021,
    "survey_name": "Support tickets (CRM sync)",
    "api_key_id": 77
  }
}

Receive a analysis.completed event

BAI Analytics POSTs to your subscribed URL when the analysis.completed event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: analysis.completedRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "analysis.completed",
  "timestamp": "2026-07-12T09:45:12Z",
  "data": {
    "survey_series_id": 1842,
    "survey_id": 9021,
    "analysis_id": 55710,
    "survey_name": "Support tickets (CRM sync)"
  }
}

Receive a flag.raised event

BAI Analytics POSTs to your subscribed URL when the flag.raised event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: flag.raisedRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "flag.raised",
  "timestamp": "2026-07-12T09:46:00Z",
  "data": {
    "survey_series_id": 1842,
    "survey_id": 9021,
    "analysis_id": 55710,
    "survey_name": "Support tickets (CRM sync)",
    "group_name": "Customer Support EU",
    "trigger_type": "scan_complete",
    "flag_counts": {
      "Churn risk": 3
    },
    "total_flagged": 17
  }
}

Receive a report.ready event

BAI Analytics POSTs to your subscribed URL when the report.ready event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: report.readyRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "report.ready",
  "timestamp": "2026-08-01T06:00:00Z",
  "data": {
    "survey_series_id": 1842,
    "subscription_id": 12,
    "period_key": "2026-07",
    "report_id": 3311,
    "report_name": "Customer Support EU - July 2026"
  }
}

Receive a invites.completed event

BAI Analytics POSTs to your subscribed URL when the invites.completed event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: invites.completedRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "invites.completed",
  "timestamp": "2026-07-12T10:06:31Z",
  "data": {
    "distribution_id": 7301,
    "survey_id": 9021,
    "status": "completed",
    "total": 1000,
    "sent": 991,
    "failed": 4,
    "skipped": 5
  }
}

Receive a invite.bounced event

BAI Analytics POSTs to your subscribed URL when the invite.bounced event fires. The raw body is signed with the subscription's HMAC secret via the X-Boundary-Signature: sha256=<hex> header, and X-Boundary-Event carries the event type. Respond 2xx within 30s or the delivery is retried up to 3 times (after 1, 5, then 15 minutes).

Payload
eventconst: invite.bouncedRequired
timestampstringRequired

ISO-8601 UTC timestamp

Responses
200

Acknowledged — no retry

No content

Payload

{
  "event": "invite.bounced",
  "timestamp": "2026-07-12T10:07:02Z",
  "data": {
    "distribution_id": 7301,
    "survey_id": 9021,
    "email": "bounced@example.com",
    "reason": "bounce"
  }
}

Last updated