Pyas Docs
  • 📖Getting Started With Pyas
  • Fundamentals
    • 📦Pyas Apps
    • 📦Provider Apps
    • 🔒Pyas Auth vs Native Auth
    • 🛠️Getting set up
      • 🧑Inviting Team Members
      • 📦Creating an App
      • 🔒Setup Authentication
        • Pyas Auth
        • Native Auth
          • Create a Google App
          • Create an Azure App
          • Create a Zoom App
        • 🔗Connect an Account
      • 🪝Create Webhooks
    • ✨Connected Accounts
      • Zoom
  • REST API Reference
    • Introduction
    • API Authentication
    • Google Calendar
      • 🔒Auth
      • 🗓️Calendars
      • 🕢Events
    • Microsoft Outlook
      • 🔒Auth
      • 🗓️Calendars
      • 🕢Events
    • Zoom
      • 🔒Auth
      • 🕢Meetings
  • Get the Postman Collection
Powered by GitBook
On this page
  • Get All Meetings
  • Get List of Meetings
  • Get an Event By ID
  • Get Event by ID
  • Create a Meeting
  • Create Meeting
  • Meeting Data Object
  • Attendee Object Example:
  • Recurrence Object:
  • Update a Meeting
  • Update Meeting
  • Update Meeting Data Object Example:
  • Delete a Meeting
  • Delete Meeting
  1. REST API Reference
  2. Zoom

Meetings

Zoom Meetings

Get All Meetings

Get List of Meetings

GET https://api.pyas.io/zoom/meetings

Gets all meetings for an account

Query Parameters

Name
Type
Description

accountId*

String

The user's Pyas account id. This is returned when you connect an account to Pyas.

startDate

Date String

Filter meetings from a start date

(ex: 01-01-2022)

endDate

Date String

Filter meetings up to an end date

(ex: 01-01-2023)

nextPageToken

String

Token string used to get the next page of results (paginate) - This token expires after 15 minutes

maxResults

Integer

Max number of results to return per page

type

String

Type of meeting. Possible values are: scheduled - All valid previous (unexpired) meetings, live meetings, and upcoming scheduled meetings.

live - All the ongoing meetings.

upcoming - All upcoming meetings, including live meetings.

upcoming_meetings - All upcoming meetings, including live meetings.

previous_meetings - All the previous meetings.

pageNumber

Integer

The page number of the current page in the returned records.

Headers

Name
Type
Description

x-api-key*

String

API key

{
    "success": true,
    "data": {
        "page_size": 30,
        "total_records": 1,
        "next_page_token": "",
        "meetings": [
            {
                "uuid": "some-uuid-string",
                "id": 3418139842191568,
                "host_id": "some-id-string",
                "topic": "Test Meeting",
                "type": 2,
                "start_time": "2023-04-26T19:26:55Z",
                "duration": 30,
                "timezone": "America/Los_Angeles",
                "agenda": "This is an example meeting",
                "created_at": "2023-04-26T12:26:57Z",
                "join_url": "https://us05web.zoom.us/j/81398421915?pwd=Zk9WTzM3SG9Xb1lCZk9MTVFhOU1Fdz09"
            }
        ]
    }
}
{
    "error": "Unauthorized. Invalid API key."
}
{
    "errors": [
        {
            "msg": "a calendar id is required.",
            "param": "calendarId",
            "location": "query"
        }
    ]
}
{
    "errors": [
        {
            "msg": "an account id is required.",
            "param": "accountId",
            "location": "query"
        }
    ]
}
{
    "errors": [
        {
            "msg": "an account id is required.",
            "param": "accountId",
            "location": "query"
        },
        {
            "msg": "a calendar id is required.",
            "param": "calendarId",
            "location": "query"
        }
    ]
}
{
    "success": false,
    "error": "Invalid account id. Account Not Found",
    "code": 404
}
{
    "success": false,
    "error": "Not Found",
    "code": 404
}

Get an Event By ID

Get Event by ID

GET https://api.pyas.io/zoom/meetings/:id

Gets a calendar event by id

Path Parameters

Name
Type
Description

{id}*

String

The meeting id

Query Parameters

Name
Type
Description

accountId*

String

The user's Pyas account id. This is returned when you connect an account to Pyas.

Headers

Name
Type
Description

x-api-key*

String

API key

