Skip to main content
Every conversation Neuron conducts — whether as part of a campaign or triggered as a one-off outbound call — is recorded as a call object. Call records contain the outcome disposition, duration, language used, a link to the audio recording, and (if NeuronLens processing was requested) a pointer to the transcript job. The Calls API lets you retrieve, filter, and initiate these calls programmatically.

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

string
Filter calls to those belonging to a specific campaign. Omit to return calls across all campaigns.
string
ISO 8601 datetime — return calls that started on or after this time. Example: 2024-01-01T00:00:00Z.
string
ISO 8601 datetime — return calls that started on or before this time.
string
Filter by call disposition. One of: interested, not_interested, callback, not_reachable, dnd, escalated.
string
Filter by BCP-47 language code, e.g. hi-IN, ta-IN, en-IN.
integer
default:"20"
Number of results per page. Maximum 100.
integer
default:"0"
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

string
Unique identifier for the call.
string
The ID of the parent campaign. null for calls initiated directly via POST /calls.
object
The contact who was called.
string
Current call status: in_progress, completed, or failed.
string
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.
integer
Total call duration in seconds, measured from when the contact answered to when the call ended. 0 for calls that were not connected.
string
BCP-47 language code used for this call (e.g., hi-IN).
string
ISO 8601 timestamp of when the call was initiated (dial attempt began).
string
ISO 8601 timestamp of when the call ended. null if still in_progress.
string
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.
string
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

Recording URLs expire after 1 hour. If your application needs to store or display recordings, download the audio to your own storage within that window. Do not cache the signed URL itself — request a fresh URL by calling this endpoint again.

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

string
required
The destination phone number in E.164 format. Example: +919876543210.
string
required
The contact’s name, used for personalization within the script.
string
required
The ID of the voice script to run. The script must be configured for single-call use.
string
required
BCP-47 language code for the call. Example: en-IN.
object
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.