Build Statflo
into your stack.
APIs for compliant SMS & MMS, contacts, conversations, and campaigns — the engine that superpowers wireless operators.
# Send an SMS with a single request
curl https://api.statflo.com/v1/messages \
-H "Authorization: Bearer sk_live_..." \
-d to="+14155551234" \
-d from="+18885550100" \
-d body="Your order is ready for pickup"
# 201 Created
{
"id": "msg_3kf9d2",
"status": "queued",
"segments": 1
}
Start sending in three steps
From zero to a delivered message in minutes — no carrier paperwork required to start in the sandbox.
Get your API keys
Create a workspace and grab a sandbox key. Live keys unlock once your brand is registered.
Open dashboardMake your first call
Send a test message with cURL or an SDK. Sandbox numbers echo back so you can verify instantly.
View the referenceListen for events
Subscribe a webhook for delivery receipts and inbound replies, then register your 10DLC campaign to go live.
Set up webhooksBrowse the documentation
Everything you need to integrate, organized by area.
Pick your language
- Official SDKs for Node, Python, Ruby and Go.
- Idempotency keys and automatic retries built in.
- Typed responses and rich error objects.
curl https://api.statflo.com/v1/messages \
-H "Authorization: Bearer $STATFLO_API_KEY" \
-d to="+14155551234" \
-d from="+18885550100" \
-d body="Your appointment is confirmed"
import Statflo from "@statflo/node";
const statflo = new Statflo(process.env.STATFLO_API_KEY);
const message = await statflo.messages.create({
to: "+14155551234",
from: "+18885550100",
body: "Your appointment is confirmed",
});
console.log(message.id);
from statflo import Statflo
client = Statflo(api_key=os.environ["STATFLO_API_KEY"])
message = client.messages.create(
to="+14155551234",
from_="+18885550100",
body="Your appointment is confirmed",
)
print(message.id)
Official SDKs & tools
Install a client for your language, or import the OpenAPI spec into the tool of your choice.
Node.js
npm i @statflo/nodePython
pip install statfloRuby
gem install statfloGo
go get statflo.dev/goOpenAPI spec
openapi.statflo.com/v1.jsonPostman collection
Run in PostmanGo deeper
Concept guides for the parts that matter most when you ship to production.
Authentication
API keys, bearer tokens, and rotating secrets safely.
Rate limits & quotas
How throttling works and how to back off gracefully.
Webhooks & events
Verify signatures and handle delivery + inbound events.
Pagination & filtering
Cursor-based paging and query filters for list endpoints.
Errors & retries
Status codes, error objects, and idempotent requests.
10DLC registration
Register brands & campaigns to send A2P at scale.
Ready to build?
Spin up a sandbox key in under a minute and send your first message today.