Skip to content
Knobase

Conversion event

Record a signed conversion against a returned offer snapshot.

Record a signed conversion for a previously returned offer.

Authentication

Bearer serving key required. The signature is validated separately.

Request body

FieldTypeRequiredDescription
offer_snapshot_idstring (`snp_…`)YesSnapshot id from the decide response.
decision_idstring (`dec_…`)NoRelated decision id.
timestampinteger (ms)YesMust be within ±10 minutes of the server clock.
noncestring (8–80)YesOne-time value used in the signature.
signaturestring (min 16)YesKnobase-issued conversion signature. Do not invent a signing secret.

V1 responses set billable: false and ledger_written: false. Do not invent a signing secret or publish server environment names.

Request examples

curl -sS -X POST "https://knobase.com/v1/events/conversion" \
  -H "Authorization: Bearer $KNOBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"offer_snapshot_id":"snp_01EXAMPLEOFFER","decision_id":"dec_01","timestamp":1757491200000,"nonce":"nonce_example_01","signature":"aaaaaaaaaaaaaaaa"}'

Response

{
  "ok": true,
  "inserted": true,
  "event_id": "evt_02",
  "offer_snapshot_id": "snp_01EXAMPLEOFFER",
  "billable": false,
  "ledger_written": false
}

Errors

HTTPerrorWhen
401auth errorsMissing or invalid serving key
401invalid_signatureSignature does not match
400invalid_conversionBody failed validation
400expired_conversiontimestamp is outside ±10 minutes

Docs version v1 · implemented publisher API