# POST /chat/rooms

**Resource:** [Chat](./chat.md)  
**MCP tool:** `create_chat_room`  
**Scopes:** `chat:write`  
**Write operation:** yes

Create a chat room. The API key owner joins as owner; pass member_user_ids to add teammates (they must belong to this workspace). Use room_type "dm" for 1:1, "group" for a named group, "self" for a private notes-to-self room, "workspace" for a team-wide channel.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `room_type` | body | string | no | dm, group, self, or workspace. Defaults to group. |
| `title` | body | string | no | Room title (optional for dm/self). |
| `member_user_ids` | body | array | no | UUIDs of workspace users to add as members. Non-workspace UUIDs are skipped and returned in skipped_member_ids. |
| `require_approval` | body | boolean | no | Optional. Set true to route this write into the approval queue for human review instead of executing it immediately (returns 202 + an approval_id). Works even when your key/token has permission to execute directly. |

## Request example

```bash
curl -X POST   "https://api.trustpager.com/functions/v1/api/v1/chat/rooms"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"room_type":"...","title":"...","member_user_ids":"..."}'
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`