LogoLogo
WherebyStatusCommunity
  • 📹Whereby 101
    • Create Your Video Experience
      • Get started in 3 steps
      • Embedding Whereby in a web app
        • Using Whereby's Web Component & Pre-built UI
          • Script Tags
          • With Low Code
            • Embedding in Squarespace or Wordpress
            • No code video conferencing in Bubble
        • Using Whereby's Browser SDK with React Hooks for a fully custom UI
      • Embedding Whereby in a mobile app
        • Embedding Whereby in iOS
          • Using Whereby's Native iOS SDK
        • Embedding Whereby in Android
          • Using Whereby's Native SDK
        • Using Flutter
        • Using React Native
      • Github SDK Examples
      • Meeting scheduling with Cronofy
    • Generating Room URLs
      • Name prefixes
      • Using “Create a room”
      • Using Postman
    • Customize Your Video Experience
      • During room creation
      • Using Attributes/URL Params
      • Global preferences
      • Branding elements
      • Dial-In
      • File sharing
      • Breakout Groups with Embedded
      • Waiting Rooms
    • User roles & Meeting Permissions
    • FAQ
      • Accessibility
      • Whereby Words
      • Firewall & Security
      • HIPAA compliant setup
      • Allowed Domains & Localhost
      • Whereby Embedded Feature Comparison
  • 🔍Meeting Content & Quality
    • Recording
      • Cloud Recording
      • Local Recording
    • Transcribing
      • Session Transcription
      • Recording Transcription
    • Live Captions
    • Session summaries
    • Live streaming RTMP
    • Quality Insights
      • Real-time troubleshooting
      • Using the Insights dashboard
      • Improving call quality
      • Tracking room events with Webhooks
  • 🤷End User
    • End User Support Guides
      • Supported Browsers & Devices
      • Screen Sharing Setup & Usage
      • Using Breakout Groups
      • Troubleshooting & Basics
  • 🚚Developer Guides
    • Quickly deploy Whereby to your domain
    • Tracking Customer Usage
    • Migrating from Twilio
      • Twilio JS SDK Quick Migration
      • Twilio JS SDK Direct Migration
  • 🖥️Reference
    • REST API Reference
      • /meetings
      • /insights
      • /recordings
      • /transcriptions
      • /summaries
      • /rooms
    • Web Component Reference
    • React Hooks Reference
      • Quick Start
        • Getting started with the Browser SDK
      • Guides & Tutorials
        • Migrate from version 2.x to 3
        • Grid logic
        • Custom Video Tiles with React
        • Usage with Next.js
        • How to customize the toolbar
      • API Reference
        • WherebyProvider
        • VideoView
        • VideoGrid
        • useLocalMedia
        • useRoomConnection
      • Types
    • React Native Reference
      • Quick Start
      • WherebyEmbed
    • Webhooks Reference
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Reference
  2. REST API Reference

/meetings

Last updated 5 months ago

Was this helpful?

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.

🖥️

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
401
Access token is missing or invalid
404
The requested resource doesn't exist
429
You are rate limited
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.
401
Access token is missing or invalid
429
You are rate limited
application/json
delete
DELETE /v1/meetings/{meetingId} HTTP/1.1
Host: api.whereby.dev
Accept: */*

No content

  • POSTCreate meeting
  • GETGet meetings
  • GETGet meeting
  • DELETEDelete meeting

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
401
Access token is missing or invalid
404
The requested resource doesn't exist
429
You are rate limited
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"
}

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
401
Access token is missing or invalid
403
Not allowed to perform action
429
You are rate limited
application/json
post
POST /v1/meetings HTTP/1.1
Host: api.whereby.dev
Content-Type: application/json
Accept: */*
Content-Length: 604

{
  "endDate": "2025-05-09T06:26:27.678Z",
  "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"
}