timeline

Search timeline

Everything that happened to one person, newest first, one act one row: their messages on every channel (ours as sends with their outcomes, theirs as replies), the ledger's facts (invites, accepts, visits, likes, stage moves, tags, tables, workflow steps), the thread pills, the tasks and the live plan, merged from the inbox and the playtables ledger through one cursor. Scope by person_sid (the whole person) or conversation_sid (a thread; linked, it is its person's timeline). Read the row in the slot kind names; a child row (an open, a click, a bounce, an accept, the invite's note) names its parent in refers_to, so fold it rather than counting it twice. No total and no counts: page with the cursor while has_more. For a thread's signals (opened, clicked, no reply, and for how long) ask get_conversation with include signals instead. 503 playtables_unavailable when playtables does not answer the ledger read: never an empty page, try again later.

Contract:

  • MCP tool search_timeline, registry package mcp.unibox/timeline, mount unibox.inbox.
  • Operation search, response envelope search.
  • Flags: read only.
post/api/timeline/search

Request

  • Base URL
    https://beta.getsales.io/unibox/v1
  • Auth
    HTTP bearer and API key in header Team-SID

Request body

page_sizeinteger

1..200, default 50: the merged page. Each source contributes up to that many rows, and a page may run shorter when a source holds rows back behind the watermark; has_more is the only end signal.

cursorstring nullable

The composite cursor from the previous page's pagination.next_cursor (opaque: every source's position). Omit it for the newest page.

Response

search success envelope.

successtrue required
operation'search' required
applied_filtersobject required
includesstring[] required
countsobject

Changes

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