POST
/
rooms
curl --request POST \
  --url https://api.pagecall.com/v1/rooms \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Meeting Room - 1",
  "type": "public",
  "record": true,
  "max_meeting_seconds": 123,
  "members": [
    {
      "user_id": "000585f36eed9e8fb6b655b4",
      "type": "guest",
      "name": "user-1"
    }
  ],
  "webhook": {
    "url": "<string>",
    "headers": {}
  }
}'
{
  "room": {
    "id": "000585f36eed9e8fb6b655b4",
    "application_id": "000585f36eed9e8fb6b655b4",
    "type": "public",
    "created_user_id": "#DEPRECATED#",
    "name": "Weekly Meet",
    "thumbnail_url": "https://example.url/thumbnail.png",
    "last_thumbnail_updated_at": "#DEPRECATED#",
    "room_template_id": "#DEPRECATED#",
    "layout": "SixAll",
    "record": true,
    "meeting_time": 200000,
    "is_terminated": "#DEPRECATED#",
    "is_ephemeral": "#DEPRECATED#",
    "is_recurring": "#DEPRECATED#",
    "started_at": "2023-01-01T01:00:00.000Z",
    "terminated_at": "2023-01-01T01:00:00.000Z",
    "updated_at": "2023-01-01T01:00:00.000Z",
    "created_at": "2023-01-01T01:00:00.000Z"
  },
  "paging": {
    "limit": 123,
    "offset": 123,
    "total": 123
  }
}

Webhook

When you create a room with webhook parameters, a webhook will be sent via a POST method for each participant’s entry and exit. The request body for this is as follows.

{
  action: "sessionLeft" | "sessionJoined",
  payload: {
    roomId: string,
    userId?: string,
    memberId: string,
    sessionId: string,
    sessionsCount: number,
    membersCount: number,
    timestamp: string // e.g. '2022-05-31T12:38:15.059Z'
  }
}

Authorizations

Authorization
string
headerrequired

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required

Human-readable name of the room

type
enum<string>
required

Room can have three different type

  • open - anyone who obtain this room url can join and replay the meet.
  • public - any member who haved joined in same worksapce can join and replay the meet.
  • private - only invited workspace user can join and replay the meet.
Available options:
open,
public,
private
record
boolean
default: true

All meeting will be recorded

max_meeting_seconds
integer

Determines the maximum meeting time in seconds. Once this time has elapsed, the meeting room will be automatically terminated. The 'meeting time' refers to the duration during which two or more participants are connected. If a max_meeting_seconds is set, the timer UI will display the remaining meeting time, rather than the elapsed time.

members
object[]

Specify inviting user_id and type

webhook
object

Response

200 - application/json
room
object

Information about room

paging
object

Details of pagination used for current responses.