API DOCS
Build on the FlowSmartly platform.
Power conversations, campaigns, and commerce with our reliable, secure, and developer-friendly APIs.
RESTful APIs
Clean, predictable, and resource-oriented.
Secure by default
OAuth 2.0, role scopes, and encryption.
99.9% uptime
Built for reliability and scale.
Developer-first
Comprehensive docs, SDKs, and examples.
cURL
JavaScript
Python
POST
/v1/campaigns
1
curl -X POST https://api.flowsmartly.com/v1/campaigns \
2
-H "Authorization: Bearer $FLOWSMARTLY_API_KEY" \
3
-H "Content-Type: application/json" \
4
-d '{
5
"name": "Spring Reactivation",
6
"channels": ["voice", "sms"],
7
"audience": { "segment_id": "seg_8f21c4" },
8
"schedule": {
9
"start_at": "2026-04-02T09:00:00Z",
10
"timezone": "America/New_York"
11
}
12
}'
QUICKSTARTS
Start where your product does.
Every surface of FlowSmartly has an endpoint. Pick one and make your first authenticated call.
SDKS
Official SDKs
Idiomatic clients that handle auth, retries and pagination so you can stay on your own code.
JS
JavaScript / TypeScript
npm i @flowsmartly/sdk
Fully typed client for every resource
Promise-based with automatic retries
Runs in Node, Bun and edge runtimes
Request SDK access
Py
Python
pip install flowsmartly
Typed models and readable errors
Synchronous and async clients
Pagination handled for you
Request SDK access
TRY IT
Explore the API, then let it call you back.
Read data on demand, and subscribe to the moments that matter instead of polling for them.
API Explorer
Shape a request and see the response it returns.
GET
/v1/contacts
Try it
Parameters
Response
limit
Records per page, up to 100
page
Page of results to return
Webhooks
Subscribe once and receive every event as it happens.
campaign.started
A campaign begins sending on its schedule.
call.completed
A call ends, with outcome and transcript attached.
order.created
A checkout completes in FlowShop.
contact.updated
A contact detail or consent state changes.
Signed with HMAC · Retried for 24 hours · Delivery log in the dashboard
OPERATING RULES
Secure by design, predictable under load.
The two things every integration needs to know before it goes to production.
Security
Every request is authenticated, scoped and encrypted.
OAuth 2.0 for secure authentication
Fine-grained scopes and roles
Data encrypted in transit and at rest
IP allowlisting available
Rate limits
Generous by default, with headroom for bursts.
Default limit of 100 requests per second
Short bursts above the steady rate are supported
Every response returns limit and reset information
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 96
X-RateLimit-Reset: 1743600000
GET STARTED
Ready to build?
Create a key, send your first request, and ship the integration your customers have been asking for.