Elastic Stack (ELK Stack) Significant Events API

The significant_events API from Elastic Stack (ELK Stack) — 4 operation(s) for significant_events.

Operations 5

GET /api/streams/{name}/queries Get stream queries #
POST /api/streams/{name}/queries/_bulk Bulk update queries #
DELETE /api/streams/{name}/queries/{queryId} Remove a query from a stream #
PUT /api/streams/{name}/queries/{queryId} Upsert a query to a stream #
GET /api/streams/{name}/significant_events Read the significant events #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elk-stack-significant-events-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elk-stack-significant-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: Kibana Team
  description: The Kibana REST APIs enable you to manage resources such as connectors, data views, and saved objects.
  title: Kibana Significant Events API
  version: ''
  x-doc-license:
    name: Attribution-NonCommercial-NoDerivatives 4.0 International
    url: https://creativecommons.org/licenses/by-nc-nd/4.0/
  x-feedbackLink:
    label: Feedback
    url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+
servers:
- url: https://{kibana_url}
  variables:
    kibana_url:
      default: localhost:5601
security:
- apiKeyAuth: []
- basicAuth: []
tags:
- name: significant_events
  x-displayName: Significant Events
paths:
  /api/streams/{name}/queries:
    get:
      deprecated: true
      description: '**Spaces method and path for this operation:**


        get /s/{space_id}/api/streams/{name}/queries


        Refer to Spaces for more information.


        Fetches all queries linked to a stream that are visible to the current user in the current space.


        [Required authorization] Route required privileges: read_stream.'
      operationId: get-streams-name-queries
      parameters:
      - description: The name of the stream.
        in: path
        name: name
        required: true
        schema:
          maxLength: 255
          type: string
      requestBody:
        content:
          application/json:
            examples: {}
            schema:
              anyOf:
              - additionalProperties: false
                type: object
                properties: {}
              - {}
      responses:
        '200':
          content:
            application/json:
              examples:
                listQueries:
                  value:
                    queries:
                    - description: Count error-level log events grouped by host name
                      esql:
                        query: FROM logs.nginx | WHERE log.level == "error" | STATS count = COUNT(*) BY host.name
                      id: error-count-by-host
                      severity_score: 75
                      title: Error count by host
                      type: match
                    - description: Requests with response time above 2 seconds
                      esql:
                        query: FROM logs.nginx | WHERE http.response_time > 2000
                      id: high-latency-requests
                      severity_score: 50
                      title: High latency requests
                      type: match
          description: List of queries linked to the stream.
      summary: Get stream queries
      tags:
      - significant_events
      x-state: Experimental; added in 9.1.0
      x-metaTags:
      - content: Kibana
        name: product_name
  /api/streams/{name}/queries/_bulk:
    post:
      deprecated: true
      description: '**Spaces method and path for this operation:**


        post /s/{space_id}/api/streams/{name}/queries/_bulk


        Refer to Spaces for more information.


        Bulk update queries of a stream. Can add new queries and delete existing ones.


        [Required authorization] Route required privileges: manage_stream.'
      operationId: post-streams-name-queries-bulk
      parameters:
      - description: A required header to protect against CSRF attacks
        in: header
        name: kbn-xsrf
        required: true
        schema:
          example: 'true'
          type: string
      - description: The name of the stream.
        in: path
        name: name
        required: true
        schema:
          maxLength: 255
          type: string
      requestBody:
        content:
          application/json:
            examples:
              bulkQueries:
                value:
                  operations:
                  - index:
                      description: Count error-level log events grouped by host name
                      esql:
                        query: FROM logs* | WHERE log.level == "error" | STATS count = COUNT(*) BY host.name
                      id: error-count-by-host
                      title: Error count by host
                  - delete:
                      id: old-query-id
            schema:
              additionalProperties: false
              type: object
              properties:
                operations:
                  items:
                    anyOf:
                    - type: object
                      properties:
                        index:
                          type: object
                          properties:
                            description:
                              default: ''
                              maxLength: 10000
                              type: string
                            esql:
                              type: object
                              properties:
                                query:
                                  maxLength: 10000
                                  type: string
                              required:
                              - query
                            evidence:
                              items:
                                maxLength: 10000
                                type: string
                              type: array
                            expires_at:
                              format: date-time
                              pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              type: string
                            id:
                              description: A non-empty string.
                              minLength: 1
                              type: string
                            severity_score:
                              type: number
                            title:
                              description: A non-empty string.
                              minLength: 1
                              type: string
                          required:
                          - title
                          - esql
                          - id
                      required:
                      - index
                    - type: object
                      properties:
                        delete:
                          type: object
                          properties:
                            id:
                              maxLength: 255
                              type: string
                          required:
                          - id
                      required:
                      - delete
                  type: array
              required:
              - operations
      responses:
        '200':
          description: Bulk operation completed successfully.
      summary: Bulk update queries
      tags:
      - significant_events
      x-state: Experimental; added in 9.1.0
      x-metaTags:
      - content: Kibana
        name: product_name
  /api/streams/{name}/queries/{queryId}:
    delete:
      deprecated: true
      description: '**Spaces method and path for this operation:**


        delete /s/{space_id}/api/streams/{name}/queries/{queryId}


        Refer to Spaces for more information.


        Remove a query from a stream. Noop if the query is not found on the stream.


        [Required authorization] Route required privileges: manage_stream.'
      operationId: delete-streams-name-queries-queryid
      parameters:
      - description: A required header to protect against CSRF attacks
        in: header
        name: kbn-xsrf
        required: true
        schema:
          example: 'true'
          type: string
      - description: The name of the stream.
        in: path
        name: name
        required: true
        schema:
          maxLength: 255
          type: string
      - description: The identifier of the query to remove.
        in: path
        name: queryId
        required: true
        schema:
          maxLength: 255
          type: string
      requestBody:
        content:
          application/json:
            examples: {}
            schema:
              anyOf:
              - additionalProperties: false
                type: object
                properties: {}
              - {}
      responses:
        '200':
          description: The query was removed successfully.
      summary: Remove a query from a stream
      tags:
      - significant_events
      x-state: Experimental; added in 9.1.0
      x-metaTags:
      - content: Kibana
        name: product_name
    put:
      deprecated: true
      description: '**Spaces method and path for this operation:**


        put /s/{space_id}/api/streams/{name}/queries/{queryId}


        Refer to Spaces for more information.


        Adds a query to a stream. Noop if the query is already present on the stream.


        [Required authorization] Route required privileges: manage_stream.'
      operationId: put-streams-name-queries-queryid
      parameters:
      - description: A required header to protect against CSRF attacks
        in: header
        name: kbn-xsrf
        required: true
        schema:
          example: 'true'
          type: string
      - description: The name of the stream.
        in: path
        name: name
        required: true
        schema:
          maxLength: 255
          type: string
      - description: The identifier of the query.
        in: path
        name: queryId
        required: true
        schema:
          maxLength: 255
          type: string
      requestBody:
        content:
          application/json:
            examples:
              upsertQuery:
                value:
                  description: Count error-level log events grouped by host name
                  esql:
                    query: FROM logs* | WHERE log.level == "error" | STATS count = COUNT(*) BY host.name
                  title: Error count by host
            schema:
              additionalProperties: false
              type: object
              properties:
                description:
                  default: ''
                  maxLength: 10000
                  type: string
                esql:
                  additionalProperties: false
                  type: object
                  properties:
                    query:
                      maxLength: 10000
                      type: string
                  required:
                  - query
                evidence:
                  items:
                    maxLength: 10000
                    type: string
                  type: array
                expires_at:
                  format: date-time
                  pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  type: string
                severity_score:
                  type: number
                title:
                  description: A non-empty string.
                  minLength: 1
                  type: string
              required:
              - title
              - esql
      responses:
        '200':
          description: The query was added or updated successfully.
      summary: Upsert a query to a stream
      tags:
      - significant_events
      x-state: Experimental; added in 9.1.0
      x-metaTags:
      - content: Kibana
        name: product_name
  /api/streams/{name}/significant_events:
    get:
      deprecated: true
      description: '**Spaces method and path for this operation:**


        get /s/{space_id}/api/streams/{name}/significant_events


        Refer to Spaces for more information.


        Read the significant events


        [Required authorization] Route required privileges: read_stream.'
      operationId: get-streams-name-significant-events
      parameters:
      - description: The name of the stream.
        in: path
        name: name
        required: true
        schema:
          maxLength: 255
          type: string
      - description: Start of the time range as an ISO 8601 date string.
        in: query
        name: from
        required: true
        schema:
          maxLength: 255
          type: string
      - description: End of the time range as an ISO 8601 date string.
        in: query
        name: to
        required: true
        schema:
          maxLength: 255
          type: string
      - description: The bucket size for aggregating events (e.g. "1m", "1h").
        in: query
        name: bucketSize
        required: true
        schema:
          maxLength: 255
          pattern: ^(\d+)([smhd])$
          type: string
      - description: Query string to filter significant events on metadata fields
        in: query
        name: query
        required: false
        schema:
          maxLength: 10000
          type: string
      - description: 'Search mode: keyword (BM25), semantic (vector), or hybrid (RRF). When omitted, defaults to hybrid with a silent keyword fallback on failure. When set explicitly, failures propagate as errors.'
        in: query
        name: searchMode
        required: false
        schema:
          enum:
          - keyword
          - semantic
          - hybrid
          type: string
      requestBody:
        content:
          application/json:
            examples: {}
            schema:
              anyOf:
              - additionalProperties: false
                type: object
                properties: {}
              - {}
      responses:
        '200':
          content:
            application/json:
              examples:
                queryOccurrences:
                  value:
                    aggregated_occurrences:
                    - count: 42
                      date: '2025-01-15T10:00:00.000Z'
                    - count: 18
                      date: '2025-01-15T11:00:00.000Z'
                    - count: 7
                      date: '2025-01-15T12:00:00.000Z'
                    queries:
                    - change_points:
                        type:
                          spike:
                            change_point: 1
                            p_value: 0.002
                      description: Count error-level log events grouped by host name
                      esql:
                        query: FROM logs.nginx | WHERE log.level == "error" | STATS count = COUNT(*) BY host.name
                      id: error-count-by-host
                      occurrences:
                      - count: 42
                        date: '2025-01-15T10:00:00.000Z'
                      - count: 18
                        date: '2025-01-15T11:00:00.000Z'
                      - count: 7
                        date: '2025-01-15T12:00:00.000Z'
                      rule_backed: false
                      rule_uuid: 9fdfcf5a-4e1d-5ee3-b05d-7bc2b014e81c
                      severity_score: 75
                      stream_name: logs.nginx
                      title: Error count by host
                      type: match
          description: Significant events for the stream.
      summary: Read the significant events
      tags:
      - significant_events
      x-state: Experimental; added in 9.1.0
      x-metaTags:
      - content: Kibana
        name: product_name
components:
  securitySchemes:
    apiKeyAuth:
      description: 'These APIs use key-based authentication. You must create an API key and use the encoded value in the request header. For example: `Authorization: ApiKey base64AccessApiKey`

        '
      in: header
      name: Authorization
      type: apiKey
    basicAuth:
      scheme: basic
      type: http
x-topics:
- title: Kibana spaces
  content: "Spaces enable you to organize your dashboards and other saved objects into meaningful categories.\nYou can use the default space or create your own spaces.\n\nTo run APIs in non-default spaces, you must add `s/{space_id}/` to the path.\nFor example:\n\n```bash\ncurl -X GET \"http://${KIBANA_URL}/s/marketing/api/data_views\" \\\n  -H \"Authorization: ApiKey ${API_KEY}\"\n```\n\nIf you use the Kibana console to send API requests, it automatically adds the appropriate space identifier.\n\nTo learn more, check out [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces).\n"