Quickstart
Send your first message and receive webhooks in minutes.
Get your API key
Sign in to your Blooio account and create an API key.
Keep your API key secret. Never commit it to source control.
Set your environment variable
Store your API key in an environment variable for local testing.
export BLOOIO_API_KEY=YOUR_API_KEYSend your first message
Use the Messages endpoint to queue a message. The chatId is the recipient's phone number or email.
curl -X POST 'https://backend.blooio.com/v2/api/chats/%2B15551234567/messages' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"text": "Hello from Blooio!"
}'import fetch from 'node-fetch'
const chatId = encodeURIComponent('+15551234567')
const res = await fetch(`https://backend.blooio.com/v2/api/chats/${chatId}/messages`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.BLOOIO_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ text: 'Hello from Blooio!' })
})
const data = await res.json()import os, requests
from urllib.parse import quote
chat_id = quote('+15551234567', safe='')
res = requests.post(f'https://backend.blooio.com/v2/api/chats/{chat_id}/messages',
headers={
'Authorization': f"Bearer {os.environ['BLOOIO_API_KEY']}",
'Content-Type': 'application/json'
},
json={ 'text': 'Hello from Blooio!' }
)
data = res.json()Response includes message_id and status queued.
Receive webhook events
Create a webhook to receive delivery updates and inbound messages.
curl -X POST 'https://backend.blooio.com/v2/api/webhooks' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"webhook_url": "https://example.com/mywebhook",
"webhook_type": "message"
}'See all webhook payloads in Webhook events. For local testing, use a tunneling tool and see Receive webhooks locally.
Track message status
Poll for status or retrieve full details.
curl -H 'Authorization: Bearer YOUR_API_KEY' \
'https://backend.blooio.com/v2/api/chats/%2B15551234567/messages/{messageId}/status'