Calendar Event Types

An event type is a lightweight category that calendar entries are grouped under (e.g. "Meeting", "Customer information"). These endpoints manage the types themselves; assign one to an entry via calendar_event_type_id.

Required scope: read:calendar_event_types, write:calendar_event_types.

Endpoints

GET
/api/open/v1/calendar-event-types

List event types (paginated)

GET
/api/open/v1/calendar-event-types/{id}

Get a single event type

POST
/api/open/v1/calendar-event-types

Create an event type

PATCH
/api/open/v1/calendar-event-types/{id}

Update an event type (rename, translations)

Types created via the API are published immediately and available to assign. Only published types are visible here: a type that is unpublished in the CMS is left out of the list, and GET or PATCH on its id returns 404. Event types cannot be deleted via the API.

Translations

Event type names are translatable. name reads and writes the customer's default content locale (on read it falls back to the first translated name when the default locale has none); the optional translations object holds per-locale names (e.g. { "en": "Customer information" }). Locale keys must be languages activated on the platform — discover them via GET /locales; unknown or inactive locales return 422.

List

curl "https://customer.monotree.com/api/open/v1/calendar-event-types" \
  -H "Authorization: Bearer mono_your_token_here"

Newest first.

Query paramNotes
sinceISO 8601 — only types created at or after it.
page, per_pageStandard pagination — per_page max 50.

Create

curl -X POST https://customer.monotree.com/api/open/v1/calendar-event-types \
  -H "Authorization: Bearer mono_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Kunde information", "translations": { "en": "Customer information" } }'

Request body

FieldTypeNotes
namestringRequired. Max 255 characters. Written to the default content locale.
translationsobjectOptional. Per-locale names keyed by locale code (must be activated languages), each max 255 characters.

Returns 201 with the event type. PATCH accepts the same fields — all optional. name renames the default content locale; translations sets or updates specific locales.

Response

{
  "data": {
    "id": 2,
    "name": "Kunde information",
    "translations": { "da": "Kunde information", "en": "Customer information" },
    "created_at": "2026-07-03T10:00:00+02:00",
    "updated_at": "2026-07-03T10:00:00+02:00"
  }
}