POST
/api/public/v1/meeting-roomsCreate a meeting room
Opens a room. This provisions a real video room with the meeting provider **before** the record is written, so the id you get back is joinable straight away — and a provider failure means no room rather than a record pointing at nothing. Whoever the token acts as is added as an ACCEPTED attendee; everybody else starts PENDING. `allowAllEmployees` opens it to the whole company rather than just the attendee list.
Required scope
The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Settings → Company → API, and to a teammate under Employee → Permissions.
meetings:write
Request Body
| Property | Type | Description |
|---|---|---|
name | string | |
description | string | |
allowAllEmployees | boolean | Open it to the whole company. Defaults to false. |
isRecurring | boolean | A standing room rather than a one-off. |
attendees | array | `{ employeeId }` or `{ guestEmail, guestName }`. Everyone here starts PENDING. |
POSTExample request
curl
curl -X POST "https://www.pxb.app/api/public/v1/meeting-rooms" \
-H "Authorization: Bearer your_access_token" \
-H "Content-Type: application/json" \
-d '{
"name": "Weekly sync",
"isRecurring": true,
"attendees": [
{
"employeeId": "emp_44f1"
}
]
}'200Example response
json
{
"message": "Room created successfully",
"content": {
"room": {
"id": "room_7a21",
"name": "Weekly sync",
"description": "Standing team catch-up.",
"type": "STANDARD",
"createdByEmployeeId": "emp_12ab",
"allowAllEmployees": false,
"isRecurring": true,
"notes": "Agenda: billing export, hiring.",
"lastActiveAt": "2026-08-29T15:00:00.000Z",
"attendees": [
{
"employeeId": "emp_12ab",
"guestEmail": null,
"guestName": null,
"status": "ACCEPTED"
},
{
"employeeId": "emp_44f1",
"guestEmail": null,
"guestName": null,
"status": "PENDING"
}
],
"createdAt": "2026-03-04T09:00:00.000Z",
"updatedAt": "2026-08-29T15:00:00.000Z"
}
}
}In the console
The same thing done by hand, for anyone comparing the API against the screen they already use.