---
title: "🔒 Создание нового диалога или группы чата."
method: POST
path: "/chat/create"
tags: ["Chat"]
---

# 🔒 Создание нового диалога или группы чата.

`POST /chat/create`

## Request

- Base URL: `http://localhost`
- URL: `http://localhost/chat/create`
- Auth: one of:
  - API key in header `sid` and API key in header `rts` and API key in header `sig`
  - HTTP bearer

Создание нового диалога или группы чата.

**Access:** `authorized` (10 ) · **allowNullCompany:** true · **Scope:** `write`

**Allows:** `chat:create` (все обязательны; без ресурса)

### TypeScript (copy-paste)

**`POST /chat/create`**

<details open><summary><b>Body</b></summary>

```typescript
export interface ChatCreateBody {
  chatFields: {
  type: Chat_Type
  logoFID?: string | null
  title?: string | null
}
  memberUserIDs?: Array<string> | null
}
```

</details>

<details open><summary><b>Response</b></summary>

```typescript
export type ChatCreateResponse = IServerResponse<Resp_chat_create>

export interface IServerResponse<T = any> {
  code: number
  data: T
  srvTS: number
  rkey: string
}
```

</details>

> Полный файл типов: [`/docs/types`](/docs/types) · raw: [`/docs/api-types.ts`](/docs/api-types.ts)

## Headers

- `devID` string, uuid, required
- `tz` string, required
- `app` string, required
- `appVer` string, required
- `rKey` string

## Request body

- ChatCreateBody: JSON body for `chat/create`
  - `chatFields` object, required
    - `type` 'public' | 'private' | 'direct' | 'company' | 'meeting', required: `public` = "public", `private` = "private", `direct` = "direct", `company` = "company", `meeting` = "meeting"
    - `logoFID` string, uuid, nullable
    - `title` string, nullable
  - `memberUserIDs` string[], nullable

## Response `200`

OK — `IServerResponse<Resp_chat_create>`

- object
  - `code` integer, required
  - `data` RespChatCreate, required: ResponseData for chat/create
    - `chat` Chat, required: Entity `Chat` (table: Chat )
      - `ID` string, uuid, required
      - `cID` string, uuid, nullable
      - `type` 'public' | 'private' | 'direct' | 'company' | 'meeting', required: `public` = "public", `private` = "private", `direct` = "direct", `company` = "company", `meeting` = "meeting"
      - `logoFID` string, uuid, nullable
      - `title` string, nullable
      - `meta` object, nullable
      - `createDT` string, date-time, required
      - `updTS` integer, required: Unix timestamp in milliseconds
      - `updUID` string, required
      - `isDeleted` boolean
      - `deletedTS` integer, nullable: Unix timestamp in milliseconds
    - `member` ChatMember, required: Entity `ChatMember` (table: ChatMember )
      - `ID` string, uuid, required
      - `chatID` string, uuid, required
      - `userID` string, uuid, required
      - `isMute` boolean
      - `isAdmin` boolean
      - `openedTS` integer, required: Unix timestamp in milliseconds
      - `createDT` string, date-time, required
      - `updTS` integer, required: Unix timestamp in milliseconds
      - `updUID` string, required
      - `isDeleted` boolean
      - `deletedTS` integer, nullable: Unix timestamp in milliseconds
  - `srvTS` integer, required: Server timestamp (ms)
  - `rkey` string, required: Request key

## Other responses

- `400`: BadRequest / Validation — неверные params/body/headers
- `401`: Unauthorized: Active user session required
- `403`: AccessNotAllowed: Privilege chat:create required
- `406`: TimeResync — расхождение rts с сервером
- `422`: UnprocessableContent: Invalid chat properties or members payload, or chat type other than direct and private

---

[API](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api.md) · [All operations](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api/revisions/a143b51ba29a?raw)
