PUT/conversations/{conversation_id}

Update a conversation

Updates a conversation's read state, title, custom attributes, or associated company. Supply only the fields you want to change; use the reply or manage endpoints for replies and actions such as assignment, opening, closing, or snoozing. The response returns the updated conversation.

3 parameters · 4 body fields
conversation_idintegerrequired
The identifier of the conversation to update.
display_asstringoptional
Set to `plaintext` to retrieve message bodies and subjects as plain text, with inline links rendered as `label (url)`.
Intercom-Versionstringoptional
The Intercom API version to use. Defaults to `2.17` when omitted.
Allowed:1.01.11.21.31.42.02.12.22.32.42.52.6Default:2.17

Conversation fields to update. All fields are optional; only supplied fields are changed.

readbooleanoptional
Mark a conversation as read within Intercom.
titlestringoptional
The title given to the conversation
custom_attributesobjectoptional
The custom attributes which are set on this object, as key-value pairs. For relationship attributes the value should be a list of custom object instance models. Only attributes a caller may set are accepted here — attributes Intercom generates are returned in responses only.
company_idstringoptional
The ID of the company that the conversation is associated with. The unique identifier for the company which is given by Intercom. Set to nil to remove company.

4 status codes
200Returns the updated conversation object, including its current conversation details and associations.
typestringoptional
Always conversation.
idstringoptional
The id representing the conversation.
titlestringoptional
The title given to the conversation.
created_atintegeroptional
The time the conversation was created.
updated_atintegeroptional
The last time the conversation was updated.
waiting_sinceintegeroptional
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.
snoozed_untilintegeroptional
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.
openbooleanoptional
Indicates whether a conversation is open (true) or closed (false).
statestringoptional
Can be set to "open", "closed" or "snoozed".
Allowed:openclosedsnoozed
readbooleanoptional
Indicates whether a conversation has been read.
prioritystringoptional
The priority level of the conversation. Returns one of none, low, medium, high, or urgent.
Allowed:nonelowmediumhighurgent
admin_assignee_idintegeroptional
The id of the admin assigned to the conversation. If it's not assigned to an admin it will return 0.
team_assignee_idintegeroptional
The id of the team assigned to the conversation. If it's not assigned to a team it will return 0.
companyobjectoptional
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.
tagsobjectoptional
A list of tags objects associated with a conversation
conversation_ratingobjectoptional
The Conversation Rating object which contains information on the rating and/or remark added by a Contact and the Admin assigned to the conversation.
sourceobjectoptional
The type of the conversation part that started this conversation. Can be Contact, Admin, Campaign, Automated or Operator initiated.
contactsobjectoptional
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.
teammatesobjectoptional
The list of teammates who participated in the conversation (wrote at least one conversation part).
custom_attributesobjectoptional
An object containing the different custom attributes associated to the conversation as key-value pairs. For relationship attributes the value will be a list of custom object instance models. Attributes that Intercom generates — such as "CX Score rating", "CX Score explanation", "AI Topic and Subtopic" and "CX Score reasons" — may also be included. Two of them, "AI Topic and Subtopic" and "CX Score reasons", carry lists of objects as their values, and are returned in responses only — they cannot be set on a write request.
first_contact_replyobjectoptional
An object containing information on the first users message. For a contact initiated message this will represent the users original message.
sla_appliedobjectoptional
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.
statisticsobjectoptional
A Statistics object containing all information required for reporting, with timestamps and calculated metrics.
conversation_partsobjectoptional
A list of Conversation Part objects for each part message in the conversation. This is only returned when Retrieving a Conversation, and ignored when Listing all Conversations. There is a limit of 500 parts.
linked_objectsobjectoptional
An object containing metadata about linked conversations and linked tickets. Up to 1000 can be returned.
ai_agent_participatedbooleanoptional
Indicates whether the AI Agent participated in the conversation.
ai_agentobjectoptional
Data related to AI Agent involvement in the conversation.
sales_agent_participatedbooleanoptional
Indicates whether the Sales Agent participated in the conversation.
sales_agentobjectoptional
Data related to Sales Agent involvement in the conversation.
channelobjectoptional
The channel through which the conversation was initiated and its current channel.
external_referencesarray<ConversationExternalReference>optional
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.
monitor_evaluationsarray<ConversationMonitorEvaluation>optional
QA monitor evaluations that flagged this conversation. Only included when `include_monitors=true` is passed as a query parameter.
scorecardsarray<ConversationScorecard>optional
QA scorecard results for this conversation. Only included when `include_scorecards=true` is passed as a query parameter.
401Returned when the request is unauthorized.

One documented failure

  • unauthorized

    Access Token Invalid

typestringrequired
The type is error.list
request_idstringoptional
errorsarray<object>required
An array of one or more error objects
403Returned when the API plan restricts access.

One documented failure

  • api_plan_restricted

    Active subscription needed.

typestringrequired
The type is error.list
request_idstringoptional
errorsarray<object>required
An array of one or more error objects
404Returned when the conversation is not found.

One documented failure

  • not_found

    Resource Not Found

typestringrequired
The type is error.list
request_idstringoptional
errorsarray<object>required
An array of one or more error objects

Error handling

A 401 is returned when the request is unauthorized, a 403 when the API plan restricts access, and a 404 when the conversation is not found. The conversation_id path parameter identifies the conversation to update. Only settable custom attributes are accepted in custom_attributes; set company_id to nil to remove the company association.