Documentation Index Fetch the complete documentation index at: https://lava.so/docs/llms.txt
Use this file to discover all available pages before exploring further.
Sendblue API for sending and receiving iMessage, SMS, and RCS messages from a dedicated business phone number. Supports group chats, image carousels, tapback reactions, read receipts, typing indicators, contact management, and webhooks for inbound messages. Use when an agent needs to text a verified contact, manage a conversation thread, or run an iMessage-based chatbot. Users connect by pasting their API Key ID and API Secret Key from the Sendblue dashboard into the Connect dialog.
16 example endpoints available through Lava’s AI Gateway. See the Sendblue API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a
catch-all provider — any valid URL under
https://api.sendblue.com is supported. Sendblue v2 messaging API. Construct URL as
https://api.sendblue.com/{path} . Common roots: /api/send-message, /api/send-group-message, /api/send-carousel, /api/create-group, /api/status/, /api/evaluate-service, /api/v2/messages, /api/v2/messages/, /api/message/, /api/send-reaction, /api/mark-read, /api/send-typing-indicator, /api/upload-media-object, /api/v2/contacts, /api/v2/contacts/, /api/v2/contacts/bulk, /api/v2/contacts/count, /api/account/webhooks, /api/lines, /accounts/lines/available-area-codes. See
https://docs.sendblue.com/api-v2 for full reference. The endpoints below are curated examples.
Endpoints
Send an iMessage, SMS, or RCS message to a single recipient
POST https://api.sendblue.com/api/send-message — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/send-message' , {
body: {
"number" : "+15551234567" ,
"from_number" : "+15557654321" ,
"content" : "Hello from Sendblue!"
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fsend-message" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"number":"+15551234567","from_number":"+15557654321","content":"Hello from Sendblue!"}'
Send a message to an existing group conversation
POST https://api.sendblue.com/api/send-group-message — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/send-group-message' , {
body: {
"group_id" : "GROUP_ID" ,
"from_number" : "+15557654321" ,
"content" : "Hello group!"
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fsend-group-message" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"group_id":"GROUP_ID","from_number":"+15557654321","content":"Hello group!"}'
Create a new group chat with the provided recipients
POST https://api.sendblue.com/api/create-group — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/create-group' , {
body: {
"numbers" : [
"+15551234567" ,
"+15559876543"
],
"from_number" : "+15557654321" ,
"content" : "Welcome to the group"
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fcreate-group" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"numbers":["+15551234567","+15559876543"],"from_number":"+15557654321","content":"Welcome to the group"}'
Send a swipeable multi-image carousel (V2 lines only)
POST https://api.sendblue.com/api/send-carousel — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/send-carousel' , {
body: {
"number" : "+15551234567" ,
"from_number" : "+15557654321" ,
"media_urls" : [
"https://example.com/image1.jpg" ,
"https://example.com/image2.jpg"
]
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fsend-carousel" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"number":"+15551234567","from_number":"+15557654321","media_urls":["https://example.com/image1.jpg","https://example.com/image2.jpg"]}'
Send a tapback reaction (love, like, dislike, laugh, emphasize, question)
POST https://api.sendblue.com/api/send-reaction — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/send-reaction' , {
body: {
"from_number" : "+15557654321" ,
"message_handle" : "E8F2C3D1-A5B7-4E9F-8C1D-2A3B4C5D6E7F" ,
"reaction" : "love"
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fsend-reaction" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"from_number":"+15557654321","message_handle":"E8F2C3D1-A5B7-4E9F-8C1D-2A3B4C5D6E7F","reaction":"love"}'
Send a read receipt for an inbound message
POST https://api.sendblue.com/api/mark-read — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/mark-read' , { body: { "number" : "+15551234567" , "from_number" : "+15557654321" } });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fmark-read" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"number":"+15551234567","from_number":"+15557654321"}'
Show a typing indicator in a conversation
POST https://api.sendblue.com/api/send-typing-indicator — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/send-typing-indicator' , { body: { "number" : "+15551234567" } });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fsend-typing-indicator" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"number":"+15551234567"}'
POST https://api.sendblue.com/api/upload-media-object — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/upload-media-object' , { body: { "media_url" : "https://example.com/image.jpg" } });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fupload-media-object" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"media_url":"https://example.com/image.jpg"}'
Check whether a recipient’s number supports iMessage, SMS, or RCS
GET https://api.sendblue.com/api/evaluate-service?number=%2B15551234567 — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/evaluate-service?number=%2B15551234567' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fevaluate-service%3Fnumber%3D%252B15551234567" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
List messages with optional filters (date, number, status)
GET https://api.sendblue.com/api/v2/messages?limit=50 — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/v2/messages?limit=50' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fv2%2Fmessages%3Flimit%3D50" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
GET https://api.sendblue.com/api/v2/contacts — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/v2/contacts' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fv2%2Fcontacts" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
POST https://api.sendblue.com/api/v2/contacts — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/v2/contacts' , { body: { "number" : "+15551234567" , "first_name" : "Jane" } });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fv2%2Fcontacts" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"number":"+15551234567","first_name":"Jane"}'
List the dedicated phone numbers (lines) assigned to the account
GET https://api.sendblue.com/api/lines — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/lines' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Flines" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
GET https://api.sendblue.com/api/account/webhooks — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/account/webhooks' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Faccount%2Fwebhooks" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
PUT https://api.sendblue.com/api/v2/contacts/+15551234567 — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/v2/contacts/+15551234567' , { method: 'PUT' , body: { "first_name" : "Jane" , "last_name" : "Doe" } });
curl -X PUT "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fv2%2Fcontacts%2F%2B15551234567" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"first_name":"Jane","last_name":"Doe"}'
Delete a message from the Sendblue database by handle
DELETE https://api.sendblue.com/api/message/MESSAGE_HANDLE — Free
const data = await lava . gateway ( 'https://api.sendblue.com/api/message/MESSAGE_HANDLE' , { method: 'DELETE' });
curl -X DELETE "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.sendblue.com%2Fapi%2Fmessage%2FMESSAGE_HANDLE" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json"
Next Steps
All Providers Browse all supported AI providers
Forward Proxy Learn how to construct proxy URLs and authenticate requests