openapi: 3.2.0 info: title: Elasticsearch Request & Response Specification Connector API license: name: Apache 2.0 url: https://github.com/elastic/elasticsearch-specification/blob/main/LICENSE version: '' tags: - name: connector paths: /_connector/{connector_id}/_check_in: put: tags: - connector summary: Check in a connector description: Update the `last_seen` field in the connector and set it to the current timestamp. operationId: connector-check-in parameters: - in: path name: connector_id description: The unique identifier of the connector to be checked in required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorCheckInResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Experimental; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}: get: tags: - connector summary: Get a connector description: Get the details about a connector. operationId: connector-get parameters: - in: path name: connector_id description: The unique identifier of the connector required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple - in: query name: include_deleted description: A flag to indicate if the desired connector should be fetched, even if it was soft-deleted. deprecated: false schema: default: false type: boolean style: form responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/connector._types.Connector' x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name put: tags: - connector summary: Create or update a connector operationId: connector-put parameters: - $ref: '#/components/parameters/connector.put-connector_id' requestBody: $ref: '#/components/requestBodies/connector.put' responses: '200': $ref: '#/components/responses/connector.put-200' x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name delete: tags: - connector summary: Delete a connector description: 'Removes a connector and associated sync jobs. This is a destructive action that is not recoverable. NOTE: This action doesn’t delete any API keys, ingest pipelines, or data indices associated with the connector. These need to be removed manually.' operationId: connector-delete parameters: - in: path name: connector_id description: The unique identifier of the connector to be deleted required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple - in: query name: delete_sync_jobs description: A flag indicating if associated sync jobs should be also removed. deprecated: false schema: default: false type: boolean style: form - in: query name: hard description: A flag indicating if the connector should be hard deleted. deprecated: false schema: default: false type: boolean style: form responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/_types.AcknowledgedResponseBase' examples: ConnectorDeleteResponseExample1: value: "{\n \"acknowledged\": true\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector: get: tags: - connector summary: Get all connectors description: Get information about all connectors. operationId: connector-list parameters: - in: query name: from description: Starting offset deprecated: false schema: default: 0.0 type: number style: form - in: query name: size description: Specifies a max number of results to get deprecated: false schema: default: 100.0 type: number style: form - in: query name: index_name description: A comma-separated list of connector index names to fetch connector documents for deprecated: false schema: $ref: '#/components/schemas/_types.Indices' style: form - in: query name: connector_name description: A comma-separated list of connector names to fetch connector documents for deprecated: false schema: $ref: '#/components/schemas/_types.Names' style: form - in: query name: service_type description: A comma-separated list of connector service types to fetch connector documents for deprecated: false schema: $ref: '#/components/schemas/_types.Names' style: form - in: query name: include_deleted description: A flag to indicate if the desired connector should be fetched, even if it was soft-deleted. deprecated: false schema: default: false type: boolean style: form - in: query name: query description: A wildcard query string that filters connectors with matching name, description or index name deprecated: false schema: type: string style: form responses: '200': description: '' content: application/json: schema: type: object properties: count: type: number results: type: array items: $ref: '#/components/schemas/connector._types.Connector' required: - count - results x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name put: tags: - connector summary: Create or update a connector operationId: connector-put-1 requestBody: $ref: '#/components/requestBodies/connector.put' responses: '200': $ref: '#/components/responses/connector.put-200' x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name post: tags: - connector summary: Create a connector description: 'Connectors are Elasticsearch integrations that bring content from third-party data sources, which can be deployed on Elastic Cloud or hosted on your own infrastructure. Elastic managed connectors (Native connectors) are a managed service on Elastic Cloud. Self-managed connectors (Connector clients) are self-managed on your infrastructure.' operationId: connector-post requestBody: content: application/json: schema: type: object properties: description: type: string index_name: allOf: - $ref: '#/components/schemas/_types.IndexName' is_native: type: boolean language: type: string name: type: string service_type: type: string responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' id: allOf: - $ref: '#/components/schemas/_types.Id' required: - result - id x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/_sync_job/{connector_sync_job_id}/_cancel: put: tags: - connector summary: Cancel a connector sync job description: 'Cancel a connector sync job, which sets the status to cancelling and updates `cancellation_requested_at` to the current time. The connector service is then responsible for setting the status of connector sync jobs to cancelled.' operationId: connector-sync-job-cancel parameters: - in: path name: connector_sync_job_id description: The unique identifier of the connector sync job required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/_sync_job/{connector_sync_job_id}/_check_in: put: tags: - connector summary: Check in a connector sync job description: 'Check in a connector sync job and set the `last_seen` field to the current time before updating it in the internal index. To sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure. This service runs automatically on Elastic Cloud for Elastic managed connectors.' operationId: connector-sync-job-check-in parameters: - in: path name: connector_sync_job_id description: The unique identifier of the connector sync job to be checked in. required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple responses: '200': description: '' content: application/json: schema: type: object x-state: Experimental x-metaTags: - content: Elasticsearch name: product_name /_connector/_sync_job/{connector_sync_job_id}/_claim: put: tags: - connector summary: Claim a connector sync job description: 'This action updates the job status to `in_progress` and sets the `last_seen` and `started_at` timestamps to the current time. Additionally, it can set the `sync_cursor` property for the sync job. This API is not intended for direct connector management by users. It supports the implementation of services that utilize the connector protocol to communicate with Elasticsearch. To sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure. This service runs automatically on Elastic Cloud for Elastic managed connectors.' operationId: connector-sync-job-claim parameters: - in: path name: connector_sync_job_id description: The unique identifier of the connector sync job. required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: sync_cursor: description: 'The cursor object from the last incremental sync job. This should reference the `sync_cursor` field in the connector state for which the job runs.' type: object worker_hostname: description: The host name of the current system that will run the job. type: string required: - worker_hostname examples: ConnectorSyncJobClaimExample1: description: An example body for a `PUT _connector/_sync_job/my-connector-sync-job-id/_claim` request. value: "{\n \"worker_hostname\": \"some-machine\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object x-state: Experimental x-metaTags: - content: Elasticsearch name: product_name /_connector/_sync_job/{connector_sync_job_id}: get: tags: - connector summary: Get a connector sync job operationId: connector-sync-job-get parameters: - in: path name: connector_sync_job_id description: The unique identifier of the connector sync job required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/connector._types.ConnectorSyncJob' x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name delete: tags: - connector summary: Delete a connector sync job description: 'Remove a connector sync job and its associated data. This is a destructive action that is not recoverable.' operationId: connector-sync-job-delete parameters: - in: path name: connector_sync_job_id description: The unique identifier of the connector sync job to be deleted required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/_types.AcknowledgedResponseBase' examples: SyncJobDeleteResponseExample1: value: "{\n \"acknowledged\": true\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/_sync_job/{connector_sync_job_id}/_error: put: tags: - connector summary: Set a connector sync job error description: 'Set the `error` field for a connector sync job and set its `status` to `error`. To sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure. This service runs automatically on Elastic Cloud for Elastic managed connectors.' operationId: connector-sync-job-error parameters: - in: path name: connector_sync_job_id description: The unique identifier for the connector sync job. required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: error: description: The error for the connector sync job error field. type: string required: - error examples: SyncJobErrorRequestExample1: value: "{\n \"error\": \"some-error\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object x-state: Experimental x-metaTags: - content: Elasticsearch name: product_name /_connector/_sync_job: get: tags: - connector summary: Get all connector sync jobs description: Get information about all stored connector sync jobs listed by their creation date in ascending order. operationId: connector-sync-job-list parameters: - in: query name: from description: Starting offset deprecated: false schema: default: 0.0 type: number style: form - in: query name: size description: Specifies a max number of results to get deprecated: false schema: default: 100.0 type: number style: form - in: query name: status description: A sync job status to fetch connector sync jobs for deprecated: false schema: $ref: '#/components/schemas/connector._types.SyncStatus' style: form - in: query name: connector_id description: A connector id to fetch connector sync jobs for deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: form - in: query name: job_type description: A comma-separated list of job types to fetch the sync jobs for deprecated: false schema: oneOf: - $ref: '#/components/schemas/connector._types.SyncJobType' - type: array items: $ref: '#/components/schemas/connector._types.SyncJobType' style: form responses: '200': description: '' content: application/json: schema: type: object properties: count: type: number results: type: array items: $ref: '#/components/schemas/connector._types.ConnectorSyncJob' required: - count - results x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name post: tags: - connector summary: Create a connector sync job description: Create a connector sync job document in the internal index and initialize its counters and timestamps with default values. operationId: connector-sync-job-post requestBody: content: application/json: schema: type: object properties: id: description: The id of the associated connector allOf: - $ref: '#/components/schemas/_types.Id' job_type: allOf: - $ref: '#/components/schemas/connector._types.SyncJobType' trigger_method: allOf: - $ref: '#/components/schemas/connector._types.SyncJobTriggerMethod' required: - id examples: SyncJobPostRequestExample1: value: "{\n \"id\": \"connector-id\",\n \"job_type\": \"full\",\n \"trigger_method\": \"on_demand\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: id: allOf: - $ref: '#/components/schemas/_types.Id' required: - id x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/_sync_job/{connector_sync_job_id}/_stats: put: tags: - connector summary: Set the connector sync job stats description: 'Stats include: `deleted_document_count`, `indexed_document_count`, `indexed_document_volume`, and `total_document_count`. You can also update `last_seen`. This API is mainly used by the connector service for updating sync job information. To sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure. This service runs automatically on Elastic Cloud for Elastic managed connectors.' operationId: connector-sync-job-update-stats parameters: - in: path name: connector_sync_job_id description: The unique identifier of the connector sync job. required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: deleted_document_count: description: The number of documents the sync job deleted. type: number indexed_document_count: description: The number of documents the sync job indexed. type: number indexed_document_volume: description: The total size of the data (in MiB) the sync job indexed. type: number last_seen: description: The timestamp to use in the `last_seen` property for the connector sync job. allOf: - $ref: '#/components/schemas/_types.Duration' metadata: description: The connector-specific metadata. allOf: - $ref: '#/components/schemas/_types.Metadata' total_document_count: description: The total number of documents in the target index after the sync job finished. type: number required: - deleted_document_count - indexed_document_count - indexed_document_volume examples: ConnectorSyncJobUpdateStatsExample1: description: An example body for a `PUT _connector/_sync_job/my-connector-sync-job/_stats` request. value: "{\n \"deleted_document_count\": 10,\n \"indexed_document_count\": 20,\n \"indexed_document_volume\": 1000,\n \"total_document_count\": 2000,\n \"last_seen\": \"2023-01-02T10:00:00Z\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object x-state: Experimental x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_filtering/_activate: put: tags: - connector summary: Activate the connector draft filter description: Activates the valid draft filtering for a connector. operationId: connector-update-active-filtering parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result x-state: Experimental; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_api_key_id: put: tags: - connector summary: Update the connector API key ID description: 'Update the `api_key_id` and `api_key_secret_id` fields of a connector. You can specify the ID of the API key used for authorization and the ID of the connector secret where the API key is stored. The connector secret ID is required only for Elastic managed (native) connectors. Self-managed connectors (connector clients) do not use this field.' operationId: connector-update-api-key-id parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: api_key_id: type: string api_key_secret_id: type: string examples: ConnectorUpdateApiKeyIDRequestExample1: value: "{\n \"api_key_id\": \"my-api-key-id\",\n \"api_key_secret_id\": \"my-connector-secret-id\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateAPIKeyIDResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_configuration: put: tags: - connector summary: Update the connector configuration description: Update the configuration field in the connector document. operationId: connector-update-configuration parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: configuration: allOf: - $ref: '#/components/schemas/connector._types.ConnectorConfiguration' values: type: object additionalProperties: type: object examples: ConnectorUpdateConfigurationRequestExample1: value: "{\n \"values\": {\n \"tenant_id\": \"my-tenant-id\",\n \"tenant_name\": \"my-sharepoint-site\",\n \"client_id\": \"foo\",\n \"secret_value\": \"bar\",\n \"site_collections\": \"*\"\n }\n}" ConnectorUpdateConfigurationRequestExample2: value: "{\n \"values\": {\n \"secret_value\": \"foo-bar\"\n }\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateConfigurationResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_error: put: tags: - connector summary: Update the connector error field description: 'Set the error field for the connector. If the error provided in the request body is non-null, the connector’s status is updated to error. Otherwise, if the error is reset to null, the connector status is updated to connected.' operationId: connector-update-error parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: error: oneOf: - type: string - $ref: '#/components/schemas/_spec_utils.NullValue' required: - error examples: ConnectorUpdateErrorRequestExample1: value: "{\n \"error\": \"Houston, we have a problem!\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateErrorResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Experimental; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_features: put: tags: - connector summary: Update the connector features description: 'Update the connector features in the connector document. This API can be used to control the following aspects of a connector: * document-level security * incremental syncs * advanced sync rules * basic sync rules Normally, the running connector service automatically manages these features. However, you can use this API to override the default behavior. To sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure. This service runs automatically on Elastic Cloud for Elastic managed connectors.' operationId: connector-update-features parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated. required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: features: allOf: - $ref: '#/components/schemas/connector._types.ConnectorFeatures' required: - features examples: ConnectorUpdateFeaturesRequestExample1: value: "{\n \"features\": {\n \"document_level_security\": {\n \"enabled\": true\n },\n \"incremental_sync\": {\n \"enabled\": true\n },\n \"sync_rules\": {\n \"advanced\": {\n \"enabled\": false\n },\n \"basic\": {\n \"enabled\": true\n }\n }\n }\n}" ConnectorUpdateFeaturesRequestExample2: value: "{\n \"features\": {\n \"document_level_security\": {\n \"enabled\": true\n }\n }\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateFeaturesResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Experimental x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_filtering: put: tags: - connector summary: Update the connector filtering description: 'Update the draft filtering configuration of a connector and marks the draft validation state as edited. The filtering draft is activated once validated by the running Elastic connector service. The filtering property is used to configure sync rules (both basic and advanced) for a connector.' operationId: connector-update-filtering parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: filtering: type: array items: $ref: '#/components/schemas/connector._types.FilteringConfig' rules: type: array items: $ref: '#/components/schemas/connector._types.FilteringRule' advanced_snippet: allOf: - $ref: '#/components/schemas/connector._types.FilteringAdvancedSnippet' examples: ConnectorUpdateFilteringRequestExample1: value: "{\n \"rules\": [\n {\n \"field\": \"file_extension\",\n \"id\": \"exclude-txt-files\",\n \"order\": 0,\n \"policy\": \"exclude\",\n \"rule\": \"equals\",\n \"value\": \"txt\"\n },\n {\n \"field\": \"_\",\n \"id\": \"DEFAULT\",\n \"order\": 1,\n \"policy\": \"include\",\n \"rule\": \"regex\",\n \"value\": \".*\"\n }\n ]\n}" ConnectorUpdateFilteringRequestExample2: value: "{\n \"advanced_snippet\": {\n \"value\": [{\n \"tables\": [\n \"users\",\n \"orders\"\n ],\n \"query\": \"SELECT users.id AS id, orders.order_id AS order_id FROM users JOIN orders ON users.id = orders.user_id\"\n }]\n }\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateFilteringResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_filtering/_validation: put: tags: - connector summary: Update the connector draft filtering validation description: Update the draft filtering validation info for a connector. operationId: connector-update-filtering-validation parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: validation: allOf: - $ref: '#/components/schemas/connector._types.FilteringRulesValidation' required: - validation required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result x-state: Experimental; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_index_name: put: tags: - connector summary: Update the connector index name description: Update the `index_name` field of a connector, specifying the index where the data ingested by the connector is stored. operationId: connector-update-index-name parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: index_name: oneOf: - $ref: '#/components/schemas/_types.IndexName' - $ref: '#/components/schemas/_spec_utils.NullValue' required: - index_name examples: ConnectorUpdateIndexNameRequestExample1: value: "{\n \"index_name\": \"data-from-my-google-drive\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateIndexNameResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_name: put: tags: - connector summary: Update the connector name and description operationId: connector-update-name parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: name: type: string description: type: string examples: ConnectorUpdateNameRequestExample1: value: "{\n \"name\": \"Custom connector\",\n \"description\": \"This is my customized connector\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateNameResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_native: put: tags: - connector summary: Update the connector is_native flag operationId: connector-update-native parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: is_native: type: boolean required: - is_native required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_pipeline: put: tags: - connector summary: Update the connector pipeline description: When you create a new connector, the configuration of an ingest pipeline is populated with default settings. operationId: connector-update-pipeline parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: pipeline: allOf: - $ref: '#/components/schemas/connector._types.IngestPipelineParams' required: - pipeline examples: ConnectorUpdatePipelineRequestExample1: value: "{\n \"pipeline\": {\n \"extract_binary_content\": true,\n \"name\": \"my-connector-pipeline\",\n \"reduce_whitespace\": true,\n \"run_ml_inference\": true\n }\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdatePipelineResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_scheduling: put: tags: - connector summary: Update the connector scheduling operationId: connector-update-scheduling parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: scheduling: allOf: - $ref: '#/components/schemas/connector._types.SchedulingConfiguration' required: - scheduling examples: ConnectorUpdateSchedulingRequestExample1: value: "{\n \"scheduling\": {\n \"access_control\": {\n \"enabled\": true,\n \"interval\": \"0 10 0 * * ?\"\n },\n \"full\": {\n \"enabled\": true,\n \"interval\": \"0 20 0 * * ?\"\n },\n \"incremental\": {\n \"enabled\": false,\n \"interval\": \"0 30 0 * * ?\"\n }\n }\n}" ConnectorUpdateSchedulingRequestExample2: value: "{\n \"scheduling\": {\n \"full\": {\n \"enabled\": true,\n \"interval\": \"0 10 0 * * ?\"\n }\n }\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateSchedulingResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_service_type: put: tags: - connector summary: Update the connector service type operationId: connector-update-service-type parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: service_type: type: string required: - service_type examples: ConnectorUpdateServiceTypeRequestExample1: value: "{\n \"service_type\": \"sharepoint_online\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateServiceTypeResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Beta; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name /_connector/{connector_id}/_status: put: tags: - connector summary: Update the connector status operationId: connector-update-status parameters: - in: path name: connector_id description: The unique identifier of the connector to be updated required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple requestBody: content: application/json: schema: type: object properties: status: allOf: - $ref: '#/components/schemas/connector._types.ConnectorStatus' required: - status examples: ConnectorUpdateStatusRequestExample1: value: "{\n \"status\": \"needs_configuration\"\n}" required: true responses: '200': description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' required: - result examples: ConnectorUpdateStatusResponseExample1: value: "{\n \"result\": \"updated\"\n}" x-state: Experimental; Added in 8.12.0 x-metaTags: - content: Elasticsearch name: product_name components: schemas: connector._types.RegexValidation: type: object properties: type: type: string enum: - regex constraint: type: string required: - type - constraint connector._types.ConnectorSyncJob: type: object properties: cancelation_requested_at: allOf: - $ref: '#/components/schemas/_types.DateTime' canceled_at: allOf: - $ref: '#/components/schemas/_types.DateTime' completed_at: allOf: - $ref: '#/components/schemas/_types.DateTime' connector: allOf: - $ref: '#/components/schemas/connector._types.SyncJobConnectorReference' created_at: allOf: - $ref: '#/components/schemas/_types.DateTime' deleted_document_count: type: number error: type: string id: allOf: - $ref: '#/components/schemas/_types.Id' indexed_document_count: type: number indexed_document_volume: type: number job_type: allOf: - $ref: '#/components/schemas/connector._types.SyncJobType' last_seen: allOf: - $ref: '#/components/schemas/_types.DateTime' metadata: type: object additionalProperties: type: object started_at: allOf: - $ref: '#/components/schemas/_types.DateTime' status: allOf: - $ref: '#/components/schemas/connector._types.SyncStatus' total_document_count: type: number trigger_method: allOf: - $ref: '#/components/schemas/connector._types.SyncJobTriggerMethod' worker_hostname: type: string required: - connector - created_at - deleted_document_count - id - indexed_document_count - indexed_document_volume - job_type - metadata - status - total_document_count - trigger_method connector._types.SyncJobTriggerMethod: type: string enum: - on_demand - scheduled connector._types.ConnectorFieldType: type: string enum: - str - int - list - bool connector._types.SyncRulesFeature: type: object properties: advanced: description: Indicates whether advanced sync rules are enabled. allOf: - $ref: '#/components/schemas/connector._types.FeatureEnabled' basic: description: Indicates whether basic sync rules are enabled. allOf: - $ref: '#/components/schemas/connector._types.FeatureEnabled' _types.ScalarValue: description: A scalar value. oneOf: - type: number - type: number - type: string - type: boolean - type: - string - 'null' connector._types.IngestPipelineParams: type: object properties: extract_binary_content: type: boolean name: type: string reduce_whitespace: type: boolean run_ml_inference: type: boolean required: - extract_binary_content - name - reduce_whitespace - run_ml_inference _types.AcknowledgedResponseBase: type: object properties: acknowledged: description: For a successful response, this value is always true. On failure, an exception is returned instead. type: boolean required: - acknowledged _types.IndexName: type: string _types.Id: type: string connector._types.Connector: type: object properties: api_key_id: type: string api_key_secret_id: type: string configuration: allOf: - $ref: '#/components/schemas/connector._types.ConnectorConfiguration' custom_scheduling: allOf: - $ref: '#/components/schemas/connector._types.ConnectorCustomScheduling' deleted: type: boolean description: type: string error: oneOf: - type: string - type: - string - 'null' features: allOf: - $ref: '#/components/schemas/connector._types.ConnectorFeatures' filtering: type: array items: $ref: '#/components/schemas/connector._types.FilteringConfig' id: allOf: - $ref: '#/components/schemas/_types.Id' index_name: oneOf: - $ref: '#/components/schemas/_types.IndexName' - type: - string - 'null' is_native: type: boolean language: type: string last_access_control_sync_error: type: string last_access_control_sync_scheduled_at: allOf: - $ref: '#/components/schemas/_types.DateTime' last_access_control_sync_status: allOf: - $ref: '#/components/schemas/connector._types.SyncStatus' last_deleted_document_count: type: number last_incremental_sync_scheduled_at: allOf: - $ref: '#/components/schemas/_types.DateTime' last_indexed_document_count: type: number last_seen: allOf: - $ref: '#/components/schemas/_types.DateTime' last_sync_error: type: string last_sync_scheduled_at: allOf: - $ref: '#/components/schemas/_types.DateTime' last_sync_status: allOf: - $ref: '#/components/schemas/connector._types.SyncStatus' last_synced: allOf: - $ref: '#/components/schemas/_types.DateTime' name: type: string pipeline: allOf: - $ref: '#/components/schemas/connector._types.IngestPipelineParams' scheduling: allOf: - $ref: '#/components/schemas/connector._types.SchedulingConfiguration' service_type: type: string status: allOf: - $ref: '#/components/schemas/connector._types.ConnectorStatus' sync_cursor: type: object sync_now: type: boolean required: - configuration - custom_scheduling - deleted - filtering - is_native - scheduling - status - sync_now _types.Duration: externalDocs: url: https://www.elastic.co/docs/reference/elasticsearch/rest-apis/api-conventions#time-units description: 'A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and `d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.' oneOf: - type: string - type: string enum: - '-1' - type: string enum: - '0' connector._types.Validation: discriminator: propertyName: type mapping: greater_than: '#/components/schemas/connector._types.GreaterThanValidation' included_in: '#/components/schemas/connector._types.IncludedInValidation' less_than: '#/components/schemas/connector._types.LessThanValidation' list_type: '#/components/schemas/connector._types.ListTypeValidation' regex: '#/components/schemas/connector._types.RegexValidation' oneOf: - $ref: '#/components/schemas/connector._types.LessThanValidation' - $ref: '#/components/schemas/connector._types.GreaterThanValidation' - $ref: '#/components/schemas/connector._types.ListTypeValidation' - $ref: '#/components/schemas/connector._types.IncludedInValidation' - $ref: '#/components/schemas/connector._types.RegexValidation' connector._types.FilteringRulesValidation: type: object properties: errors: type: array items: $ref: '#/components/schemas/connector._types.FilteringValidation' state: allOf: - $ref: '#/components/schemas/connector._types.FilteringValidationState' required: - errors - state _types.Result: type: string enum: - created - updated - deleted - not_found - noop connector._types.SyncJobType: type: string enum: - full - incremental - access_control _types.Names: oneOf: - $ref: '#/components/schemas/_types.Name' - type: array items: $ref: '#/components/schemas/_types.Name' _types.EpochTimeUnitMillis: allOf: - $ref: '#/components/schemas/_types.UnitMillis' connector._types.ConnectorScheduling: type: object properties: enabled: type: boolean interval: description: The interval is expressed using the crontab syntax type: string required: - enabled - interval connector._types.SyncJobConnectorReference: type: object properties: configuration: allOf: - $ref: '#/components/schemas/connector._types.ConnectorConfiguration' filtering: allOf: - $ref: '#/components/schemas/connector._types.FilteringRules' id: allOf: - $ref: '#/components/schemas/_types.Id' index_name: type: string language: type: string pipeline: allOf: - $ref: '#/components/schemas/connector._types.IngestPipelineParams' service_type: type: string sync_cursor: type: object required: - configuration - filtering - id - index_name - service_type connector._types.CustomScheduling: type: object properties: configuration_overrides: allOf: - $ref: '#/components/schemas/connector._types.CustomSchedulingConfigurationOverrides' enabled: type: boolean interval: type: string last_synced: allOf: - $ref: '#/components/schemas/_types.DateTime' name: type: string required: - configuration_overrides - enabled - interval - name connector._types.SchedulingConfiguration: type: object properties: access_control: allOf: - $ref: '#/components/schemas/connector._types.ConnectorScheduling' full: allOf: - $ref: '#/components/schemas/connector._types.ConnectorScheduling' incremental: allOf: - $ref: '#/components/schemas/connector._types.ConnectorScheduling' connector._types.ConnectorCustomScheduling: type: object additionalProperties: $ref: '#/components/schemas/connector._types.CustomScheduling' connector._types.FilteringValidation: type: object properties: ids: type: array items: $ref: '#/components/schemas/_types.Id' messages: type: array items: type: string required: - ids - messages connector._types.CustomSchedulingConfigurationOverrides: type: object properties: max_crawl_depth: type: number sitemap_discovery_disabled: type: boolean domain_allowlist: type: array items: type: string sitemap_urls: type: array items: type: string seed_urls: type: array items: type: string connector._types.FeatureEnabled: type: object properties: enabled: type: boolean required: - enabled connector._types.IncludedInValidation: type: object properties: type: type: string enum: - included_in constraint: type: array items: $ref: '#/components/schemas/_types.ScalarValue' required: - type - constraint connector._types.DisplayType: type: string enum: - textbox - textarea - numeric - toggle - dropdown connector._types.FilteringConfig: type: object properties: active: allOf: - $ref: '#/components/schemas/connector._types.FilteringRules' domain: type: string draft: allOf: - $ref: '#/components/schemas/connector._types.FilteringRules' required: - active - draft connector._types.FilteringPolicy: type: string enum: - exclude - include connector._types.LessThanValidation: type: object properties: type: type: string enum: - less_than constraint: type: number required: - type - constraint connector._types.ListTypeValidation: type: object properties: type: type: string enum: - list_type constraint: type: string required: - type - constraint _types.Indices: oneOf: - $ref: '#/components/schemas/_types.IndexName' - type: array items: $ref: '#/components/schemas/_types.IndexName' connector._types.FilteringRuleRule: type: string enum: - contains - ends_with - equals - regex - starts_with - '>' - < connector._types.ConnectorConfiguration: type: object additionalProperties: $ref: '#/components/schemas/connector._types.ConnectorConfigProperties' _spec_utils.NullValue: description: 'A `null` value that is to be interpreted as an actual value, unless other uses of `null` that are equivalent to a missing value. It is used for exemple in settings, where using the `NullValue` for a setting will reset it to its default value.' type: - string - 'null' connector._types.ConnectorConfigProperties: type: object properties: category: type: string default_value: allOf: - $ref: '#/components/schemas/_types.ScalarValue' depends_on: type: array items: $ref: '#/components/schemas/connector._types.Dependency' display: allOf: - $ref: '#/components/schemas/connector._types.DisplayType' label: type: string options: type: array items: $ref: '#/components/schemas/connector._types.SelectOption' order: type: number placeholder: type: string required: type: boolean sensitive: type: boolean tooltip: oneOf: - type: string - type: - string - 'null' type: allOf: - $ref: '#/components/schemas/connector._types.ConnectorFieldType' ui_restrictions: type: array items: type: string validations: type: array items: $ref: '#/components/schemas/connector._types.Validation' value: type: object required: - default_value - depends_on - display - label - options - required - sensitive - value connector._types.ConnectorStatus: type: string enum: - created - needs_configuration - configured - connected - error _types.Metadata: type: object additionalProperties: type: object connector._types.ConnectorFeatures: type: object properties: document_level_security: description: Indicates whether document-level security is enabled. allOf: - $ref: '#/components/schemas/connector._types.FeatureEnabled' incremental_sync: description: Indicates whether incremental syncs are enabled. allOf: - $ref: '#/components/schemas/connector._types.FeatureEnabled' native_connector_api_keys: description: Indicates whether managed connector API keys are enabled. allOf: - $ref: '#/components/schemas/connector._types.FeatureEnabled' sync_rules: allOf: - $ref: '#/components/schemas/connector._types.SyncRulesFeature' connector._types.Dependency: type: object properties: field: type: string value: allOf: - $ref: '#/components/schemas/_types.ScalarValue' required: - field - value connector._types.FilteringValidationState: type: string enum: - edited - invalid - valid _types.DateTime: description: 'A date and time, either as a string whose format can depend on the context (defaulting to ISO 8601), or a number of milliseconds since the Epoch. Elasticsearch accepts both as input, but will generally output a string representation.' oneOf: - type: string - $ref: '#/components/schemas/_types.EpochTimeUnitMillis' connector._types.FilteringRules: type: object properties: advanced_snippet: allOf: - $ref: '#/components/schemas/connector._types.FilteringAdvancedSnippet' rules: type: array items: $ref: '#/components/schemas/connector._types.FilteringRule' validation: allOf: - $ref: '#/components/schemas/connector._types.FilteringRulesValidation' required: - advanced_snippet - rules - validation connector._types.GreaterThanValidation: type: object properties: type: type: string enum: - greater_than constraint: type: number required: - type - constraint _types.Field: description: Path to field or array of paths. Some API's support wildcards in the path to select multiple fields. type: string connector._types.FilteringRule: type: object properties: created_at: allOf: - $ref: '#/components/schemas/_types.DateTime' field: allOf: - $ref: '#/components/schemas/_types.Field' id: allOf: - $ref: '#/components/schemas/_types.Id' order: type: number policy: allOf: - $ref: '#/components/schemas/connector._types.FilteringPolicy' rule: allOf: - $ref: '#/components/schemas/connector._types.FilteringRuleRule' updated_at: allOf: - $ref: '#/components/schemas/_types.DateTime' value: type: string required: - field - id - order - policy - rule - value connector._types.SelectOption: type: object properties: label: type: string value: allOf: - $ref: '#/components/schemas/_types.ScalarValue' required: - label - value _types.Name: type: string connector._types.FilteringAdvancedSnippet: type: object properties: created_at: allOf: - $ref: '#/components/schemas/_types.DateTime' updated_at: allOf: - $ref: '#/components/schemas/_types.DateTime' value: type: object required: - value connector._types.SyncStatus: type: string enum: - canceling - canceled - completed - error - in_progress - pending - suspended _types.UnitMillis: description: Time unit for milliseconds type: number responses: connector.put-200: description: '' content: application/json: schema: type: object properties: result: allOf: - $ref: '#/components/schemas/_types.Result' id: allOf: - $ref: '#/components/schemas/_types.Id' required: - result - id examples: ConnectorPutResponseExample1: value: "{\n \"result\": \"created\",\n \"id\": \"my-connector\"\n}" requestBodies: connector.put: content: application/json: schema: type: object properties: description: type: string index_name: allOf: - $ref: '#/components/schemas/_types.IndexName' is_native: type: boolean language: type: string name: type: string service_type: type: string examples: ConnectorPutRequestExample1: value: "{\n \"index_name\": \"search-google-drive\",\n \"name\": \"My Connector\",\n \"service_type\": \"google_drive\"\n}" ConnectorPutRequestExample2: value: "{\n \"index_name\": \"search-google-drive\",\n \"name\": \"My Connector\",\n \"description\": \"My Connector to sync data to Elastic index from Google Drive\",\n \"service_type\": \"google_drive\",\n \"language\": \"english\"\n}" parameters: connector.put-connector_id: in: path name: connector_id description: The unique identifier of the connector to be created or updated. ID is auto-generated if not provided. required: true deprecated: false schema: $ref: '#/components/schemas/_types.Id' style: simple