[[connector-apis]]
== Connector APIs

preview::[]

The connector and sync jobs APIs provide a convenient way to create and manage Elastic {enterprise-search-ref}/connectors.html[connectors^] and sync jobs in an internal index.

Connectors are {es} integrations that bring content from third-party data sources, which can be deployed on {ecloud} or hosted on your own infrastructure:

* *Native connectors* are a managed service on {ecloud}
* *Connector clients* are self-managed on your infrastructure

Find a list of all supported service types in the {enterprise-search-ref}/connectors.html[connectors documentation^].

This API provides an alternative to relying solely on {kib} UI for connector and sync job management. The API comes with a set of
validations and assertions to ensure that the state representation in the internal index remains valid.

[TIP]
====
We also have a command-line interface for Elastic connectors. Learn more in the https://github.com/elastic/connectors/blob/main/docs/CLI.md[elastic/connectors] repository.
====

[discrete]
[[elastic-connector-apis]]
=== Connector APIs

You can use these APIs to create, get, delete and update connectors.

Use the following APIs to manage connectors:

* <<create-connector-api>>
* <<delete-connector-api>>
* <<get-connector-api>>
* <<list-connector-api>>
* <<check-in-connector-api>>
* <<update-connector-api-key-id-api>>
* <<update-connector-configuration-api>>
* <<update-connector-error-api>>
* <<update-connector-filtering-api>>
* <<update-connector-index-name-api>>
* <<update-connector-last-sync-api>>
* <<update-connector-name-description-api>>
* <<update-connector-pipeline-api>>
* <<update-connector-scheduling-api>>
* <<update-connector-service-type-api>>
* <<update-connector-status-api>>


[discrete]
[[sync-job-apis]]
=== Sync Job APIs

You can use these APIs to create, cancel, delete and update sync jobs.

Use the following APIs to manage sync jobs:


* <<cancel-connector-sync-job-api>>
* <<check-in-connector-sync-job-api>>
* <<create-connector-sync-job-api>>
* <<delete-connector-sync-job-api>>
* <<get-connector-sync-job-api>>
* <<list-connector-sync-jobs-api>>
* <<set-connector-sync-job-error-api>>
* <<set-connector-sync-job-stats-api>>


include::cancel-connector-sync-job-api.asciidoc[]
include::check-in-connector-api.asciidoc[]
include::check-in-connector-sync-job-api.asciidoc[]
include::create-connector-api.asciidoc[]
include::create-connector-sync-job-api.asciidoc[]
include::delete-connector-api.asciidoc[]
include::delete-connector-sync-job-api.asciidoc[]
include::get-connector-api.asciidoc[]
include::get-connector-sync-job-api.asciidoc[]
include::list-connectors-api.asciidoc[]
include::list-connector-sync-jobs-api.asciidoc[]
include::set-connector-sync-job-error-api.asciidoc[]
include::set-connector-sync-job-stats-api.asciidoc[]
include::update-connector-api-key-id-api.asciidoc[]
include::update-connector-configuration-api.asciidoc[]
include::update-connector-error-api.asciidoc[]
include::update-connector-filtering-api.asciidoc[]
include::update-connector-index-name-api.asciidoc[]
include::update-connector-last-sync-api.asciidoc[]
include::update-connector-name-description-api.asciidoc[]
include::update-connector-pipeline-api.asciidoc[]
include::update-connector-scheduling-api.asciidoc[]
include::update-connector-service-type-api.asciidoc[]
include::update-connector-status-api.asciidoc[]
