# List all conversations

You can fetch a list of all conversations.
You can optionally request the result page size and the cursor to start after to fetch the result.
You can use pagination to limit the number of results returned. The default is `20` results per page.
See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting_after` param.

Endpoint: GET /conversations
Version: 2.17
Security: bearerAuth

## Query parameters:

  - `per_page` (integer)
    How many results per page

  - `starting_after` (string)
    String used to get the next page of conversations.

  - `include_monitors` (boolean)
    If set to true, the response will include a `monitor_evaluations` array on each conversation with the latest QA monitor evaluation for each monitor that has evaluated it.

  - `include_scorecards` (boolean)
    If set to true, the response will include a `scorecards` array on each conversation with any QA scorecard results.

## Header parameters:

  - `Intercom-Version` (string)

## Response 200 fields (application/json):

  - `type` (string)
    Always conversation.list
    Enum: "conversation.list"

  - `conversations` (array)
    The list of conversation objects

  - `conversations.type` (string)
    Always conversation.
    Example: conversation

  - `conversations.id` (string)
    The id representing the conversation.
    Example: 1295

  - `conversations.title` (string)
    The title given to the conversation.
    Example: Conversation Title

  - `conversations.created_at` (integer)
    The time the conversation was created.
    Example: 1663597223

  - `conversations.updated_at` (integer)
    The last time the conversation was updated.
    Example: 1663597260

  - `conversations.waiting_since` (integer)
    The last time a Contact responded to an Admin. In other words, the time a customer started waiting for a response. Set to null if last reply is from an Admin.
    Example: 1663597260

  - `conversations.snoozed_until` (integer)
    If set this is the time in the future when this conversation will be marked as open. i.e. it will be in a snoozed state until this time. i.e. it will be in a snoozed state until this time.
    Example: 1663597260

  - `conversations.open` (boolean)
    Indicates whether a conversation is open (true) or closed (false).
    Example: true

  - `conversations.state` (string)
    Can be set to "open", "closed" or "snoozed".
    Enum: "open", "closed", "snoozed"

  - `conversations.read` (boolean)
    Indicates whether a conversation has been read.
    Example: true

  - `conversations.priority` (string)
    The priority level of the conversation. Returns one of none, low, medium, high, or urgent.
    Enum: "none", "low", "medium", "high", "urgent"

  - `conversations.admin_assignee_id` (integer)
    The id of the admin assigned to the conversation. If it's not assigned to an admin it will return 0.
    Example: 0

  - `conversations.team_assignee_id` (integer)
    The id of the team assigned to the conversation. If it's not assigned to a team it will return 0.
    Example: 5017691

  - `conversations.company` (object)
    Companies allow you to represent organizations using your product. Each company will have its own description and be associated with contacts. You can fetch, create, update and list companies.

  - `conversations.company.type` (string)
    Value is `company`
    Enum: "company"

  - `conversations.company.id` (string)
    The Intercom defined id representing the company.
    Example: 531ee472cce572a6ec000006

  - `conversations.company.name` (string)
    The name of the company. Returned HTML-escaped, for example `&` as `&amp;`.
    Example: Blue Sun

  - `conversations.company.app_id` (string)
    The Intercom defined code of the workspace the company is associated to.
    Example: ecahpwf5

  - `conversations.company.plan` (object)

  - `conversations.company.plan.type` (string)
    Value is always "plan"
    Example: plan

  - `conversations.company.plan.id` (string)
    The id of the plan
    Example: 269315

  - `conversations.company.plan.name` (string)
    The name of the plan
    Example: Pro

  - `conversations.company.company_id` (string)
    The company id you have defined for the company. Returned HTML-escaped, for example `&` as `&amp;`.
    Example: 6

  - `conversations.company.remote_created_at` (integer)
    The time the company was created by you.
    Example: 1663597223

  - `conversations.company.created_at` (integer)
    The time the company was added in Intercom.
    Example: 1663597223

  - `conversations.company.updated_at` (integer)
    The last time the company was updated.
    Example: 1663597223

  - `conversations.company.last_request_at` (integer)
    The time the company last recorded making a request.
    Example: 1663597223

  - `conversations.company.size` (integer)
    The number of employees in the company.
    Example: 100

  - `conversations.company.website` (string)
    The URL for the company website.
    Example: https://www.intercom.com

  - `conversations.company.industry` (string)
    The industry that the company operates in.
    Example: Software

  - `conversations.company.monthly_spend` (integer)
    How much revenue the company generates for your business.
    Example: 100

  - `conversations.company.session_count` (integer)
    How many sessions the company has recorded.
    Example: 100

  - `conversations.company.user_count` (integer)
    The number of users in the company.
    Example: 100

  - `conversations.company.tags` (object)
    The list of tags associated with the company

  - `conversations.company.tags.type` (string)
    The type of the object
    Enum: "tag.list"

  - `conversations.company.tags.tags` (array)

  - `conversations.company.tags.tags.type` (string)
    value is "tag"
    Example: tag

  - `conversations.company.tags.tags.id` (string)
    The id of the tag
    Example: 123456

  - `conversations.company.tags.tags.name` (string)
    The name of the tag
    Example: Test tag

  - `conversations.company.segments` (object)
    Always returned empty. Fetch a company's segments with the list attached segments endpoint.

  - `conversations.company.segments.type` (string)
    The type of the object
    Enum: "segment.list"

  - `conversations.company.segments.segments` (array)

  - `conversations.company.segments.segments.type` (string)
    The type of object.
    Enum: "segment"

  - `conversations.company.segments.segments.id` (string)
    The unique identifier representing the segment.
    Example: 56203d253cba154d39010062

  - `conversations.company.segments.segments.name` (string)
    The name of the segment.
    Example: Active

  - `conversations.company.segments.segments.created_at` (integer)
    The time the segment was created.
    Example: 1394621988

  - `conversations.company.segments.segments.updated_at` (integer)
    The time the segment was updated.
    Example: 1394622004

  - `conversations.company.segments.segments.person_type` (string)
    Type of the contact: contact (lead) or user.
    Enum: "contact", "user"

  - `conversations.company.segments.segments.count` (integer)
    The number of items in the user segment. It's returned when the request has `include_count` with a value. A company segment only gets a count when a contact segment has the same name, and it shows that segment's count.
    Example: 3

  - `conversations.company.notes` (object)
    The list of notes associated with the company

  - `conversations.company.notes.type` (string)
    The type of the object
    Enum: "note.list"

  - `conversations.company.notes.data` (array)
    The notes on the company, newest first.

  - `conversations.company.notes.data.type` (string)
    String representing the object's type. Always has the value `note`.
    Example: note

  - `conversations.company.notes.data.id` (string)
    The id of the note.
    Example: 17495962

  - `conversations.company.notes.data.url` (string)
    The relative URL of the note.
    Example: /notes/17495962

  - `conversations.company.notes.data.body` (string)
    The body text of the note.
    Example: <p>Text for the note.</p>

  - `conversations.company.notes.url` (string)
    The relative URL of the company's notes.
    Example: /companies/531ee472cce572a6ec000006/notes

  - `conversations.company.notes.total_count` (integer)
    The number of notes in `data`.
    Example: 1

  - `conversations.company.notes.has_more` (boolean)
    Always `false`. Every note on the company is returned in `data`.
    Example: false

  - `conversations.tags` (object)
    A list of tags objects associated with a conversation, article or internal article

  - `conversations.tags.type` (string)
    The type of the object
    Enum: "tag.list"

  - `conversations.tags.tags` (array)
    A list of tags objects associated with the object.

  - `conversations.tags.tags.type` (string)
    value is "tag"
    Example: tag

  - `conversations.tags.tags.id` (string)
    The id of the tag
    Example: 123456

  - `conversations.tags.tags.name` (string)
    The name of the tag
    Example: Test tag

  - `conversations.tags.tags.applied_at` (integer)
    The time when the tag was applied to the object. Only present when the tag is returned as part of a tagging operation on a contact, conversation, ticket, article, internal article, content snippet, or external page, when listing the tags on a contact, or when it is returned as part of an external page. `null` when the tag has just been removed from an article, internal article, content snippet or external page. Removing a tag from a contact, conversation or ticket returns the original value.
    Example: 1663597223

  - `conversations.tags.tags.applied_by` (object)
    The admin who applied the tag. Only present when the tag is returned as part of a tagging operation on a contact, conversation, ticket, article, internal article, content snippet, or external page, when listing the tags on a contact, or when it is returned as part of an external page. `null` when the tag has just been removed from an article, internal article, content snippet or external page. Removing a tag from a contact, conversation or ticket returns the original value. When no admin is recorded, `type` is `nobody_admin` and `id` is `null`.

  - `conversations.tags.tags.applied_by.type` (string)
    Example: contact

  - `conversations.tags.tags.applied_by.id` (string)
    Example: 1a2b3c

  - `conversations.conversation_rating` (object)
    The Conversation Rating object which contains information on the rating and/or remark added by a Contact and the Admin assigned to the conversation.

  - `conversations.conversation_rating.rating` (integer)
    The rating, between 1 and 5, for the conversation.
    Example: 5

  - `conversations.conversation_rating.remark` (string)
    An optional field to add a remark to correspond to the number rating

  - `conversations.conversation_rating.created_at` (integer)
    The time the rating was requested in the conversation being rated.
    Example: 1671028894

  - `conversations.conversation_rating.updated_at` (integer)
    The time the rating was last updated.
    Example: 1671028894

  - `conversations.conversation_rating.contact` (object)
    reference to contact object

  - `conversations.conversation_rating.contact.type` (string)
    always contact
    Enum: "contact"

  - `conversations.conversation_rating.contact.id` (string)
    The unique identifier for the contact which is given by Intercom.
    Example: 5ba682d23d7cf92bef87bfd4

  - `conversations.conversation_rating.contact.external_id` (string)
    The unique identifier for the contact which is provided by the Client.
    Example: 70

  - `conversations.conversation_rating.teammate` (object)
    The teammate, bot or workflow the rating is attributed to.

  - `conversations.conversation_rating.teammate.type` (string)
    The type of the rated actor. `workflow` when a workflow requested the rating and no teammate took part.
    Enum: "admin", "team", "bot", "workflow"

  - `conversations.conversation_rating.teammate.id` (string)
    The unique identifier for the rated actor.
    Example: 123

  - `conversations.source` (object)
    The type of the conversation part that started this conversation. Can be Contact, Admin, Campaign, Automated or Operator initiated.

  - `conversations.source.type` (string)
    The origin of this conversation.
    Example: email

  - `conversations.source.id` (string)
    The id of the source message.
    Example: 3

  - `conversations.source.delivered_as` (string)
    How the conversation was initiated.
    Example: operator_initiated

  - `conversations.source.recipients` (array)
    The recipients of the source message. Only present for email conversations.

  - `conversations.source.recipients.type` (string)
    The recipient type. One of `to`, `cc`, or `bcc`.
    Example: to

  - `conversations.source.recipients.email` (string)
    The recipient email address.
    Example: user@example.com

  - `conversations.source.recipients.drop_reason` (string)
    The reason this recipient was dropped, if applicable.
    Example: null

  - `conversations.source.reply_to` (array)
    The Reply-To header addresses of the source message, where a reply will be routed. Can differ from the sender's From address. Only present for email conversations.

  - `conversations.source.reply_to.email` (string)
    The Reply-To email address.
    Example: replies@example.com

  - `conversations.source.reply_to.name` (string)
    The display name associated with the Reply-To address.
    Example: Support Team

  - `conversations.source.subject` (string)
    Optional. The message subject. For Twitter, this will show a generic message regarding why the subject is obscured. In webhook payloads for API version 2.15+, this field returns plain text.

  - `conversations.source.body` (string)
    The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured. In webhook payloads for API version 2.15+, this field returns plain text.
    Example: <p>Hey there!</p>

  - `conversations.source.author` (object)
    The author who started the conversation. Can be a Contact, Admin, or Bot.

  - `conversations.source.author.type` (string)
    The type of the author.
    Example: admin

  - `conversations.source.author.id` (string)
    The id of the author.
    Example: 274

  - `conversations.source.author.name` (string)
    The name of the author.
    Example: Jane Doe

  - `conversations.source.author.email` (string)
    The email of the author.
    Example: jane.doe@example.com

  - `conversations.source.attachments` (array)
    A list of attachments for the part.

  - `conversations.source.attachments.type` (string)
    The type of attachment
    Example: upload

  - `conversations.source.attachments.name` (string)
    The name of the attachment
    Example: example.png

  - `conversations.source.attachments.url` (string)
    The URL of the attachment
    Example: https://picsum.photos/200/300

  - `conversations.source.attachments.content_type` (string)
    The content type of the attachment
    Example: image/png

  - `conversations.source.attachments.filesize` (integer)
    The size of the attachment
    Example: 100

  - `conversations.source.attachments.width` (integer)
    The width of the attachment
    Example: 100

  - `conversations.source.attachments.height` (integer)
    The height of the attachment
    Example: 100

  - `conversations.source.url` (string)
    The URL where the conversation was started. For Twitter, Email, and Bots, this will be blank.
    Example: null

  - `conversations.source.redacted` (boolean)
    Whether or not the source message has been redacted. Only applicable for contact initiated messages.
    Example: false

  - `conversations.source.email_message_metadata` (object)
    Contains metadata if the message was sent as an email

  - `conversations.source.email_message_metadata.message_id` (string)
    The unique identifier for the email message as specified in the Message-ID header
    Example: <CADKw7xrXzqSn8v3mP8K8Q8yZ6K8Q8yZ6@mail.gmail.com>

  - `conversations.source.email_message_metadata.subject` (string)
    The subject of the email
    Example: Question about my order

  - `conversations.source.email_message_metadata.email_address_headers` (array)
    A list of an email address headers.

  - `conversations.source.email_message_metadata.email_address_headers.type` (string)
    The type of email address header
    Example: from

  - `conversations.source.email_message_metadata.email_address_headers.email_address` (string)
    The email address
    Example: jdoe@example.com

  - `conversations.source.email_message_metadata.email_address_headers.name` (string)
    The name associated with the email address
    Example: Joe Example

  - `conversations.source.email_message_metadata.history` (string)
    The HTML content of any quoted or forwarded email history from the initial inbound message
    Example: <div><span>On Jan 28, wrote:</span><blockquote>Previous thread</blockquote></div>

  - `conversations.contacts` (object)
    The list of contacts (users or leads) involved in this conversation. This will only contain one customer unless more were added via the group conversation feature.

  - `conversations.contacts.type` (string)
    Enum: "contact.list"

  - `conversations.contacts.contacts` (array)
    The list of contacts (users or leads) involved in this conversation. This will only contain one customer unless more were added via the group conversation feature.

  - `conversations.teammates` (object)
    The list of teammates who participated in the conversation (wrote at least one conversation part).

  - `conversations.teammates.type` (string)
    The type of the object - `admin.list`.
    Example: admin.list

  - `conversations.teammates.admins` (array)
    The list of teammates who participated in the conversation (wrote at least one conversation part).

  - `conversations.custom_attributes` (object)
    An object containing the custom attributes on a conversation as key-value pairs. For relationship attributes the value is a list of custom object instance models. System-defined attributes such as "AI Topic and Subtopic", "CX Score rating", "CX Score explanation" and "CX Score reasons" may also be included.
    Example: {"paid_subscriber":true,"monthly_spend":155.5,"team_mates":9,"start_date_iso8601":"2023-03-04T09:46:14Z","end_date_timestamp":1677923174,"CX Score rating":4,"CX Score explanation":"The conversation wa…

  - `conversations.custom_attributes.AI Topic and Subtopic` (array)
    Read-only AI Insights classification of the conversation. Present only with the AI add-on; omitted when the conversation has no classification.
    Example: [{"topic_name":"Billing","subtopic_name":"Payment Issues","id":42}]

  - `conversations.custom_attributes.AI Topic and Subtopic.topic_name` (string)
    The name of the AI-generated topic.
    Example: Billing

  - `conversations.custom_attributes.AI Topic and Subtopic.subtopic_name` (string)
    The name of the AI-generated subtopic, if any.
    Example: Payment Issues

  - `conversations.custom_attributes.AI Topic and Subtopic.id` (integer)
    The id of the subtopic.
    Example: 42

  - `conversations.custom_attributes.CX Score reasons` (array)
    Read-only reasons behind the conversation's CX Score. Intercom generates this attribute, so it cannot be set. Omitted when the conversation has no CX Score reasons.
    Example: [{"name":"Resolution speed","value":"Fast"}]

  - `conversations.custom_attributes.CX Score reasons.name` (string)
    The name of the reason.
    Example: Resolution speed

  - `conversations.custom_attributes.CX Score reasons.value` (string)
    The value recorded for the reason.
    Example: Fast

  - `conversations.first_contact_reply` (object)
    An object containing information on the first users message. For a contact initiated message this will represent the users original message.

  - `conversations.first_contact_reply.created_at` (integer)
    Example: 1663597223

  - `conversations.first_contact_reply.type` (string)
    Example: conversation

  - `conversations.first_contact_reply.url` (string)
    Example: https://developers.intercom.com/

  - `conversations.sla_applied` (object)
    The SLA Applied object contains the details for which SLA has been applied to this conversation.
Important: if there are any canceled sla_events for the conversation - meaning an SLA has been manually removed from a conversation, the sla_status will always be returned as null.

  - `conversations.sla_applied.type` (string)
    object type
    Example: conversation_sla_summary

  - `conversations.sla_applied.sla_name` (string)
    The name of the SLA as given by the teammate when it was created.

  - `conversations.sla_applied.sla_status` (string)
    SLA statuses:
- `hit`: If there’s at least one hit event in the underlying sla_events table, and no “missed” or “canceled” events for the conversation.
- `missed`: If there are any missed sla_events for the conversation and no canceled events. If there’s even a single missed sla event, the status will always be missed. A missed status is not applied when the SLA expires, only the next time a teammate replies.
- `active`: An SLA has been applied to a conversation, but has not yet been fulfilled. SLA status is active only if there are no “hit, “missed”, or “canceled” events.
    Enum: "hit", "missed", "canceled", "active"

  - `conversations.statistics` (object)
    A Statistics object containing all information required for reporting, with timestamps and calculated metrics.

  - `conversations.statistics.type` (string)
    Example: conversation_statistics

  - `conversations.statistics.time_to_assignment` (integer)
    Duration until last assignment before first admin reply. In seconds.
    Example: 2310

  - `conversations.statistics.time_to_admin_reply` (integer)
    Duration until first admin reply. Subtracts out of business hours. In seconds.
    Example: 2310

  - `conversations.statistics.time_to_first_close` (integer)
    Duration until conversation was closed first time. Subtracts out of business hours. In seconds.
    Example: 2310

  - `conversations.statistics.time_to_last_close` (integer)
    Duration until conversation was closed last time. Subtracts out of business hours. In seconds.
    Example: 2310

  - `conversations.statistics.median_time_to_reply` (integer)
    Median based on all admin replies after a contact reply. Subtracts out of business hours. In seconds.
    Example: 2310

  - `conversations.statistics.first_contact_reply_at` (integer)
    Time of first text conversation part from a contact.
    Example: 1663597233

  - `conversations.statistics.first_assignment_at` (integer)
    Time of first assignment after first_contact_reply_at.
    Example: 1663597233

  - `conversations.statistics.first_admin_reply_at` (integer)
    Time of first admin reply after first_contact_reply_at.
    Example: 1663597233

  - `conversations.statistics.first_close_at` (integer)
    Time of first close after first_contact_reply_at.
    Example: 1663597233

  - `conversations.statistics.last_assignment_at` (integer)
    Time of last assignment after first_contact_reply_at.
    Example: 1663597233

  - `conversations.statistics.last_assignment_admin_reply_at` (integer)
    Time of first admin reply since most recent assignment.
    Example: 1663597233

  - `conversations.statistics.last_contact_reply_at` (integer)
    Time of the last conversation part from a contact.
    Example: 1663597233

  - `conversations.statistics.last_admin_reply_at` (integer)
    Time of the last conversation part from an admin.
    Example: 1663597233

  - `conversations.statistics.last_close_at` (integer)
    Time of the last conversation close.
    Example: 1663597233

  - `conversations.statistics.last_closed_by_id` (string)
    The last admin who closed the conversation. Returns a reference to an Admin object.
    Example: c3po

  - `conversations.statistics.count_reopens` (integer)
    Number of reopens after first_contact_reply_at.
    Example: 1

  - `conversations.statistics.count_assignments` (integer)
    Number of assignments after first_contact_reply_at.
    Example: 1

  - `conversations.statistics.count_conversation_parts` (integer)
    Total number of conversation parts.
    Example: 1

  - `conversations.statistics.assigned_team_first_response_time` (array)
    An array of conversation response time objects

  - `conversations.statistics.assigned_team_first_response_time.team_id` (integer)
    Id of the assigned team.
    Example: 100

  - `conversations.statistics.assigned_team_first_response_time.team_name` (string)
    Name of the assigned Team, null if team does not exist, Unassigned if no team is assigned.
    Example: Team One

  - `conversations.statistics.assigned_team_first_response_time.response_time` (integer)
    First response time of assigned team in seconds.
    Example: 2310

  - `conversations.statistics.assigned_team_first_response_time_in_office_hours` (array)
    An array of conversation response time objects within office hours

  - `conversations.statistics.handling_time` (integer)
    Time from conversation assignment to conversation close in seconds.
    Example: 2310

  - `conversations.statistics.adjusted_handling_time` (integer)
    Adjusted handling time for conversation in seconds. This is the active handling time excluding idle periods when teammates are not actively working on the conversation.
    Example: 1800

  - `conversations.linked_objects` (object)
    An object containing metadata about linked conversations and linked tickets. Up to 1000 can be returned.

  - `conversations.linked_objects.type` (string)
    Always list.
    Enum: "list"

  - `conversations.linked_objects.total_count` (integer)
    The total number of linked objects.
    Example: 100

  - `conversations.linked_objects.has_more` (boolean)
    Whether or not there are more linked objects than returned.
    Example: false

  - `conversations.linked_objects.data` (array)
    An array containing the linked conversations and linked tickets.

  - `conversations.linked_objects.data.type` (string)
    ticket or conversation
    Enum: "ticket", "conversation"

  - `conversations.linked_objects.data.id` (string)
    The ID of the linked object
    Example: 7583

  - `conversations.linked_objects.data.category` (string)
    Category of the Linked Ticket Object.
    Enum: "Customer", "Back-office", "Tracker", null

  - `conversations.ai_agent_participated` (boolean)
    Indicates whether the AI Agent participated in the conversation.
    Example: true

  - `conversations.ai_agent` (object)
    Data related to AI Agent involvement in the conversation.

  - `conversations.ai_agent.source_type` (string)
    The type of the source that triggered AI Agent involvement in the conversation.
    Enum: "essentials_plan_setup", "profile", "workflow", "workflow_preview", "fin_preview"

  - `conversations.ai_agent.source_title` (string)
    The title of the source that triggered AI Agent involvement in the conversation. If this is `essentials_plan_setup` then it will return `null`.
    Example: My AI Workflow

  - `conversations.ai_agent.last_answer_type` (string)
    The type of the last answer delivered by AI Agent. If no answer was delivered then this will return `null`
    Enum: null, "ai_answer", "custom_answer"

  - `conversations.ai_agent.resolution_state` (string)
    The resolution state of AI Agent. If no AI or custom answer has been delivered then this will return `null`.
    Enum: "assumed_resolution", "confirmed_resolution", "escalated", "negative_feedback", "procedure_handoff", null

  - `conversations.ai_agent.rating` (integer)
    The customer satisfaction rating given to AI Agent, from 1-5.
    Example: 4

  - `conversations.ai_agent.rating_remark` (string)
    The customer satisfaction rating remark given to AI Agent.
    Example: Very helpful!

  - `conversations.ai_agent.created_at` (integer)
    The time when the AI agent rating was created.
    Example: 1663597260

  - `conversations.ai_agent.updated_at` (integer)
    The time when the AI agent rating was last updated.
    Example: 1663597260

  - `conversations.ai_agent.content_sources` (object)

  - `conversations.ai_agent.content_sources.type` (string)
    Enum: "content_source.list"

  - `conversations.ai_agent.content_sources.total_count` (integer)
    The total number of content sources used by AI Agent in the conversation.
    Example: 1

  - `conversations.ai_agent.content_sources.content_sources` (array)
    The content sources used by AI Agent in the conversation.

  - `conversations.ai_agent.content_sources.content_sources.content_type` (string)
    The type of the content source.
    Enum: "file", "article", "external_content", "content_snippet", "workflow_connector_action", "internal_article"

  - `conversations.ai_agent.content_sources.content_sources.url` (string)
    The internal URL linking to the content source for teammates.
    Example: /fin-ai-agent/content?content=content_snippet&id=3234924

  - `conversations.ai_agent.content_sources.content_sources.title` (string)
    The title of the content source.
    Example: My internal content snippet

  - `conversations.ai_agent.content_sources.content_sources.locale` (string)
    The ISO 639 language code of the content source.
    Example: en

  - `conversations.sales_agent_participated` (boolean)
    Indicates whether the Sales Agent participated in the conversation.
    Example: false

  - `conversations.sales_agent` (object)
    Data related to Sales Agent involvement in the conversation.

  - `conversations.sales_agent.outcome` (string)
    The fixed outcome of the sales agent interaction, used for billing and tracking.
    Enum: "qualified", "disqualified", "product_discovery", "escalated_to_support", "spam"

  - `conversations.sales_agent.routing_outcome` (string)
    The identifier of the user-defined routing outcome selected by the sales agent.
    Example: enterprise_sales

  - `conversations.channel` (object)
    The channel through which the conversation was initiated and its current channel.

  - `conversations.channel.initial` (string)
    The channel through which the conversation was originally initiated. Possible values include `messenger`, `zendesk_sunshine`, `zendesk_ticket`, `twitter`, `email`. Returns `null` if channel data is unavailable.
    Example: messenger

  - `conversations.channel.current` (string)
    The current channel of the conversation. May differ from `initial` if the conversation was migrated between channels. Returns `null` if channel data is unavailable.
    Example: messenger

  - `conversations.topics` (object)
    The topics of the conversation. An empty object when the workspace doesn't use topics.

  - `conversations.topics.type` (string)
    Always `topic.list`.
    Example: topic.list

  - `conversations.topics.topics` (array)
    The topics of the conversation.

  - `conversations.topics.topics.type` (string)
    Always `topic`.
    Example: topic

  - `conversations.topics.topics.id` (integer)
    The id of the topic.
    Example: 4521

  - `conversations.topics.topics.name` (string)
    The name of the topic.
    Example: Billing

  - `conversations.topics.total_count` (integer)
    The number of topics.
    Example: 1

  - `conversations.ticket` (object)
    The ticket details when the conversation is a ticket. `null` for any other conversation.

  - `conversations.ticket.type` (string)
    Always `ticket`.
    Example: ticket

  - `conversations.ticket.id` (integer)
    The id of the ticket's conversation.
    Example: 1295

  - `conversations.ticket.url` (string)
    The link to the ticket in the inbox.
    Example: https://app.intercom.com/a/apps/abcd1234/conversations/1295

  - `conversations.ticket.state` (string)
    The current state of the ticket.
    Example: submitted

  - `conversations.ticket.ticket_type` (string)
    The name of the ticket type.
    Example: Bug report

  - `conversations.ticket.ticket_type_description` (string)
    The description of the ticket type.
    Example: Something is broken

  - `conversations.ticket.ticket_type_emoji` (string)
    The emoji of the ticket type.
    Example: 🐛

  - `conversations.ticket.ticket_custom_state_admin_label` (string)
    The label of the ticket's state as teammates see it.
    Example: Submitted

  - `conversations.ticket.ticket_custom_state_user_label` (string)
    The label of the ticket's state as the customer sees it.
    Example: Received

  - `conversations.external_references` (array)
    References linking this conversation to records in an external helpdesk or CRM system. Populated for Fin Standalone workspaces synced from an external platform; an empty array otherwise. Sorted alphabetically by `type` and capped at 20 entries.
    Example: [{"type":"zendesk_ticket","id":"3633338"},{"type":"zendesk_sunshine_conversation","id":"abc-def-uuid"}]

  - `conversations.external_references.type` (string)
    The type of external system the reference points to. Possible values include `zendesk_ticket`, `zendesk_sunshine_conversation`, `salesforce_case`, `salesforce_in_app_message_conversation`, `freshdesk_ticket`, `freshchat_conversation`, `hubspot_conversation`, `custom_helpdesk_conversation`, `api_conversation`.
    Example: zendesk_ticket

  - `conversations.external_references.id` (string)
    The identifier of the record in the external system. Always serialized as a string, since some external IDs exceed 32-bit integer range.
    Example: 3633338

  - `conversations.monitor_evaluations` (array)
    The latest QA monitor evaluation for each monitor that has evaluated this conversation, whatever its result. Only included when `include_monitors=true` is passed as a query parameter.

  - `conversations.monitor_evaluations.monitor_id` (string)
    The unique identifier of the monitor that produced this evaluation.
    Example: 12345

  - `conversations.monitor_evaluations.monitor_name` (string)
    The name of the monitor at the time of evaluation. Null if the monitor has since been deleted.
    Example: Customer complaint handling

  - `conversations.monitor_evaluations.monitor_type` (string)
    The type of the monitor. Null if the monitor has since been deleted.
    Example: prompt

  - `conversations.monitor_evaluations.result` (string)
    The evaluation outcome reported by the monitor: `included` (the conversation matches the monitor's criteria), `excluded`, `error` or `awaiting_async_data`.
    Example: included

  - `conversations.monitor_evaluations.explanation` (string)
    The reasoning provided by the monitor for its result. May be null if no reasoning was generated.
    Example: The customer mentioned wanting a refund without resolution.

  - `conversations.monitor_evaluations.evaluated_at` (integer)
    The time the monitor evaluated this conversation. Null in the rare case the underlying record's timestamp is not yet set.
    Example: 1719493065

  - `conversations.scorecards` (array)
    QA scorecard results for this conversation. Only included when `include_scorecards=true` is passed as a query parameter.

  - `conversations.scorecards.scorecard_id` (string)
    The unique identifier of the scorecard definition.
    Example: 67890

  - `conversations.scorecards.scorecard_version_id` (string)
    The unique identifier of the specific scorecard version that produced this result.
    Example: 67891

  - `conversations.scorecards.name` (string)
    The name of the scorecard.
    Example: Standard QA Review

  - `conversations.scorecards.scorecard_type` (string)
    The type of scorecard.
    Example: human

  - `conversations.scorecards.passed` (boolean)
    Whether the conversation passed the scorecard. Null when the scorecard has not been scored.
    Example: true

  - `conversations.scorecards.score` (number)
    The numeric score for the scorecard. Null when the scorecard has not been scored.
    Example: 0.85

  - `conversations.scorecards.ai_score` (number)
    The numeric score produced by AI evaluation, if applicable. Null when not AI-scored.
    Example: 0.9

  - `conversations.scorecards.evaluated_at` (integer)
    The time the scorecard was last evaluated. Null in the rare case the underlying record's timestamp is not yet set.
    Example: 1719493065

  - `conversations.scorecards.reviewed_teammate` (object)
    The teammate (or AI agent) whose handling of the conversation was reviewed by this scorecard.

  - `conversations.scorecards.reviewed_teammate.type` (string)
    The kind of reviewee. `ai` if the conversation was handled by Fin or scored without a specific teammate; `admin` if a specific teammate was reviewed.
    Enum: "ai", "admin"

  - `conversations.scorecards.reviewed_teammate.admin_id` (string)
    The id of the admin who was reviewed. Present only when `type` is `admin`.
    Example: 991267715

  - `conversations.scorecards.reviewer` (object)
    Who the review of this scorecard is assigned to. `ai` when it is assigned to Fin; `admin` when it is assigned to a teammate. Null when no review exists for this scorecard or the review is unassigned.

  - `conversations.scorecards.reviewer.type` (string)
    The kind of reviewer. `ai` if the review is assigned to Fin; `admin` if it is assigned to a teammate.
    Enum: "ai", "admin"

  - `conversations.scorecards.reviewer.admin_id` (string)
    The id of the admin the review is assigned to. Present only when `type` is `admin`.
    Example: 884120017

  - `conversations.scorecards.review_status` (string)
    The status of the review of this scorecard, as shown in the QA reviews list in Intercom. `unreviewed` while the review is waiting for a reviewer's verdict; `submitted` once the review has been submitted; `passed_review`, `needs_fix`, `wont_fix` or `fix_complete` when a teammate set a specific outcome. Null when no review exists for this scorecard.
    Enum: "unreviewed", "submitted", "passed_review", "needs_fix", "wont_fix", "fix_complete"

  - `conversations.scorecards.submitted_by` (object)
    Who last submitted the review of this scorecard, which can differ from the `reviewer` it is assigned to. `ai` when Fin submitted it; `admin` when a teammate did. Null while the review is unreviewed or when no review exists for this scorecard.

  - `conversations.scorecards.submitted_by.type` (string)
    The kind of submitter. `ai` if Fin submitted the review; `admin` if a teammate did.
    Enum: "ai", "admin"

  - `conversations.scorecards.submitted_by.admin_id` (string)
    The id of the admin who submitted the review. Present only when `type` is `admin`.
    Example: 884120017

  - `conversations.scorecards.revised_by` (object)
    Who last changed the review of this scorecard after it was submitted. `ai` when Fin made the change; `admin` when a teammate did. Null while the review is unreviewed, when it has not been changed since it was submitted, or when no review exists for this scorecard.

  - `conversations.scorecards.revised_by.type` (string)
    The kind of reviser. `ai` if Fin changed the review; `admin` if a teammate did.
    Enum: "ai", "admin"

  - `conversations.scorecards.revised_by.admin_id` (string)
    The id of the admin who last changed the review. Present only when `type` is `admin`.
    Example: 884120017

  - `conversations.scorecards.notes` (array)
    The notes teammates left on the QA review linked to this scorecard entry. Empty when the scorecard has no linked review.
    Example: [{"id":"9001","created_at":1734537900,"updated_at":1734537900,"author":{"type":"admin","admin_id":"884120017"},"body":"Great empathy in the second reply."}]

  - `conversations.scorecards.notes.id` (string)
    The id of the note.
    Example: 9001

  - `conversations.scorecards.notes.created_at` (integer)
    The time the note was created.
    Example: 1734537900

  - `conversations.scorecards.notes.updated_at` (integer)
    The time the note was last edited. Equal to `created_at` when the note has never been edited.
    Example: 1734537900

  - `conversations.scorecards.notes.author` (object)
    Who wrote the note. Null when the teammate who wrote it has since been deleted.

  - `conversations.scorecards.notes.author.type` (string)
    The kind of author. `admin` when a teammate wrote the note; `ai` when Fin did.
    Enum: "ai", "admin"

  - `conversations.scorecards.notes.author.admin_id` (string)
    The id of the admin who wrote the note. Present only when `type` is `admin`.
    Example: 884120017

  - `conversations.scorecards.notes.body` (string)
    The text of the note exactly as the teammate entered it. Plain text; it is not rendered as HTML.
    Example: Great empathy in the second reply.

  - `conversations.scorecards.evaluators` (array)
    Per-evaluator results within this scorecard.

  - `conversations.scorecards.evaluators.evaluator_id` (string)
    The unique identifier of the evaluator (criterion) within the scorecard.
    Example: 54321

  - `conversations.scorecards.evaluators.name` (string)
    The name of the evaluator (criterion). Null if the evaluator's name could not be resolved.
    Example: Tone of voice

  - `conversations.scorecards.evaluators.result` (object)
    The evaluator's result for this conversation. Null if the evaluator was not scored.

  - `conversations.scorecards.evaluators.result.value` (string)
    The evaluator's selected value (typically a label such as `pass`, `fail`, or a category identifier).
    Example: pass

  - `conversations.scorecards.evaluators.result.value_label` (string)
    The label of the rating option matching `value` (for example `Needs improvement`). Omitted when the label could not be resolved.
    Example: Pass

  - `conversations.scorecards.evaluators.result.source` (string)
    The origin of the result (for example, `ai` or `human`).
    Example: ai

  - `conversations.scorecards.evaluators.result.reasoning` (string)
    A free-text explanation of the result.
    Example: The agent acknowledged the issue and resolved it within the same response.

  - `conversations.scorecards.evaluators.result.reason_ids` (array)
    Identifiers for structured reasons assigned to the result, if any.
    Example: ["101","102"]

  - `conversations.scorecards.evaluators.result.reasons` (array)
    The structured reasons chosen for this result. Omitted when none were chosen.
    Example: [{"name":"Clear and concise"},{"name":"Empathetic tone"}]

  - `conversations.scorecards.evaluators.result.reasons.name` (string)
    The name of the reason. Null if the reason's name could not be resolved.
    Example: Clear and concise

  - `conversations.scorecards.evaluators.result.other_text` (string)
    Free-text entered by the reviewer to supplement or stand in for the structured `reason_ids` — typically captured when the reviewer selects an "Other" option or adds a custom note. Null when not provided.
    Example: Agent acknowledged the issue but missed the follow-up question about billing.

  - `total_count` (integer)
    A count of the total number of objects.
    Example: 12345

  - `pages` (object)
    Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data.
A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.

  - `pages.type` (string)
    the type of object `pages`.
    Enum: "pages"

  - `pages.page` (integer)
    The current page
    Example: 1

  - `pages.next` (object)
    Fetch the next page by sending this `starting_after` cursor. Omitted on the last page.

  - `pages.next.page` (integer)
    The number of the next page
    Example: 2

  - `pages.next.starting_after` (string)
    The cursor to send in the next request to get the next page of results.
    Example: your-cursor-from-response

  - `pages.per_page` (integer)
    Number of results per page
    Example: 2

  - `pages.total_pages` (integer)
    Total number of pages
    Example: 13

## Response 400 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (any, required)
    A string indicating the kind of error, used to further qualify the HTTP response code. A few request validation errors send an HTTP status code as an integer here instead, for example `422`.
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

## Response 401 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (any, required)
    A string indicating the kind of error, used to further qualify the HTTP response code. A few request validation errors send an HTTP status code as an integer here instead, for example `422`.
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

## Response 403 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (any, required)
    A string indicating the kind of error, used to further qualify the HTTP response code. A few request validation errors send an HTTP status code as an integer here instead, for example `422`.
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

