chats

List a business's chats

Returns the business's conversations with paging, and optional filters for kind and assistant. The business is taken from the business-id header rather than the URL; the path-scoped form of this operation is deprecated.

get/api/v1/chats

Request

  • Base URL: https://api.izap.ai (the document declares no server; this is the origin it was published from)
  • URL: https://api.izap.ai/api/v1/chats
  • Auth: HTTP bearer

Query parameters

kindstring

Filter by Chat.kind. 'trainer' (default) returns sandbox conversations from the AI Trainer UI; 'real' returns customer conversations created from WhatsApp webhooks; 'all' returns both. The default is 'trainer' to preserve the historical behavior of this endpoint, which was trainer-only via a consumer-nickname heuristic.

pageinteger

1-based page number for chat pagination (used by the trainer's infinite scroll).

page_sizeinteger

Number of chats to return per page (default 30, max 100).

messages_per_chatinteger

How many of the most-recent messages to embed per chat. Defaults to 1, which is enough for the list's last-message preview and ordering. Full conversation threads should be fetched on demand from GET /chats/{chat_id}/messages (paginated) rather than over-fetched here — embedding the whole thread for every chat on the page made this endpoint load thousands of messages per request.

refine_queuestring nullable

Refine trainer queue filter for kind=real. 'pending' = no OK review and no issues; 'reviewed' = has OK review or any issue.

chatbot_idstring uuid nullable

Optional assistant ID to filter chats by (per-assistant trainer from dash).

sincestring date-time nullable

ISO-8601 timestamp. When set, only chats whose last activity (the same timestamp this list orders by) is strictly newer than since are returned — exclusive, not inclusive, so polling with since=<last seen timestamp> never returns a chat already seen. For incremental sync: pass the newest timestamp from the previous response as since on the next poll instead of refetching and diffing a full page client-side.

Headers

business-idstring nullable required

UUID of the business the request is scoped to. Required on this route; the deprecated /businesses/{business_id}/... form takes it from the path instead.

Response

Successful Response

Changes

No recorded changes to this operation across all 1 revision of this API.