/meetings

Creates a transient room that is available between creation and an hour after the given endDate. After this time the room will be automatically deleted. The URL to this room is present in the response.

Create meeting

post

Creates a transient room that is available between creation and an hour after the given end date. After this time the room will be automatically deleted. The URL to this room is present in the response.

Body
endDatestring · date-timeRequired

When the meeting ends. By default in UTC but a timezone can be specified, e.g. 2025-05-07T17:42:49-05:00. This has to be the same or after the current date.

startDatestring · date-timeOptionalDeprecated

(DEPRECATED - value is ignored) Start time now defaults to time of request

isLockedbooleanOptional

The initial lock state of the room. If true, only hosts will be able to let in other participants and change lock state.

roomModestring · enumOptional

The mode and size of the created transient room. normal is the default room mode and should be used for meetings up to 4 participants. group should be used for meetings that require more than 4 participants.

Default: normalExample: groupPossible values:
roomNamePrefixstring · max: 39Optional

This will be used as the prefix for the room name. The string should be lowercase, and spaces will be automatically removed. 39 character max

Example: example-prefixPattern: [a-z0-9]{0,39}
roomNamePatternstring · enumOptional

The format of the randomly generated room name. uuid is the default room name pattern and follows the usual 8-4-4-4-12 pattern. human-short generates a shorter string made up of six distinguishable characters.

Default: uuidExample: uuidPossible values:
templateTypestring · enumOptional

If provided, the room will be created with the given template type. Each template defines a set of properties needed for a particular use-case. Currently the only supported template type is "viewerMode". This will set up a room with properties that are needed to create a viewer mode room. The room will be locked, roomMode set to "group" and fields like hostRoomUrl and viewerRoomUrl will be added to the response.

Possible values:
Responses
201
The resource was created successfully.
application/json
post
POST /v1/meetings HTTP/1.1
Host: api.whereby.dev
Content-Type: application/json
Accept: */*
Content-Length: 604

{
  "endDate": "2025-06-30T20:26:33.171Z",
  "isLocked": true,
  "roomMode": "group",
  "roomNamePrefix": "example-prefix",
  "roomNamePattern": "uuid",
  "templateType": "viewerMode",
  "recording": {
    "type": "none",
    "destination": {
      "provider": "s3",
      "bucket": "text",
      "accessKeyId": "text",
      "accessKeySecret": "text",
      "fileFormat": "mkv"
    },
    "startTrigger": "none"
  },
  "liveTranscription": {
    "destination": {
      "provider": "s3",
      "bucket": "text",
      "accessKeyId": "text",
      "accessKeySecret": "text",
      "region": "text"
    },
    "startTrigger": "none",
    "language": "ca,",
    "liveCaptions": true
  },
  "streaming": {
    "destination": {
      "url": "text"
    },
    "startTrigger": "none"
  },
  "fields": [
    "hostRoomUrl"
  ]
}
{
  "meetingId": "9cf691bf-f2d5-4420-bda9-ee8607bb558b",
  "startDate": "2025-05-12T16:42:49Z",
  "endDate": "2025-05-12T17:42:49Z",
  "roomUrl": "https://subdomain.whereby.com/room-prefix-793e9ec1-c686-423d-9043-9b7a10c553fd"
}

Get meetings

get

Returns a list of meetings.

Query parameters
cursorstringOptional

The cursor for paginating through the results. To fetch the next page, set the cursor to the cursor returned by the previous request.

Example: 8f4031bfc7640c5f267b11b6fe0c2507
limitinteger · min: 1 · max: 100Optional

The limit for the pagination - the maximum number of results that will be returned within a single API response.

Default: 50
Responses
200
A JSON object with the page containing the array with the meetings results.
application/json
get
GET /v1/meetings HTTP/1.1
Host: api.whereby.dev
Accept: */*
{
  "results": [
    {
      "meetingId": "9cf691bf-f2d5-4420-bda9-ee8607bb558b",
      "startDate": "2025-05-12T16:42:49Z",
      "endDate": "2025-05-12T17:42:49Z",
      "roomUrl": "https://subdomain.whereby.com/room-prefix-793e9ec1-c686-423d-9043-9b7a10c553fd"
    }
  ],
  "cursor": "text"
}

Get meeting

get

Returns the specified meeting.

Path parameters
meetingIdstringRequired

meeting ID.

Example: 9cf691bf-f2d5-4420-bda9-ee8607bb558b
Query parameters
Responses
200
A JSON object representing the meeting.
application/json
get
GET /v1/meetings/{meetingId} HTTP/1.1
Host: api.whereby.dev
Accept: */*
{
  "meetingId": "9cf691bf-f2d5-4420-bda9-ee8607bb558b",
  "startDate": "2025-05-12T16:42:49Z",
  "endDate": "2025-05-12T17:42:49Z",
  "roomUrl": "https://subdomain.whereby.com/room-prefix-793e9ec1-c686-423d-9043-9b7a10c553fd"
}

Delete meeting

delete

Deletes the specified meeting. The endpoint is idempotent, meaning it will return the same response even if the meeting has already been deleted.

Path parameters
meetingIdstringRequired

meeting ID.

Example: 9cf691bf-f2d5-4420-bda9-ee8607bb558b
Responses
204
The resource was deleted successfully.
delete
DELETE /v1/meetings/{meetingId} HTTP/1.1
Host: api.whereby.dev
Accept: */*

No content

Last updated

Was this helpful?