Delete a selected Outlook calendar event
curl --request DELETE \
--url https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirmDelete": true
}
'import requests
url = "https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}"
payload = { "confirmDelete": True }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({confirmDelete: true})
};
fetch('https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'confirmDelete' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}"
payload := strings.NewReader("{\n \"confirmDelete\": true\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"confirmDelete\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"confirmDelete\": true\n}"
response = http.request(request)
puts response.read_body{
"ok": true,
"eventId": "<string>",
"status": "deleted"
}{
"error": "unauthorized"
}{
"error": "needs_connection",
"message": "<string>"
}{
"error": "invalid_request",
"message": "<string>"
}{
"error": "microsoft_graph_error",
"message": "<string>",
"outcome": "unknown",
"retryable": false
}Capability Sources
Delete a selected Outlook calendar event
Requires Calendars.ReadWrite and calendarWrite, plus explicit user deletion confirmation. Deleting an organizer’s meeting can send cancellations to attendees. Graph 204 confirms deletion. Uses only the calling member’s delegated Microsoft 365 connection. Never automatically retry a mutation after a timeout, cancellation, or ambiguous response; inspect current state first.
DELETE
/
v1
/
capabilities
/
microsoft-365
/
calendar-events
/
{eventId}
Delete a selected Outlook calendar event
curl --request DELETE \
--url https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirmDelete": true
}
'import requests
url = "https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}"
payload = { "confirmDelete": True }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({confirmDelete: true})
};
fetch('https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'confirmDelete' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}"
payload := strings.NewReader("{\n \"confirmDelete\": true\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"confirmDelete\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/capabilities/microsoft-365/calendar-events/{eventId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"confirmDelete\": true\n}"
response = http.request(request)
puts response.read_body{
"ok": true,
"eventId": "<string>",
"status": "deleted"
}{
"error": "unauthorized"
}{
"error": "needs_connection",
"message": "<string>"
}{
"error": "invalid_request",
"message": "<string>"
}{
"error": "microsoft_graph_error",
"message": "<string>",
"outcome": "unknown",
"retryable": false
}Authorizations
bearerAuthdenApiKey
Session token passed as Authorization: Bearer <session-token> for user-authenticated Den routes.
Path Parameters
Required string length:
1 - 512Body
application/json
The user explicitly requested deleting this event; organizer deletion can notify attendees.
Was this page helpful?