TagMangoTagMango Docs
Workshop

Create Video Call

POST
/api/v1/external/workshops/video-calls

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, and repeatingDays for 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.
AuthorizationBearer <token>

In: header

Header Parameters

x-whitelabel-host*string

Host name of the dashboard, ex: mydomain.tagmango.com

x-timezone-offset*string

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
}