MegaMeeting's Video Conferencing API v4
Add Video Conferencing to your website and apps.

Websites
Apps
Social Media
Web Projects

Video Conferencing Integration
Start empowering your websites and apps today by adding the most powerful form of real-time communication. Integrate video conferencing into your website and you will see remarkable improvement in your ability to interact with customers and solve problems.

MegaMeeting has been providing video conferencing APIs for over 15 years and has helped shaped many businesses that have formed around the concept of web based video conferencing. Because it is entirely web based, integrating MegaMeeting video conferencing into a website or web application is easier than with any other video conferencing service.

The Language

MegaMeeting has a very easy-to-use video conferencing API. It is driven by GraphQL, a simple query language originally developed by Facebook in 2012 and open sourced in 2015. If you are unfamiliar with GraphQL, read more at GraphQL.org.

Usage

The MegaMeeting API allows you to create/edit/join/end meetings. If you have a large organization with many hosts, you can create/update/delete logins. You can also download/delete data such as meeting recordings and meeting usage.

Authentication

All queries/mutations require authentication, which is achieved via API key. You can generate/revoke an API key from the API section of your account settings. When making a request, send the API key as follows:

EXAMPLE:

apiToken=B834JR9F763JFKJF993JI0FJ4GH67234

Endpoint/Request URL

For the proper context and authentication to be accepted in your API request, the request URL should begin with your account’s URL.

EXAMPLE:

https://mycompany.megameeting.com/api

Methods

GraphQL is self-documenting and the best way to explore and understand the schema available is by accessing it directly via GraphQL Playground. You can download the Desktop app, or access it from your account:

https://myaccount.megameeting.com/playground

Add your endpoint URL and apiToken and you will be able to view the full schema available and test all of the API calls.

A few examples for reference:

GET
meetings

Retrieve a list of meetings and their parameters.

Sample Request / Response
query{meetings {
  edges {
    node {
      meetId
      name
      accountId
      loginId
      host
      domain
      enableJoin
      defaultMicStatus
      defaultVidLayout
      createDateTime
      scheduledDateTime
      scheduledTimeZone
      expireDateTime
      hostUserName
      requireVerification
      mediaServerType
      userName
      enableTwilio
      attendeeCode
      email
    }
  }
}}
curl 'https://m4demo.megameeting.com/graphql' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: file://' --data-binary '{"query":"# Write your query or mutation here\nquery{meetings {\n  edges {\n    node {\n      meetId\n      name\n      accountId\n      loginId\n      host\n      domain\n      enableJoin\n      defaultMicStatus\n      defaultVidLayout\n      createDateTime\n      scheduledDateTime\n      scheduledTimeZone\n      expireDateTime\n      hostUserName\n      requireVerification\n      mediaServerType\n      userName\n      enableTwilio\n      attendeeCode\n      email\n    }\n  }\n}}"}' --compressed
                    

Response:

{
                    "data": {
                      "meetings": [
                        {
                          "edges": [
                            {
                              "node": {
                                "meetId": "8580328",
                                "name": "Aloha Dev Meeting",
                                "accountId": "5be081fb952a49630bad7e65",
                                "loginId": "5be081fb952a49630bad7e67",
                                "host": "Peter",
                                "domain": "m4demo.megameeting.com",
                                "enableJoin": true,
                                "defaultMicStatus": false,
                                "defaultVidLayout": "peer",
                                "createDateTime": "Tue Nov 06 2018 13:59:07 +0000",
                                "scheduledDateTime": "Mon Nov 12 2018 17:00:36 +0000",
                                "scheduledTimeZone": "EST/UTC-05:00",
                                "expireDateTime": "Invalid date",
                                "hostUserName": "petez",
                                "requireVerification": false,
                                "mediaServerType": "peer",
                                "userName": null,
                                "enableTwilio": false,
                                "attendeeCode": "8580328",
                                "email": "petez@megameeting.com"
                              }
                            }
                          ]
                        }
                      ]
                    }
                  }
                  
GET
logins

Retrieve a list of logins and their parameters.

GET
usage

Retrieve meeting usage for a given meeting.

GET
currentUsers

Retrieve a list of users currently in an active meeting.

GET
joinMeeting

Retrieve the URL needed to join a given meeting.

GET
recordings

Retrieve a list of recordings.

POST
createLogin

Add a new user login to your account (requires available license).

POST
updateLogin

Edit an existing user login.

POST
deleteLogin

Permanently deletes a user login and all associated data (meetings, recordings, usage, etc.).

POST
createMeeting

Add a new meeting.

POST
updateMeeting

Edit an existing meeting's parameters.

POST
endMeeting

Delete an existing meeting.

POST
deleteRecording

Permanently delete an existing recording.

Start Free Trial