---
title: "Create a group chat"
method: POST
path: "/chat/groups"
tags: ["Chat"]
---

# Create a group chat

`POST /chat/groups`

## Request

- Base URL: `https://viral.app/api/v1`
- URL: `https://viral.app/api/v1/chat/groups`
- Auth: API key in header `x-api-key`

Creates a group conversation between your organization and many creators, and posts a notice that the group was created, which notifies its members. `groupKind` decides who is in it: `manual` takes the hand-picked `orgCreatorIds` (changed later through `POST|DELETE /chat/groups/{chatId}/members`), `campaign` follows the roster of `campaignId`, `all` includes every active creator — both update on their own. `title` is the internal name, unique in your organization and never shown to creators; `publicTitle` is the name creators see. Creators not yet invited to the platform stay on the roster and see the group once invited.

## Request body

- object
  - `groupKind` 'manual' | 'campaign' | 'all', required
  - `title` string, required
  - `publicTitle` string, required
  - `orgCreatorIds` string[]
  - `campaignId` string

## Response `200`

OK

- object
  - `chatId` string, required

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `404`: 404
- `408`: 408
- `429`: 429
- `500`: 500

---

[API](https://skmtc.dev/viral/apis/viral-app-api.md) · [All operations](https://skmtc.dev/viral/apis/viral-app-api/llms.txt) · [OpenAPI document](https://skmtc.dev/viral/apis/viral-app-api/revisions/31e97fa79ef1?raw)
