Qualified impression event
Record a qualified impression on POST /v1/events/qualified-impression.
Record a qualified impression on POST /v1/events/qualified-impression.
Canonical paths are POST /v1/events/rendered and POST /v1/events/qualified-impression. POST /v1/events/impression remains an alias. Prefer the Idempotency-Key header.
Authentication
Bearer serving key required.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
| offer_snapshot_id | string (`snp_…`) | Yes | Snapshot id from `offer_id` on the decide response. |
| decision_id | string (`dec_…`) | No | Decision that returned the offer. |
| type | "offer_rendered" | "qualified_impression" | No | Defaults to `offer_rendered` when omitted. |
| Idempotency-Key | header string (8–80) | Yes | Canonical retry key. Body idempotency_key remains accepted on the impression alias. |
Send type: "qualified_impression".
Request examples
curl -sS -X POST "https://knobase.com/v1/events/qualified-impression" \
-H "Authorization: Bearer $KNOBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"offer_snapshot_id":"snp_01EXAMPLEOFFER","decision_id":"dec_01","type":"qualified_impression","idempotency_key":"idemp_qualified_01"}'Response
{
"ok": true,
"inserted": true,
"event_id": "evt_01",
"offer_snapshot_id": "snp_01EXAMPLEOFFER",
"type": "qualified_impression",
"billable": false
}Errors
| HTTP | error | When |
|---|---|---|
| 401 | auth errors | Missing or invalid serving key |
| 400 | invalid_event | Body failed validation |
| 404 | unknown_snapshot | offer_snapshot_id is unknown |