/v1/callsThe call log
Newest first, keyset-paginated, within your `calls.view` scope (a lead’s history: every member).
Access: API key with calls:read, or a member session. Permission calls.view.
Parameters
rangequery- "today" | "yesterday" | "7d" | "30d" | "90d" | "week" | …
A preset on the company calendar (default today); from / to win over it.
fromquery- string
toquery- string
member_idquery- string
Comma list of member ids (within your scope).
directionquery- "outgoing" | "incoming" | "missed"
resultquery- string
Comma list of results.
kindquery- "lead" | "client" | "contact" | "saved_contact" | "unknown" | "crm" | …
lead_idquery- Id
A lead’s whole call history (every member; others redacted).
contact_idquery- Id
Opaque record id.
first_callquery- string
sim_slotquery- integer
min_durationquery- integer
max_durationquery- integer
outcomequery- string
`not_logged`: lead calls without an outcome.
qquery- string
Free-text search.
cursorquery- string
Opaque cursor from the previous page (`meta.next_cursor`).
limitquery- integer
Response · 200
datarequired- array of Call
metarequired- PageMeta
curl -X GET 'https://api.propzolo.com/v1/calls' \
-H 'Authorization: Bearer pz_live_…'{
"data": [
{
"id": "cmusrceel0000q7kaafxqi1om",
"source": "string",
"direction": "outgoing",
"phone": "string",
"hidden_number": true,
"contact_name": "string",
"kind": "lead",
"started_at": "2026-10-06T05:30:00.000Z",
"duration_sec": 0,
"attempt_sec": 0,
"ring_sec": 0,
"result": "connected",
"result_label": "No answer · rang 31 s",
"result_reason": "airplane",
"status": "answered",
"sim_slot": 0,
"sim_label": "string",
"outcome": "string",
"outcome_label": "string",
"note": "string",
"outcome_mismatch": true,
"first_call": true,
"member": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"lead": {
"id": "cmusrceel0000q7kaafxqi1om",
"ref": "string",
"name": "string",
"pipeline_id": "cmusrceel0000q7kaafxqi1om",
"status": {
"key": "string",
"name": "string",
"color": "string",
"category": "open"
},
"sub_status": {
"key": "string",
"name": "string"
},
"owner": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"visible": true
},
"contact": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"has_recording": true,
"recording_seconds": 0,
"redacted": true,
"others": {
"members": 0,
"calls": 0,
"last_call_at": "2026-10-06T05:30:00.000Z",
"names": [
"string"
]
}
}
],
"meta": {
"next_cursor": "string",
"has_more": true
}
}Errors
401No valid session or API key (missing, expired or revoked).403The caller lacks the permission, API-key scope or support grant this operation needs.422Invalid input; `error.fields` maps field paths to messages.429Too many requests; retry after the Retry-After header.500Unexpected error; quote `error.request_id` to support.

