Skip to main content
PATCH
Update a session comment
Replaces the content of an existing internal note and stamps it as edited. Only the note’s author may edit it: agent_id must match the agent the note is attributed to, otherwise the request is rejected with a 403. A note that has been deleted can no longer be edited.
agent_id identifies who the edit is attributed to — it is not a credential. An API key is scoped to the organization, not to one agent, so treat this rule as a safeguard against editing the wrong agent’s note rather than as a permission boundary between your own agents.
The note is resolved against the session in the path, so a comment_uuid belonging to a different session returns a 404 rather than editing the wrong conversation.

Attachments

attachments is a full replacement of the note’s file list, not a patch: So editing only the wording is safe — omit the field and the files stay put. To drop a single file, send the list of the ones you want to keep.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

session_id
string
required

The unique identifier of the chat session

comment_uuid
string<uuid>
required

The unique identifier of the comment

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

Body

application/json
content
string
required

Replacement comment text content

Minimum string length: 1
agent_id
integer
required

Agent user ID performing the edit. Only the note's author may edit it.

Required range: x <= 9007199254740991
attachments
object[]

Response

Default Response

id
number
required
uuid
string
required
session_id
string
required
type
enum<string>
required
Available options:
agent_assigned_by_integration,
agent_assigned_by_system,
agent_assigned_by_user,
agent_changed,
agent_comment,
agent_initiated_session,
agent_joined,
agent_message,
agent_reopened_session,
agent_took_session_from_ai,
agent_unassigned_by_integration,
agent_unassigned_by_system,
agent_unassigned_by_user,
ai_assumed_the_session_resolved,
ai_decided_to_not_reply,
ai_decided_to_resolve_the_issue,
ai_reopened_session,
ai_response_cancelled,
ai_resumed_by_system,
ai_suggestion,
call_history,
call_transferred,
closed_resolved_by_agent,
closed_resolved_by_api,
closed_resolved_by_contact,
closed_resolved_by_integration,
closed_resolved_by_system,
closed_unresolved_by_agent,
closed_unresolved_by_api,
closed_unresolved_by_system,
contact_data_updated,
csat_requested,
csat_submitted,
email_draft_message,
handoff,
handoff_to_salesforce_miaw,
handoff_to_zendesk,
integration_reopened_session,
message,
pii_attachment_removed,
prohibited_topic_detected,
salesforce_fields_updated,
sequence_message,
session_forwarded,
session_language_changed_by_agent,
session_language_changed_by_api,
session_language_changed_by_integration,
session_language_changed_by_system,
skills_added_by_system,
sla_applied_by_agent,
sla_applied_by_system,
sla_first_reply_breached,
sla_first_reply_completed_after_breach,
sla_first_reply_fulfilled,
sla_first_reply_metric_started,
sla_freezed_office_hours_ended,
sla_freezed_snoozed,
sla_next_reply_breached,
sla_next_reply_completed_after_breach,
sla_next_reply_fulfilled,
sla_next_reply_metric_started,
sla_removed_by_agent,
sla_removed_by_system,
sla_resolution_breached,
sla_resolution_completed_after_breach,
sla_resolution_fulfilled,
sla_resolution_metric_started,
sla_resolution_paused_resolved,
sla_resolution_paused_waiting_on_customer,
sla_resolution_resumed_customer_replied,
sla_resolution_resumed_reopened,
sla_resumed_office_hours_started,
sla_resumed_snooze_cancelled,
sla_resumed_snooze_expired,
state_checkpoint,
sub_session_created,
sub_session_linked_by_agent,
sub_session_linked_by_api,
sub_session_linked_by_integration,
sub_session_linked_by_system,
sub_session_unlinked_by_agent,
sub_session_unlinked_by_api,
sub_session_unlinked_by_integration,
sub_session_unlinked_by_system,
sub_status_removed_by_agent,
sub_status_removed_by_api,
sub_status_removed_by_integration,
sub_status_removed_by_system,
sub_status_set_by_agent,
sub_status_set_by_api,
sub_status_set_by_integration,
sub_status_set_by_system,
system_reopened_session,
tag_added_by_agent,
tag_added_by_api,
tag_added_by_integration,
tag_added_by_system,
tag_removed_by_agent,
tag_removed_by_api,
tag_removed_by_integration,
tag_removed_by_system,
team_assigned_by_integration,
team_assigned_by_system,
team_assigned_by_user,
team_unassigned_by_integration,
team_unassigned_by_system,
team_unassigned_by_user,
user_confirmed_the_session_resolved,
workflow_message,
workflow_note,
workflow_triggered
session_closed_payload
any
required
chatbot_id
string | null
from_user
boolean | null
message
string | null
original_message
string | null
original_language
string | null
translated_message
string | null
translated_language
string | null
created_at
string<date-time> | null
updated_at
string<date-time> | null
debug_json
object
knowledgebase_called
boolean | null
extra_params
object | null
agent_id
number | null
agent_name
string | null
agent_avatar
string | null
handoff_happened_during_office_hours
boolean | null
sender_display_name
string | null
plan_executed
boolean | null
contact_id
string | null
contact_name
string | null
contact_avatar_url
string | null
contact_source
enum<string> | null
Available options:
csv,
form,
freshchat,
hubspot,
intercom,
pipedream,
salesforce,
slack
contact_slack_data
string | null
attachments
object[] | null
email_rfc_message_id
string | null
email_to
string[] | null
email_cc
string[] | null
external_message_id
string | null
csat_score
number | null
csat_feedback
string | null
state_checkpoint_payload
unknown
client_context
object | null
workflow_id
string | null
workflow_run_id
string | null
sequence_id
string | null
whatsapp_template_name
string | null
whatsapp_template_snapshot
object | null
from_opencx_public_api
boolean | null
sub_status_id
string | null
whatsapp_sent_at
string<date-time> | null
whatsapp_delivered_at
string<date-time> | null
whatsapp_read_at
string<date-time> | null
whatsapp_failed_at
string<date-time> | null
whatsapp_error_title
string | null
whatsapp_error_details
string | null
twitter_sent_at
string<date-time> | null
twitter_read_at
string<date-time> | null
twitter_failed_at
string<date-time> | null
twitter_error_title
string | null
twitter_error_details
string | null
agent_changed_payload
object
comment_thread_id
string | null
edited_at
string<date-time> | null
deleted_at
string<date-time> | null
phone_call_id
string | null
phone_call
object | null