---
title: "Create a value list"
method: POST
path: "/api/lists"
tags: ["Security Lists API"]
---

# Create a value list

`POST /api/lists`

**Spaces method and path for this operation:**

<div><span class="operation-verb post">post</span>&nbsp;<span class="operation-path">/s/{space_id}/api/lists</span></div>

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

Create a new value list.

## Request body

- object
  - `description` string, nonempty, required — Describes the value list.
  - `id` string, nonempty — Value list's identifier.
  - `meta` SecurityListsAPIListMetadata — Placeholder for metadata about the value list.
  - `name` string, nonempty, required — Value list's name.
  - `type` 'binary' | 'boolean' | 'byte' | 'date' | 'date_nanos' | 'date_range' | 'double' | 'double_range' | 'float' | 'float_range' | 'geo_point' | 'geo_shape' | 'half_float' | 'integer' | 'integer_range' | 'ip' | 'ip_range' | 'keyword' | 'long' | 'long_range' | 'shape' | 'short' | 'text', required — Specifies the Elasticsearch data type of excludes the list container holds. Some common examples: - `keyword`: Many ECS fields are Elasticsearch keywords - `ip`: IP addresses - `ip_range`: Range of IP addresses (supports IPv4, IPv6, and CIDR notation)
  - `version` integer

## Response `200`

Successful response

- SecurityListsAPIList
  - `_version` string — The version id, normally returned by the API when the document is retrieved. Use it ensure updates are done against the latest version.
  - `@timestamp` string, date-time
  - `created_at` string, date-time, required — Autogenerated date of object creation.
  - `created_by` string, required — Autogenerated value - user that created object.
  - `description` string, nonempty, required — Describes the value list.
  - `id` string, nonempty, required — Value list's identifier.
  - `immutable` boolean, required
  - `meta` SecurityListsAPIListMetadata — Placeholder for metadata about the value list.
  - `name` string, nonempty, required — Value list's name.
  - `tie_breaker_id` string, required — Field used in search to ensure all containers are sorted and returned correctly.
  - `type` 'binary' | 'boolean' | 'byte' | 'date' | 'date_nanos' | 'date_range' | 'double' | 'double_range' | 'float' | 'float_range' | 'geo_point' | 'geo_shape' | 'half_float' | 'integer' | 'integer_range' | 'ip' | 'ip_range' | 'keyword' | 'long' | 'long_range' | 'shape' | 'short' | 'text', required — Specifies the Elasticsearch data type of excludes the list container holds. Some common examples: - `keyword`: Many ECS fields are Elasticsearch keywords - `ip`: IP addresses - `ip_range`: Range of IP addresses (supports IPv4, IPv6, and CIDR notation)
  - `updated_at` string, date-time, required — Autogenerated date of last object update.
  - `updated_by` string, required — Autogenerated value - user that last updated object.
  - `version` integer, required — The document version number.

## Other responses

- `400` — Invalid input data response
- `401` — Unsuccessful authentication response
- `403` — Not enough privileges response
- `409` — List already exists response
- `500` — Internal server error response

---

[API](https://skmtc.net/elastic/apis/kibana-apis.md) · [All operations](https://skmtc.net/elastic/apis/kibana-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elastic/kibana-apis/versions/531c9e2a7d23/schema)
