List Calls
GET /calls
Returns a paginated list of call records across your workspace. You can filter by campaign, date range, disposition, or language to scope results to exactly what your integration needs.
Query Parameters
Filter calls to those belonging to a specific campaign. Omit to return calls across all campaigns.
ISO 8601 datetime — return calls that started on or after this time. Example:
2024-01-01T00:00:00Z.ISO 8601 datetime — return calls that started on or before this time.
Filter by call disposition. One of:
interested, not_interested, callback, not_reachable, dnd, escalated.Filter by BCP-47 language code, e.g.
hi-IN, ta-IN, en-IN.Number of results per page. Maximum
100.Number of results to skip. Use with
limit to paginate.Example Request
Example Response
Get Call Details
GET /calls/{id}
Returns the full record for a single call, including a signed recording URL and a pointer to the NeuronLens transcript job if the call was processed.
Response Fields
Unique identifier for the call.
The ID of the parent campaign.
null for calls initiated directly via POST /calls.The contact who was called.
Current call status:
in_progress, completed, or failed.The outcome disposition set at the end of the call. One of:
interested, not_interested, callback, not_reachable, dnd, escalated. null if the call is still in_progress.Total call duration in seconds, measured from when the contact answered to when the call ended.
0 for calls that were not connected.BCP-47 language code used for this call (e.g.,
hi-IN).ISO 8601 timestamp of when the call was initiated (dial attempt began).
ISO 8601 timestamp of when the call ended.
null if still in_progress.The NeuronLens job ID for this call’s transcript, if transcription was requested. Pass this to
GET /transcription/{job_id} to retrieve results. null if not processed.A signed URL pointing to the call audio recording. Expires in 1 hour — fetch and cache if you need to display or process the audio.
null if recording was not enabled or the call was not connected.Example Request
Example Response
Initiate a Single Call
POST /calls
Triggers a single outbound call to one contact immediately, outside of any campaign. Useful for one-off transactional calls — for example, sending a verification callback or a single appointment reminder.
Request Body
The destination phone number in E.164 format. Example:
+919876543210.The contact’s name, used for personalization within the script.
The ID of the voice script to run. The script must be configured for single-call use.
BCP-47 language code for the call. Example:
en-IN.Optional key-value pairs passed into the script context as custom variables. For example,
{"appointment_date": "3rd February", "doctor_name": "Dr. Kapoor"}.Example Request
Example Response
Use
GET /calls/{id} to poll for the call’s final status and disposition after initiating it, or register a call.completed webhook to receive the result automatically without polling.Get Call Transcript
GET /calls/{id}/transcript
Returns the NeuronLens transcript for a specific call, if transcription was enabled and processing has completed. This is a convenience endpoint that proxies the transcript from the NeuronLens job associated with the call.
Example Request
Example Response
If transcription has not completed yet, the response returns
{"status": "processing"} with no transcript array. Poll again in a few seconds, or use GET /transcription/{job_id} for more detailed job status information.