Skip to content

Commit 4badb49

Browse files
committed
feat: Add create and delete endpoints for data connectors
1 parent ed9ca9b commit 4badb49

File tree

1 file changed

+327
-0
lines changed

1 file changed

+327
-0
lines changed

descriptions/0/api.intercom.io.yaml

Lines changed: 327 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10324,6 +10324,127 @@ paths:
1032410324
message: Access Token Invalid
1032510325
schema:
1032610326
"$ref": "#/components/schemas/error"
10327+
post:
10328+
summary: Create a data connector
10329+
parameters:
10330+
- name: Intercom-Version
10331+
in: header
10332+
schema:
10333+
"$ref": "#/components/schemas/intercom_version"
10334+
tags:
10335+
- Data Connectors
10336+
operationId: createDataConnector
10337+
description: |
10338+
Create a new data connector. The connector is created in `draft` state. Configure its URL, headers, data inputs, and other settings, then publish it to `live` when ready.
10339+
responses:
10340+
'201':
10341+
description: Data connector created
10342+
content:
10343+
application/json:
10344+
examples:
10345+
Data connector created:
10346+
value:
10347+
type: data_connector
10348+
id: '125'
10349+
name: Get Order Status
10350+
description: Looks up order status from an external service
10351+
state: draft
10352+
http_method: get
10353+
direct_fin_usage: true
10354+
audiences:
10355+
- leads
10356+
- visitors
10357+
execution_type: server_side
10358+
configuration_response_type: test_response_type
10359+
data_transformation_type: full_access
10360+
client_function_timeout_ms: 30000
10361+
data_inputs:
10362+
- name: order_id
10363+
type: string
10364+
description: The order ID to look up
10365+
required: true
10366+
default_value: ''
10367+
response_fields: []
10368+
object_mappings: []
10369+
token_ids: []
10370+
customer_authentication: true
10371+
bypass_authentication: false
10372+
validate_missing_attributes: true
10373+
created_by_admin_id: '128'
10374+
updated_by_admin_id: '128'
10375+
created_at: '2026-03-19T11:27:36Z'
10376+
updated_at: '2026-03-19T11:27:36Z'
10377+
execution_results_url: "/data_connectors/125/execution_results"
10378+
schema:
10379+
"$ref": "#/components/schemas/data_connector_detail"
10380+
'422':
10381+
description: Invalid parameter
10382+
content:
10383+
application/json:
10384+
examples:
10385+
Missing name:
10386+
value:
10387+
type: error.list
10388+
request_id: b4a45e2c-7a8d-4f3e-9c1a-2d5e8f7a6b3c
10389+
errors:
10390+
- code: parameter_not_found
10391+
message: Name is required
10392+
Invalid audiences:
10393+
value:
10394+
type: error.list
10395+
request_id: c5b56f3d-8b9e-5g4f-0d2b-3e6f9g8b7c4d
10396+
errors:
10397+
- code: parameter_invalid
10398+
message: "Invalid audiences. Must be a subset of: leads, users, visitors"
10399+
schema:
10400+
"$ref": "#/components/schemas/error"
10401+
'401':
10402+
description: Unauthorized
10403+
content:
10404+
application/json:
10405+
examples:
10406+
Unauthorized:
10407+
value:
10408+
type: error.list
10409+
request_id: test-uuid-replacement
10410+
errors:
10411+
- code: unauthorized
10412+
message: Access Token Invalid
10413+
schema:
10414+
"$ref": "#/components/schemas/error"
10415+
requestBody:
10416+
content:
10417+
application/json:
10418+
schema:
10419+
"$ref": "#/components/schemas/create_data_connector_request"
10420+
examples:
10421+
data_connector_created:
10422+
summary: Data connector created
10423+
value:
10424+
name: Get Order Status
10425+
description: Looks up order status from an external service
10426+
http_method: get
10427+
url: "https://api.example.com/orders/{{order_id}}/status"
10428+
direct_fin_usage: true
10429+
audiences:
10430+
- leads
10431+
- visitors
10432+
headers:
10433+
- name: Content-Type
10434+
value: application/json
10435+
data_inputs:
10436+
- name: order_id
10437+
type: string
10438+
description: The order ID to look up
10439+
required: true
10440+
default_value: ''
10441+
customer_authentication: true
10442+
bypass_authentication: false
10443+
validate_missing_attributes: true
10444+
minimal:
10445+
summary: Minimal - name only
10446+
value:
10447+
name: My Connector
1032710448
"/data_connectors/{id}":
1032810449
get:
1032910450
summary: Retrieve a data connector
@@ -10420,6 +10541,87 @@ paths:
1042010541
message: Access Token Invalid
1042110542
schema:
1042210543
"$ref": "#/components/schemas/error"
10544+
delete:
10545+
summary: Delete a data connector
10546+
parameters:
10547+
- name: Intercom-Version
10548+
in: header
10549+
schema:
10550+
"$ref": "#/components/schemas/intercom_version"
10551+
- name: id
10552+
in: path
10553+
required: true
10554+
description: The unique identifier of the data connector
10555+
example: '12345'
10556+
schema:
10557+
type: string
10558+
tags:
10559+
- Data Connectors
10560+
operationId: deleteDataConnector
10561+
description: |
10562+
Delete an existing data connector. The connector must be in `draft` state and must not be in use by any workflows or AI agents.
10563+
responses:
10564+
'200':
10565+
description: Data connector deleted
10566+
content:
10567+
application/json:
10568+
examples:
10569+
Data connector deleted:
10570+
value:
10571+
id: '125'
10572+
object: data_connector
10573+
deleted: true
10574+
schema:
10575+
"$ref": "#/components/schemas/deleted_data_connector_object"
10576+
'404':
10577+
description: Data connector not found
10578+
content:
10579+
application/json:
10580+
examples:
10581+
Data connector not found:
10582+
value:
10583+
type: error.list
10584+
request_id: b4a45e2c-7a8d-4f3e-9c1a-2d5e8f7a6b3c
10585+
errors:
10586+
- code: data_connector_not_found
10587+
message: Data connector not found
10588+
schema:
10589+
"$ref": "#/components/schemas/error"
10590+
'409':
10591+
description: Conflict
10592+
content:
10593+
application/json:
10594+
examples:
10595+
Data connector in use:
10596+
value:
10597+
type: error.list
10598+
request_id: d6c78e4f-1a2b-3c4d-5e6f-7a8b9c0d1e2f
10599+
errors:
10600+
- code: data_connector_in_use
10601+
message: Data connector is in use by other resources and cannot be deleted
10602+
Data connector not in draft:
10603+
value:
10604+
type: error.list
10605+
request_id: e7d89f5g-2b3c-4d5e-6f7g-8a9b0c1d2e3f
10606+
errors:
10607+
- code: conflict
10608+
message: Data connector must be in draft state to be deleted
10609+
schema:
10610+
"$ref": "#/components/schemas/error"
10611+
'401':
10612+
description: Unauthorized
10613+
content:
10614+
application/json:
10615+
examples:
10616+
Unauthorized:
10617+
value:
10618+
type: error.list
10619+
request_id: test-uuid-replacement
10620+
errors:
10621+
- code: unauthorized
10622+
message: Access Token Invalid
10623+
schema:
10624+
"$ref": "#/components/schemas/error"
1042310625
"/data_connectors/{data_connector_id}/execution_results":
1042410626
get:
1042510627
summary: List execution results for a data connector
@@ -21818,6 +22020,112 @@ components:
2181822020
description: A list of data attributes
2181922021
items:
2182022022
"$ref": "#/components/schemas/data_attribute"
22023+
create_data_connector_request:
22024+
title: Create Data Connector Request
22025+
type: object
22026+
description: You can create a data connector by providing the required parameters.
22027+
properties:
22028+
name:
22029+
type: string
22030+
description: The name of the data connector.
22031+
example: Get Order Status
22032+
description:
22033+
type: string
22034+
description: A description of what this data connector does.
22035+
example: Looks up order status from an external service
22036+
http_method:
22037+
type: string
22038+
description: The HTTP method used when calling the external API.
22039+
enum:
22040+
- get
22041+
- post
22042+
- put
22043+
- delete
22044+
- patch
22045+
example: get
22046+
url:
22047+
type: string
22048+
description: The URL of the external API endpoint. Supports template variables like `{{order_id}}`.
22049+
example: "https://api.example.com/orders/{{order_id}}/status"
22050+
body:
22051+
type: string
22052+
nullable: true
22053+
description: The request body template. Supports template variables.
22054+
direct_fin_usage:
22055+
type: boolean
22056+
description: Whether the connector is used directly by Fin (true) or only in workflows (false). Defaults to false.
22057+
example: false
22058+
audiences:
22059+
type: array
22060+
description: The user types this connector is available for.
22061+
items:
22062+
type: string
22063+
enum:
22064+
- leads
22065+
- users
22066+
- visitors
22067+
example:
22068+
- leads
22069+
- visitors
22070+
headers:
22071+
type: array
22072+
description: HTTP headers to include in the request.
22073+
items:
22074+
type: object
22075+
properties:
22076+
name:
22077+
type: string
22078+
description: The header name.
22079+
example: Content-Type
22080+
value:
22081+
type: string
22082+
description: The header value. Supports template variables.
22083+
example: application/json
22084+
data_inputs:
22085+
type: array
22086+
description: Input parameters accepted by the connector.
22087+
items:
22088+
type: object
22089+
properties:
22090+
name:
22091+
type: string
22092+
description: The parameter name.
22093+
example: order_id
22094+
type:
22095+
type: string
22096+
description: The parameter type.
22097+
enum:
22098+
- string
22099+
- integer
22100+
- decimal
22101+
- boolean
22102+
example: string
22103+
description:
22104+
type: string
22105+
description: A description of the parameter.
22106+
example: The order ID to look up
22107+
required:
22108+
type: boolean
22109+
description: Whether the parameter is required.
22110+
example: true
22111+
default_value:
22112+
type: string
22113+
nullable: true
22114+
description: The default value for the parameter.
22115+
customer_authentication:
22116+
type: boolean
22117+
description: Whether the connector requires customer authentication before executing. Defaults to false.
22118+
example: false
22119+
bypass_authentication:
22120+
type: boolean
22121+
description: Whether authentication is bypassed entirely (public endpoint). Defaults to false.
22122+
example: false
22123+
validate_missing_attributes:
22124+
type: boolean
22125+
description: Whether to validate that all required data inputs have values before executing.
22126+
example: false
22127+
required:
22128+
- name
2182122129
data_connector:
2182222130
title: Data Connector
2182322131
type: object
@@ -22301,6 +22609,25 @@ components:
2230122609
description: An array of data connector objects.
2230222610
items:
2230322611
"$ref": "#/components/schemas/data_connector"
22612+
deleted_data_connector_object:
22613+
title: Deleted Data Connector Object
22614+
type: object
22615+
description: Response returned when a data connector is deleted.
22616+
properties:
22617+
id:
22618+
type: string
22619+
description: The unique identifier for the data connector.
22620+
example: '125'
22621+
object:
22622+
type: string
22623+
description: The type of object which was deleted.
22624+
enum:
22625+
- data_connector
22626+
example: data_connector
22627+
deleted:
22628+
type: boolean
22629+
description: Whether the data connector was deleted successfully.
22630+
example: true
2230422631
data_event:
2230522632
title: Data Event
2230622633
type: object

0 commit comments

Comments
 (0)