---
title: "Get Conversations Search Index"
method: GET
path: "/v1/conversations/search-index"
tags: ["conversations"]
---

# Get Conversations Search Index

`GET /v1/conversations/search-index`

Returns a search index of conversations for the org.
Two-phase loading strategy:
1. Frontend fires 4 parallel requests with limit=500 (one per classification) for instant results.
2. Frontend fires 4 parallel requests without limit to backfill the full index in background.
Business phone/username are resolved via org-level batch lookups (not per-conversation).

## Query parameters

- `classification` string, nullable — Filter by classification label (positive, negative, engaged, undetermined).
- `limit` integer, nullable — Max number of previews to return. Used for fast initial load (e.g. 500).

## Response `200`

Successful Response

- SearchIndexResponse
  - `Previews` ConversationPreview[], required
    - `LeadID` string, required
    - `Channel` 'INSTAGRAM' | 'WHATSAPP', required
    - `FirstName` string, required
    - `LastName` string, nullable, required
    - `PhoneNumber` string, required
    - `LatestMessage` Message, required
      - `MessageId` string, uuid, nullable
      - `Content` string, nullable, required
      - `Inbound` boolean, required
      - `Timestamp` string, date-time, required
      - `IsDeleted` boolean, nullable
      - `ExternalMessageId` string, nullable
      - `Status` 'sending' | 'sent' | 'delivered' | 'read' | 'failed' | 'deleted' | 'played'
      - `StatusError` string, nullable
      - `Feedback` MessageFeedback
        - `FeedbackContent` string, required
        - `isSatisfactory` boolean, required
      - `Type` string, nullable
      - `SentBy` string, nullable
      - `Buttons` object[], nullable
      - `QuickReplies` object[], nullable
      - `MediaType` string, nullable
      - `AudioUrl` string, nullable
      - `ScheduledMessageID` string, nullable
      - `PendingApproval` boolean, nullable
      - `ContentUnavailable` boolean, nullable
    - `Classification` string, required
    - `CreatedAt` string, date-time, required
    - `ProfilePictureURL` string, nullable
    - `Username` string, nullable
    - `BusinessWhatsappPhoneNumber` string, nullable
    - `BusinessInstagramUsername` string, nullable
    - `ProfileLastUpdatedAt` string, date-time, nullable
    - `HasUpcomingMessages` boolean
    - `AssignedToUserId` string, nullable
    - `AgentName` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/orsay/apis/fastapi.md) · [All operations](https://skmtc.net/orsay/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/orsay/fastapi/revisions/3274aa9b0e51/schema)
