Returns paginated conversations for the current organization.
/api/conversationsReturns paginated conversations for the current organization. Use the query to filter by status, priority, assignment, channel, visitor, or tags. The route also accepts one metadata.<path>=value filter for JSON metadata lookups, and visitor callers are automatically scoped to their own conversations. Operator callers only receive conversations after the visitor has sent at least one non-deleted message. Results are sorted with pinned conversations first and then by latest message activity. Pagination defaults are applied by the query schema; use the returned pagination object instead of inferring more pages from the item count.
Bearer API key or X-API-Key header.conversations:readautomation_api)Return only conversations in this state.
Return only conversations with this priority.
Filter by whether an operator is assigned.
Filter by assigned operator, or null for unassigned items.
Return only conversations from this channel.
Single tag that must match the conversation.
Return only conversations for this visitor.
Filter by whether an operator reply is pending.
Maximum number of resources to return.
One-based page number.
Zero-based number of resources to skip.
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"data": [
{
"id": "11111111-1111-4111-8111-111111111111",
"organizationId": "22222222-2222-4222-8222-222222222222",
"visitorId": "33333333-3333-4333-8333-333333333333",
"operatorId": "44444444-4444-4444-8444-444444444444",
"status": "open",
"priority": "normal",
"source": "api",
"aiEnabled": true,
"locale": "en",
"localeSource": "organization_default",
"localeLocked": false,
"localeUpdatedAt": null,
"title": "Billing question",
"messageCount": 2,
"hasUnreadMessages": true,
"tags": [
"billing"
],
"customFields": {},
"createdAt": "2026-08-03T08:30:00.000Z",
"updatedAt": "2026-08-03T08:35:00.000Z"
}
],
"pagination": {
"totalItems": 1,
"page": 1,
"pageSize": 20,
"hasNextPage": false,
"hasPrevPage": false
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}curl --request GET \
'https://api.convor.io/api/conversations' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...'const response = await fetch("https://api.convor.io/api/conversations", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_..."
},
});
const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
? null
: contentType.includes("json")
? await response.json()
: contentType.startsWith("text/")
? await response.text()
: await response.blob();
if (!response.ok) {
const message = typeof data === "object" && data !== null
&& "error" in data && typeof data.error === "object"
&& data.error !== null && "message" in data.error
? String(data.error.message)
: "Convor API request failed (" + response.status + ")";
throw new Error(message);
}
console.log(data);Was this page helpful?