# API v0 Overview

Legacy `/v0` Chat API (Alpha). Prefer the [v1 API Reference](/docs/api/api) for new integrations.

> **Legacy (`/v0`).** New integrations should use the [v1 API Reference](/docs/api/api)
> (`https://api.ro.am/v1`). This Alpha surface remains supported for existing callers but
> is frozen — see [Previous Versions](/docs/previous-versions) and the
> [Migration Guide](/docs/guides/migration-v0-to-v1).

The Roam HQ Chat API (Alpha) provides advanced chat, meeting, and user management capabilities for building powerful integrations with your Roam Virtual Office.

**OpenAPI Spec:** [chat.json](https://developer.ro.am/chat.json)

## Endpoints Overview

### Chat & Messaging
| Endpoint | Method | Description |
|----------|--------|-------------|
| [`/chat.list`](/docs/chat-api/chat-list) | GET | List all accessible chats (DMs, MultiDMs, Channels) |
| [`/chat.post`](/docs/chat-api/chat-post) | POST | Send a message to any chat, group, or user (supports [Block Kit](/docs/guides/block-kit)) |
| [`/chat.typing`](/docs/chat-api/chat-typing) | POST | Show typing indicator to other participants |
| [`/chat.update`](/docs/chat-api/chat-update) | POST | Edit a previously posted bot message |
| [`/chat.delete`](/docs/chat-api/chat-delete) | POST | Delete a previously posted bot message |
| [`/chat.history`](/docs/chat-api/chat-history) | GET | Retrieve message history for a chat |
| [`/item.upload`](/docs/chat-api/item-upload) | POST | Upload files to attach to messages |
| [`/reaction.add`](/docs/chat-api/reaction-add) | POST | Add emoji reaction to a message |

### Groups & Channels
| Endpoint | Method | Description |
|----------|--------|-------------|
| [`/group.create`](/docs/chat-api/group-create) | POST | Create a new group/channel |
| [`/group.rename`](/docs/chat-api/group-rename) | POST | Rename an existing group |
| [`/group.archive`](/docs/chat-api/group-archive) | POST | Archive a group |
| [`/group.members`](/docs/chat-api/group-members) | GET | List members in a group |
| [`/group.add`](/docs/chat-api/group-add) | POST | Add members or admins to a group |
| [`/group.remove`](/docs/chat-api/group-remove) | POST | Remove members from a group |

### Users
| Endpoint | Method | Description |
|----------|--------|-------------|
| [`/user.list`](/docs/chat-api/user-list) | GET | List all users in the account |
| [`/user.info`](/docs/chat-api/user-info) | GET | Get detailed info about a single user |
| [`/user.lookup`](/docs/chat-api/user-lookup) | GET | Look up a user by email |
| [`/addr.info`](/docs/chat-api/addr-info) | GET | Get detailed info about any chat address |
| [`/userauditlog.list`](/docs/chat-api/userauditlog-list) | GET | Retrieve user audit log entries |

### Meetings & Transcripts
| Endpoint | Method | Description |
|----------|--------|-------------|
| [`/meeting.list`](/docs/chat-api/meeting-list) | GET | List meetings with participant info |
| [`/meetinglink.create`](/docs/chat-api/meetinglink-create) | POST | Create a shareable meeting link |
| [`/meetinglink.info`](/docs/chat-api/meetinglink-info) | POST | Get meeting link details |
| [`/meetinglink.update`](/docs/chat-api/meetinglink-update) | POST | Update meeting link properties |
| [`/transcript.list`](/docs/chat-api/list-transcripts) | GET | List meeting transcripts |
| [`/transcript.info`](/docs/chat-api/get-transcript) | GET | Get full transcript with cues and action items |
| [`/transcript.prompt`](/docs/chat-api/prompt-transcript) | POST | Ask an AI question about a transcript |

### Lobbies & Scheduling
| Endpoint | Method | Description |
|----------|--------|-------------|
| [`/lobby.list`](/docs/chat-api/lobby-list) | GET | List active lobby configurations |
| [`/lobbyBooking.list`](/docs/chat-api/lobby-booking-list) | GET | List bookings for a lobby |

### App Management
| Endpoint | Method | Description |
|----------|--------|-------------|
| [`/token.info`](/docs/chat-api/token-info) | GET | Get info about the current access token |
| [`/app.uninstall`](/docs/chat-api/uninstall-app) | POST | Revoke access token and uninstall app |

## Access Models

Endpoints support [Organization access](/docs/guides/access-models) by default. Some endpoints additionally support **Personal access**, where the integration acts as the authenticated user and sees only their data.

Endpoints supporting both access models:
- [`/token.info`](/docs/chat-api/token-info) -- Organization and Personal
- [`/chat.post`](/docs/chat-api/chat-post) -- Organization and Personal (Org: sends as bot, Personal: sends as you)
- [`/chat.history`](/docs/chat-api/chat-history) -- Organization and Personal (Personal: only your chats)
- [`/transcript.list`](/docs/chat-api/list-transcripts) -- Organization and Personal (Personal: only your meetings)
- [`/transcript.info`](/docs/chat-api/get-transcript) -- Organization and Personal (Personal: only your meetings)

- [`/meetinglink.create`](/docs/chat-api/meetinglink-create) -- Organization and Personal (Personal: creates link for authenticated user)

All other endpoints support Organization access only. See the [Access Models guide](/docs/guides/access-models) for details.

## Common Use Cases

### Build a Chat Bot
Create an OAuth app with `chat:read` and `chat:write` scopes, configure a webhook URL to receive messages, then respond programmatically.
- Subscribe to [`chat:message:dm`](/docs/webhooks-v0-dev/chat-message) or [`chat:message:channel`](/docs/webhooks-v0-dev/chat-message) events
- Use [`/reaction.add`](/docs/chat-api/reaction-add) to acknowledge receipt
- Use [`/chat.typing`](/docs/chat-api/chat-typing) to show typing indicator
- Use [`/chat.post`](/docs/chat-api/chat-post) to send a response
- Use [Block Kit](/docs/guides/block-kit) for rich, structured messages with buttons and formatting

### Post-Meeting Automation
Automatically process recordings and transcripts after meetings end.
- Subscribe to [`transcript:saved`](/docs/webhooks-v0-dev/transcript-saved) or [`recording:saved`](/docs/webhooks-v0-dev/recording-saved) events
- Use [`/transcript.info`](/docs/chat-api/get-transcript) to retrieve summaries, action items, and full transcript

### Scheduling Integrations
Create meeting links and sync lobby bookings with external calendars.
- Subscribe to [`lobby:booked`](/docs/webhooks-v0-dev/lobby-booked) for new bookings
- Use [`/meetinglink.create`](/docs/chat-api/meetinglink-create) to generate shareable links

## Authentication

```
Authorization: Bearer YOUR_TOKEN
```

## Base URL

```
https://api.ro.am/v0
```

---
Have questions? Contact us via [Roam Support Chat](https://ro.am/support/contact-us) or email [developer@ro.am](mailto:developer@ro.am).


## Base URL

```
https://api.ro.am/v0
```

## Authentication

```
Authorization: Bearer YOUR_API_KEY
```

## All Endpoints

| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | [`/chat.list`](/docs/chat-api/chat-list) | List chats |
| POST | [`/chat.post`](/docs/chat-api/chat-post) | Post to a chat |
| POST | [`/chat.update`](/docs/chat-api/chat-update) | Update a message |
| POST | [`/chat.delete`](/docs/chat-api/chat-delete) | Delete a message |
| POST | [`/chat.typing`](/docs/chat-api/chat-typing) | Send a typing indicator |
| GET | [`/chat.history`](/docs/chat-api/chat-history) | Get Chat Messages |
| POST | [`/item.upload`](/docs/chat-api/item-upload) | Upload an item |
| GET | [`/addr.info`](/docs/chat-api/addr-info) | Get info on Address |
| POST | [`/group.create`](/docs/chat-api/group-create) | Create a group |
| POST | [`/group.rename`](/docs/chat-api/group-rename) | Rename a group |
| POST | [`/group.archive`](/docs/chat-api/group-archive) | Archive a group |
| GET | [`/group.members`](/docs/chat-api/group-members) | List group members |
| POST | [`/group.add`](/docs/chat-api/group-add) | Add group members |
| POST | [`/group.remove`](/docs/chat-api/group-remove) | Remove group members |
| GET | [`/token.info`](/docs/chat-api/token-info) | Access token info |
| GET | [`/user.list`](/docs/chat-api/user-list) | List users |
| GET | [`/user.info`](/docs/chat-api/user-info) | Get user info |
| GET | [`/user.lookup`](/docs/chat-api/user-lookup) | Look up user |
| GET | [`/transcript.list`](/docs/chat-api/list-transcripts) | List meeting transcripts |
| GET | [`/transcript.info`](/docs/chat-api/get-transcript) | Get meeting transcript |
| POST | [`/transcript.prompt`](/docs/chat-api/prompt-transcript) | Prompt a meeting transcript |
| POST | [`/meetinglink.create`](/docs/chat-api/meetinglink-create) | Create a meeting link |
| POST | [`/meetinglink.info`](/docs/chat-api/meetinglink-info) | Get a meeting link |
| POST | [`/meetinglink.update`](/docs/chat-api/meetinglink-update) | Update a meeting link |
| GET | [`/meeting.list`](/docs/chat-api/meeting-list) | List meetings |
| GET | [`/lobby.list`](/docs/chat-api/lobby-list) | List lobbies |
| GET | [`/lobbyBooking.list`](/docs/chat-api/lobby-booking-list) | List lobby bookings |
| POST | [`/app.uninstall`](/docs/chat-api/uninstall-app) | Uninstall an app |
| GET | [`/userauditlog.list`](/docs/chat-api/userauditlog-list) | User Audit Log |
| POST | [`/reaction.add`](/docs/chat-api/reaction-add) | Add reaction to message |

## Contact

- Email: developer@ro.am
- Website: https://developer.ro.am

---

*Machine-readable API documentation.*
*Full documentation: https://developer.ro.am/docs/chat-api*
