Quickstart
Get from zero to a live outbound call in under five minutes.
1. Sign up​
Head to cloud.nextneural.ai, create an account, and request access for your organisation. Once approved you'll land in the dashboard.
2. Create an API key​
- Open Settings → API Keys
- Click New API Key, give it a name (e.g.
my-first-key) - Select the scopes you need — for placing calls pick
voice:calls:writeandvoice:campaigns:read - Click Create and copy the key immediately — it's shown only once
API keys start with the prefix nn_k_.
3. Trigger your first call​
curl -X POST https://api.nextneural.ai/v1/calls \
-H "Authorization: Bearer nn_k_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"to": "+918888888888",
"campaign_id": "your-campaign-uuid",
"contact_name": "Priya Kumar"
}'
Response:
{
"call_uuid": "c8f2a1b3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"status": "dialing",
"to": "+918888888888",
"campaign_id": "your-campaign-uuid"
}
Use the returned call_uuid to poll call status or wait for a webhook event.
4. Get notified when the call ends​
Register a webhook to receive real-time events:
curl -X POST https://api.nextneural.ai/v1/webhooks \
-H "Authorization: Bearer nn_k_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "My webhook",
"url": "https://your-server.com/hooks/nextneural",
"events": ["call.started", "call.ended", "call.transcript_ready"]
}'
NextNeural will POST a JSON payload to your URL when each event fires:
{
"event": "call.ended",
"call_uuid": "c8f2a1b3-...",
"outcome": "connected",
"duration_seconds": 87,
"sentiment": "positive"
}
5. Retrieve the transcript​
curl https://api.nextneural.ai/v1/calls/c8f2a1b3-.../transcript \
-H "Authorization: Bearer nn_k_your_key_here"
{
"call_uuid": "c8f2a1b3-...",
"transcript": [
{ "speaker": "agent", "text": "Hello, am I speaking with Priya?" },
{ "speaker": "customer", "text": "Yes, this is Priya." }
]
}
Required scopes at a glance​
| Action | Scope required |
|---|---|
| Trigger / list calls | voice:calls:write / voice:calls:read |
| Launch / stop campaigns | voice:campaigns:write / voice:campaigns:read |
| Create / manage contacts | voice:contacts:write / voice:contacts:read |
| Register / list webhooks | voice:webhooks:write / voice:webhooks:read |
Authentication​
All /v1/ endpoints accept your API key in the Authorization header:
Authorization: Bearer nn_k_your_key_here
Invalid or expired keys return 401 Unauthorized. Missing scope returns 403 Forbidden.