---
title: "Search all conversations"
method: POST
path: "/v2/api/conversations/items/search"
tags: ["Conversations"]
---

# Search all conversations

`POST /v2/api/conversations/items/search`

Search and filter items across all conversations. Supports keyword search across transcripts, summaries, and message content.

## Request body

- ItemSearchRequest
  - `allo_number` string
  - `contact_number` string
  - `user_id` string
  - `direction` 'INBOUND' | 'OUTBOUND'
  - `type` 'CALL' | 'SMS' | 'ALL'
  - `result` 'ANSWERED' | 'VOICEMAIL' | 'TRANSFERRED'
  - `tags` string[]
  - `unread` boolean
  - `unresponded` boolean
  - `search` string — Keyword search (not natural language). Extract keywords from the user's question. Terms are AND'd with prefix matching — 'billing refund' matches items containing both words, 'bill' matches 'billing'. Searches across call transcripts, summaries, and SMS content.
  - `sort` 'DATE_DESC' | 'DATE_ASC' | 'RELEVANCE'
  - `extend` string
  - `page` integer
  - `size` integer
  - `date` AnalyticsDateRange
    - `from` string, date, required — Start date
    - `to` string, date, required — End date

## Response `200`

Search results

- object
  - `data` ConversationItem[]
    - `id` string
    - `type` 'CALL' | 'SMS'
    - `direction` 'INBOUND' | 'OUTBOUND'
    - `allo_number` string
    - `contact_number` string
    - `contacts` Contact[]
      - `id` string
      - `name` string
      - `company` object, nullable
        - `id` string
        - `name` string
      - `deals` object[]
        - `id` string
        - `name` string
        - `status` 'OPEN' | 'WON' | 'LOST'
    - `user` UserRef
      - `id` string
      - `name` string
      - `email` string
    - `date` string, date-time
    - `duration` integer, nullable
    - `result` 'ANSWERED' | 'VOICEMAIL' | 'TRANSFERRED', nullable
    - `recording_url` string, nullable
    - `summary` string, nullable
    - `tags` string[], nullable
    - `transcript` TranscriptEntry[], nullable
      - `source` 'USER' | 'EXTERNAL'
      - `time` string, date-time
      - `text` string
    - `content` string, nullable
    - `status` 'PENDING' | 'SENT' | 'DELIVERED' | 'FAILED', nullable
    - `message_type` 'SMS' | 'MMS' | 'WHATSAPP', nullable
  - `pagination` Pagination
    - `page` integer
    - `size` integer
    - `total_count` integer
    - `total_pages` integer
    - `has_more` boolean

## Other responses

- `400` — Invalid request parameters
- `401` — Invalid or missing API key
- `429` — Rate limit exceeded

---

[API](https://skmtc.dev/withallo/apis/allo-api.md) · [All operations](https://skmtc.dev/withallo/apis/allo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/withallo/allo-api/revisions/9aab4db82933/schema)
