1. Create an attributed template
Your organization identity must be verified by platform administration. Then callPOST /notify/templates with templates:write:
/templates/notify-preview or inspect the actual saved draft through /notify/templates/{id}. After identity changes, create and approve a new template; the server will not silently send an old identity.
2. Submit and wait for review
POST /notify/templates/{id}/submit requires enabled, approved shared service infrastructure. Approval is asynchronous through Meta webhook updates. Drafts can be exercised in Sandbox without submission. Submitting with an unknown external outcome requires operator reconciliation rather than an automatic repeated submission.
3. Send
Record genuine contact opt-in first. CallPOST /notify/messages with notify:send, a stable Idempotency-Key and:
Simulated message without Meta delivery or a debit. HTTP 202 is durable acceptance, not delivery. Use /notify/messages/{id} and notify.message-status events to track progress. messages:read grants this metadata access; no shared sender grant is needed.
Accepted Live sends finalize the published Notify price plus one 7.5% VAT. Later receipts do not charge again. Shared numbers do not provide automatic inbound routing, conversations or AI responders. See availability.