---
title: "Create list"
method: POST
path: "/api/v1/user/lists"
tags: ["User"]
---

# Create list

`POST /api/v1/user/lists`

## Headers

- `X-CSRF-Token` string, required

## Request body

- UserListCreateRequest
  - `name` string, required
  - `description` string
  - `color` string, nullable
  - `kind` 'company' | 'person' | 'mixed'

## Response `201`

Created

- UserListCreatedResponse
  - `id` integer, required
  - `list` UserList, required — Saved user list; migration columns may be appended.
    - `id` integer
    - `user_id` integer
    - `name` string
    - `description` string
    - `color` string, nullable
    - `kind` 'company' | 'person' | 'mixed'
    - `item_count` integer
    - `created_at` string
    - `updated_at` string

## Other responses

- `400` — Invalid request
- `401` — Authentication required (no active session)
- `403` — Invalid CSRF

## Changes

- **2026-07-26** `996f96a11758` — 2 breaking, 5 info
  - added the new required `header` request parameter `X-CSRF-Token`
  - added required request body
  - api operation id `postUserLists` was added
  - added the media type `application/json` for the response with the status `201`
  - …3 more

[Change history](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/changes/api/v1/user/lists/post.md)

---

[API](https://skmtc.dev/openmercantil/apis/openmercantil-public-api.md) · [All operations](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openmercantil/openmercantil-public-api/revisions/601ff6123c86/schema)
