koala73/worldmonitor · error · Error
[sendProLaunchBroadcast] Resend
Error message
[sendProLaunchBroadcast] Resend ${res.status}: ${errBody} What it means
Resend API rejection while sending (or scheduling) a broadcast: the POST to /broadcasts/{id}/send returned non-OK, with status and body embedded. Common causes are an unknown or deleted broadcastId, an already-sent broadcast, an invalid scheduled_at value, or rate limiting.
Solutions
- Read the embedded status and body: for 404 verify the broadcastId exists in Resend; for 429/5xx retry with backoff
- If already sent, treat as idempotent success and record the send instead of retrying
- Validate the scheduled_at format before retrying a scheduled send
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at convex/broadcast/sendBroadcast.ts:174 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of koala73/worldmonitor@eeab0a219f (2026-08-21).
Data as JSON: /api/errors/1dd6e12e6971255f.
Report an issue: GitHub.
Appendix: source
Thrown at convex/broadcast/sendBroadcast.ts:174
const body: Record<string, unknown> = {};
if (scheduledAt) body.scheduled_at = scheduledAt;
const res = await fetch(
`${RESEND_API_BASE}/broadcasts/${encodeURIComponent(broadcastId)}/send`,
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${apiKey}`,
"User-Agent": USER_AGENT,
},
body: JSON.stringify(body),
},
);
if (!res.ok) {
const errBody = await res.text().catch(() => "<no body>");
throw new Error(
`[sendProLaunchBroadcast] Resend ${res.status}: ${errBody}`,
);
}
return {
broadcastId,
status: scheduledAt ? "scheduled" : "queued",
scheduledAt: scheduledAt ?? null,
};
},
});
View on GitHub (pinned to eeab0a219f)