Calls
Search historical call records with filtering and pagination. Returns a page of matching calls plus the total count. This is the primary way to discover call_ids for use with GET /api/ext/call/{call_id} and the download-link endpoint. Send only the filter fields you need; all supplied filters are combined with AND. Results describe past calls, not live ones.
curl --request POST \
--url 'https://api.nabrah.ai/api/ext/call/search' \
--header 'X-API-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"limit": 25,
"offset": 0
}'{
"calls": [
{
"id": "00000000-0000-4000-8000-000000000000",
"created_at": "2026-01-15T12:00:00.000Z",
"call_from": "string",
"call_to": "string",
"call_type": "inbound",
"status": "queued",
"updated_at": "2026-01-15T12:00:00.000Z",
"duration": 0,
"call_started_at": "2026-01-15T12:00:00.000Z",
"call_ended_at": "2026-01-15T12:00:00.000Z",
"agent_id": "00000000-0000-4000-8000-000000000000",
"agent_name": "string",
"tags": [
"string"
]
}
],
"total_count": 0,
"limit": 0,
"offset": 0
}Omit any filter you don't want to apply.
call_started_at_start / call_started_at_end filter on call start time; created_at_start / created_at_end filter on record creation time. ISO-8601 timestamps.
call_started_at_startcall_started_at_endcreated_at_startcreated_at_endScopeagent_id restricts to one agent (from GET /api/ext/agent); call_from / call_to filter by number; status filters by lifecycle state (queued, ringing, in-progress, completed, failed); call_type filters inbound vs outbound; call_id fetches a specific record.
agent_idcall_fromcall_tostatuscall_typecall_idtags matches any of the listed tags; tag is a single-tag shortcut; q is a free-text search over call content.
tagstagqanalysis_filters narrows by post-call analysis values; each entry is { name, op, value } with op such as ==, !=, >, <.
nameopvaluelimit caps the number of returned rows; offset skips that many. Page through by increasing offset until offset reaches total_count.
limitoffsetThe 200 body contains a page of summary rows plus paging metadata.
calls[]Summary rows (id, call_from, call_to, call_type, status, timing, agent_id, agent_name, tags). For the full transcript/analysis of a row, call GET /api/ext/call/{call_id} with its id.
idcall_fromcall_tocall_typestatusdurationcall_started_atcall_ended_atagent_idagent_nametagstotal_count is the count of all matching calls; limit and offset echo the applied paging.
total_countlimitoffsetX-API-KeystringheaderrequiredYour workspace API key. Create one in the dashboard under API keys.
First page of the most recent calls.
{
"limit": 25,
"offset": 0
}Successful Response
application/json
Validation Error
application/json