Get the launch announcement
GET /program/launch-announcement| Scope | program:read |
| Customer session token | Not accepted: call from your server with an API key |
| Rate limit class | read (limits) |
| Idempotency key | Not used |
| MCP tool | charm_get_launch_announcement |
The one-off e-mail that tells existing members the program is live, with each member’s own balance: whether it was sent, how many members it reaches, and what blocks it (program_off, emails_off). Members a welcome e-mail reached in the last 90 days are left out and counted in welcomed_skipped.
Response 200
Section titled “Response 200”Returns LaunchAnnouncement.
| Field | Type | Description |
|---|---|---|
status | string: idle, queued, running, done, failed | |
requested_at | string or null | (nullable) |
sent_at | string or null | (nullable) |
audience | integer | Members it goes (or went) to. |
sent | integer | E-mails sent so far. |
welcomed_skipped | integer | Members left out because a welcome e-mail reached them in the last 90 days. |
can_send | boolean | |
blocked_by | string or null: new_shop, program_off, emails_off | new_shop: a shop can announce its launch 7 days after installing Charm (support can lift it). (nullable) |
{ "status": "idle", "requested_at": "2026-10-01T09:30:00.000Z", "sent_at": "2026-10-01T09:30:00.000Z", "audience": 1, "sent": 1, "welcomed_skipped": 1, "can_send": false, "blocked_by": "new_shop"}Example
Section titled “Example”curl -X GET "https://charm.appfleece.app/api/v1/program/launch-announcement" \ -H "Authorization: Bearer chrm_live_..."Errors
Section titled “Errors”unauthorized · invalid_token · insufficient_scope · access_required · validation_error · rate_limited
Every error body carries code, message, request_id and a doc_url pointing at the matching entry in the error catalog.