Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Kibana Elastic Agent policies API
15 actions
15 updates
phrasing
extends
openapi/elk-stack-elastic-agent-policies-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 15
$.info
$.paths['/api/fleet/agent_policies'].get
$.paths['/api/fleet/agent_policies'].post
$.paths['/api/fleet/agent_policies/_bulk_get'].post
$.paths['/api/fleet/agent_policies/{agentPolicyId}'].get
$.paths['/api/fleet/agent_policies/{agentPolicyId}'].put
$.paths['/api/fleet/agent_policies/{agentPolicyId}/auto_upgrade_agents_status'].get
$.paths['/api/fleet/agent_policies/{agentPolicyId}/copy'].post
$.paths['/api/fleet/agent_policies/{agentPolicyId}/download'].get
$.paths['/api/fleet/agent_policies/{agentPolicyId}/full'].get
$.paths['/api/fleet/agent_policies/{agentPolicyId}/outputs'].get
$.paths['/api/fleet/agent_policies/delete'].post
$.paths['/api/fleet/agent_policies/outputs'].post
$.paths['/api/fleet/kubernetes'].get
$.paths['/api/fleet/kubernetes/download'].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 Agent policies API
version: 1.0.0
extends: openapi/elk-stack-elastic-agent-policies-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: 14
- target: $.paths['/api/fleet/agent_policies'].get
update:
x-apievangelist-phrasing:
intent: List Fleet agent policies
effect: read
questions:
- How do I list all the agent policies in Fleet?
- Can I see only the policies that have agents available to upgrade?
- Which agent policies match a KQL filter, along with how many agents each has?
instructions:
- text: List all Fleet agent policies with their agent counts.
- text: Find agent policies matching KQL {kuery}.
slots:
kuery: query.kuery
- text: Show page {page} of agent policies sorted by {sortField}.
slots:
page: query.page
sortField: query.sortField
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies'].post
update:
x-apievangelist-phrasing:
intent: Create a Fleet agent policy
effect: write
questions:
- How do I create a new agent policy in Fleet?
- Can a new agent policy include the system integration automatically?
instructions:
- text: Create an agent policy named {name} in namespace {namespace}.
slots:
name: requestBody.name
namespace: requestBody.namespace
- text: Create agent policy {name} in {namespace} with description {description}.
slots:
name: requestBody.name
namespace: requestBody.namespace
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/_bulk_get'].post
update:
x-apievangelist-phrasing:
intent: Fetch several agent policies by ID at once
effect: read
questions:
- Can I retrieve a batch of agent policies in one call by their IDs?
- Is there a way to skip missing IDs when fetching several policies together?
instructions:
- text: Bulk fetch the agent policies with IDs {ids}.
slots:
ids: requestBody.ids
- text: Get policies {ids} with package policies populated, ignoring any that are missing.
slots:
ids: requestBody.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/{agentPolicyId}'].get
update:
x-apievangelist-phrasing:
intent: Get one agent policy
effect: read
questions:
- How do I look up a single Fleet agent policy by its ID?
- What namespace and settings does one particular agent policy have?
instructions:
- text: Get agent policy {agentPolicyId}.
slots:
agentPolicyId: path.agentPolicyId
- text: Show the settings of agent policy {agentPolicyId} in {format} format.
slots:
agentPolicyId: path.agentPolicyId
format: query.format
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/{agentPolicyId}'].put
update:
x-apievangelist-phrasing:
intent: Update an agent policy
effect: write
questions:
- How do I rename an existing agent policy or move it to another namespace?
- Can I change the global data tags on a policy that's already in use?
instructions:
- text: Update agent policy {agentPolicyId} to name {name} in namespace {namespace}.
slots:
agentPolicyId: path.agentPolicyId
name: requestBody.name
namespace: requestBody.namespace
- text: Set global data tags {global_data_tags} on policy {agentPolicyId}, keeping name {name} and namespace {namespace}.
slots:
global_data_tags: requestBody.global_data_tags
agentPolicyId: path.agentPolicyId
name: requestBody.name
namespace: requestBody.namespace
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/{agentPolicyId}/auto_upgrade_agents_status'].get
update:
x-apievangelist-phrasing:
intent: Check auto-upgrade status of a policy's agents
effect: read
questions:
- How far along is the automatic upgrade of agents on one policy?
- Can I see which agents under a policy have auto-upgraded?
instructions:
- text: Get the auto-upgrade agent status for policy {agentPolicyId}.
slots:
agentPolicyId: path.agentPolicyId
- text: Show how agents on {agentPolicyId} are progressing with automatic upgrades.
slots:
agentPolicyId: path.agentPolicyId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/{agentPolicyId}/copy'].post
update:
x-apievangelist-phrasing:
intent: Duplicate an agent policy
effect: write
questions:
- Can I clone an existing agent policy under a new name?
- How do I start a new policy from a copy of one that already works?
instructions:
- text: Copy agent policy {agentPolicyId} as {name}.
slots:
agentPolicyId: path.agentPolicyId
name: requestBody.name
- text: Duplicate policy {agentPolicyId} and call the copy {name}.
slots:
agentPolicyId: path.agentPolicyId
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/{agentPolicyId}/download'].get
update:
x-apievangelist-phrasing:
intent: Download an agent policy file
effect: read
questions:
- How do I download an agent policy as a file for a standalone Elastic Agent?
- Can I download a policy file as it was at an earlier revision?
instructions:
- text: Download policy {agentPolicyId} formatted for standalone agents when standalone is {standalone}.
slots:
agentPolicyId: path.agentPolicyId
standalone: query.standalone
- text: Download revision {revision} of policy {agentPolicyId}.
slots:
revision: query.revision
agentPolicyId: path.agentPolicyId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/{agentPolicyId}/full'].get
update:
x-apievangelist-phrasing:
intent: Get the full compiled agent policy
effect: read
questions:
- How do I see the complete compiled policy an agent actually receives?
- Can I view the full policy formatted for a Kubernetes deployment?
instructions:
- text: Get the full compiled policy for {agentPolicyId}.
slots:
agentPolicyId: path.agentPolicyId
- text: Show the full policy {agentPolicyId} formatted for Kubernetes when kubernetes is {kubernetes}.
slots:
agentPolicyId: path.agentPolicyId
kubernetes: query.kubernetes
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/{agentPolicyId}/outputs'].get
update:
x-apievangelist-phrasing:
intent: List outputs used by one agent policy
effect: read
questions:
- Where does a given agent policy send its data and monitoring output?
- Which outputs are attached to a single agent policy?
instructions:
- text: List the outputs for agent policy {agentPolicyId}.
slots:
agentPolicyId: path.agentPolicyId
- text: Show where policy {agentPolicyId} ships its data.
slots:
agentPolicyId: path.agentPolicyId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/delete'].post
update:
x-apievangelist-phrasing:
intent: Delete an agent policy
effect: destructive
questions:
- How do I delete an agent policy from Fleet?
- Can I bypass the checks that block deleting a policy?
instructions:
- text: Delete agent policy {agentPolicyId}.
slots:
agentPolicyId: requestBody.agentPolicyId
- text: Force-delete policy {agentPolicyId}, bypassing validation with force set to {force}.
slots:
agentPolicyId: requestBody.agentPolicyId
force: requestBody.force
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/agent_policies/outputs'].post
update:
x-apievangelist-phrasing:
intent: List outputs for several agent policies
effect: read
questions:
- Can I get the outputs for a batch of agent policies in one request?
- What outputs do a set of policies send data to?
instructions:
- text: Get the outputs for agent policies {ids}.
slots:
ids: requestBody.ids
- text: Show the data outputs configured across policies {ids}.
slots:
ids: requestBody.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/kubernetes'].get
update:
x-apievangelist-phrasing:
intent: Get the Elastic Agent Kubernetes manifest
effect: read
questions:
- How do I get a Kubernetes manifest for deploying Elastic Agent?
- Can the manifest include my Fleet Server URL and enrollment token?
instructions:
- text: Generate the Kubernetes manifest with Fleet Server {fleetServer} and enrollment token {enrolToken}.
slots:
fleetServer: query.fleetServer
enrolToken: query.enrolToken
- text: Show me the Elastic Agent Kubernetes manifest inline.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/fleet/kubernetes/download'].get
update:
x-apievangelist-phrasing:
intent: Download the Elastic Agent Kubernetes manifest file
effect: read
questions:
- Where can I download the Kubernetes manifest as a file to apply with kubectl?
- Is there a download endpoint for the agent manifest separate from viewing it?
instructions:
- text: Download the Kubernetes manifest file pointed at Fleet Server {fleetServer}.
slots:
fleetServer: query.fleetServer
- text: Save the agent manifest as a file with enrollment token {enrolToken}.
slots:
enrolToken: query.enrolToken
method: generated
generated: '2026-09-26'