Skip to content

Create a Temporary Room

POST
/api/v1/external/rooms

Creates an anonymous Temporary Room owned by the authenticated standard user. Usage is charged to the creator’s Personal Usage and capacity is bounded by the creator’s Personal Plan. Available via webapp session or an API token with temporary-rooms:create.

object
name
required

Room display name.

string
Customer Support Room
external_reference

Optional creator-side reference id.

string
nullable
customer-123
ttl_hours

Optional room lifetime in hours. Defaults to 24 and is capped by Personal Plan limits.

integer
nullable
12
object
data
object
room_id
string
01HX...
workspace_id
string
01HX...
channel_id
string
01HX...
name
string
Customer Support Room
kind
string
temporary_room
status
string
active
external_reference
string
customer-123
expires_at
string
2026-06-12T12:00:00+00:00
max_expires_at
string
2026-06-13T00:00:00+00:00
extension_count
integer
0
join
object
method
string
POST
endpoint
string
https://api.example.test/api/v1/external/rooms/01HX.../guests
{
"data": {
"room_id": "01HX...",
"workspace_id": "01HX...",
"channel_id": "01HX...",
"name": "Customer Support Room",
"kind": "temporary_room",
"status": "active",
"external_reference": "customer-123",
"expires_at": "2026-06-12T12:00:00+00:00",
"max_expires_at": "2026-06-13T00:00:00+00:00",
"extension_count": 0,
"join": {
"method": "POST",
"endpoint": "https://api.example.test/api/v1/external/rooms/01HX.../guests"
}
}
}

Temporary Room quota exceeded

object
message
string
Temporary Room active room limit exceeded.
errors
object
code
Array<string>
[
"temporary_room_quota_exceeded"
]
{
"message": "Temporary Room active room limit exceeded.",
"errors": {
"code": [
"temporary_room_quota_exceeded"
]
}
}

TTL exceeds limit

object
message
string
The given data was invalid.
errors
object
ttl_hours
Array<string>
[
"ttl_hours_exceeds_limit"
]
{
"message": "The given data was invalid.",
"errors": {
"ttl_hours": [
"ttl_hours_exceeds_limit"
]
}
}