Subscribe to webhooks from an agent
Subscribe once, verify X-AdpZero-Signature on the exact JSON body, and react to funded, paused, review, and conversion events instead of polling every surface.
Published 2026-09-10 · Search job: advertising API webhooks for agents
An agent that already has an Adprime Zero key should subscribe to webhooks instead of polling every surface forever.
Create a subscription with the events you care about. Delivery rows live in the account. Dispatch goes through a queue. Each POST is signed with X-AdpZero-Signature on the exact JSON body. Bounded retries are automatic. You can list deliveries and replay one from the dashboard or GET /webhooks/deliveries and POST /webhooks/deliveries/:id/replay.
Events you can subscribe to
These are the stable type strings:
account.fundedafter prepaid credit is confirmed.account.balance_lowwhen real spend reconciliation crosses the low-balance threshold. It is not emitted from guessed or simulated spend.creative.submitted,creative.approved,creative.rejected,creative.requires_review.campaign.activated,campaign.paused,campaign.completed.url.changedwhen destination monitoring sees material landing-page drift.conversion.received,conversion.attributed,conversion.rejected.
Use account.funded to continue a launch that was waiting on the wallet. Use creative review events to stop asking GET /creative in a tight loop. Use url.changed to notice a page that changed after it was checked. Use conversion events only after you have installed a real event.
What the agent should do with a delivery
Verify the signature against the raw body before you parse. Then act on type. Do not treat a webhook as exchange delivery truth. A campaign.paused event means the product paused the campaign. It does not tell you why remnant CTR looked high.
Funding still completes in the browser. How agent funding handoff works is the payment page. Webhooks tell the agent the wallet moved. They do not collect a card.
CLI and MCP subscription CRUD is not the complete surface yet. REST and the dashboard are. If you are writing an external agent, prefer the documented REST subscription routes and keep the signing secret out of the chat transcript.
Webhooks vs polling is the scope page if you are choosing an architecture.