Intercom: API Design & Conversation Model
Docs-backedREST API at api.intercom.io with JSON payloads. The Conversation object is central: it contains conversation_parts (messages, assignments, state changes) as a threaded list. Creating a conversation, replying as admin or user, and state transitions (open โ snoozed โ closed) are clean API operations. The Search API uses structured query objects for filtering contacts and conversations โ not string-based search but JSON predicates with operators (=, !=, IN, contains). Pagination uses cursor-based pagination with starting_after and has_more. List endpoints use a scroll API for large datasets. Data attribute management allows custom fields on contacts and companies. Event tracking via the Events API enables behavioral data collection. The API design is consistently modern across endpoints.