GET /api/streams

Spaces method and path for this operation:

get /s/{space_id}/api/streams

Refer to Spaces for more information.

Fetches list of all streams

[Required authorization] Route required privileges: read_stream.

application/json

Body

object object

Additional properties are NOT allowed.

Responses

  • 200 application/json
GET /api/streams
curl \
 --request GET 'https://<KIBANA_URL>/api/streams' \
 --header "Authorization: $API_KEY" \
 --header "Content-Type: application/json"
Response examples (200)
{
  "streams": [
    {
      "name": "logs",
      "type": "wired",
      "ingest": {
        "wired": {
          "fields": {
            "message": {
              "type": "match_only_text"
            },
            "log.level": {
              "type": "keyword"
            },
            "@timestamp": {
              "type": "date"
            }
          },
          "routing": [
            {
              "where": {
                "eq": "nginx",
                "field": "host.name"
              },
              "status": "enabled",
              "destination": "logs.nginx"
            }
          ]
        },
        "settings": {},
        "lifecycle": {
          "inherit": {}
        },
        "processing": {
          "steps": [],
          "updated_at": "2025-01-10T08:00:00.000Z"
        },
        "failure_store": {
          "inherit": {}
        }
      },
      "updated_at": "2025-01-10T08:00:00.000Z",
      "description": "Root logs stream"
    },
    {
      "name": "logs.nginx",
      "type": "wired",
      "ingest": {
        "wired": {
          "fields": {
            "message": {
              "type": "match_only_text"
            },
            "host.name": {
              "type": "keyword"
            },
            "http.response.status_code": {
              "type": "long"
            }
          },
          "routing": [
            {
              "where": {
                "gte": 500,
                "field": "http.response.status_code"
              },
              "status": "enabled",
              "destination": "logs.nginx.errors"
            }
          ]
        },
        "settings": {},
        "lifecycle": {
          "inherit": {}
        },
        "processing": {
          "steps": [],
          "updated_at": "2025-01-15T10:30:00.000Z"
        },
        "failure_store": {
          "inherit": {}
        }
      },
      "updated_at": "2025-01-15T10:30:00.000Z",
      "description": "Web server access logs, routed by severity"
    },
    {
      "name": "logs-myapp-default",
      "type": "classic",
      "ingest": {
        "classic": {},
        "settings": {},
        "lifecycle": {
          "dsl": {
            "data_retention": "30d"
          }
        },
        "processing": {
          "steps": [
            {
              "from": "message",
              "action": "grok",
              "patterns": [
                "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:log.level} %{GREEDYDATA:message}"
              ],
              "ignore_missing": true
            }
          ],
          "updated_at": "2024-12-01T09:00:00.000Z"
        },
        "failure_store": {
          "disabled": {}
        }
      },
      "updated_at": "2024-12-01T09:00:00.000Z",
      "description": "Legacy application logs"
    },
    {
      "name": "logs.errors",
      "type": "query",
      "query": {
        "esql": "FROM logs* | WHERE log.level == \"error\"",
        "view": "logs.errors-view"
      },
      "updated_at": "2025-01-20T14:00:00.000Z",
      "description": "All error-level logs across every stream"
    }
  ]
}