curl --request GET \
--url https://api.quo.com/calls \
--header 'Authorization: <api-key>' \
--header 'Quo-Api-Version: <quo-api-version>'{
"data": [
{
"id": "AC123abc",
"phoneNumberId": "PN123abc",
"actorId": "US123abc",
"direction": "incoming",
"status": "completed",
"participants": [
{
"phoneNumber": "+15555555555",
"actorId": "US123abc"
},
{
"phoneNumber": "+15555555555",
"actorId": "US456def"
},
{
"phoneNumber": "+15555555556",
"actorId": null
}
],
"answeredAt": "2022-01-01T00:00:00Z",
"answeredBy": "USlHhXmRMz",
"initiatedBy": "USlHhXmRMz",
"completedAt": "2022-01-01T00:00:00Z",
"createdAt": "2022-01-01T00:00:00Z",
"updatedAt": "2022-01-01T00:00:00Z",
"callRoute": "phone-number",
"duration": 60,
"forwardedFrom": "US123abc",
"forwardedTo": "US123abc",
"aiHandled": "ai-agent",
"summary": {
"status": "completed",
"type": "human",
"summary": [
"You talked about the weather."
],
"nextSteps": [
"Bring an umbrella."
],
"jobs": [
{
"icon": "<string>",
"name": "<string>",
"result": {
"data": [
{
"name": "<string>",
"value": "<string>"
}
]
}
}
],
"title": "Pricing enquiry"
},
"voicemail": {
"id": "VMaaff8f317e0c4e61953b74a5eb42a370",
"status": "completed",
"duration": 60,
"recordingUrl": "https://examplestorage.com/a643d4d3e1484fcc8b721627284eda5e.mp3",
"transcript": "Hello, this is a voicemail from John Doe."
}
}
],
"nextCursor": "eyJsYXN0SWQiOiJVU211a09NaXBhIn0"
}{
"message": "The input was invalid",
"docs": "https://quo.com/docs",
"title": "Bad Request",
"errors": [
{
"path": "/callId",
"message": "Expected string to match '^AC(.*)$'",
"value": "abc123",
"schema": {
"type": "TemplateLiteral",
"pattern": "^AC(.*)$"
}
}
]
}{
"message": "Unauthorized",
"docs": "https://quo.com/docs",
"title": "Unauthorized",
"trace": "6897907457496870895"
}{
"message": "User is forbidden to perform this action",
"docs": "https://quo.com/docs",
"title": "Forbidden",
"trace": "6897907457496870895"
}{
"message": "We have encountered an unknown error",
"docs": "https://quo.com/docs",
"title": "Unknown",
"trace": "6897907457496870895"
}List calls
Fetch a paginated list of calls in the workspace, newest first. Every filter is optional, and group calls are included.
curl --request GET \
--url https://api.quo.com/calls \
--header 'Authorization: <api-key>' \
--header 'Quo-Api-Version: <quo-api-version>'{
"data": [
{
"id": "AC123abc",
"phoneNumberId": "PN123abc",
"actorId": "US123abc",
"direction": "incoming",
"status": "completed",
"participants": [
{
"phoneNumber": "+15555555555",
"actorId": "US123abc"
},
{
"phoneNumber": "+15555555555",
"actorId": "US456def"
},
{
"phoneNumber": "+15555555556",
"actorId": null
}
],
"answeredAt": "2022-01-01T00:00:00Z",
"answeredBy": "USlHhXmRMz",
"initiatedBy": "USlHhXmRMz",
"completedAt": "2022-01-01T00:00:00Z",
"createdAt": "2022-01-01T00:00:00Z",
"updatedAt": "2022-01-01T00:00:00Z",
"callRoute": "phone-number",
"duration": 60,
"forwardedFrom": "US123abc",
"forwardedTo": "US123abc",
"aiHandled": "ai-agent",
"summary": {
"status": "completed",
"type": "human",
"summary": [
"You talked about the weather."
],
"nextSteps": [
"Bring an umbrella."
],
"jobs": [
{
"icon": "<string>",
"name": "<string>",
"result": {
"data": [
{
"name": "<string>",
"value": "<string>"
}
]
}
}
],
"title": "Pricing enquiry"
},
"voicemail": {
"id": "VMaaff8f317e0c4e61953b74a5eb42a370",
"status": "completed",
"duration": 60,
"recordingUrl": "https://examplestorage.com/a643d4d3e1484fcc8b721627284eda5e.mp3",
"transcript": "Hello, this is a voicemail from John Doe."
}
}
],
"nextCursor": "eyJsYXN0SWQiOiJVU211a09NaXBhIn0"
}{
"message": "The input was invalid",
"docs": "https://quo.com/docs",
"title": "Bad Request",
"errors": [
{
"path": "/callId",
"message": "Expected string to match '^AC(.*)$'",
"value": "abc123",
"schema": {
"type": "TemplateLiteral",
"pattern": "^AC(.*)$"
}
}
]
}{
"message": "Unauthorized",
"docs": "https://quo.com/docs",
"title": "Unauthorized",
"trace": "6897907457496870895"
}{
"message": "User is forbidden to perform this action",
"docs": "https://quo.com/docs",
"title": "Forbidden",
"trace": "6897907457496870895"
}{
"message": "We have encountered an unknown error",
"docs": "https://quo.com/docs",
"title": "Unknown",
"trace": "6897907457496870895"
}Authorizations
Headers
API version header. Supported values: 2026-03-30
2026-03-30 Query Parameters
Comma-separated list of optional payload sections to include. summary adds the call’s summary, voicemail the voicemail left on it. Omitted sections are left out of the response entirely, and voicemail is also left out for a call where none was left.
2summary, voicemail "summary"
"summary,voicemail"
Only return calls on this Quo number.
^PN(.*)$"PN123abc"
Only return calls belonging to this Quo user or system actor. An AI agent is a system actor, so its calls are reached with its SYU id.
^US(.*)$"US123abc"
Only return calls whose own originating or receiving number is this E.164 number, such as participant=+15555555555. To match any of several numbers, use participant[in]=+15555555555,+15555555556. Note that this is narrower than the participants array in the response: a party who joined a group call beyond those two numbers is listed in the response but is not matched by this filter.
^\+[1-9]\d{1,14}$"+15555555555"
The direction of the call relative to the Quo number.
incoming, outgoing "incoming"
Only return calls with this status, such as status=missed. To match any of several statuses, use status[in]=missed,no-answer.
queued, initiated, ringing, in-progress, completed, busy, failed, no-answer, canceled, missed, answered, forwarded, abandoned "missed"
Bound the results by creation time, in ISO 8601 format: createdAt[gte]=2022-01-01T00:00:00Z&createdAt[lte]=2022-02-01T00:00:00Z. Both bounds are inclusive.
Show child attributes
Show child attributes
{ "gte": "2022-01-01T00:00:00Z" }
Max number of items to return per page.
1 <= x <= 50"eyJsYXN0SWQiOiJVU211a09NaXBhIn0"
Was this page helpful?