Elastic Stack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Connector API

31 actions 31 updates phrasing extends openapi/elk-stack-connector-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Elastic Stack's API. It is a proposal applied on top of the contract, not a document Elastic Stack publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 31 · first 16 shown; the file carries all of them

$.info
$.paths['/_connector/{connector_id}/_check_in'].put
$.paths['/_connector/{connector_id}'].get
$.paths['/_connector/{connector_id}'].put
$.paths['/_connector/{connector_id}'].delete
$.paths['/_connector'].get
$.paths['/_connector'].put
$.paths['/_connector'].post
$.paths['/_connector/_sync_job/{connector_sync_job_id}/_cancel'].put
$.paths['/_connector/_sync_job/{connector_sync_job_id}/_check_in'].put
$.paths['/_connector/_sync_job/{connector_sync_job_id}/_claim'].put
$.paths['/_connector/_sync_job/{connector_sync_job_id}'].get
$.paths['/_connector/_sync_job/{connector_sync_job_id}'].delete
$.paths['/_connector/_sync_job/{connector_sync_job_id}/_error'].put
$.paths['/_connector/_sync_job'].get
$.paths['/_connector/_sync_job'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Elasticsearch Request & Response Specification Connector API
  version: 1.0.0
extends: openapi/elk-stack-connector-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 30
- target: $.paths['/_connector/{connector_id}/_check_in'].put
  update:
    x-apievangelist-phrasing:
      intent: Record a connector heartbeat
      effect: write
      questions:
      - How does a self-managed connector tell Elasticsearch it is still alive?
      - Which field gets bumped to the current time when a connector checks in?
      instructions:
      - text: Check in connector {connector_id} so its last_seen is now.
        slots:
          connector_id: path.connector_id
      - text: Send a heartbeat for connector {connector_id}.
        slots:
          connector_id: path.connector_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a connector's details
      effect: read
      questions:
      - What configuration, status and index does a particular connector have?
      - Can I still look up a connector that was soft-deleted?
      instructions:
      - text: Show me connector {connector_id}.
        slots:
          connector_id: path.connector_id
      - text: Get connector {connector_id} even if deleted, include_deleted {include_deleted}.
        slots:
          connector_id: path.connector_id
          include_deleted: query.include_deleted
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or update a connector with a chosen ID
      effect: write
      questions:
      - Can I create a connector under an ID I pick myself, or overwrite the one at that ID?
      - Which index and service type do I set when upserting a connector by its ID?
      instructions:
      - text: Create or replace connector {connector_id} writing to index {index_name}.
        slots:
          connector_id: path.connector_id
          index_name: requestBody.index_name
      - text: Upsert connector {connector_id} with service type {service_type} and name {name}.
        slots:
          connector_id: path.connector_id
          service_type: requestBody.service_type
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a connector
      effect: destructive
      questions:
      - Does deleting a connector also remove its data index and API keys?
      - Can I delete a connector together with all its sync jobs, or hard-delete it?
      instructions:
      - text: Delete connector {connector_id}.
        slots:
          connector_id: path.connector_id
      - text: Remove connector {connector_id} and its sync jobs, delete_sync_jobs {delete_sync_jobs}.
        slots:
          connector_id: path.connector_id
          delete_sync_jobs: query.delete_sync_jobs
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector'].get
  update:
    x-apievangelist-phrasing:
      intent: List connectors
      effect: read
      questions:
      - What connectors are configured in my Elasticsearch cluster?
      - Can I filter the connector list by service type or target index name?
      instructions:
      - text: List all connectors of service type {service_type}.
        slots:
          service_type: query.service_type
      - text: Find connectors that write to index {index_name}.
        slots:
          index_name: query.index_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or update a connector via PUT without an ID
      effect: write
      questions:
      - Can I PUT a connector to the collection path and let Elasticsearch generate its ID?
      - What body fields does the ID-less PUT connector upsert accept?
      instructions:
      - text: PUT a new connector named {name} for index {index_name} without specifying an ID.
        slots:
          name: requestBody.name
          index_name: requestBody.index_name
      - text: Use the ID-less PUT endpoint to register a {service_type} connector.
        slots:
          service_type: requestBody.service_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a connector with a generated ID
      effect: write
      questions:
      - How do I add a new connector that syncs third-party content into an Elasticsearch index?
      - Can I make an Elastic managed native connector when I create it with POST?
      instructions:
      - text: Create a new connector for service type {service_type} syncing into {index_name}.
        slots:
          service_type: requestBody.service_type
          index_name: requestBody.index_name
      - text: POST a connector named {name} with is_native set to {is_native}.
        slots:
          name: requestBody.name
          is_native: requestBody.is_native
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job/{connector_sync_job_id}/_cancel'].put
  update:
    x-apievangelist-phrasing:
      intent: Cancel a connector sync job
      effect: destructive
      questions:
      - How can I stop a connector sync that is currently running?
      - What status does a sync job move to after I request cancellation?
      instructions:
      - text: Cancel sync job {connector_sync_job_id}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
      - text: Stop the running connector sync {connector_sync_job_id}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job/{connector_sync_job_id}/_check_in'].put
  update:
    x-apievangelist-phrasing:
      intent: Record a sync job heartbeat
      effect: write
      questions:
      - How does the connector service signal that a sync job is still progressing?
      - Which timestamp is updated when a sync job checks in?
      instructions:
      - text: Check in sync job {connector_sync_job_id} to update its last_seen.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
      - text: Send a heartbeat for connector sync job {connector_sync_job_id}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job/{connector_sync_job_id}/_claim'].put
  update:
    x-apievangelist-phrasing:
      intent: Claim a sync job for a worker
      effect: write
      questions:
      - How does a connector worker take ownership of a pending sync job and mark it in progress?
      - Can I set a sync cursor when a worker claims a job?
      instructions:
      - text: Claim sync job {connector_sync_job_id} for worker host {worker_hostname}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
          worker_hostname: requestBody.worker_hostname
      - text: Mark job {connector_sync_job_id} in progress on {worker_hostname} with cursor {sync_cursor}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
          worker_hostname: requestBody.worker_hostname
          sync_cursor: requestBody.sync_cursor
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job/{connector_sync_job_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a connector sync job
      effect: read
      questions:
      - What is the status and document count of one specific sync job?
      - Can I look up a single connector sync job by its ID?
      instructions:
      - text: Show sync job {connector_sync_job_id}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
      - text: Get the details of connector sync run {connector_sync_job_id}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job/{connector_sync_job_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a connector sync job
      effect: destructive
      questions:
      - Can I permanently remove a sync job record and its data?
      - Is deleting a connector sync job reversible?
      instructions:
      - text: Delete sync job {connector_sync_job_id}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
      - text: Permanently remove connector sync job record {connector_sync_job_id}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job/{connector_sync_job_id}/_error'].put
  update:
    x-apievangelist-phrasing:
      intent: Mark a sync job as failed
      effect: write
      questions:
      - How does the connector service report that a sync job failed with an error message?
      - What happens to a sync job's status when its error field is set?
      instructions:
      - text: Set sync job {connector_sync_job_id} to error with message {error}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
          error: requestBody.error
      - text: Fail connector sync job {connector_sync_job_id} because {error}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
          error: requestBody.error
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job'].get
  update:
    x-apievangelist-phrasing:
      intent: List connector sync jobs
      effect: read
      questions:
      - Which sync jobs have run for a given connector?
      - Can I filter sync jobs by status or job type, like only failed full syncs?
      instructions:
      - text: List sync jobs for connector {connector_id}.
        slots:
          connector_id: query.connector_id
      - text: Show all sync jobs with status {status} and type {job_type}.
        slots:
          status: query.status
          job_type: query.job_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a new connector sync job
      effect: write
      questions:
      - How do I trigger a sync for a connector, full or incremental?
      - Can I choose the job type when creating a sync job?
      instructions:
      - text: Create a sync job for connector {id}.
        slots:
          id: requestBody.id
      - text: Queue a {job_type} sync for connector {id} triggered {trigger_method}.
        slots:
          job_type: requestBody.job_type
          id: requestBody.id
          trigger_method: requestBody.trigger_method
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/_sync_job/{connector_sync_job_id}/_stats'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a sync job's document counters
      effect: write
      questions:
      - How does the connector service report indexed and deleted document counts for a sync job?
      - Which stats fields are required when updating sync job progress?
      instructions:
      - text: 'Set stats on sync job {connector_sync_job_id}: indexed {indexed_document_count}, deleted {deleted_document_count}, volume {indexed_document_volume}.'
        slots:
          connector_sync_job_id: path.connector_sync_job_id
          indexed_document_count: requestBody.indexed_document_count
          deleted_document_count: requestBody.deleted_document_count
          indexed_document_volume: requestBody.indexed_document_volume
      - text: Record total document count {total_document_count} on job {connector_sync_job_id}.
        slots:
          connector_sync_job_id: path.connector_sync_job_id
          total_document_count: requestBody.total_document_count
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_filtering/_activate'].put
  update:
    x-apievangelist-phrasing:
      intent: Activate a connector's draft filtering
      effect: write
      questions:
      - How do I promote validated draft sync rules so a connector starts using them?
      - Can a connector's draft filter be made active once it passes validation?
      instructions:
      - text: Activate the draft filtering rules on connector {connector_id}.
        slots:
          connector_id: path.connector_id
      - text: Promote the validated draft filter to active for {connector_id}.
        slots:
          connector_id: path.connector_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_api_key_id'].put
  update:
    x-apievangelist-phrasing:
      intent: Set the API key a connector uses
      effect: write
      questions:
      - Where do I tell a connector which API key and stored secret to authenticate with?
      - Can I update a connector's API key secret ID separately?
      instructions:
      - text: Set connector {connector_id} to use API key ID {api_key_id}.
        slots:
          connector_id: path.connector_id
          api_key_id: requestBody.api_key_id
      - text: Point connector {connector_id} at connector secret {api_key_secret_id}.
        slots:
          connector_id: path.connector_id
          api_key_secret_id: requestBody.api_key_secret_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_configuration'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a connector's configuration values
      effect: write
      questions:
      - How do I change the settings a connector uses to reach its data source, like host or credentials?
      - Can I update only configuration values without redefining the whole schema?
      instructions:
      - text: Update connector {connector_id} configuration values to {values}.
        slots:
          connector_id: path.connector_id
          values: requestBody.values
      - text: Replace the configuration schema of {connector_id} with {configuration}.
        slots:
          connector_id: path.connector_id
          configuration: requestBody.configuration
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_error'].put
  update:
    x-apievangelist-phrasing:
      intent: Set or clear a connector's error
      effect: write
      questions:
      - How can I flag a connector as errored, or reset it back to connected?
      - What status does a connector get when its error is cleared to null?
      instructions:
      - text: Set error {error} on connector {connector_id}.
        slots:
          connector_id: path.connector_id
          error: requestBody.error
      - text: Record connector-level error {error} for {connector_id}.
        slots:
          connector_id: path.connector_id
          error: requestBody.error
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_features'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a connector's enabled features
      effect: write
      questions:
      - Can I turn on document-level security or incremental syncs for a connector?
      - Which connector features, such as advanced sync rules, can be toggled?
      instructions:
      - text: Set the features of connector {connector_id} to {features}.
        slots:
          connector_id: path.connector_id
          features: requestBody.features
      - text: Enable incremental syncs on {connector_id} via features {features}.
        slots:
          connector_id: path.connector_id
          features: requestBody.features
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_filtering'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit a connector's draft sync rules
      effect: write
      questions:
      - How do I change which documents a connector syncs using basic or advanced rules?
      - Can I add an advanced sync rule snippet to a connector's draft filtering?
      instructions:
      - text: Set draft sync rules {rules} on connector {connector_id}.
        slots:
          connector_id: path.connector_id
          rules: requestBody.rules
      - text: Add advanced snippet {advanced_snippet} to the draft filtering of {connector_id}.
        slots:
          connector_id: path.connector_id
          advanced_snippet: requestBody.advanced_snippet
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_filtering/_validation'].put
  update:
    x-apievangelist-phrasing:
      intent: Record draft filtering validation results
      effect: write
      questions:
      - How does the connector service mark draft sync rules as valid or invalid?
      - Where do filtering validation errors for a connector get stored?
      instructions:
      - text: Set filtering validation {validation} on connector {connector_id}.
        slots:
          connector_id: path.connector_id
          validation: requestBody.validation
      - text: Mark the draft filter of {connector_id} as validated with {validation}.
        slots:
          connector_id: path.connector_id
          validation: requestBody.validation
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_index_name'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a connector's target index
      effect: write
      questions:
      - Can I change which index a connector writes its ingested content to?
      - How is the destination index of a connector updated?
      instructions:
      - text: Point connector {connector_id} at index {index_name}.
        slots:
          connector_id: path.connector_id
          index_name: requestBody.index_name
      - text: Change where {connector_id} stores synced data to {index_name}.
        slots:
          connector_id: path.connector_id
          index_name: requestBody.index_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_name'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename a connector
      effect: write
      questions:
      - How do I rename a connector or edit its description?
      - Can I change only a connector's display name?
      instructions:
      - text: Rename connector {connector_id} to {name}.
        slots:
          connector_id: path.connector_id
          name: requestBody.name
      - text: Set the description of connector {connector_id} to {description}.
        slots:
          connector_id: path.connector_id
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_native'].put
  update:
    x-apievangelist-phrasing:
      intent: Switch a connector between native and self-managed
      effect: write
      questions:
      - Can I convert a connector between Elastic managed and self-managed?
      - What does the is_native flag on a connector control?
      instructions:
      - text: Set is_native to {is_native} on connector {connector_id}.
        slots:
          connector_id: path.connector_id
          is_native: requestBody.is_native
      - text: Make connector {connector_id} self-managed by setting native to {is_native}.
        slots:
          connector_id: path.connector_id
          is_native: requestBody.is_native
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_pipeline'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a connector's ingest pipeline
      effect: write
      questions:
      - Which ingest pipeline does a connector send documents through, and can I change it?
      - Can I override the default pipeline settings a connector was created with?
      instructions:
      - text: Set the ingest pipeline of connector {connector_id} to {pipeline}.
        slots:
          connector_id: path.connector_id
          pipeline: requestBody.pipeline
      - text: Update pipeline settings for {connector_id} to {pipeline}.
        slots:
          connector_id: path.connector_id
          pipeline: requestBody.pipeline
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_scheduling'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a connector's sync schedule
      effect: write
      questions:
      - How do I make a connector run full syncs on a cron schedule?
      - Can I schedule incremental and access control syncs separately?
      instructions:
      - text: Set the sync schedule of connector {connector_id} to {scheduling}.
        slots:
          connector_id: path.connector_id
          scheduling: requestBody.scheduling
      - text: Update scheduling for {connector_id} with {scheduling}.
        slots:
          connector_id: path.connector_id
          scheduling: requestBody.scheduling
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_service_type'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a connector's service type
      effect: write
      questions:
      - Can I change what kind of data source a connector is for after creating it?
      - Where is a connector's service type updated?
      instructions:
      - text: Change service type of connector {connector_id} to {service_type}.
        slots:
          connector_id: path.connector_id
          service_type: requestBody.service_type
      - text: Make {connector_id} a {service_type} connector.
        slots:
          connector_id: path.connector_id
          service_type: requestBody.service_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_connector/{connector_id}/_status'].put
  update:
    x-apievangelist-phrasing:
      intent: Set a connector's status
      effect: write
      questions:
      - How do I manually set a connector's status, such as configured or connected?
      - Can the status field of a connector be updated directly?
      instructions:
      - text: Set connector {connector_id} status to {status}.
        slots:
          connector_id: path.connector_id
          status: requestBody.status
      - text: Mark {connector_id} as {status}.
        slots:
          connector_id: path.connector_id
          status: requestBody.status
      method: generated
      generated: '2026-09-26'