1. Conversations API
Hatif
  • Rate Limiting
  • Account API
    • Service Login
      POST
  • Channels API
    • Get Channels
      GET
  • Support API
    • Upload Image, Video, or PDF
      POST
    • Upload Audio File
      POST
  • Whatsapp API
    • Send Text
      POST
    • Send Template
      POST
    • Send Image
      POST
    • Send Audio
      POST
    • Send Video
      POST
    • Send File
      POST
    • List Templates (Service Account)
      GET
  • Contact
    • Set Property Value on Contact
      PUT
    • Search Contacts
      POST
    • Delete Property Value on Contact
      DELETE
    • Create Contact
      POST
    • Update Contact
      PUT
    • Get Contacts
      GET
    • Get Contact By Id
      GET
    • Create Bulk Contacts vCards
      POST
    • Contacts History
      GET
  • Contact Properties
    • List Contact Properties
    • Contact Properties Statistics
    • Create Contact Property
    • Update Contact Property
    • Delete Contact Property
  • Workspace API
    • Get Workspace Users
  • Conversations API
    • Get Conversation Timeline
      GET
    • List Conversations
      GET
    • Create Conversation
      POST
    • Assign Conversation
      POST
    • Get Conversation
      GET
  • Outbound IVR API
    • Create Outbound IVR
  • Tags API
    • Tag a conversation
    • Create Tag
    • Delete Tag
    • Update Tag
    • List Tags
  • Conversations - Service Account
  • Call Webhook
  • WhatsApp Message Webhook
  • Schemas
    • Call Webhook
    • WhatsApp Message Webhook
    • ServiceAccountTemplateDto
    • ConversationDto
    • CreateTagDto
    • ServiceAccountTemplateParameterDto
    • ChannelConversationDto
    • UpdateTagDto
    • TemplateParameterDto
    • TagDto
    • ParameterValueDto
    • ConversationTimelineDto
    • PagedResultOfTagDto
    • ChannelNotFoundError
    • AiSummaryDto
    • ReplyInfoDto
    • InternalThreadDto
    • LocationMessageDto
    • AssignationInfoDto
    • PagedResultOfConversationDto
    • PagedResultOfConversationTimelineDto
  1. Conversations API

List Conversations

GET
/v2/conversations/service-account/channels/{{channelId}}
Lists conversations for a specific channel, with filtering by status, assignee, contact, tags, date range, lost/unread state, and pagination.
channelId is supplied directly in the URL path.
Filter notes:
assigneeUserIds, contactIds, tagIds — comma-separated GUIDs in a single query string value (e.g. ?assigneeUserIds=id1,id2), not a repeated query param or JSON array.
getUnAssigned — include conversations with no assignee.
PhoneNumber — case-sensitive substring filter on the contact's phone number. Returns only conversations where the contact's value contains the given string (e.g. ?PhoneNumber=966 matches any number containing "966"; ?PhoneNumber=DOESNOTEXIST returns totalCount: 0) Note: Don't use +.
fromDate/toDate — ⚠️ expected in UTC+3, not UTC. The server subtracts 3 hours internally, assuming you've sent Saudi local time. Sending true UTC here will silently shift your filter window by 3 hours.
isLost — conversations whose last event was inbound but never successfully addressed (missed/failed call, unanswered WhatsApp message).
isUnread — filter by unread state.
skipCount/maxResultCount/sorting — standard ABP paging.

Request

Authorization
OAuth 2.0
Client Credentials
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Token URL: https://api.voxa.sa/connect/token
Scopes:
VoxaAPI-Access Voxa API as a service account
or
Query Params

Responses

🟢200OK
application/json
Paged list of conversations.
Bodyapplication/json

🟠401Unauthorized
🟠403Forbidden
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --globoff 'https://api.voxa.sa/v2/conversations/service-account/channels/{{channelId}}?status=undefined&assigneeUserIds=undefined&getUnAssigned=undefined&contactIds=undefined&tagIds=undefined&Name=undefined&PhoneNumber=undefined&fromDate=undefined&toDate=undefined&isLost=undefined&isUnread=undefined&sorting=undefined&skipCount=undefined&maxResultCount=undefined'
Response Response Example
{
    "totalCount": 2461,
    "items": [
        {
            "id": "3a21fc...............",
            "sentiment": 1,
            "status": 1,
            "lastActivityAt": "2026-06-21T13:15:47.459339",
            "contactId": "3a21fb...............",
            "contactName": "Ahmed Noshy | Hatif Co",
            "contactType": 1,
            "phoneNumber": "+966501234567",
            "channelId": "3a1bf3...............",
            "assigneeId": null,
            "assignedAiAgentId": null,
            "isAiAssignee": false,
            "assigneeName": null,
            "channel": {
                "id": "3a1bf3...............",
                "name": "هاتف",
                "type": 3,
                "icon": "📱",
                "phoneNumber": null
            },
            "lastEventSourceType": null,
            "lastEventDirection": null,
            "lastEventStatus": "",
            "lastEventPreviewBody": null,
            "lastEventOccurredAt": null,
            "lastEventsCount": 0,
            "tags": [],
            "unreadCount": 0,
            "isPinned": false
        }
    ]
}
Modified at 2026-07-01 16:06:47
Previous
Get Conversation Timeline
Next
Create Conversation
Built with