Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Kibana Elastic Agents API
19 actions
19 updates
phrasing
extends
openapi/elk-stack-elastic-agents-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.
What the actions change
x-apievangelist-phrasing
Targets 19 · first 16 shown; the file carries all of them
$.info
$.paths['/api/fleet/agent_status/data'].get
$.paths['/api/fleet/agents'].get
$.paths['/api/fleet/agents'].post
$.paths['/api/fleet/agents/{agentId}'].get
$.paths['/api/fleet/agents/{agentId}'].put
$.paths['/api/fleet/agents/{agentId}'].delete
$.paths['/api/fleet/agents/{agentId}/effective_config'].get
$.paths['/api/fleet/agents/{agentId}/migrate'].post
$.paths['/api/fleet/agents/{agentId}/privilege_level_change'].post
$.paths['/api/fleet/agents/{agentId}/uploads'].get
$.paths['/api/fleet/agents/available_versions'].get
$.paths['/api/fleet/agents/bulk_migrate'].post
$.paths['/api/fleet/agents/bulk_privilege_level_change'].post
$.paths['/api/fleet/agents/files/{fileId}'].delete
$.paths['/api/fleet/agents/files/{fileId}/{fileName}'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Kibana Elastic Agents API
version: 1.0.0
extends: openapi/elk-stack-elastic-agents-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: 18
- target: $.paths['/api/fleet/agent_status/data'].get
update:
x-apievangelist-phrasing:
intent: Check which data streams agents are sending to
effect: read
questions:
- Is my newly enrolled agent actually sending data yet?
- Which data streams is a given agent writing to?
instructions:
- text: Check incoming data for agents {agent_ids}.
slots:
agent_ids: query.agentsIds
- text: Show data from agents {agent_ids} for package {pkg_name}.
slots:
agent_ids: query.agentsIds
pkg_name: query.pkgName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents'].get
update:
x-apievangelist-phrasing:
intent: List Fleet agents
effect: read
questions:
- Which Elastic Agents are enrolled in Fleet?
- Can I list only agents that are eligible for an upgrade?
- How can I include inactive agents in my agent list?
instructions:
- text: List all enrolled Fleet agents.
- text: Find agents matching {kuery}.
slots:
kuery: query.kuery
- text: List agents page {page} with {per_page} per page.
slots:
page: query.page
per_page: query.perPage
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents'].post
update:
x-apievangelist-phrasing:
intent: Find agents by action IDs
effect: read
questions:
- Which agents were targeted by a particular Fleet action?
- Can I look up agents from a list of action IDs?
instructions:
- text: Get the agents associated with actions {action_ids}.
slots:
action_ids: requestBody.actionIds
- text: Show which agents action {action_ids} applied to.
slots:
action_ids: requestBody.actionIds
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/{agentId}'].get
update:
x-apievangelist-phrasing:
intent: Get a Fleet agent
effect: read
questions:
- What status and policy does a specific agent have?
- Can I see CPU and memory metrics for one agent?
instructions:
- text: Show agent {agent_id}.
slots:
agent_id: path.agentId
- text: Get agent {agent_id} with metrics included.
slots:
agent_id: path.agentId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/{agentId}'].put
update:
x-apievangelist-phrasing:
intent: Update an agent's tags or metadata
effect: write
questions:
- Can I add tags to an enrolled agent?
- How do I set user-provided metadata on an agent?
instructions:
- text: Set the tags on agent {agent_id} to {tags}.
slots:
agent_id: path.agentId
tags: requestBody.tags
- text: Update metadata of agent {agent_id} to {metadata}.
slots:
agent_id: path.agentId
metadata: requestBody.user_provided_metadata
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/{agentId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a Fleet agent
effect: destructive
questions:
- How do I remove an agent record from Fleet?
- Can I delete an agent that no longer exists?
instructions:
- text: Delete agent {agent_id}.
slots:
agent_id: path.agentId
- text: Remove agent {agent_id} from Fleet.
slots:
agent_id: path.agentId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/{agentId}/effective_config'].get
update:
x-apievangelist-phrasing:
intent: Get an agent's effective configuration
effect: read
questions:
- What configuration is an agent actually running with?
- Can I see the merged effective config of one agent?
instructions:
- text: Show the effective config of agent {agent_id}.
slots:
agent_id: path.agentId
- text: Fetch the running configuration for {agent_id}.
slots:
agent_id: path.agentId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/{agentId}/migrate'].post
update:
x-apievangelist-phrasing:
intent: Migrate one agent to another cluster
effect: write
questions:
- Can I move a single agent to a different Fleet cluster?
- What do I need to migrate an agent to a new Fleet Server?
instructions:
- text: Migrate agent {agent_id} to {uri} using token {token}.
slots:
agent_id: path.agentId
uri: requestBody.uri
token: requestBody.enrollment_token
- text: Move agent {agent_id} to cluster {uri} with enrollment token {token}.
slots:
agent_id: path.agentId
uri: requestBody.uri
token: requestBody.enrollment_token
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/{agentId}/privilege_level_change'].post
update:
x-apievangelist-phrasing:
intent: Make one agent run unprivileged
effect: write
questions:
- Can I switch a single agent to run without root privileges?
- How do I drop an agent down to unprivileged mode?
instructions:
- text: Change agent {agent_id} to unprivileged.
slots:
agent_id: path.agentId
- text: Run agent {agent_id} unprivileged as user {user_info}.
slots:
agent_id: path.agentId
user_info: requestBody.user_info
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/{agentId}/uploads'].get
update:
x-apievangelist-phrasing:
intent: List files uploaded by an agent
effect: read
questions:
- What diagnostic files has a particular agent uploaded?
- Can I see an agent's upload history?
instructions:
- text: List the uploads from agent {agent_id}.
slots:
agent_id: path.agentId
- text: Show files uploaded by {agent_id}.
slots:
agent_id: path.agentId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/available_versions'].get
update:
x-apievangelist-phrasing:
intent: List agent versions available for upgrade
effect: read
questions:
- Which Elastic Agent versions can I upgrade to?
- What is the newest agent version Fleet offers?
instructions:
- text: List available Elastic Agent versions.
- text: Show the versions my agents can be upgraded to.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/bulk_migrate'].post
update:
x-apievangelist-phrasing:
intent: Migrate many agents to another cluster
effect: write
questions:
- Can I move a batch of agents to a new cluster at once?
- Is there a dry run before bulk migrating agents?
instructions:
- text: Migrate agents {agents} to {uri} with token {token}.
slots:
agents: requestBody.agents
uri: requestBody.uri
token: requestBody.enrollment_token
- text: 'Dry-run migrating {agents} to {uri} using token {token}: {dry_run}.'
slots:
agents: requestBody.agents
uri: requestBody.uri
token: requestBody.enrollment_token
dry_run: requestBody.dryRun
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/bulk_privilege_level_change'].post
update:
x-apievangelist-phrasing:
intent: Make many agents run unprivileged
effect: write
questions:
- Can I switch a whole group of agents to unprivileged mode?
- What batch size is used when bulk-changing agent privileges?
instructions:
- text: Change agents {agents} to unprivileged.
slots:
agents: requestBody.agents
- text: Bulk-drop privileges for {agents} in batches of {batch_size}.
slots:
agents: requestBody.agents
batch_size: requestBody.batchSize
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/files/{fileId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a file uploaded by an agent
effect: destructive
questions:
- Can I remove a diagnostics bundle an agent uploaded?
- How do I delete an old agent upload to free space?
instructions:
- text: Delete uploaded file {file_id}.
slots:
file_id: path.fileId
- text: Remove agent upload {file_id}.
slots:
file_id: path.fileId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/files/{fileId}/{fileName}'].get
update:
x-apievangelist-phrasing:
intent: Download a file uploaded by an agent
effect: read
questions:
- How can I download the diagnostics file an agent uploaded?
- Where do I retrieve an agent's uploaded file by name?
instructions:
- text: Download file {file_name} with ID {file_id}.
slots:
file_name: path.fileName
file_id: path.fileId
- text: Fetch agent upload {file_id} named {file_name}.
slots:
file_id: path.fileId
file_name: path.fileName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/setup'].get
update:
x-apievangelist-phrasing:
intent: Check whether Fleet is ready to enroll agents
effect: read
questions:
- Is Fleet ready to enroll agents yet?
- Which Fleet requirements are still missing in my deployment?
instructions:
- text: Check the Fleet setup status.
- text: Tell me what Fleet needs before agents can enroll.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/setup'].post
update:
x-apievangelist-phrasing:
intent: Initialize Fleet
effect: write
questions:
- How do I trigger Fleet setup?
- Is it safe to call Fleet initialization more than once?
instructions:
- text: Initialize Fleet.
- text: Run Fleet setup again with the kbn-xsrf header set to {xsrf}.
slots:
xsrf: header.kbn-xsrf
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agents/tags'].get
update:
x-apievangelist-phrasing:
intent: List tags used across agents
effect: read
questions:
- What tags are applied to my enrolled agents?
- Can I include tags from inactive agents?
instructions:
- text: List all agent tags.
- text: Show tags on agents matching {kuery}.
slots:
kuery: query.kuery
method: generated
generated: '2026-09-26'