How can we help you?

DELETE /calendars/:calendarUuid/:eventFile

Product: FeraCalendar Topic: API Versions: Applies to all documented versions Current

Audience: Application developers
Editorial status: Published — Source Validated
Product: FeraCalendar
Classification: partner

DELETE /caldav/calendars/{calendarUuid}/{path}

Overview

Authenticated conditional event deletion implemented at src/caldav/router.js:43 (controller.deleteEvent). The adapter validates the UUID .ics resource, checks write capability and If-Match against the current ETag, and removes the corresponding FeraCal event.

Authentication and access

Security scheme: basicAuth

Control Contract
Authentication authenticated
Authorization HTTP Basic credentials are verified by FeraAuth and the resolved principal must have write capability for the selected calendar context.
Licensing The adapter has no separate local product-license middleware; it relies on FeraAuth credential verification and FeraCal calendar-access resolution for the effective instance.
Instance Context Principal and instance routes supply an instance UUID. Calendar routes first resolve the calendar UUID to its owner instance, then verify credentials in that effective context.
Ownership The verified FeraAuth user is resolved to a FeraCal person and calendar role; collection and event access is constrained to calendars for which that principal has the required capability.

Parameters

Name Location Type Required Description
calendarUuid path string (uuid) Yes FeraCal calendarUuid UUID used for CalDAV discovery and authorization.
path path string Yes Event resource filename. The basename must be a UUID and the extension must be .ics.
If-Match header string No Current event ETag used for optimistic conditional mutation. Omission performs an unconditional write or delete.

Request body

No request body.

Example request

cURL

curl --request DELETE \ \
  --url 'https://caldav.feradel.com/caldav/calendars/715c9ebb-0470-11f1-a928-0ed2cd1b87df/715c9ebb-0470-11f1-a928-0ed2cd1b87df.ics' \
  --user '$FERA_CALDAV_USERNAME:$FERA_CALDAV_PASSWORD' \
  --header 'If-Match: "event-etag"'

Responses

204 The VEVENT was deleted without a response body.

400 The resource filename is not a UUID .ics file.

Content type: application/json; schema: CalDavError

{
    "success": false,
    "error": {
        "message": "Invalid event resource name"
    }
}

401 Basic credentials are missing or rejected.

Content type: application/json; schema: CalDavError

{
    "success": false,
    "error": {
        "message": "CalDAV credentials are required"
    }
}

403 The verified principal lacks calendar write access.

Content type: application/json; schema: CalDavError

{
    "success": false,
    "error": {
        "message": "Calendar write access denied"
    }
}

404 The requested event does not exist.

Content type: application/json; schema: CalDavError

{
    "success": false,
    "error": {
        "message": "Event not found"
    }
}

412 If-Match does not equal the current event ETag.

Content type: application/json; schema: CalDavError

{
    "success": false,
    "error": {
        "message": "ETag precondition failed"
    }
}

500 The calendar delete dependency failed.

Content type: application/json; schema: CalDavError

{
    "success": false,
    "error": {
        "message": "Internal server error"
    }
}

Status and retry matrix

Status Condition Retryable Developer action
204 The VEVENT was deleted without a response body. No Continue with the DAV, XML, iCalendar, ETag, or empty-body result described for this status.
400 The resource filename is not a UUID .ics file. No Correct credentials, capability, resource name, XML/iCalendar content, UID, or ETag before retrying.
401 Basic credentials are missing or rejected. No Correct credentials, capability, resource name, XML/iCalendar content, UID, or ETag before retrying.
403 The verified principal lacks calendar write access. No Correct credentials, capability, resource name, XML/iCalendar content, UID, or ETag before retrying.
404 The requested event does not exist. No Correct credentials, capability, resource name, XML/iCalendar content, UID, or ETag before retrying.
412 If-Match does not equal the current event ETag. No Correct credentials, capability, resource name, XML/iCalendar content, UID, or ETag before retrying.
500 The calendar delete dependency failed. Yes Correct credentials, capability, resource name, XML/iCalendar content, UID, or ETag before retrying.

Related operations and events

  • Operation caldav_get_28
  • Operation caldav_put_29

Source trace

Repository: feradelinc/feradel.calendar.caldav
Route: src/caldav/router.js
Handler: controller.deleteEvent
Line: 43
Contract: OpenAPI 3.1, source-traced and publication-validated.