---
type: api
title: Initialize security solution flows
description: Run one or more Security Solution initialization flows for the current space.
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/kibana/v0/operation/operation-initializesecuritysolution
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/kibana/v0/operation/operation-initializesecuritysolution
products:
  - Kibana
---

# Initialize security solution flows

- Server: `https://{kibana_url}`

## Paths

- `POST` `/api/security_solution/initialize`

## Description

Run one or more Security Solution initialization flows for the current space.
Each flow provisions a specific set of assets, for example list indices,
security data views, prebuilt detection rules, endpoint protection, AI prompts,
or detection rule monitoring assets. Only the requested flows are run, and the
response reports a result for each one.

## Authentication

- Api key: `Authorization: <value>`
  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`
- Basic: `Authorization: Basic <credentials>`

## Request body

The initialization flows to run.

`application/json`

- `flows` (enum[] · min items: 1) — required
  Values: `create-list-indices`, `security-data-views`, `init-prebuilt-rules`, `init-endpoint-protection`, `init-ai-prompts`, `init-detection-rule-monitoring`

## Response

Indicates a successful call. Returns a result for each requested flow.

`application/json`

- `flows` (object)
  Per-flow results. Only requested flows appear in the response, so all properties are optional. Each flow is either a typed ready result or an error result.
  - `create-list-indices` (union oneOf)
    - **status: ready**
      - `status` (enum)
        Values: `ready`
    - **status: error**
      - `status` (enum)
        Values: `error`
      - `error` (string) — nullable
  - `init-ai-prompts` (union oneOf)
    - **status: ready**
      - `status` (enum)
        Values: `ready`
      - `payload` (object)
        - `install_status` (string)
          Fleet package installation status (e.g., installed, already_installed).
        - `name` (string)
        - `version` (string)
    - **status: error**
      - `status` (enum)
        Values: `error`
      - `error` (string) — nullable
  - `init-detection-rule-monitoring` (union oneOf)
    - **status: ready**
      - `status` (enum)
        Values: `ready`
    - **status: error**
      - `status` (enum)
        Values: `error`
      - `error` (string) — nullable
  - `init-endpoint-protection` (union oneOf)
    - **status: ready**
      - `status` (enum)
        Values: `ready`
      - `payload` (object)
        - `install_status` (string)
          Fleet package installation status (e.g., installed, already_installed).
        - `name` (string)
        - `version` (string)
    - **status: error**
      - `status` (enum)
        Values: `error`
      - `error` (string) — nullable
  - `init-prebuilt-rules` (union oneOf)
    - **status: ready**
      - `status` (enum)
        Values: `ready`
      - `payload` (object)
        - `install_status` (string)
          Fleet package installation status (e.g., installed, already_installed).
        - `name` (string)
        - `version` (string)
    - **status: error**
      - `status` (enum)
        Values: `error`
      - `error` (string) — nullable
  - `security-data-views` (union oneOf)
    - **status: ready**
      - `status` (enum)
        Values: `ready`
      - `payload` (object)
        - `alertDataView` (object)
          - `id` (string)
          - `patternList` (string[])
          - `title` (string)
        - `attackDataView` (object)
          - `id` (string)
          - `patternList` (string[])
          - `title` (string)
        - `defaultDataView` (object)
          - `id` (string)
          - `patternList` (string[])
          - `title` (string)
        - `kibanaDataViews` (object[])
          - `id` (string)
          - `patternList` (string[])
          - `title` (string)
        - `signalIndexName` (string)
    - **status: error**
      - `status` (enum)
        Values: `error`
      - `error` (string) — nullable
## Code examples

#### Console

```console
POST kbn:/api/security_solution/initialize
{
  "flows": [
    "init-prebuilt-rules",
    "init-endpoint-protection",
    "init-ai-prompts"
  ]
}
```

#### curl

```curl
curl -X POST "${KIBANA_URL}/api/security_solution/initialize" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "flows": [
      "init-prebuilt-rules",
      "init-endpoint-protection",
      "init-ai-prompts"
    ]
  }'
```

## Response examples

#### Default

```json
{
  "flows": {
    "init-ai-prompts": {
      "payload": {
        "install_status": "installed",
        "name": "security_ai_prompts",
        "version": "8.17.1"
      },
      "status": "ready"
    },
    "init-endpoint-protection": {
      "payload": {
        "install_status": "already_installed",
        "name": "endpoint",
        "version": "8.17.1"
      },
      "status": "ready"
    },
    "init-prebuilt-rules": {
      "payload": {
        "install_status": "installed",
        "name": "security_detection_engine",
        "version": "8.17.1"
      },
      "status": "ready"
    }
  }
}
```

