Sendblue Webhook
Inbound Sendblue webhook — receives iMessage events from beta users.
Auth: shared-secret auth is preferred and, when SENDBLUE_GLOBAL_SECRET is configured, is the ONLY accepted mechanism — the legacy tokenized URL becomes inert (401). The legacy URL-path token on /api/webhooks/sendblue/{token} is only honored when the shared secret is unconfigured, giving operators a transitional auth path while Sendblue is rotated to the canonical URL. Shared-secret auth accepts either a direct secret echo or an HMAC-over-raw-body signature (provider docs / #1523 discovery).
Sendblue returns 5xx-retry on non-2xx; we always return 200 on valid auth so Sendblue doesn't retry after a processing crash.
Filters:
- Shared-secret auth (when configured) OR legacy path-token auth (only when shared secret is unset) must verify (401 otherwise)
- is_outbound=true → ignore (echo)
- message_type != "message" → ignore (call_log, contact_created, etc.)
- group_id set → ignore (no group chat support)
- status present and != "RECEIVED" → ignore (QUEUED/SENT/DELIVERED)
- Duplicate message_handle → ignore (Sendblue retry)
- Missing from_number → ignore
- Empty content with no media_url → purge Sendblue copy + ignore
On success, spawns _handle_imessage_inbound background task and returns 200 immediately so Sendblue marks the delivery done.
Request
- Base URL: https://api.yourbeckett.com (the document declares no server; this is the origin it was published from)
- URL: https://api.yourbeckett.com/api/webhooks/sendblue
- Auth: none declared
Query parameters
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.