Scheduled message statuses
When you passsend_at on POST /v1/messages, LazyApp stores a scheduled row and returns 202 instead of sending immediately.
List with
GET /v1/messages/scheduled. Cancel while pending.
Message statuses
After accept (or after a schedule fires), the message row uses:POST /v1/messages returning 201 means accepted, not delivered. Poll GET /v1/messages/{uuid} only for debugging; subscribe to webhooks in production.
Which status a new message gets
There is no draft or multi-platform
partial state — one send targets one WhatsApp number and one contact.
What you can do
There is no unpublish: WhatsApp does not let you delete another person’s delivered message via the business API the way some social networks do. Contacts can delete for themselves; you may see
message.deleted when coexistence reports a revoke.
Tracking with webhooks
See Webhook events for payload shapes.
Related
- Scheduling and timezones — how
send_atis interpreted - Idempotency — safe retries on create
- Errors — refusals vs async failure