{
"id": "<string>",
"api_version": "v1",
"occurred_at": "2023-11-07T05:31:56Z",
"partner_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_external_ref": "<string>",
"brand_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"brand_name": "<string>",
"brand_external_ref": "<string>",
"country": null,
"type": "scan.completed",
"data": {
"run_date": "2023-12-25",
"ais_score": 123,
"previous_score": 123,
"avg_sentiment": 123,
"prompts_scanned": 0,
"scores_pending": "alias_recount"
}
}scan.completed
Sent once per own brand per scan date, when a scan that measured the brand finishes.
{
"id": "<string>",
"api_version": "v1",
"occurred_at": "2023-11-07T05:31:56Z",
"partner_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_external_ref": "<string>",
"brand_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"brand_name": "<string>",
"brand_external_ref": "<string>",
"country": null,
"type": "scan.completed",
"data": {
"run_date": "2023-12-25",
"ais_score": 123,
"previous_score": 123,
"avg_sentiment": 123,
"prompts_scanned": 0,
"scores_pending": "alias_recount"
}
}null metric means.Authorizations
A Surfais API key — an organisation key or a partner key. Issued by Surfais; shown once. Rotate by creating a new key, then revoking the old one.
Headers
The envelope's id — dedupe on it; retries repeat it.
Unix seconds when THIS attempt was sent; reject if further than the documented tolerance from your clock.
v1= + hex(HMAC-SHA256(secret, ".")).
Body
evt_ + ULID. Retries carry the same id — dedupe on it.
"v1"RFC 3339 timestamp.
UUID.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$UUID.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Your external_ref on the partner–org link.
UUID.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Your external_ref on the brand.
Reserved: per-market events are a v1.1 deferral; always null in v1.
"scan.completed"Show child attributes
Show child attributes
Response
Accepted. Any 2xx counts; the body is ignored (its first bytes are kept for your delivery log).