Skip to content

Commit ffc9fef

Browse files
authored
Improve custom object instances docs & add delete by external_id endpoint (#214)
1 parent 9bce0d1 commit ffc9fef

File tree

1 file changed

+145
-78
lines changed

1 file changed

+145
-78
lines changed

descriptions/0/api.intercom.io.yaml

Lines changed: 145 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -7355,8 +7355,10 @@ paths:
73557355
successful:
73567356
value:
73577357
id: '22'
7358-
type: object_type_identifier_1
7359-
custom_attributes: {}
7358+
type: Order
7359+
custom_attributes:
7360+
order_number: ORDER-12345
7361+
total_amount: 99.99
73607362
external_id: '123'
73617363
external_created_at: 1392036272
73627364
external_updated_at: 1392036272
@@ -7365,19 +7367,9 @@ paths:
73657367
schema:
73667368
"$ref": "#/components/schemas/custom_object_instance"
73677369
'401':
7368-
description: Unauthorized
7369-
content:
7370-
application/json:
7371-
examples:
7372-
Unauthorized:
7373-
value:
7374-
type: error.list
7375-
request_id: 12a938a3-314e-4939-b773-5cd45738bd21
7376-
errors:
7377-
- code: unauthorized
7378-
message: Access Token Invalid
7379-
schema:
7380-
"$ref": "#/components/schemas/error"
7370+
$ref: "#/components/responses/Unauthorized"
7371+
'404':
7372+
$ref: "#/components/responses/TypeNotFound"
73817373
requestBody:
73827374
content:
73837375
application/json:
@@ -7390,6 +7382,9 @@ paths:
73907382
external_id: '123'
73917383
external_created_at: 1392036272
73927384
external_updated_at: 1392036272
7385+
custom_attributes:
7386+
order_number: ORDER-12345
7387+
total_amount: 99.99
73937388
get:
73947389
summary: Get Custom Object Instance by External ID
73957390
parameters:
@@ -7398,25 +7393,15 @@ paths:
73987393
style: form
73997394
required: true
74007395
schema:
7401-
type: object
7402-
oneOf:
7403-
- description: The Intercom defined id representing the custom object instance.
7404-
title: Find by id
7405-
properties:
7406-
external_id:
7407-
type: string
7408-
required:
7409-
- external_id
7410-
additionalProperties: false
7411-
- description: The unique identifier for the instance in the external system
7412-
it originated from.
7413-
title: Find by external_id
7414-
properties:
7415-
external_id:
7416-
type: string
7417-
required:
7418-
- external_id
7419-
additionalProperties: false
7396+
type: string
7397+
description: The unique identifier for the instance in the external system
7398+
it originated from.
7399+
title: Find by external_id
7400+
properties:
7401+
external_id:
7402+
type: string
7403+
required:
7404+
- external_id
74207405
- name: Intercom-Version
74217406
in: header
74227407
schema:
@@ -7433,8 +7418,10 @@ paths:
74337418
successful:
74347419
value:
74357420
id: '24'
7436-
type: object_type_identifier_4
7437-
custom_attributes: {}
7421+
type: Order
7422+
custom_attributes:
7423+
order_number: ORDER-12345
7424+
total_amount: 99.99
74387425
external_id: '123'
74397426
external_created_at:
74407427
external_updated_at:
@@ -7443,19 +7430,50 @@ paths:
74437430
schema:
74447431
"$ref": "#/components/schemas/custom_object_instance"
74457432
'401':
7446-
description: Unauthorized
7433+
$ref: "#/components/responses/Unauthorized"
7434+
'404':
7435+
$ref: "#/components/responses/ObjectNotFound"
7436+
delete:
7437+
summary: Delete a Custom Object Instance by External ID
7438+
parameters:
7439+
- name: external_id
7440+
in: query
7441+
style: form
7442+
required: true
7443+
schema:
7444+
type: string
7445+
description: The unique identifier for the instance in the external system
7446+
it originated from.
7447+
title: Find by external_id
7448+
properties:
7449+
external_id:
7450+
type: string
7451+
required:
7452+
- external_id
7453+
- name: Intercom-Version
7454+
in: header
7455+
schema:
7456+
"$ref": "#/components/schemas/intercom_version"
7457+
tags:
7458+
- Custom Object Instances
7459+
description: Delete a single Custom Object instance by external_id.
7460+
responses:
7461+
'200':
7462+
description: successful
74477463
content:
74487464
application/json:
74497465
examples:
7450-
Unauthorized:
7466+
successful:
74517467
value:
7452-
type: error.list
7453-
request_id: dae27fda-0f84-43b2-be25-f97697c229af
7454-
errors:
7455-
- code: unauthorized
7456-
message: Access Token Invalid
7468+
id: '26'
7469+
object: Order
7470+
deleted: true
74577471
schema:
7458-
"$ref": "#/components/schemas/error"
7472+
"$ref": "#/components/schemas/custom_object_instance_deleted"
7473+
'401':
7474+
$ref: "#/components/responses/Unauthorized"
7475+
'404':
7476+
$ref: "#/components/responses/ObjectNotFound"
74597477
"/custom_object_instances/{custom_object_type_identifier}/{id}":
74607478
parameters:
74617479
- name: custom_object_type_identifier
@@ -7491,8 +7509,10 @@ paths:
74917509
successful:
74927510
value:
74937511
id: '25'
7494-
type: object_type_identifier_6
7495-
custom_attributes: {}
7512+
type: Order
7513+
custom_attributes:
7514+
order_number: ORDER-12345
7515+
total_amount: 99.99
74967516
external_id: '123'
74977517
external_created_at:
74987518
external_updated_at:
@@ -7501,21 +7521,11 @@ paths:
75017521
schema:
75027522
"$ref": "#/components/schemas/custom_object_instance"
75037523
'401':
7504-
description: Unauthorized
7505-
content:
7506-
application/json:
7507-
examples:
7508-
Unauthorized:
7509-
value:
7510-
type: error.list
7511-
request_id: 40038755-5b64-4d2b-b71b-48471c1dc79f
7512-
errors:
7513-
- code: unauthorized
7514-
message: Access Token Invalid
7515-
schema:
7516-
"$ref": "#/components/schemas/error"
7524+
$ref: "#/components/responses/Unauthorized"
7525+
'404':
7526+
$ref: "#/components/responses/ObjectNotFound"
75177527
delete:
7518-
summary: Delete a Custom Object Instance
7528+
summary: Delete a Custom Object Instance by ID
75197529
parameters:
75207530
- name: id
75217531
in: path
@@ -7540,24 +7550,14 @@ paths:
75407550
successful:
75417551
value:
75427552
id: '26'
7543-
object: object_type_identifier_8
7553+
object: Order
75447554
deleted: true
75457555
schema:
75467556
"$ref": "#/components/schemas/custom_object_instance_deleted"
75477557
'401':
7548-
description: Unauthorized
7549-
content:
7550-
application/json:
7551-
examples:
7552-
Unauthorized:
7553-
value:
7554-
type: error.list
7555-
request_id: b25664a7-86cc-4725-8c95-d9ea339b12b7
7556-
errors:
7557-
- code: unauthorized
7558-
message: Access Token Invalid
7559-
schema:
7560-
"$ref": "#/components/schemas/error"
7558+
$ref: "#/components/responses/Unauthorized"
7559+
'404':
7560+
$ref: "#/components/responses/ObjectNotFound"
75617561
"/data_attributes":
75627562
get:
75637563
summary: List all data attributes
@@ -15802,11 +15802,10 @@ components:
1580215802
properties:
1580315803
message_type:
1580415804
type: string
15805-
description: 'The kind of message being created. Values: `in_app`, `email` or `sms`.'
15805+
description: 'The kind of message being created. Values: `in_app` or `email`.'
1580615806
enum:
1580715807
- in_app
1580815808
- email
15809-
- sms
1581015809
example: in_app
1581115810
subject:
1581215811
type: string
@@ -15969,6 +15968,8 @@ components:
1596915968
type: object
1597015969
nullable: true
1597115970
description: The custom attributes which are set for the Custom Object instance.
15971+
additionalProperties:
15972+
type: string
1597215973
create_or_update_tag_request:
1597315974
description: You can create or update an existing tag.
1597415975
type: object
@@ -16049,7 +16050,6 @@ components:
1604916050
example:
1605016051
- id: '1234'
1605116052
conversation_to_link_id:
16052-
required: false
1605316053
type: string
1605416054
description: "The ID of the conversation you want to link to the ticket.
1605516055
Here are the valid ways of linking two tickets:\n
@@ -16240,11 +16240,35 @@ components:
1624016240
id:
1624116241
type: string
1624216242
description: The Intercom defined id representing the custom object instance.
16243-
example: 5a7a19e9f59ae20001d1c1e6
16243+
example: 16032025
1624416244
external_id:
1624516245
type: string
1624616246
description: The id you have defined for the custom object instance.
1624716247
example: 0001d1c1e65a7a19e9f59ae2
16248+
external_created_at:
16249+
type: integer
16250+
format: date-time
16251+
nullable: true
16252+
description: The time when the Custom Object instance was created in the
16253+
external system it originated from.
16254+
example: 1571672154
16255+
external_updated_at:
16256+
type: integer
16257+
format: date-time
16258+
nullable: true
16259+
description: The time when the Custom Object instance was last updated in
16260+
the external system it originated from.
16261+
example: 1571672154
16262+
created_at:
16263+
type: integer
16264+
format: date-time
16265+
description: The time the attribute was created as a UTC Unix timestamp
16266+
example: 1671028894
16267+
updated_at:
16268+
type: integer
16269+
format: date-time
16270+
description: The time the attribute was last updated as a UTC Unix timestamp
16271+
example: 1671028894
1624816272
type:
1624916273
type: string
1625016274
description: The identifier of the custom object type that defines the structure
@@ -19767,6 +19791,49 @@ components:
1976719791
bearerAuth:
1976819792
type: http
1976919793
scheme: bearer
19794+
responses:
19795+
Unauthorized:
19796+
description: Unauthorized
19797+
content:
19798+
application/json:
19799+
examples:
19800+
Unauthorized:
19801+
value:
19802+
type: error.list
19803+
request_id: 12a938a3-314e-4939-b773-5cd45738bd21
19804+
errors:
19805+
- code: unauthorized
19806+
message: Access Token Invalid
19807+
schema:
19808+
"$ref": "#/components/schemas/error"
19809+
TypeNotFound:
19810+
description: Not Found
19811+
content:
19812+
application/json:
19813+
examples:
19814+
TypeNotFound:
19815+
value:
19816+
type: error.list
19817+
request_id: 12a938a3-314e-4939-b773-5cd45738bd21
19818+
errors:
19819+
- code: not_found
19820+
message: Custom object type `undefined` not found
19821+
schema:
19822+
"$ref": "#/components/schemas/error"
19823+
ObjectNotFound:
19824+
description: Not Found
19825+
content:
19826+
application/json:
19827+
examples:
19828+
ObjectNotFound:
19829+
value:
19830+
type: error.list
19831+
request_id: 12a938a3-314e-4939-b773-5cd45738bd21
19832+
errors:
19833+
- code: not_found
19834+
message: Custom object instance not found
19835+
schema:
19836+
"$ref": "#/components/schemas/error"
1977019837
servers:
1977119838
- url: https://api.intercom.io
1977219839
description: The production API server

0 commit comments

Comments
 (0)