Update Video Call
Update an existing video call (webinar) owned by the creator.
- Editable up to 30 minutes before the start time. Past that point — and for a call that is already in progress, cancelled, or completed — the call is locked and returns
409 Conflict. - Partial update: send only the fields you want to change; omitted fields are left untouched.
- Rescheduling:
startDate,fromTimeanddurationtogether define the call window. Pass any subset — the others fall back to the call's stored values. When the window moves, subscribers are notified automatically andrescheduledistruein the response. - Zoom links are binding: once a Zoom meeting link has been generated for the call, the time can no longer be changed (
409 Conflict). Change other fields freely, or cancel and recreate the call. - Mango ownership is enforced on
mango,excludeMangoesandmangoToSell— all must belong to the creator. - Recurrence is not editable here. This endpoint edits one occurrence; it cannot re-expand a recurring group into a different set of slots.
- Run Check Video Call Availability first (passing
excludeVideocallset to this call's ID) to confirm the new slot does not clash.
Authorization
bearer In: header
Path Parameters
ID of the video-call occurrence
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
application/json
curl -X PATCH "https://api-prod-new.tagmango.com/api/v1/external/workshops/video-calls/66c4964c11e7fef26751f3a7" \ -H "x-whitelabel-host: string" \ -H "x-timezone-offset: string" \ -H "Content-Type: application/json" \ -d '{}'{
"_id": "66c4964c11e7fef26751f3a7",
"rescheduled": false
}{
"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": 404,
"type": "Not Found",
"statusMessage": "NOT_FOUND",
"errorCode": "WORKSHOP_NOT_FOUND",
"message": "No video call with this id belongs to this creator. Also returned when the id is valid but owned by someone else — ownership failures are not distinguished from missing records.",
"result": "No video call with this id belongs to this creator. Also returned when the id is valid but owned by someone else — ownership failures are not distinguished from missing records.",
"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
}