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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'