Create Video Call
Create a new video call (webinar) for the creator.
- Duration must be between 30 and 300 minutes (5 hours).
- For one-time calls: provide
startDate,fromTime,timezoneName,duration. - For recurring calls: also provide
endDate, andrepeatingDaysfor weekly. - Returns the created slot ID for one-time calls, or the list of scheduled date ranges for recurring.
- Important: Run Check Video Call Availability first to confirm there are no overlapping calls before creating.
Authorization
bearer In: header
Header Parameters
Host name of the dashboard, ex: mydomain.tagmango.com
Timezone offset (in number) example-> 330
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api-prod-new.tagmango.com/api/v1/external/workshops/video-calls" \ -H "x-whitelabel-host: string" \ -H "x-timezone-offset: string" \ -H "Content-Type: application/json" \ -d '{ "title": "Weekly Marketing Call", "mango": "66c4964c11e7fef26751f3a7", "startDate": "2025-06-01", "fromTime": "10:00", "timezoneName": "Asia/Calcutta", "duration": 60 }'{
"_id": "66c4964c11e7fef26751f3a7",
"scheduledMeetingDates": [
"2025-06-02T04:30:00.000Z to 2025-06-02T05:30:00.000Z"
]
}{
"code": 400,
"type": "Bad Request",
"statusMessage": "BAD_REQUEST",
"errorCode": "WORKSHOP_INVALID_SCHEDULE",
"message": "The requested schedule cannot be used — duration outside 30–300 minutes, a start time in the past, `endDate` before `startDate`, a recurrence producing no occurrences, missing `endDate`/`repeatingDays` for daily/weekly recurrence, or a schedule ending after the creator's WEBINAR feature expiry.",
"result": "The requested schedule cannot be used — duration outside 30–300 minutes, a start time in the past, `endDate` before `startDate`, a recurrence producing no occurrences, missing `endDate`/`repeatingDays` for daily/weekly recurrence, or a schedule ending after the creator's WEBINAR feature expiry.",
"success": false
}{
"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": "A mango referenced in `mango`, `excludeMangoes`, or `mangoToSell` does not exist or belongs to another creator. All three are validated together.",
"result": "A mango referenced in `mango`, `excludeMangoes`, or `mangoToSell` does not exist or belongs to another creator. All three are validated together.",
"success": false
}{
"code": 409,
"type": "Conflict",
"statusMessage": "CONFLICT",
"errorCode": "WORKSHOP_OVERLAP",
"message": "The requested slot clashes with another of the creator's upcoming or ongoing TagMango-hosted calls. Custom-meeting-URL calls are exempt from this check on both sides. Use the check-availability endpoint to surface conflicts before writing.",
"result": "The requested slot clashes with another of the creator's upcoming or ongoing TagMango-hosted calls. Custom-meeting-URL calls are exempt from this check on both sides. Use the check-availability endpoint to surface conflicts before writing.",
"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
}