Entities

List contacts

Returns contacts (people and bots) that the authenticated user has communicated with.

Use cases:

  • Discover entity IDs for filtering messages by sender via GET /v1/users/:user_id/messages?entity_id=ent_xxx
  • Build a contact picker UI
  • Show sender details in inbox views

Filtering:

  • search: Case-insensitive substring match on contact name, or exact match on an external ID (email address, Slack user ID)
  • entity_type: Filter by type (e.g., "person", "bot")
  • is_bot: Filter by bot status (true/false)

Pagination (cursor-only):

  • limit: Maximum number of contacts per page (default: 50, max: 100)
  • cursor: Opaque token from pagination.next_cursor of a prior response. Pass it back unchanged to fetch the next page. Omit on the first page.

The response pagination object contains limit, has_more, and (when has_more=true) next_cursor. There is no offset and no total_count — partners walk pages forward via cursor and use has_more to detect the last page.

Examples:

# List all contacts
GET /v1/users/:user_id/entities

# Search by name or email
GET /v1/users/:user_id/entities?search=john

# Only non-bot contacts
GET /v1/users/:user_id/entities?is_bot=false

# Filter by type
GET /v1/users/:user_id/entities?entity_type=person
get/v1/users/{user_id}/entities

Request

  • Base URL: http://0.0.0.0:3000
  • URL: http://0.0.0.0:3000/v1/users/{user_id}/entities
  • Auth: none declared

Path parameters

user_idstring uuid required

Query parameters

searchstring

Search by name (substring, case-insensitive) or external ID (exact match)

entity_typestring

Filter by entity type (e.g., "person", "bot")

is_bot'true' | 'false'

Filter by bot status

limitstring

Number of items to return (1-100, default 50)

cursorstring

Opaque pagination cursor returned as pagination.next_cursor from a prior response. Pass it back unchanged to fetch the next page. Cursors are sort-key bound — a cursor from one endpoint cannot be reused on another.

Response

Default Response

successtrue required

Changes

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