A Laravel application to serve Zoom API endpoints to manage meetings. See the documentation here
- Create a developer account in Zoom
- Sign in if sign up did not sign you in
- Click on
Build App
- Choose
JWT
in choose your app type - Fill in required information
- Copy the value for
API Key
and paste toZOOM_CLIENT_KEY
in.env
andAPI Secret
toZOOM_CLIENT_SECRET
After these changes, you can now use the application. In the frontend, you may use axios to make the requests. You can also test the application using Postman.
A demo of this app is available at ZoomAPI.
This API has four endpoints:
GET /api/zoom/meetings
returns a paginated list of meetings
documentation
Arguments:
query param | default | description |
---|---|---|
page_size | 10 | Number of records to show per page |
page_number | 1 | Page number to retrieve |
next_page_token | null | Shown when available results exceeds page size |
type | scheduled | Type of meeting to return, accepts: live , scheduled , upcoming , upcoming_meetings , previous_meetings |
Returns: https://marketplace.zoom.us/docs/api-reference/zoom-api/methods#operation/meetings
POST /api/zoom/meetings
creates a new meeting
documentation
Arguments:
arg | default | required | description |
---|---|---|---|
topic | null | yes | The title of the meeting |
duration | 60 | yes | Duration of meeting in minutes |
password | null | no | Custom password; if not set, zoom will generate one |
start_time | null | yes | Time the meeting will start |
agenda | null | no | The description of the meeting |
meeting_invitees | null | yes | Email of invitees. Must follow format: [{email:"[email protected]"}] |
type | 2 | yes | Type of meeting to create: 1 - instant, 2 - scheduled, 3 - recurring with no fixed time, 8 - recurring with fixed time |
Returns: https://marketplace.zoom.us/docs/api-reference/zoom-api/methods#operation/meetingCreate
GET /api/zoom/meetings/{meetingId}
shows meeting information
documentation
Arguments:
arg | default | description |
---|---|---|
meetingId | null | Must be passed as part of the URL |
Response: Meeting object
PUT /api/zoom/meetings/{meetingId}
updates meeting information
documentation
Arguments:
arg | default | description |
---|---|---|
meetingId | null | Must be passed as part of the url |
topic | null | yes |
duration | 60 | yes |
password | null | no |
start_time | null | yes |
agenda | null | no |
meeting_invitees | null | yes |
type | 2 | yes |
DELETE /api/zoom/meetings/{meetingId}
deletes meeting
documentation
Arguments:
arg | default | description |
---|---|---|
meetingId | null | Must be passed as part of the url |
Returns: see documentation