How can we help you?

GET /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

GET /caldav/calendars/{calendarUuid}/{path}

Overview

Authenticated event retrieval implemented at src/caldav/router.js:41 (controller.getEvent). A UUID .ics resource is resolved through the authorized calendar and returned as text/calendar with its deterministic ETag.

Authentication and access

Security scheme: basicAuth

Control Contract
Authentication authenticated
Authorization HTTP Basic credentials are verified by FeraAuth and the resolved principal must have read 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.

Request body

No request body.

Example request

cURL

curl --request GET \ \
  --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'

Responses

200 One event is returned as an RFC 5545 iCalendar document.

Header Description
ETag Deterministic event entity tag used for conditional mutation.

Content type: text/calendar; schema: string

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
UID:715c9ebb-0470-11f1-a928-0ed2cd1b87df
DTSTART:20260901T130000Z
DTEND:20260901T140000Z
SUMMARY:Client consultation
END:VEVENT
END:VCALENDAR

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 read access.

Content type: application/json; schema: CalDavError

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

404 The requested event does not exist.

Content type: application/json; schema: CalDavError

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

500 The calendar read dependency failed.

Content type: application/json; schema: CalDavError

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

Status and retry matrix

Status Condition Retryable Developer action
200 One event is returned as an RFC 5545 iCalendar document. 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 read 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.
500 The calendar read dependency failed. Yes Correct credentials, capability, resource name, XML/iCalendar content, UID, or ETag before retrying.

Related operations and events

  • Operation caldav_put_29
  • Operation caldav_delete_30

Source trace

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