Elastic Stack · OpenAPI Overlay 1.0.0

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

12 actions 12 updates phrasing extends openapi/elk-stack-rollup-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 12

$.info
$.paths['/_rollup/job/{id}'].get
$.paths['/_rollup/job/{id}'].put
$.paths['/_rollup/job/{id}'].delete
$.paths['/_rollup/job'].get
$.paths['/_rollup/data/{id}'].get
$.paths['/_rollup/data'].get
$.paths['/{index}/_rollup/data'].get
$.paths['/{index}/_rollup_search'].get
$.paths['/{index}/_rollup_search'].post
$.paths['/_rollup/job/{id}/_start'].post
$.paths['/_rollup/job/{id}/_stop'].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 Rollup API
  version: 1.0.0
extends: openapi/elk-stack-rollup-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: 11
- target: $.paths['/_rollup/job/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one rollup job's config and stats
      effect: read
      questions:
      - What is the status and configuration of a specific rollup job?
      - Why doesn't a rollup job I deleted show up when I look it up by ID?
      instructions:
      - text: Show rollup job {id}.
        slots:
          id: path.id
      - text: Get stats and status for rollup job {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_rollup/job/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create a rollup job
      effect: write
      questions:
      - How do I summarize old time series data into a smaller rollup index on a schedule?
      - Which fields do I have to define when setting up a rollup job?
      instructions:
      - text: Create rollup job {id} over {index_pattern} into {rollup_index} on cron {cron}, groups {groups}, page size {page_size}.
        slots:
          id: path.id
          index_pattern: requestBody.index_pattern
          rollup_index: requestBody.rollup_index
          cron: requestBody.cron
          groups: requestBody.groups
          page_size: requestBody.page_size
      - text: Set up rollup {id} with metrics {metrics} from {index_pattern} to {rollup_index}, cron {cron}, groups {groups}, page size {page_size}.
        slots:
          id: path.id
          metrics: requestBody.metrics
          index_pattern: requestBody.index_pattern
          rollup_index: requestBody.rollup_index
          cron: requestBody.cron
          groups: requestBody.groups
          page_size: requestBody.page_size
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_rollup/job/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a rollup job
      effect: destructive
      questions:
      - Can I delete a rollup job that is still started?
      - Does deleting a rollup job remove the rolled-up data too?
      instructions:
      - text: Delete rollup job {id}.
        slots:
          id: path.id
      - text: Remove the stopped rollup job {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_rollup/job'].get
  update:
    x-apievangelist-phrasing:
      intent: List all rollup jobs
      effect: read
      questions:
      - Which rollup jobs are active on my cluster?
      - Can I see every started and stopped rollup job at once?
      instructions:
      - text: List all rollup jobs.
      - text: Show every active rollup job with its stats.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_rollup/data/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get rollup capabilities for an index pattern
      effect: read
      questions:
      - Which fields and aggregations are rolled up for a given source index pattern?
      - Can I check what rollup jobs cover a particular index before querying?
      instructions:
      - text: Show rollup capabilities for index pattern {id}.
        slots:
          id: path.id
      - text: List the rolled-up fields available for source {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_rollup/data'].get
  update:
    x-apievangelist-phrasing:
      intent: Get rollup capabilities for all indices
      effect: read
      questions:
      - What rollup capabilities exist across every source index in the cluster?
      - Can I list rollup capabilities without naming an index pattern?
      instructions:
      - text: List rollup capabilities for all source indices.
      - text: Show rolled-up fields for every configured index pattern.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_rollup/data'].get
  update:
    x-apievangelist-phrasing:
      intent: Get capabilities of a rollup index
      effect: read
      questions:
      - What jobs and aggregations are stored inside a particular rollup index?
      - Can I inspect a rollup index to see what it can answer?
      instructions:
      - text: Show the rollup capabilities stored in rollup index {index}.
        slots:
          index: path.index
      - text: List jobs and fields held in rollup index {index}.
        slots:
          index: path.index
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_rollup_search'].get
  update:
    x-apievangelist-phrasing:
      intent: Search rolled-up data with GET
      effect: read
      questions:
      - Can I query rollup indices with a GET request and normal Query DSL?
      - Does a GET rollup search support typed_keys for aggregation names?
      instructions:
      - text: Run a GET rollup search on {index} with aggregations {aggregations}.
        slots:
          index: path.index
          aggregations: requestBody.aggregations
      - text: Query rolled-up index {index} via GET using query {query}.
        slots:
          index: path.index
          query: requestBody.query
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{index}/_rollup_search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search rolled-up data with POST
      effect: read
      questions:
      - How do I POST a rollup search that combines live and rolled-up indices?
      - Is POST the right method for a rollup search with a large request body?
      instructions:
      - text: POST a rollup search to {index} with aggregations {aggregations}.
        slots:
          index: path.index
          aggregations: requestBody.aggregations
      - text: Send a POST rollup query {query} against {index}, size {size}.
        slots:
          index: path.index
          query: requestBody.query
          size: requestBody.size
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_rollup/job/{id}/_start'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a rollup job
      effect: write
      questions:
      - How do I start a rollup job I just created?
      - What happens if I start a rollup job that is already running?
      instructions:
      - text: Start rollup job {id}.
        slots:
          id: path.id
      - text: Begin rolling up data with job {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/_rollup/job/{id}/_stop'].post
  update:
    x-apievangelist-phrasing:
      intent: Stop a rollup job
      effect: write
      questions:
      - Can I block until a rollup job has fully stopped before deleting it?
      - How long will stopping a rollup job wait before timing out?
      instructions:
      - text: Stop rollup job {id}.
        slots:
          id: path.id
      - text: Stop rollup job {id} and wait for completion {wait_for_completion} up to {timeout}.
        slots:
          id: path.id
          wait_for_completion: query.wait_for_completion
          timeout: query.timeout
      method: generated
      generated: '2026-09-26'