Getting started
Is there a test mode or sandbox?
Is there a test mode or sandbox?
How do I get an API key, or rotate it?
How do I get an API key, or rotate it?
What does Free Plan, Dedicated or AI Agent let me do?
What does Free Plan, Dedicated or AI Agent let me do?
Do API messages show up in Blujay?
Do API messages show up in Blujay?
Where do I report a problem?
Where do I report a problem?
trace_id from the response. See Debugging and Support.Sending
Do I choose iMessage or SMS?
Do I choose iMessage or SMS?
preferred_service (Auto) and Blujay uses iMessage when the person can receive it, and RCS or SMS when they can’t. You can also check first or require a service. See iMessage, RCS or SMS.Why does my second request fail?
Why does my second request fail?
400. At most 6 texts go out in a row without a response. These errors are never retryable: wait for the reply. See Sending rules.Why was my message with a link rejected?
Why was my message with a link rejected?
FIRST_MESSAGE_LINK_NOT_ALLOWED on a first message and PRE_REPLY_CONTENT_BLOCKED on follow-ups. Send a short text first, then send the link after they reply. Text that looks like a web address counts as a link. See Sending rules.What counts as a reply?
What counts as a reply?
How do I avoid sending a message twice?
How do I avoid sending a message twice?
Idempotency-Key header and reuse it on retries. See Idempotency.Can I send to group chats?
Can I send to group chats?
Can I edit or unsend a message?
Can I edit or unsend a message?
I got a 204 but no typing bubble showed. Why?
I got a 204 but no typing bubble showed. Why?
supports_typing_indicators first. See Typing and read receipts.Can I send one-time passcodes?
Can I send one-time passcodes?
What happens when someone texts STOP or asks to stop?
What happens when someone texts STOP or asks to stop?
STOP and nothing else. For any other wording, or on other plans, opt them out with the API. Either way Blujay then refuses sends to them with RECIPIENT_SUPPRESSED. There is no webhook for opt-outs yet; read opted_out on the contact. See Opt-outs.Replies and webhooks
How do I get replies?
How do I get replies?
message.received. See Webhooks and Receive messages.Will I know when a message is delivered and read?
Will I know when a message is delivered and read?
delivered, and read when the person has read receipts on. RCS reports them when the carrier does. SMS stops at sent, because carriers don’t report delivery reliably. See Track a message.I received the same webhook twice. Is that a bug?
I received the same webhook twice. Is that a bug?
event_id you’ve handled and skip repeats. See Delivery and retries.My server was down. Did I lose webhook events?
My server was down. Did I lose webhook events?
Numbers and limits
How many messages can I send?
How many messages can I send?
GET /v1/phone-numbers. API requests are limited to 600 reads, 120 writes and 60 attachment requests a minute. See Phone numbers and limits and Rate limits.What happens if one of my numbers is replaced?
What happens if one of my numbers is replaced?
phone_number.status_updated webhook for the old number and one for the new number. Switch your sends to the new number’s phone_number_id.What should I do if a number's health drops?
What should I do if a number's health drops?
critical number should stop starting new conversations; contact support@blujay.io. See Number health.Tools and AI
Is there an SDK?
Is there an SDK?
Can my AI assistant read these docs?
Can my AI assistant read these docs?