Two optional room settings extend the default one-host-one-guest model: additional guest tokens for extra participants, and permanent rooms that skip automatic cleanup.

Additional guest participants

By default, a room has one access_token (host) and one guest_token (guest). Pass additional_guest_count when creating or updating a room to generate extra, independent guest tokens.

Additional guest tokens are available depending on your MeetOne plan/setup — they require the appointment_additional_participants feature. Contact support to have it enabled for your tenant or organization.

Field Type Description
additional_guest_count number Number of additional anonymous guest access tokens to create. Each token lets one more participant join the room independently of the default host and guest.

Each additional token is returned in the room's additional_access_tokens array:

Field Type Description
id integer Identifier for this access token.
token string The access token itself, used the same way as guest_token.
display_name string, nullable Pre-filled display name for this participant, if one was set.
join_url string (uri) URL for this participant to join the call.
participant object, nullable Participant details if this token is linked to a specific person; null for anonymous tokens (see below).

If participant is present, it includes:

Field Type Description
id integer Identifier of the linked participant.
name string Participant's name.
email string (email) Participant's email address.
phone_number string Participant's phone number.

Tokens created via additional_guest_count are anonymous — not linked to a specific participant — and can be distributed to anyone who needs to join, such as a family member or a second clinician.

curl -X POST "https://acme.meetone.io/api/rooms" \
  -H "Authorization: Bearer $MEETONE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Family consultation",
    "meeting_duration": 30,
    "scheduled_at": "2024-08-23T15:19:36.378+02:00",
    "additional_guest_count": 2
  }'
{
  "name": "Family consultation",
  "token": "f167d6f76f14991c",
  "status": "active",
  "access_token": "65a56167f28f6dec",
  "guest_token": "2367668999959557",
  "scheduled_at": "2024-08-23T15:19:36.378+02:00",
  "meeting_duration": 30,
  "expected_guest_count": 3,
  "host_join_url": "http://www.example.com/r/7bbb22b73d4e4732",
  "guest_join_url": "http://www.example.com/r/3d4e4722b7327bbb",
  "additional_access_tokens": [
    {
      "id": 42,
      "token": "abc123def456",
      "display_name": null,
      "join_url": "http://www.example.com/r/abc123def456",
      "participant": null
    },
    {
      "id": 43,
      "token": "def456ghi789",
      "display_name": "Jane Doe",
      "join_url": "http://www.example.com/r/def456ghi789",
      "participant": null
    }
  ],
  "created_at": "2024-08-23T15:19:36.378+02:00",
  "updated_at": "2024-08-23T15:19:36.378+02:00"
}

Permanent rooms

Pass permanent: true when creating or updating a room to exempt it from automatic housekeeping:

  • It is excluded from the automatic 24-hour cleanup job.
  • It does not automatically move to ended when participants leave the call — it stays usable until explicitly closed or deleted.
  • Its scheduled_at timestamp is hidden from participants on the lobby screen.

Permanent rooms are available depending on your MeetOne plan/setup — they require the permanent_rooms feature. Contact support to have it enabled for your tenant or organization.

permanent: false, or omitting the field entirely, always works — the feature toggle only affects permanent: true.

curl -X POST "https://acme.meetone.io/api/rooms" \
  -H "Authorization: Bearer $MEETONE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Standing team room",
    "meeting_duration": 60,
    "scheduled_at": "2024-08-23T15:19:36.378+02:00",
    "permanent": true
  }'

If the permanent_rooms feature isn't enabled, the request is rejected:

{
  "error": "Permanent rooms are not available in your current plan."
}

This 422 response is a single JSON object with an error string — not the array shape used for regular validation errors. See Errors & pagination.

Enabling these features

Both capabilities are opt-in and available depending on your MeetOne plan/setup:

Field Feature toggle If it's not enabled
additional_guest_count appointment_additional_participants Contact support to have the feature enabled before relying on additional guest tokens.
permanent permanent_rooms Submitting permanent: true returns 422 Unprocessable Content with "Permanent rooms are not available in your current plan.". permanent: false, or omitting the field, always works.

Contact support to have either feature enabled for your tenant or organization.

Questions? Contact us at support@meetone.io.