Deleting a meeting

API Endpoint(s) and/or Zoom API Event(s)

Zoom Delete Meeting

Description

OK I am trying to use the delete function of the API. When I call the delete function , I just get the meeting details back, no status code, no error, and the meeting remains. Also in the request params it asks for an occurrence_id , which on the meetings we’ve created , we don’t have.

there is no error message or error code returned - in the request type we pass ‘delete’, but don’t I need an occurrence_id to pass to the API ? Should I get one when creating a meeting - the Api documents seem to suggest the occurrence_id is only for webinars.

It seems odd to not send an occurrence_id as when deleting a meeting, how would Zoom know what to do if the meeting has multiple occurrences?

thanks

Rich :slight_smile:

Hi, @rich,

Welcome to the Developer Forum – I am happy to help! First, can you share a screenshot or snippet of the delete API response are seeing? Please be sure to remove any PII from the response before posting.

https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/meetingDelete

Should you get an occurrence_id returned in the response is the meeting/webinar has multiple occurrences? Does the meeting/webinar you are testing with have multiple occurrences?

OK so this is what I get back when I call the DELETE function on the API

array(22) {
[“uuid”]=>
string(24) "************* blanked out "
[“id”]=>
int(87029473027)
[“host_id”]=>
string(22) “9LHFs1X3Qdij6pfZ_zqBsQ”
[“host_email”]=>
string(20) “blank@blank.com
[“assistant_id”]=>
string(0) “”
[“topic”]=>
string(4) “test”
[“type”]=>
int(8)
[“status”]=>
string(7) “waiting”
[“timezone”]=>
string(13) “Europe/London”
[“agenda”]=>
string(0) “”
[“created_at”]=>
string(20) “2022-10-06T12:28:02Z”
[“start_url”]=>
string(461) “Launch Meeting - Zoom
[“join_url”]=>
string(83) “Meeting Registration - Zoom
[“registration_url”]=>
string(86) “Meeting Registration - Zoom
[“password”]=>
string(10) “$"
[“h323_password”]=>
string(10) "

[“pstn_password”]=>
string(10) “"
[“encrypted_password”]=>
string(32) "

[“occurrences”]=>
array(2) {
[0]=>
array(4) {
[“occurrence_id”]=>
string(13) “1665990000000”
[“start_time”]=>
string(20) “2022-10-17T07:00:00Z”
[“duration”]=>
int(60)
[“status”]=>
string(9) “available”
}
[1]=>
array(4) {
[“occurrence_id”]=>
string(13) “1666594800000”
[“start_time”]=>
string(20) “2022-10-24T07:00:00Z”
[“duration”]=>
int(60)
[“status”]=>
string(9) “available”
}
}
[“settings”]=>
array(39) {
[“host_video”]=>
bool(true)
[“participant_video”]=>
bool(false)
[“cn_meeting”]=>
bool(false)
[“in_meeting”]=>
bool(false)
[“join_before_host”]=>
bool(true)
[“jbh_time”]=>
int(0)
[“mute_upon_entry”]=>
bool(true)
[“watermark”]=>
bool(false)
[“use_pmi”]=>
bool(false)
[“approval_type”]=>
int(0)
[“registration_type”]=>
int(1)
[“audio”]=>
string(4) “both”
[“auto_recording”]=>
string(4) “none”
[“enforce_login”]=>
bool(false)
[“enforce_login_domains”]=>
string(0) “”
[“alternative_hosts”]=>
string(0) “”
[“alternative_host_update_polls”]=>
bool(false)
[“close_registration”]=>
bool(true)
[“show_share_button”]=>
bool(true)
[“allow_multiple_devices”]=>
bool(true)
[“registrants_confirmation_email”]=>
bool(false)
[“waiting_room”]=>
bool(true)
[“request_permission_to_unmute_participants”]=>
bool(false)
[“global_dial_in_countries”]=>
array(2) {
[0]=>
string(2) “GB”
[1]=>
string(2) “US”
}
[“global_dial_in_numbers”]=>
array(19) {
[0]=>
array(4) {
[“country_name”]=>
string(14) “United Kingdom”
[“number”]=>
string(14) “+44 1314601196”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “GB”
}
[1]=>
array(4) {
[“country_name”]=>
string(14) “United Kingdom”
[“number”]=>
string(14) “+44 2034815237”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “GB”
}
[2]=>
array(4) {
[“country_name”]=>
string(14) “United Kingdom”
[“number”]=>
string(14) “+44 2034815240”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “GB”
}
[3]=>
array(4) {
[“country_name”]=>
string(14) “United Kingdom”
[“number”]=>
string(14) “+44 2039017895”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “GB”
}
[4]=>
array(4) {
[“country_name”]=>
string(14) “United Kingdom”
[“number”]=>
string(14) “+44 2080806591”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “GB”
}
[5]=>
array(4) {
[“country_name”]=>
string(14) “United Kingdom”
[“number”]=>
string(14) “+44 2080806592”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “GB”
}
[6]=>
array(4) {
[“country_name”]=>
string(14) “United Kingdom”
[“number”]=>
string(14) “+44 3300885830”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “GB”
}
[7]=>
array(4) {
[“country_name”]=>
string(2) “US”
[“number”]=>
string(13) “+1 3863475053”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[8]=>
array(4) {
[“country_name”]=>
string(2) “US”
[“number”]=>
string(13) “+1 5642172000”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[9]=>
array(4) {
[“country_name”]=>
string(2) “US”
[“number”]=>
string(13) “+1 6469313860”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[10]=>
array(4) {
[“country_name”]=>
string(2) “US”
[“number”]=>
string(13) “+1 6694449171”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[11]=>
array(5) {
[“country_name”]=>
string(2) “US”
[“city”]=>
string(8) “San Jose”
[“number”]=>
string(13) “+1 6699006833”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[12]=>
array(4) {
[“country_name”]=>
string(2) “US”
[“number”]=>
string(13) “+1 7193594580”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[13]=>
array(5) {
[“country_name”]=>
string(2) “US”
[“city”]=>
string(8) “New York”
[“number”]=>
string(13) “+1 9292056099”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[14]=>
array(5) {
[“country_name”]=>
string(2) “US”
[“city”]=>
string(6) “Tacoma”
[“number”]=>
string(13) “+1 2532158782”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[15]=>
array(5) {
[“country_name”]=>
string(2) “US”
[“city”]=>
string(13) “Washington DC”
[“number”]=>
string(13) “+1 3017158592”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[16]=>
array(4) {
[“country_name”]=>
string(2) “US”
[“number”]=>
string(13) “+1 3092053325”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[17]=>
array(5) {
[“country_name”]=>
string(2) “US”
[“city”]=>
string(7) “Chicago”
[“number”]=>
string(13) “+1 3126266799”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
[18]=>
array(5) {
[“country_name”]=>
string(2) “US”
[“city”]=>
string(7) “Houston”
[“number”]=>
string(13) “+1 3462487799”
[“type”]=>
string(4) “toll”
[“country”]=>
string(2) “US”
}
}
[“contact_name”]=>
string(8) “Oak Room”
[“contact_email”]=>
string(20) “oak@thetherapy.space”
[“registrants_email_notification”]=>
bool(false)
[“meeting_authentication”]=>
bool(false)
[“encryption_type”]=>
string(19) “enhanced_encryption”
[“language_interpretation”]=>
array(1) {
[“enable”]=>
bool(false)
}
[“approved_or_denied_countries_or_regions”]=>
array(1) {
[“enable”]=>
bool(false)
}
[“breakout_room”]=>
array(1) {
[“enable”]=>
bool(false)
}
[“alternative_hosts_email_notification”]=>
bool(true)
[“device_testing”]=>
bool(false)
[“focus_mode”]=>
bool(false)
[“private_meeting”]=>
bool(false)
[“email_notification”]=>
bool(true)
[“host_save_video_order”]=>
bool(false)
}
[“recurrence”]=>
array(4) {
[“type”]=>
int(2)
[“repeat_interval”]=>
int(1)
[“weekly_days”]=>
string(1) “2”
[“end_times”]=>
int(3)
}
[“pre_schedule”]=>
bool(false)
}

It appears to return occurrence_id for the two occurrences that are set up… but I don’t appear to get an occurrence_id when I create a meeting.

Should I try passing one of these occurrence id’s to the delete operation?

hold up - I now appear to be getting an occurrence id back I’m going to try passing that in when I call the api

still the same, I pass in the meetingId and occurrence_id in the params, I just get back the meeting details in full, and no deletion ?

I’ve sussed it, we weren’t setting the CURLOPT_CUSTOMREQUEST to delete - I’ve added it now and it works…

    switch($request_type) {
        
        case 'post':
            curl_setopt($curlSession, CURLOPT_POST, TRUE);
            break;

        case 'patch':
            curl_setopt($curlSession, CURLOPT_CUSTOMREQUEST, 'PATCH');
            break;
        
        case 'delete':
            curl_setopt($curlSession, CURLOPT_CUSTOMREQUEST, 'DELETE');
            break;

         default:           
            curl_setopt($curlSession, CURLOPT_CUSTOMREQUEST, 'GET');
            break;

    }

hope this helps anyone else who is stuck like I was !

1 Like

Glad to hear you were able to resolve the issue and thanks for sharing your solution, @rich!

1 Like