---
title: "Text Search Conversation Messages"
method: GET
path: "/v1/convai/conversations/messages/text-search"
tags: ["Agents Platform"]
---

# Text Search Conversation Messages

`GET /v1/convai/conversations/messages/text-search`

Search through conversation transcript messages by full-text and fuzzy search

## Query parameters

- `text_query` string, required — The search query text for full-text and fuzzy matching
- `agent_id` string, nullable — Agent id (agent_…) or speech engine external id (seng_), resolved to the same underlying resource.
- `visited_agent_ids` string[], nullable — Filter conversations where any of these agents participated. Can not exceed 50 values.
- `visited_agent_branch_ids` string[], nullable — Filter conversations where any of these agent branches participated. Can not exceed 50 values.
- `call_successful` 'success' | 'failure' | 'unknown'
- `call_start_before_unix` integer, nullable — Unix timestamp (in seconds) to filter conversations up to this start date.
- `call_start_after_unix` integer, nullable — Unix timestamp (in seconds) to filter conversations after to this start date.
- `call_duration_min_secs` integer, nullable — Minimum call duration in seconds.
- `call_duration_max_secs` integer, nullable — Maximum call duration in seconds.
- `rating_max` integer, nullable — Maximum overall rating (1-5).
- `rating_min` integer, nullable — Minimum overall rating (1-5).
- `has_feedback_comment` boolean, nullable — Filter conversations with user feedback comments.
- `user_id` string, nullable — Filter conversations by the user ID who initiated them.
- `evaluation_params` string[], nullable — Evaluation filters. Repeat param. Format: criteria_id:result. Example: eval=value_framing:success
- `data_collection_params` string[], nullable — Data collection filters. Repeat param. Format: id:op:value where op is one of eq|neq|gt|gte|lt|lte|in|exists|missing. For in, pipe-delimit values.
- `tool_names` string[], nullable — Filter conversations by tool names used during the call.
- `tool_names_successful` string[], nullable — Filter conversations by tool names that had successful calls.
- `tool_names_errored` string[], nullable — Filter conversations by tool names that had errored calls.
- `include_invalid_tool_calls` boolean — Also match tool calls that never ran.
- `main_languages` string[], nullable — Filter conversations by detected main language (language code).
- `exclude_statuses` string[], nullable — Exclude conversations with the given statuses. Useful for hiding in-progress / processing conversations from list views.
- `termination_reasons` string[], nullable — Filter conversations by their stored termination_reason (metadata.termination_reason). Repeat param to match any of several.
- `page_size` integer — Number of results per page. Max 50.
- `summary_mode` 'exclude' | 'include' — Whether to include transcript summaries in the response.
- `conversation_initiation_source` 'unknown' | 'android_sdk' | 'node_js_sdk' | 'react_native_sdk' | 'react_sdk' | 'js_sdk' | 'python_sdk' | 'widget' | 'sip_trunk' | 'twilio' | 'exotel' | 'genesys' | 'avaya' | 'audiocodes' | 'swift_sdk' | 'whatsapp' | 'twilio_sms' | 'flutter_sdk' | 'zendesk_integration' | 'slack_integration' | 'telegram_integration' | 'intercom_integration' | 'freshdesk_integration' | 'salesforce_integration' | 'template_preview' | 'genesys_bot_connector' | 'subagent_tool' — Enum representing the possible sources for conversation initiation.
- `text_only` boolean, nullable
- `conversation_product_type` 'agents' | 'speech_engine' — Which product surface owns this agent document.
- `branch_id` string, nullable — Filter conversations by branch ID.
- `version_id` string, nullable — Filter conversations by version ID.
- `topic_ids` string[], nullable — Filter conversations by topic IDs assigned during topic discovery.
- `sort_by` 'search_score' | 'created_at'
- `cursor` string, nullable — Used for fetching next page. Cursor is returned in the response.

## Headers

- `xi-api-key` string, nullable — Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Response `200`

Successful Response

- MessagesSearchResponse
  - `meta` ListResponseMeta
    - `total` integer, nullable
    - `page` integer, nullable
    - `page_size` integer, nullable
  - `results` MessagesSearchResult[], required
    - `conversation_id` string, required
    - `agent_id` string, required
    - `agent_name` string, nullable
    - `transcript_index` integer, required
    - `chunk_text` string, required
    - `chunk_highlights` SearchHighlightSegment[], nullable
      - `value` string, required
      - `is_hit` boolean, required
    - `score` number, required
    - `conversation_start_time_unix_secs` integer, required
  - `next_cursor` string, nullable — Cursor for the next page of results
  - `has_more` boolean, required — Whether there are more results available

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/elevenlabs/apis/elevenlabs-api-documentation.md) · [All operations](https://skmtc.net/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elevenlabs/elevenlabs-api-documentation/revisions/4bbf59c13c42/schema)
