> ## Documentation Index
> Fetch the complete documentation index at: https://help.reevo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Meetings

> Understand the constrained, read-only Public API v2 surface for meetings.

<Warning>
  **Restricted access.** Public API v2 is currently available only to allowlisted
  organizations. Requests from workspaces that have not been enabled are rejected.
  Contact your Reevo representative to have your organization added to the allowlist.
</Warning>

# Meetings

Meetings are intentionally constrained compared with core CRM records: the meeting record itself is read-only.

| Action        | Support                                                            |
| ------------- | ------------------------------------------------------------------ |
| Read by ID    | Supported                                                          |
| Query         | Supported                                                          |
| Create        | 404 (no route)                                                     |
| Patch         | 405 method\_not\_allowed                                           |
| Archive       | 405 method\_not\_allowed                                           |
| Relationships | Generic reads; edge writes require meeting write scope (see below) |

Meeting media endpoints:

```text theme={null}
GET /api/v2/public/meeting/{meeting_id}/recording
GET /api/v2/public/meeting/{meeting_id}/transcript
```

Use these endpoints to retrieve available meeting media or transcript resources. When the meeting has no media of that kind, the endpoint returns `404 record_not_found` (not `409`); a `409 Conflict` indicates the media exists but is still processing and is not yet retrievable, so retry after a short delay. Meeting record writes are not available: `PATCH` and `DELETE` on an existing meeting return `405 method_not_allowed`, and a create (`POST /api/v2/public/meeting`) has no route and returns `404 not_found`. Meeting relationship edges, by contrast, are governed by your key's meeting scope, not by the record's writability: `GET /api/v2/public/_schema/meeting` marks every one of meeting's relationships `is_creatable: false` and `is_updatable: false`, but that is schema metadata rather than an enforced block — an edge `POST`/`DELETE` from a key that carries meeting write scope succeeds.

Every edge `POST`/`DELETE` on a meeting requires a meeting **write** scope. With a read-only meeting key, the scope check runs before relationship validation and returns `403 insufficient_scope` for any edge write — even for a relationship name that does not exist (you get `403`, not `404 unknown_relationship`).

Activity logging is not part of Public API v2. See [Not Supported Yet](/Public-API-v2/Not-Supported-Yet).

## Common errors

| Error code             | Usually means                                                                                                                                         |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `method_not_allowed`   | Attempted to write a read-only meeting route                                                                                                          |
| `record_not_found`     | Meeting ID does not exist or is not visible to the API key; also returned by `/recording` or `/transcript` when the meeting has no media of that kind |
| `unknown_relationship` | Relationship API name is not declared for meeting                                                                                                     |
| `insufficient_scope`   | Edge write attempted with a meeting key that lacks meeting write scope (`403`)                                                                        |
