---
title: "Create or get a conversation. Direct (user_id) or group (member_ids + name)."
method: POST
path: "/conversations"
tags: ["Conversations"]
---

# Create or get a conversation. Direct (user_id) or group (member_ids + name).

`POST /conversations`

## Request

- Base URL: `https://api.shopseen.com/v1`
- URL: `https://api.shopseen.com/v1/conversations`
- Auth: HTTP bearer

## Request body

- object: Exactly one of user_id OR (member_ids + name) should be provided.
  - `user_id` string, uuid, nullable
  - `member_ids` string[], nullable: User ids to include as members (excluding the creator). 1–9 others, all must be mutual follows.
  - `name` string, nullable

## Response `200`

Existing direct conversation returned

- object
  - `conversation` Conversation
    - `id` string, uuid
    - `conversation_type` 'direct' | 'group'
    - `name` string, nullable
    - `created_by` string, uuid, nullable
    - `user_a_id` string, uuid, nullable
    - `user_b_id` string, uuid, nullable
    - `created_at` string, date-time
    - `last_message_at` string, date-time, nullable
    - `last_read_at` string, date-time, nullable
    - `unread_count` integer
    - `other_user_id` string, uuid, nullable
    - `other_display_name` string, nullable
    - `other_avatar_url` string, nullable
    - `members` UserProfile[], nullable
      - `id` string, uuid
      - `display_name` string
      - `avatar_url` string, nullable
      - `bio` string, nullable
      - `is_mutual_follow` boolean
      - `is_following` boolean
      - `is_followed_by` boolean: True if this user follows the authenticated user
      - `mutual_follow_count` integer

## Other responses

- `201`: New conversation created

---

[API](https://skmtc.dev/shopseen/apis/a-side-api.md) - [All operations](https://skmtc.dev/shopseen/apis/a-side-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shopseen/apis/a-side-api/revisions/f37f989e90da?raw)