{
    "success": true,
    "meeting": {
        "uuid": "some-uuid-string",
        "id": 181328421905,
        "host_id": "some-id-string",
        "host_email": "user@example.com",
        "assistant_id": "",
        "topic": "Test Meeting",
        "type": 2,
        "status": "waiting",
        "start_time": "2023-04-26T19:26:55Z",
        "duration": 30,
        "timezone": "America/Los_Angeles",
        "agenda": "This is an example meeting",
        "created_at": "2023-04-26T12:26:57Z",
        "start_url": "https://us05web.zoom.us/s/8139...",
        "join_url": "https://us05web.zoom.us/j/81398...",
        "password": "f0a9n07bk3",
        "h323_password": "7214044450",
        "pstn_password": "7214044450",
        "encrypted_password": "Zk9WTzM3SG9Xb1lCZk9MTVFhOU1Fdz09",
        "settings": {
            "host_video": false,
            "participant_video": false,
            "cn_meeting": false,
            "in_meeting": false,
            "join_before_host": false,
            "jbh_time": 0,
            "mute_upon_entry": false,
            "watermark": false,
            "use_pmi": false,
            "approval_type": 2,
            "audio": "voip",
            "auto_recording": "none",
            "enforce_login": false,
            "enforce_login_domains": "",
            "alternative_hosts": "",
            "alternative_host_update_polls": false,
            "close_registration": false,
            "show_share_button": false,
            "allow_multiple_devices": false,
            "registrants_confirmation_email": true,
            "waiting_room": true,
            "request_permission_to_unmute_participants": false,
            "registrants_email_notification": true,
            "meeting_authentication": false,
            "encryption_type": "enhanced_encryption",
            "approved_or_denied_countries_or_regions": {
                "enable": false
            },
            "breakout_room": {
                "enable": false
            },
            "alternative_hosts_email_notification": true,
            "show_join_info": false,
            "device_testing": false,
            "focus_mode": false,
            "enable_dedicated_group_chat": false,
            "private_meeting": false,
            "email_notification": true,
            "host_save_video_order": false
        },
        "pre_schedule": false
    }
}
{
    "error": "Unauthorized. Invalid API key."
}
{
    "errors": [
        {
            "msg": "account id is required",
            "param": "accountId",
            "location": "query"
        },
        {
            "msg": "account id must be a string",
            "param": "accountId",
            "location": "query"
        }
    ]
}
{
    "success": false,
    "error": "Invalid account id. Account Not Found",
    "code": 404
}

Create a Meeting

Create Meeting

POST https://api.pyas.io/zoom/meetings

Creates a new Zoom Meeting

Headers

Name
Type
Description

x-api-key*

String

API key

Request Body

Name
Type
Description

accountId*

String

The user's Pyas account id. This is returned when you connect an account to Pyas.

meetingData*

Object

meetingData.title*

String

The meeting title/topic

meetingData.description*

String

Meeting description/agenda

meetingData.startDate*

DateTime

RFC3339 Timestamp

meetingData.timeZone

String

Time Zone in IANA format. Only used for scheduled or recurring meetings with a fixed time

meetingData.attendees

Array

meetingData.recurrence

Object

meetingData.duration

Integer

The meeting duration in minutes. Only used for scheduled meetings. Defaults to 30

meetingData.waitingRoom

Boolean

Whether to enable or disable the waiting room

meetingData.type*

Integer

Type of meeting:

1 - An instant meeting

2 - A scheduled meeting

3 - A recurring meeting with no fixed time

8 - A recurring meeting with fixed time

{
    "success": true,
    "data": {
        "uuid": "some-uuid-string",
        "id": 2589906727501,
        "host_id": "some-id-string",
        "host_email": "email@example.com",
        "topic": "Test Meeting",
        "type": 2,
        "status": "waiting",
        "start_time": "2023-04-26T19:51:48Z",
        "duration": 30,
        "timezone": "America/Los_Angeles",
        "agenda": "This is an example meeting",
        "created_at": "2023-04-26T12:51:49Z",
        "start_url": "https://us05web.zoom.us/s/85256...",
        "join_url": "https://us05web.zoom.us/j/8965...",
        "password": "aeknj5fia0",
        "h323_password": "4023135285",
        "pstn_password": "4023135285",
        "encrypted_password": "YmJva3V5TlpZMDQ1SzJZOUNCemUrQT09",
        "settings": {
            "host_video": false,
            "participant_video": false,
            "cn_meeting": false,
            "in_meeting": false,
            "join_before_host": false,
            "jbh_time": 0,
            "mute_upon_entry": false,
            "watermark": false,
            "use_pmi": false,
            "approval_type": 2,
            "audio": "voip",
            "auto_recording": "none",
            "enforce_login": false,
            "enforce_login_domains": "",
            "alternative_hosts": "",
            "alternative_host_update_polls": false,
            "close_registration": false,
            "show_share_button": false,
            "allow_multiple_devices": false,
            "registrants_confirmation_email": true,
            "waiting_room": true,
            "request_permission_to_unmute_participants": false,
            "registrants_email_notification": true,
            "meeting_authentication": false,
            "encryption_type": "enhanced_encryption",
            "approved_or_denied_countries_or_regions": {
                "enable": false
            },
            "breakout_room": {
                "enable": false
            },
            "alternative_hosts_email_notification": true,
            "show_join_info": false,
            "device_testing": false,
            "focus_mode": false,
            "enable_dedicated_group_chat": false,
            "private_meeting": false,
            "email_notification": true,
            "host_save_video_order": false
        },
        "pre_schedule": false
    }
}
{
    "error": "Unauthorized. Invalid API key."
}
{
    "success": false,
    "error": "Invalid account id. Account Not Found",
    "code": 404
}
{
    "errors": [
        {
            "msg": "meetingData is required.",
            "param": "meetingData",
            "location": "body"
        },
        {
            "msg": "meetingData must be an object",
            "param": "meetingData",
            "location": "body"
        },
        {
            "msg": "Invalid value",
            "param": "meetingData",
            "location": "body"
        }
    ]
}

