Skip to content

Commit 6e3d046

Browse files
dan0505claude
andauthored
docs(tickets): document linked_conversations link/unlink endpoints (Preview) (#566)
Adds POST /tickets/{ticket_id}/linked_conversations and DELETE /tickets/{ticket_id}/linked_conversations/{id} to the Preview spec. These endpoints are available on the Preview version of the API but were missing from the spec, so they were undocumented. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent a7d107a commit 6e3d046

1 file changed

Lines changed: 286 additions & 0 deletions

File tree

descriptions/0/api.intercom.io.yaml

Lines changed: 286 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20879,6 +20879,292 @@ paths:
2087920879
summary: Tag not found
2088020880
value:
2088120881
admin_id: 991267983
20882+
"/tickets/{ticket_id}/linked_conversations":
20883+
post:
20884+
summary: Link a conversation to a ticket
20885+
parameters:
20886+
- name: Intercom-Version
20887+
in: header
20888+
schema:
20889+
"$ref": "#/components/schemas/intercom_version"
20890+
- name: ticket_id
20891+
in: path
20892+
description: The unique identifier for the tracker ticket which is given
20893+
by Intercom.
20894+
example: '64619700005694'
20895+
required: true
20896+
schema:
20897+
type: string
20898+
tags:
20899+
- Tickets
20900+
operationId: linkConversationToTicket
20901+
description: |
20902+
Link a conversation to an existing tracker ticket. The conversation can be
20903+
a regular conversation or one that has been converted into a customer ticket.
20904+
20905+
Use this when related conversations surface after a tracker ticket has
20906+
already been created. The ticket in the path must be a tracker ticket, and
20907+
`conversation_id` in the body is the conversation (or customer ticket) to
20908+
link to it. This returns the linked conversation.
20909+
20910+
A tracker ticket can have up to 2,500 linked conversations; once that
20911+
limit is reached, further requests return `linked_conversation_limit_exceeded`.
20912+
20913+
Requires the `write_tickets` OAuth scope.
20914+
responses:
20915+
'200':
20916+
description: successful
20917+
content:
20918+
application/json:
20919+
examples:
20920+
successful:
20921+
value:
20922+
type: conversation
20923+
id: '204'
20924+
created_at: 1734537715
20925+
updated_at: 1734537740
20926+
source:
20927+
type: conversation
20928+
id: '403918350'
20929+
delivered_as: admin_initiated
20930+
subject: ''
20931+
body: "<p>Customer report</p>"
20932+
author:
20933+
type: admin
20934+
id: '991267645'
20935+
name: Ciaran176 Lee
20936+
email: admin176@email.com
20937+
attachments: []
20938+
redacted: false
20939+
contacts:
20940+
type: contact.list
20941+
contacts:
20942+
- type: contact
20943+
id: 6762f1261bb69f9f2193bba7
20944+
external_id: '70'
20945+
open: true
20946+
state: open
20947+
linked_objects:
20948+
type: list
20949+
total_count: 1
20950+
has_more: false
20951+
data:
20952+
- type: ticket
20953+
id: '207'
20954+
category: Tracker
20955+
schema:
20956+
"$ref": "#/components/schemas/conversation"
20957+
'400':
20958+
description: Bad request
20959+
content:
20960+
application/json:
20961+
examples:
20962+
Not a tracker ticket:
20963+
value:
20964+
type: error.list
20965+
request_id: 4f2d9c1a-7b3e-4a6c-9d21-8e5f0c2b1a34
20966+
errors:
20967+
- code: invalid_ticket_type
20968+
message: Only tracker tickets support linking conversations
20969+
Already linked to a tracker:
20970+
value:
20971+
type: error.list
20972+
request_id: 5a3e0d2b-8c4f-4b7d-ae32-9f6a1d3c2b45
20973+
errors:
20974+
- code: already_linked_to_tracker
20975+
message: A conversation can only have one tracker ticket
20976+
Linked conversation limit exceeded:
20977+
value:
20978+
type: error.list
20979+
request_id: 6b4f1e3c-9d50-4c8e-bf43-0a7b2e4d3c56
20980+
errors:
20981+
- code: linked_conversation_limit_exceeded
20982+
message: Ticket has reached the maximum number of conversations
20983+
that can be linked
20984+
Missing conversation_id:
20985+
value:
20986+
type: error.list
20987+
request_id: 7c5a2f4d-ae61-4d9f-c054-1b8c3f5e4d67
20988+
errors:
20989+
- code: parameter_not_found
20990+
message: conversation_id not specified
20991+
schema:
20992+
"$ref": "#/components/schemas/error"
20993+
'404':
20994+
description: Not found
20995+
content:
20996+
application/json:
20997+
examples:
20998+
Ticket not found:
20999+
value:
21000+
type: error.list
21001+
request_id: 8d6b3a5e-bf72-4ea0-d165-2c9d4a6f5e78
21002+
errors:
21003+
- code: ticket_not_found
21004+
message: Ticket not found
21005+
Conversation not found:
21006+
value:
21007+
type: error.list
21008+
request_id: 9e7c4b6f-c083-4fb1-e276-3d0e5b7a6f89
21009+
errors:
21010+
- code: conversation_not_found
21011+
message: Conversation not found
21012+
schema:
21013+
"$ref": "#/components/schemas/error"
21014+
'401':
21015+
description: Unauthorized
21016+
content:
21017+
application/json:
21018+
examples:
21019+
Unauthorized:
21020+
value:
21021+
type: error.list
21022+
request_id: af8d5c70-d194-40c2-f387-4e1f6c8b7091
21023+
errors:
21024+
- code: unauthorized
21025+
message: Access Token Invalid
21026+
schema:
21027+
"$ref": "#/components/schemas/error"
21028+
requestBody:
21029+
content:
21030+
application/json:
21031+
schema:
21032+
type: object
21033+
required:
21034+
- conversation_id
21035+
properties:
21036+
conversation_id:
21037+
type: string
21038+
description: The unique identifier (given by Intercom) for the
21039+
conversation or customer ticket to link to the tracker ticket.
21040+
example: '204'
21041+
examples:
21042+
successful:
21043+
summary: Link a conversation to a tracker ticket
21044+
value:
21045+
conversation_id: '204'
21046+
"/tickets/{ticket_id}/linked_conversations/{id}":
21047+
delete:
21048+
summary: Unlink a conversation from a ticket
21049+
parameters:
21050+
- name: Intercom-Version
21051+
in: header
21052+
schema:
21053+
"$ref": "#/components/schemas/intercom_version"
21054+
- name: ticket_id
21055+
in: path
21056+
description: The unique identifier for the tracker ticket which is given
21057+
by Intercom.
21058+
example: '64619700005694'
21059+
required: true
21060+
schema:
21061+
type: string
21062+
- name: id
21063+
in: path
21064+
description: The unique identifier (given by Intercom) for the linked conversation
21065+
or customer ticket to unlink.
21066+
example: '204'
21067+
required: true
21068+
schema:
21069+
type: string
21070+
tags:
21071+
- Tickets
21072+
operationId: unlinkConversationFromTicket
21073+
description: |
21074+
Unlink a conversation (or converted customer ticket) from a tracker ticket
21075+
it is currently linked to. The ticket in the path must be a tracker ticket.
21076+
This returns the conversation that was unlinked.
21077+
21078+
Requires the `write_tickets` OAuth scope.
21079+
responses:
21080+
'200':
21081+
description: successful
21082+
content:
21083+
application/json:
21084+
examples:
21085+
successful:
21086+
value:
21087+
type: conversation
21088+
id: '204'
21089+
created_at: 1734537715
21090+
updated_at: 1734537752
21091+
source:
21092+
type: conversation
21093+
id: '403918350'
21094+
delivered_as: admin_initiated
21095+
subject: ''
21096+
body: "<p>Customer report</p>"
21097+
author:
21098+
type: admin
21099+
id: '991267645'
21100+
name: Ciaran176 Lee
21101+
email: admin176@email.com
21102+
attachments: []
21103+
redacted: false
21104+
contacts:
21105+
type: contact.list
21106+
contacts:
21107+
- type: contact
21108+
id: 6762f1261bb69f9f2193bba7
21109+
external_id: '70'
21110+
open: true
21111+
state: open
21112+
linked_objects:
21113+
type: list
21114+
total_count: 0
21115+
has_more: false
21116+
data: []
21117+
schema:
21118+
"$ref": "#/components/schemas/conversation"
21119+
'400':
21120+
description: Bad request
21121+
content:
21122+
application/json:
21123+
examples:
21124+
Not a tracker ticket:
21125+
value:
21126+
type: error.list
21127+
request_id: b09e6d81-e2a5-41d3-9498-5f2a7d9c8102
21128+
errors:
21129+
- code: invalid_ticket_type
21130+
message: Only tracker tickets support unlinking conversations
21131+
schema:
21132+
"$ref": "#/components/schemas/error"
21133+
'404':
21134+
description: Not found
21135+
content:
21136+
application/json:
21137+
examples:
21138+
Ticket not found:
21139+
value:
21140+
type: error.list
21141+
request_id: c1af7e92-f3b6-42e4-8509-6a3b8e0d9213
21142+
errors:
21143+
- code: ticket_not_found
21144+
message: Ticket not found
21145+
Conversation not linked:
21146+
value:
21147+
type: error.list
21148+
request_id: d2b08fa3-04c7-43f5-9610-7b4c9f1e0324
21149+
errors:
21150+
- code: conversation_not_found
21151+
message: Conversation is not linked to this ticket
21152+
schema:
21153+
"$ref": "#/components/schemas/error"
21154+
'401':
21155+
description: Unauthorized
21156+
content:
21157+
application/json:
21158+
examples:
21159+
Unauthorized:
21160+
value:
21161+
type: error.list
21162+
request_id: e3c19fb4-150d-44a6-a721-8c5daf2f1435
21163+
errors:
21164+
- code: unauthorized
21165+
message: Access Token Invalid
21166+
schema:
21167+
"$ref": "#/components/schemas/error"
2088221168
"/tickets":
2088321169
post:
2088421170
summary: Create a ticket

0 commit comments

Comments
 (0)