elasticsearch/docs/reference/connector/apis/create-connector-api.asciidoc
Lisa Cawley f6a2a991d5
[DOCS] Link to new API site (#119038) (#119360)
Co-authored-by: shainaraskas <58563081+shainaraskas@users.noreply.github.com>
2024-12-31 04:18:27 +11:00

145 lines
4.1 KiB
Text

[[create-connector-api]]
=== Create connector API
++++
<titleabbrev>Create connector</titleabbrev>
++++
beta::[]
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-connector[Connector APIs].
--
Creates an Elastic connector.
Connectors are {es} integrations that bring content from third-party data sources, which can be deployed on {ecloud} or hosted on your own infrastructure:
* *Managed connectors* are a managed service on {ecloud}
* *Self-managed connectors* are self-hosted on your infrastructure
Find a list of all supported service types in the <<es-connectors,connectors documentation>>.
To get started with Connector APIs, check out <<es-connectors-tutorial-api, our tutorial>>.
[source,console]
--------------------------------------------------
PUT _connector/my-connector
{
"index_name": "search-google-drive",
"name": "My Connector",
"service_type": "google_drive"
}
--------------------------------------------------
////
[source,console]
----
DELETE _connector/my-connector
----
// TEST[continued]
////
[[create-connector-api-request]]
==== {api-request-title}
* `POST _connector`
* `PUT _connector/<connector_id>`
[[create-connector-api-prereqs]]
==== {api-prereq-title}
* To sync data using self-managed connectors, you need to deploy the <<es-connectors-deploy-connector-service,Elastic connector service>>. on your own infrastructure. This service runs automatically on Elastic Cloud for Elastic managed connectors.
* The `service_type` parameter should reference a supported third-party service. See the available service types for <<es-native-connectors,Elastic managed>> and <<es-build-connector,self-managed>> connectors. This can also reference the service type of your custom connector.
[[create-connector-api-desc]]
==== {api-description-title}
Creates a connector document in the internal index and initializes its configuration, filtering, and scheduling with default values. These values can be updated later as needed.
[[create-connector-api-path-params]]
==== {api-path-parms-title}
`<connector_id>`::
(Optional, string) Unique identifier of a connector.
[role="child_attributes"]
[[create-connector-api-request-body]]
==== {api-request-body-title}
`description`::
(Optional, string) The description of the connector.
`index_name`::
(Optional, string) The target index to sync data. If the index doesn't exist, it will be created upon the first sync.
`name`::
(Optional, string) The name of the connector. Setting the connector name is recommended when managing connectors in {kib}.
`is_native`::
(Optional, boolean) Indicates if it's a managed connector. Defaults to `false`.
`language`::
(Optional, string) Language analyzer for the data. Limited to supported languages.
`service_type`::
(Optional, string) Connector service type. Can reference Elastic-supported third-party services or a custom connector type. See the available service types for <<es-native-connectors,Elastic managed>> and <<es-build-connector,self-managed>> connectors.
[role="child_attributes"]
[[create-connector-api-response-body]]
==== {api-response-body-title}
`id`::
(string) The ID associated with the connector document. Returned when using a POST request.
`result`::
(string) The result of the indexing operation, `created` or `updated`. Returned when using a PUT request.
[[create-connector-api-response-codes]]
==== {api-response-codes-title}
`200`::
Indicates that an existing connector was updated successfully.
`201`::
Indicates that the connector was created successfully.
`400`::
Indicates that the request was malformed.
[[create-connector-api-example]]
==== {api-examples-title}
[source,console]
----
PUT _connector/my-connector
{
"index_name": "search-google-drive",
"name": "My Connector",
"description": "My Connector to sync data to Elastic index from Google Drive",
"service_type": "google_drive",
"language": "en"
}
----
The API returns the following result:
[source,console-result]
----
{
"result": "created",
"id": "my-connector"
}
----
////
[source,console]
----
DELETE _connector/my-connector
----
// TEST[continued]
////