Meeting Data Object

{
    "accountId": "123654-46204525-b574-9ad72ae18c9e", // string - Required.
    "meetingData": {
        "type": 2, // Integer - Required.
        "title": "Test Meeting", // string - Required.
        "description": "This is an example meeting", // string - Required.
        "startDate": "{{start_time}}", // RFC3339 Timestamp - Required.
        "duration": 30, // Integer - Required.
        "waitingRoom": true, // Boolean - Optional.
        "attendees": [
            {
                "email": "example@gmail.com"
            }
            
        ] // Required.
        
    }
}

Attendee Object Example:

{
    "email": "example@gmail.com" // String - Required.
}

Recurrence Object:

{
    type: string // daily, weekly, or monthly - Required.
    interval: number|string // Define the interval at which the meeting should recur. (ex. 2 for every two weeks with type of weekly) - Required.
    startDate?: string // the dateTime of when the recurring meeting will start (used for Microsoft Outlook only)
    endDate?: string // the dateTime of when the recurring meeting will end
    dayOfMonth?: number|string // day of month for a monthly meeting. 1 - 31 (ex. 15 for the 15th of every month)
    daysOfWeek?: Array<string> // days of week for a weekly meeting type (ex. ['monday', 'wednesday'])
    month?: number|string // The month in which the event occurs. This is a number from 1 to 12. (Microsoft and Google only)
}

Here's an example of a recurrence object for a meeting that repeats weekly every Wednesday:

{
    "type": "weekly",
    "interval": 1,
    "daysOfWeek": ["wednesday"],
    "endDate": "2023-08-01T22:26:39.109Z"
}

Update a Meeting

Update Meeting

PATCH https://api.pyas.io/zoom/meetings/:id

Updates an Existing Meeting

Path Parameters

Name
Type
Description

{id}*

String

The meeting ID

Headers

Name
Type
Description

x-api-key*

String

API Key

Request Body

Name
Type
Description

accountId*

String

The user's Pyas account id. This is returned when you connect an account to Pyas.

meetingData*

Object

{
    "success": false,
    "error": "Invalid account id. Account Not Found",
    "code": 404
}
{
    "errors": [
        {
            "msg": "meetingData is required.",
            "param": "meetingData",
            "location": "body"
        },
        {
            "msg": "meetingData must be an object",
            "param": "meetingData",
            "location": "body"
        },
        {
            "msg": "Invalid value",
            "param": "meetingData",
            "location": "body"
        }
    ]
}

Update Meeting Data Object Example:

{
    "title": "Test Meeting - Updated",
    "description": "This is an example meeting - updated",
    "duration": 30,
    "waitingRoom": true,
    "attendees": [
        {
            "email": "example@gmail.com"
        }
            
    ]
        
}

Delete a Meeting

Delete Meeting

DELETE https://api.pyas.io/zoom/meetings/:id

Deletes an existing meeting

Path Parameters

Name
Type
Description

{id}*

String

The meeting ID

Query Parameters

Name
Type
Description

accountId*

String

The user's Pyas account id. This is returned when you connect an account to Pyas.

Headers

Name
Type
Description

x-api-key*

String

API Key

{
    // Response
}
PreviousAuth

Last updated 1 year ago

The event data. See the Required example below.

Array of

Recurrence object for recurring events. See the below.

Event data object with the fields to update. See the below.

🕢
Meeting Data Object
Attendee Objects
Recurrence Object
Example Update Meeting Data Object