---
title: "Subscribe to one or more lists"
method: POST
path: "/profiles/{user_id}/lists"
tags: ["User Profiles"]
---

# Subscribe to one or more lists

`POST /profiles/{user_id}/lists`

Subscribes a user to one or more lists, creating any list that does not yet exist. Optional preferences apply to each subscription.

## Path parameters

- `user_id` string, required

## Headers

- `Idempotency-Key` string
- `x-idempotency-expiration` string

## Request body

- SubscribeToListsRequest
  - `lists` SubscribeToListsRequestItem[], required
    - `listId` string, required
    - `preferences` RecipientPreferences
      - `categories` NotificationPreferences
      - `notifications` NotificationPreferences

## Response `200`

- SubscribeToListsResponse
  - `status` 'SUCCESS', required

## Other responses

- `400`

## Changes

- **2026-08-03** `04f69fbf96a5` — 2 info
  - api tag `User Profiles` added
  - api tag `Profiles` removed
- **2026-07-29** `f76bed79a913` — 4 info
  - api tag `Profiles` added
  - api tag `User Profiles` removed
  - added the new optional `header` request parameter `Idempotency-Key`
  - added the new optional `header` request parameter `x-idempotency-expiration`
- **2025-10-15** `e67d02739533` — 2 info
  - api tag `User Profiles` added
  - api tag `Profiles` removed
- **2025-10-10** `1cc4508dc9f8` — 1 info
  - api operation id `profiles_subscribeToLists` removed and replaced with `profiles_subscribeToList`

[Change history](https://skmtc.dev/trycourier/apis/courier/changes/profiles/:user_id/lists/post.md)

---

[API](https://skmtc.dev/trycourier/apis/courier.md) · [All operations](https://skmtc.dev/trycourier/apis/courier/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trycourier/courier/revisions/cb8586034158/schema)
