Resources API
Manage numbers, call flows, voicemails, SMS, and other resources via the API.
Before you call these endpoints
1. Create an API key in Settings → API Keys.
2. Send it as Authorization: Bearer cs_key_....
3. Use your app role to determine access: viewer = read endpoints, manager = most write endpoints, admin or owner = billing and API key management.
There is no GET /api/v1/numbers/:id endpoint. Fetch your numbers from GET /api/v1/numbers and look up the ID client-side.
Numbers endpoints
Use these endpoints to read and manage tracking numbers.
GET /api/v1/numbers # List numbers (owned + assigned)
GET /api/v1/numbers/export # Export CSV
GET /api/v1/numbers/bulk-stats # Summary metrics
GET /api/v1/numbers/{id}/stats # Number stats
POST /api/v1/numbers/search # Search available numbers
POST /api/v1/numbers/purchase # Buy a number
PATCH /api/v1/numbers/{id} # Rename, reassign call flow, update status
DELETE /api/v1/numbers/{id} # Release a numberNumbers response shape
A successful API-key request is wrapped in a data envelope:
curl -H "Authorization: Bearer cs_key_..." \
https://callscaler.com/api/v1/numbers
{
"data": {
"numbers": [
{
"id": "uuid",
"phone_number": "+15735551234",
"name": "Google Ads Tampa",
"status": "active",
"call_flow_id": "uuid",
"call_flow_name": "Main Sales Flow",
"type": "local",
"number_source": "owned",
"total_calls": 42,
"sms_enabled": true,
"tcr_sw_state": "approved"
}
],
"total": 1
}
}Call flow endpoints
Call flows return the full config_json payload used by the editor.
GET /api/v1/call-flows # List call flows
GET /api/v1/call-flows/{id} # Get one flow
GET /api/v1/call-flows/{id}/numbers # List attached numbers
GET /api/v1/call-flows/{id}/versions # Version history
POST /api/v1/call-flows # Create
PUT /api/v1/call-flows/{id} # Update
DELETE /api/v1/call-flows/{id} # Delete
POST /api/v1/call-flows/{id}/duplicate # Duplicate
POST /api/v1/call-flows/{id}/versions/{version}/restore # Restore versionCall flow example
Get a call flow and inspect its routing config:
curl -H "Authorization: Bearer cs_key_..." \
https://callscaler.com/api/v1/call-flows/UUID
{
"data": {
"id": "uuid",
"name": "Google Ads - Plumbing",
"config_json": {
"steps": [
{ "type": "greeting" },
{ "type": "forward", "destination": "+18135551234" }
]
},
"config_version": 7
}
}Messaging and conversations
Messaging endpoints are business-scoped. The sender must be one of your numbers.
GET /api/v1/conversations # Conversation list
GET /api/v1/texts?contact={phone} # Thread messages
GET /api/v1/sms # SMS events
POST /api/v1/texts # Send outbound SMSSMS send example
Use from_number, to_number, and body in the request JSON:
curl -X POST -H "Authorization: Bearer cs_key_..." \
-H "Content-Type: application/json" \
-d '{"from_number":"+15735550001","to_number":"+18135551234","body":"Thanks for calling us today."}' \
https://callscaler.com/api/v1/textsOther resource endpoints
These endpoints are commonly used with Resources API workflows:
- •
GET /api/v1/number-groups,POST /api/v1/number-groups, and member management endpoints - •
GET /api/v1/number-pools,POST /api/v1/number-pools, and pool membership endpoints - •
GET /api/v1/voicemails,GET /api/v1/voicemails/{id},GET /api/v1/voicemails/{id}/recording - •
GET /api/v1/forms,GET /api/v1/forms/{id} - •
GET /api/v1/dashboard/statsfor dashboard summary metrics - •
GET /api/v1/webhooks/deliveriesfor post-call webhook delivery logs
On this page