Get Workshop Video Calls
List the creator's video calls, grouped by date.
type filter:
upcoming(default) — calls that have not finished, including any currently in progress. Ordered soonest first.completed— finished calls only. Ordered most recent first.
Cancelled calls are never returned by either filter.
meetingType filter — how the call is hosted. Omit it to return every kind.
webinar— TagMango-hosted Zoom webinar (500-participant).meeting— TagMango-hosted Zoom meeting (300-participant). Also covers older TagMango calls saved before the webinar/meeting split existed.custom— hosted on an external meeting link the creator supplied.consultation— a booked 1-on-1 consultation slot.
webinar, meeting and custom return non-consultation calls only. consultation is the exact complement: it is decided purely by the call being attached to a consultation booking, and returns those slots whatever their hosting platform or Zoom type — so a consultation booked onto a TagMango meeting is returned by consultation, never by meeting. The four values therefore partition the list with no overlap.
Scope: omit user for the full creator view. Pass user to return only the calls that subscriber has access to.
Also filterable by mangoes (comma-separated) and a startDate/endDate range.
Pagination applies to individual calls, and total is the total matching call count — but the response groups the returned page by date, so a page of limit calls may come back as fewer than limit date entries.
Authorization
bearer In: header
Query Parameters
Number of items per page of the results
1 <= valuePage number of the results
1 <= valueStart date for filtering data
date-timeEnd date for filtering data
date-timeUser Identifier for filtering video calls, only required for fetching calls for participant, not required for creator
Comma seperated list of mangoes for filtering video calls. If not provided, all mangoes will be considered.
Which calls to return. upcoming (the default) returns calls that have not finished yet — both scheduled and currently in progress — soonest first. completed returns only finished calls, most recent first. Cancelled calls are never returned.
"upcoming""upcoming" | "completed"How the call is hosted. Omit to return every kind.
webinar— TagMango-hosted Zoom webinar (500-participant).meeting— TagMango-hosted Zoom meeting (300-participant). Also covers older TagMango calls saved before the webinar/meeting split existed.custom— hosted on an external link the creator supplied.consultation— a booked 1-on-1 consultation slot.
The first three return non-consultation calls only; consultation returns consultation slots regardless of how they are hosted.
"webinar" | "meeting" | "custom" | "consultation"Header Parameters
Host name of the dashboard, ex: mydomain.tagmango.com
Timezone offset (in number) example-> 330
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api-prod-new.tagmango.com/api/v1/external/workshops/video-calls" \ -H "x-whitelabel-host: string" \ -H "x-timezone-offset: string"{
"total": 10,
"data": [
{
"date": "2025-01-01",
"calls": [
{
"_id": "507f1f77bcf86cd799439011",
"title": "Weekly Team Standup",
"toTime": "2024-01-15T15:00:00.000Z",
"fromTime": "2024-01-15T14:00:00.000Z",
"status": "available",
"videocallType": "onetoone",
"ongoingCallType": "videocall",
"platform": "tagmango",
"meetingUrl": "https://meet.google.com/abc-defg-hij",
"whitelabelHost": "custom.domain.com",
"creator": {
"_id": "6659ca9e5f2acb7abfdcd8fd",
"name": "John Doe",
"email": "john.doe@example.com",
"host": "yourhost.tagmango.com",
"userSlug": "john-doe",
"phone": 1234567890,
"profilePicUrl": "https://linktoprofilepic.com/pic.jpg",
"onboarding": "creator_completed",
"isDeactivated": false,
"country": "India",
"dialCode": "+91",
"currency": "USD",
"score": {
"lifetime": 100,
"month": 20,
"week": 5
},
"leaderboardRank": {
"lifetime": 1,
"month": 2,
"week": 3
}
},
"mango": {
"_id": "66a1390268a76f2f5c9f39a3",
"creator": "77b2390268a76f2f5c9f39a4",
"title": "Introduction to Coding",
"price": 500,
"description": "This is a comprehensive guide to coding.",
"recurringType": "MONTHLY",
"noOfDays": 30,
"affiliateEnabled": true,
"createdAt": "2024-08-11T10:20:30Z",
"updatedAt": "2024-08-11T10:20:30Z"
}
}
]
}
]
}{
"code": 400,
"type": "Bad Request",
"statusMessage": "BAD_REQUEST",
"success": false,
"message": "Invalid request",
"result": "Invalid request"
}{
"code": 401,
"type": "Unauthorized",
"statusMessage": "UNAUTHORIZED",
"message": "Invalid token",
"result": "Invalid token",
"success": false
}{
"code": 403,
"type": "Forbidden",
"statusMessage": "FORBIDDEN",
"errorCode": "WORKSHOP_MANGO_FORBIDDEN",
"message": "You can not access this api with a TagMango account, only available for whitelabel hosts",
"result": "You can not access this api with a TagMango account, only available for whitelabel hosts",
"success": false
}{
"code": 429,
"type": "Too Many Requests",
"statusMessage": "TOO_MANY_REQUESTS",
"message": "Request limit exceeded. try after 10 seconds",
"result": "Request limit exceeded. try after 10 seconds",
"success": false
}