Elastic Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Kibana Security AI Assistant API
22 actions
22 updates
phrasing
extends
openapi/elk-stack-security-ai-assistant-api-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 22 · first 16 shown; the file carries all of them
$.info
$.paths['/api/security_ai_assistant/anonymization_fields/_bulk_action'].post
$.paths['/api/security_ai_assistant/anonymization_fields/_find'].get
$.paths['/api/security_ai_assistant/chat/complete'].post
$.paths['/api/security_ai_assistant/current_user/conversations'].post
$.paths['/api/security_ai_assistant/current_user/conversations'].delete
$.paths['/api/security_ai_assistant/current_user/conversations/_find'].get
$.paths['/api/security_ai_assistant/current_user/conversations/{id}'].get
$.paths['/api/security_ai_assistant/current_user/conversations/{id}'].put
$.paths['/api/security_ai_assistant/current_user/conversations/{id}'].delete
$.paths['/api/security_ai_assistant/knowledge_base'].get
$.paths['/api/security_ai_assistant/knowledge_base'].post
$.paths['/api/security_ai_assistant/knowledge_base/{resource}'].get
$.paths['/api/security_ai_assistant/knowledge_base/{resource}'].post
$.paths['/api/security_ai_assistant/knowledge_base/entries'].post
$.paths['/api/security_ai_assistant/knowledge_base/entries/_bulk_action'].post
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 Security AI Assistant API
version: 1.0.0
extends: openapi/elk-stack-security-ai-assistant-api-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: 21
- target: $.paths['/api/security_ai_assistant/anonymization_fields/_bulk_action'].post
update:
x-apievangelist-phrasing:
intent: Bulk create, update or delete anonymization fields
effect: write
questions:
- Can I change which fields the Security AI Assistant anonymizes in one batch?
- Is there a way to delete several anonymization fields at once?
instructions:
- text: 'Create these anonymization fields in bulk: {create}.'
slots:
create: requestBody.create
- text: Update anonymization fields {update} and delete {delete} in one bulk action.
slots:
update: requestBody.update
delete: requestBody.delete
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/anonymization_fields/_find'].get
update:
x-apievangelist-phrasing:
intent: List anonymization fields
effect: read
questions:
- Which fields does the security AI assistant anonymize before sending to the model?
- Can I filter and sort the anonymization field list?
instructions:
- text: List all anonymization fields.
- text: Find anonymization fields matching {filter}, sorted by {sort_field}.
slots:
filter: query.filter
sort_field: query.sort_field
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/chat/complete'].post
update:
x-apievangelist-phrasing:
intent: Get a model response from the security assistant
effect: write
questions:
- How do I send messages to the Elastic Security AI Assistant and get an answer back?
- Can the assistant's response be streamed?
- Can I choose whether the chat gets saved as a conversation?
instructions:
- text: 'Send {messages} to the assistant through connector {connectorId} and persist it: {persist}.'
slots:
messages: requestBody.messages
connectorId: requestBody.connectorId
persist: requestBody.persist
- text: Ask the security assistant {messages} via connector {connectorId} in conversation {conversationId}, persist {persist}.
slots:
messages: requestBody.messages
connectorId: requestBody.connectorId
conversationId: requestBody.conversationId
persist: requestBody.persist
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/current_user/conversations'].post
update:
x-apievangelist-phrasing:
intent: Start a new assistant conversation
effect: write
questions:
- Can I create a saved conversation with the security AI assistant ahead of time?
- What does a new assistant conversation need besides a title?
instructions:
- text: Create a conversation titled {title}.
slots:
title: requestBody.title
- text: Start a new assistant conversation {title} in category {category}.
slots:
title: requestBody.title
category: requestBody.category
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/current_user/conversations'].delete
update:
x-apievangelist-phrasing:
intent: Delete all my assistant conversations
effect: destructive
questions:
- Can I clear my entire security assistant chat history?
- Is it possible to delete all conversations except a few I want to keep?
instructions:
- text: Delete all of my assistant conversations.
- text: Delete every conversation except {excludedIds}.
slots:
excludedIds: requestBody.excludedIds
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/current_user/conversations/_find'].get
update:
x-apievangelist-phrasing:
intent: Search my assistant conversations
effect: read
questions:
- What conversations have I had with the security AI assistant?
- Can I list only conversations I own?
instructions:
- text: List my assistant conversations.
- text: Find conversations matching {filter}, page {page}.
slots:
filter: query.filter
page: query.page
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/current_user/conversations/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get an assistant conversation
effect: read
questions:
- Can I pull up the full message history of one assistant conversation?
- What's in a specific security assistant chat?
instructions:
- text: Show conversation {id}.
slots:
id: path.id
- text: Get the messages in assistant conversation {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/current_user/conversations/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update an assistant conversation
effect: write
questions:
- Can I rename an existing assistant conversation?
- Is it possible to change the connector config on a conversation I already have?
instructions:
- text: Rename conversation {id} to {title}.
slots:
id: path.id
title: requestBody.title
- text: Update existing conversation {id} to use API config {apiConfig}.
slots:
id: path.id
apiConfig: requestBody.apiConfig
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/current_user/conversations/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one assistant conversation
effect: destructive
questions:
- Can I delete a single chat with the security assistant?
- What removes one specific conversation from my history?
instructions:
- text: Delete conversation {id}.
slots:
id: path.id
- text: Remove assistant chat {id} from my history.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base'].get
update:
x-apievangelist-phrasing:
intent: Check the assistant's knowledge base status
effect: read
questions:
- Is the security AI assistant's knowledge base set up?
- What's the current state of the assistant knowledge base?
instructions:
- text: Show the knowledge base status.
- text: Check whether the security assistant knowledge base is ready.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base'].post
update:
x-apievangelist-phrasing:
intent: Set up the assistant knowledge base
effect: write
questions:
- How do I install the knowledge base for the security AI assistant?
- Can I skip loading Security Labs content when setting it up?
instructions:
- text: Set up the knowledge base using model {modelId}.
slots:
modelId: query.modelId
- text: 'Create the assistant knowledge base, ignoring Security Labs: {ignoreSecurityLabs}.'
slots:
ignoreSecurityLabs: query.ignoreSecurityLabs
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base/{resource}'].get
update:
x-apievangelist-phrasing:
intent: Check knowledge base status for a resource
effect: read
questions:
- Is the knowledge base ready for a particular resource?
- Can I check a resource-specific knowledge base instead of the default?
instructions:
- text: Show knowledge base status for resource {resource}.
slots:
resource: path.resource
- text: Check whether the {resource} knowledge base is installed.
slots:
resource: path.resource
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base/{resource}'].post
update:
x-apievangelist-phrasing:
intent: Set up the knowledge base for a resource
effect: write
questions:
- Can I create a knowledge base for one specific resource?
- What model does a resource knowledge base use when I install it?
instructions:
- text: Create the knowledge base for resource {resource}.
slots:
resource: path.resource
- text: Install the {resource} knowledge base with model {modelId}.
slots:
resource: path.resource
modelId: query.modelId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base/entries'].post
update:
x-apievangelist-phrasing:
intent: Add a knowledge base entry
effect: write
questions:
- How do I teach the security assistant a new fact or document?
- Can I add a single entry to the knowledge base?
instructions:
- text: Add a new knowledge base entry with this content.
- text: Create one knowledge base entry for the security assistant.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base/entries/_bulk_action'].post
update:
x-apievangelist-phrasing:
intent: Bulk manage knowledge base entries
effect: write
questions:
- Can I add, edit and remove many knowledge base entries in one request?
- What's the bulk option for knowledge base entries?
instructions:
- text: Bulk create knowledge base entries {create}.
slots:
create: requestBody.create
- text: Bulk delete knowledge base entries {delete} and update {update}.
slots:
delete: requestBody.delete
update: requestBody.update
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base/entries/_find'].get
update:
x-apievangelist-phrasing:
intent: Search knowledge base entries
effect: read
questions:
- Which entries are in the security assistant's knowledge base?
- Can I filter knowledge base entries by a query?
instructions:
- text: List knowledge base entries.
- text: Find knowledge base entries matching {filter}, {per_page} per page.
slots:
filter: query.filter
per_page: query.per_page
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base/entries/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a knowledge base entry
effect: read
questions:
- What does a specific knowledge base entry contain?
- Can I read one entry by its ID?
instructions:
- text: Show knowledge base entry {id}.
slots:
id: path.id
- text: Get the content of entry {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base/entries/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a knowledge base entry
effect: write
questions:
- Can I edit a knowledge base entry that already exists?
- How is a single knowledge base entry's content changed?
instructions:
- text: Update knowledge base entry {id}.
slots:
id: path.id
- text: Replace the content of existing entry {id} with this text.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/knowledge_base/entries/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a knowledge base entry
effect: destructive
questions:
- Can I remove one outdated entry from the assistant's knowledge base?
- What deletes a single knowledge base entry by ID?
instructions:
- text: Delete knowledge base entry {id}.
slots:
id: path.id
- text: Remove outdated entry {id} from the knowledge base.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/prompts/_bulk_action'].post
update:
x-apievangelist-phrasing:
intent: Bulk create, update or delete prompts
effect: write
questions:
- Can I manage many security assistant prompts in one request?
- Is there a way to delete several saved prompts together?
instructions:
- text: Bulk create prompts {create}.
slots:
create: requestBody.create
- text: Update prompts {update} and delete prompts {delete}.
slots:
update: requestBody.update
delete: requestBody.delete
method: generated
generated: '2026-09-26'
- target: $.paths['/api/security_ai_assistant/prompts/_find'].get
update:
x-apievangelist-phrasing:
intent: List assistant prompts
effect: read
questions:
- Which system and quick prompts are saved for the security assistant?
- Can I sort and page through saved prompts?
instructions:
- text: List all saved prompts.
- text: Find prompts matching {filter} sorted by {sort_field} {sort_order}.
slots:
filter: query.filter
sort_field: query.sort_field
sort_order: query.sort_order
method: generated
generated: '2026-09-26'