Conversation

List Conversations

Changed on

Retrieves a paginated list of conversations with their transcriptions. Supports various filtering options to narrow down the results based on date ranges, participants, teams, and conversation status. Including private conversation metadata requires enablement by Attention for your organization; see filter[include_private].

get/conversations

Request

Query parameters

fromDateTimestring

Start date and time for filtering conversations (ISO 8601 format)

toDateTimestring

End date and time for filtering conversations (ISO 8601 format)

fromUpdatedAtDateTimestring

Filter by last-updated lower bound (RFC 3339, e.g. 2026-04-01T00:00:00Z; fractional seconds and numeric UTC offsets accepted). Matches conversations whose updatedAt (when the conversation was last updated) is greater than or equal to this value. Only conversations that have an updatedAt are matched; updatedAt reflects changes to the conversation itself, not to related records such as scorecard results or CRM data. When set, results are ordered by updatedAt ascending and paged with cursor, and meta.totalRecords is a lower bound. For incremental sync, start with a full unfiltered pull, then pass the time of the previous sync minus a few minutes and deduplicate by id.

toUpdatedAtDateTimestring

Filter by last-updated upper bound (RFC 3339, e.g. 2026-04-10T23:59:59Z; fractional seconds and numeric UTC offsets accepted). Matches conversations whose updatedAt (when the conversation was last updated) is less than or equal to this value. Only conversations that have an updatedAt are matched. When set, results are ordered by updatedAt ascending and paged with cursor, and meta.totalRecords is a lower bound.

cursorstring

Opaque cursor returned as nextCursor by a previous call with the same filters. Omit on the first page. Requires fromUpdatedAtDateTime or toUpdatedAtDateTime; page is ignored when set.

pageinteger

Page number for pagination (starts from 1)

sizeinteger

Number of items per page

filter[owner.id]string[]

Filter conversations by owner IDs

filter[owner.email]string[]

Filter conversations by owner email addresses

filter[title]string

Filter conversations by title using case-insensitive partial matching

filter[participants.email]string[]

Filter conversations by participant email addresses

filter[external_opportunity.id]string[]

Filter conversations by external opportunity IDs

filter[crm_field.entity_code]'companies' | 'contacts' | 'deals' | 'owners' | 'pipelines' | 'users' | 'account' | 'contact' | 'lead' | 'opportunity' | 'user'

CRM platform entity code to filter linked CRM records (e.g. companies, contacts, deals, owners, pipelines, users, account, contact, lead, opportunity, user)

filter[crm_field.field_name]string

CRM record field name (from org_crm_records.record_data) to match on linked CRM records

filter[crm_field.values]string[]

Exact values to match for the given CRM field. Values are OR'ed together.

filter[team.id]string[]

Filter conversations by team IDs

filter[hide_internal]boolean

Exclude internal conversations from results

filter[hide_non_analyzed]boolean

Exclude conversations that haven't been analyzed

filter[analyzed]boolean

Filter conversations by analysis status (deprecated, use filter[hide_non_analyzed] instead)

filter[hide_pending]boolean

Exclude conversations that are pending processing

filter[hide_transcript]boolean

Omit the transcript field from each conversation in the response. Conversations are not filtered; totals and pagination are unchanged.

filter[include_private]boolean

Requires organization enablement: Attention must enable this filter for your organization. Contact your Attention account manager before relying on it for synchronization. When not enabled, this parameter is ignored and private conversations remain excluded. When enabled, true also returns private conversations and requires an organization-level API key or an admin user. A private conversation carries only id, type, links and the attributes uuid, createdAt, finishedAt, updatedAt, userUUID, private and isInternal (isInternal is omitted when false). finishedAt, liveStreamStartedAt and liveStreamEndedAt read 0001-01-01T00:00:00.000Z when unset; every other attribute is empty, null or omitted. Public conversation rows retain their normal response shape. Combine with fromUpdatedAtDateTime to detect conversations that became private after a previous sync. When enabled and true, cannot be combined with filter[title], filter[label.name], filter[label.values], filter[participants.email], filter[external_opportunity.id], filter[crm_field.*], filter[hide_non_analyzed] or filter[analyzed].

filter[hide_failed]boolean

Exclude conversations that failed processing

filter[include_internal_participants]boolean

Include internal participants in the response

filter[include_zoom_metadata]boolean

Include Zoom-specific metadata in the response

filter[include_import_metadata]boolean
detailedTranscriptboolean

Include detailed transcript information in the response

Response

Successfully retrieved conversations

nextCursorstring

Opaque cursor for the next page when fromUpdatedAtDateTime or toUpdatedAtDateTime is set. Absent when there are no more results.

Example response

{
  "data": [],
  "links": {
    "self": "/v2/conversations?page=1",
    "related": "/v2/conversations?page=2"
  },
  "meta": {
    "totalRecords": 150
  }
}

Changes

    • info

      added the new optional query request parameter filter[include_private]

    • info

      added the new optional query request parameter cursor

    • info

      added the new optional query request parameter fromUpdatedAtDateTime

    • info

      added the new optional query request parameter toUpdatedAtDateTime

    • info

      added the optional property /// to the response with the status (media type: application/json)

    • info

      added the optional property /// to the response with the status (media type: application/vnd.api+json)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: application/vnd.api+json)