Offer API errors and testing
Offer V2 endpoints commonly return a JSON envelope with code, message, fieldErrors, traceId, and retryable; some callback paths use a smaller message response. Inspect both status and body.
| Condition | Check | Action |
|---|---|---|
401 or 403 on console endpoints | Dashboard bearer session, advertiser role, ownership. | Refresh the session or choose the correct account. |
404 not_found on delivery endpoints | Offer delivery feature and campaign eligibility. | Confirm capability and ID. |
| Readiness or field validation | fieldErrors, asset/creative, goal, key, budget, country. | Fix the named field; rerun readiness. |
| Invalid Custom S2S signature | Unix-second clock, six-line text, body strings, key ID, active key, IP allowlist. | Re-sign with current time and the same transaction ID. |
| Rate limit or transient failure | retryable and retry guidance. | Back off; preserve event identity. |
| Duplicate or conflicting conversion | Transaction, click, goal, and status history. | Inspect postback logs and correct mismatched identities. |
Before live traffic, test a positive event, exact duplicate, pending-to-approved state change where applicable, reversal, stale timestamp, bad signature, unknown goal, and unavailable campaign. Reconcile the campaign report against your event ledger and publisher reward outcome. Keep credentials and user identifiers out of support screenshots and logs.