XISUITEDokumentation

calendar-events

10 Endpunkte. Basis-URL: https://xapi.ambertech.cloud/api/v1

Entries in a date window, across the calendars this user may see#

GET/calendar/eventsToken

Parameter

NameOrtTypBeschreibung
fromQuerystring

Start of the window, e.g. 2026-09-01

toQuerystring

End of the window, e.g. 2026-10-01

calendar_idsQuerystring[]

Calendars to read; comma separated or repeated. All visible ones when left out.

tzQuerystring

The reader's time zone, e.g. Europe/Berlin. Decides which day a ticket deadline lands on.

Antworten

  • 200Entries returned
  • 400Window missing, backwards or too wide
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/events" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Create an entry on a calendar#

POST/calendar/eventsToken

Request-Bodyapplication/jsonCreateCalendarEventDto

NameTypBeschreibung
calendar_idPflichtstring–
summaryPflichtstring–
descriptionstring–
locationstring–
is_all_dayboolean

Standard: false

starts_atstring

Timed start with its offset, e.g. 2026-09-24T09:00:00+02:00

ends_atstring

Timed end with its offset

start_datestring

All-day start, e.g. 2026-09-24

end_datestring

All-day end, exclusive: a single day ends on the next date

timezonestring

IANA time zone, e.g. Europe/Berlin

meeting_providerstring

Werte: teamsgoogle_meetzoomcustom

meeting_urlstring–
meeting_idstring–
generate_meetingboolean

Create the Zoom meeting rather than taking a pasted link

zoom_optionsZoomMeetingOptionsDto

How the generated Zoom meeting is set up; used only with generate_meeting

custom_field_valuesobject

Values of the custom fields the calendar shows, keyed by field key

watcher_idsstring[]–
linksCalendarEventLinkDto[]–
links[].typePflichtstring

Werte: taskprocessuserasset_object

links[].idPflichtstring

Id of the linked ticket, process, user or asset

links[].remindboolean

For a linked person: false leaves them out of the reminders

remindersCalendarReminderDto[]

This entry's reminders; null follows the calendar's default and an empty list turns them off

reminders[].minutes_beforePflichtnumber

Werte: 051015306012014402880432057607200864010080

reminders[].channelsPflichtstring[]

Werte: notificationemail

reminders[].repeat_timesnumber

Times to send it, spaced evenly up to the start; once when left out

Antworten

  • 201Entry created
  • 400Dates, time zone, fields, followers or links rejected
  • 403Edit access to that calendar required
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/calendar/events" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"calendar_id":"…","summary":"…"}'

Read one entry#

GET/calendar/events/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Entry UUID

Antworten

  • 200Entry returned
  • 404Not found, or its calendar is not visible
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/events/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Edit an entry#

PATCH/calendar/events/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Entry UUID

Request-Bodyapplication/jsonUpdateCalendarEventDto

NameTypBeschreibung
summarystring–
descriptionstring–
locationstring–
is_all_dayboolean

Standard: false

starts_atstring

Timed start with its offset, e.g. 2026-09-24T09:00:00+02:00

ends_atstring

Timed end with its offset

start_datestring

All-day start, e.g. 2026-09-24

end_datestring

All-day end, exclusive: a single day ends on the next date

timezonestring

IANA time zone, e.g. Europe/Berlin

meeting_providerstring

Werte: teamsgoogle_meetzoomcustom

meeting_urlstring–
meeting_idstring–
generate_meetingboolean

Create the Zoom meeting rather than taking a pasted link

zoom_optionsZoomMeetingOptionsDto

How the generated Zoom meeting is set up; used only with generate_meeting

custom_field_valuesobject

Values of the custom fields the calendar shows, keyed by field key

watcher_idsstring[]–
linksCalendarEventLinkDto[]–
links[].typePflichtstring

Werte: taskprocessuserasset_object

links[].idPflichtstring

Id of the linked ticket, process, user or asset

links[].remindboolean

For a linked person: false leaves them out of the reminders

remindersCalendarReminderDto[]

This entry's reminders; null follows the calendar's default and an empty list turns them off

reminders[].minutes_beforePflichtnumber

Werte: 051015306012014402880432057607200864010080

reminders[].channelsPflichtstring[]

Werte: notificationemail

reminders[].repeat_timesnumber

Times to send it, spaced evenly up to the start; once when left out

updated_atstring

The updated_at the client last read. When it no longer matches, the edit is rejected instead of overwriting someone else.

Antworten

  • 200Entry updated
  • 409Someone else saved first; reload and try again
Beispiel (cURL)
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/calendar/events/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"summary":"…","description":"…","location":"…"}'

Delete an entry#

DELETE/calendar/events/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Entry UUID

Antworten

  • 200Entry deleted
  • 403Edit access to its calendar required
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/calendar/events/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"
PUT/calendar/events/{id}/linksToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Entry UUID

Request-Bodyapplication/jsonSetCalendarEventLinksDto

NameTypBeschreibung
linksPflichtCalendarEventLinkDto[]–
links[].typePflichtstring

Werte: taskprocessuserasset_object

links[].idPflichtstring

Id of the linked ticket, process, user or asset

links[].remindboolean

For a linked person: false leaves them out of the reminders

Antworten

  • 200Links updated
Beispiel (cURL)
curl -X PUT "https://xapi.ambertech.cloud/api/v1/calendar/events/{id}/links" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"links":[]}'

Replace who follows an entry#

PUT/calendar/events/{id}/watchersToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Entry UUID

Request-Bodyapplication/jsonSetCalendarEventWatchersDto

NameTypBeschreibung
watcher_idsPflichtstring[]

User ids that follow this event

Antworten

  • 200Followers updated
  • 400Someone named cannot see this calendar
Beispiel (cURL)
curl -X PUT "https://xapi.ambertech.cloud/api/v1/calendar/events/{id}/watchers" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"watcher_ids":[]}'

The current settings of the entry's Zoom meeting, read from Zoom#

GET/calendar/events/{id}/zoom-meetingToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Entry UUID

Antworten

  • 200Meeting options; never a token
  • 400No Zoom meeting made here, or Zoom refused
  • 404Meeting deleted inside Zoom
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/events/{id}/zoom-meeting" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Create the Zoom meeting for an entry that has no link yet#

POST/calendar/events/{id}/zoom-meetingToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Entry UUID

Request-Bodyapplication/jsonCreateZoomMeetingDto

NameTypBeschreibung
zoom_optionsZoomMeetingOptionsDto–
zoom_options.use_pmiboolean

Use the host personal meeting ID instead of a new one

zoom_options.passcode_enabledboolean

Require a passcode to join

zoom_options.passcodestring

The passcode; left out, Zoom makes one. Up to 10 letters, digits or @ - _ *

zoom_options.waiting_roomboolean–
zoom_options.encryption_typestring

Werte: enhanced_encryptione2ee

zoom_options.host_videoboolean–
zoom_options.participant_videoboolean–
zoom_options.continuous_chatboolean

Let people use the meeting chat before and after

zoom_options.join_before_hostboolean–
zoom_options.mute_upon_entryboolean–
zoom_options.auto_recordingstring

Werte: nonelocalcloud

zoom_options.recurrenceZoomRecurrenceDto–

Antworten

  • 201Entry returned with its link
  • 400Already linked, has no start time, or came from elsewhere
  • 403Edit access to the entry required
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/calendar/events/{id}/zoom-meeting" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"zoom_options":"…"}'

Change the settings of the entry's Zoom meeting#

PATCH/calendar/events/{id}/zoom-meetingToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Entry UUID

Request-Bodyapplication/jsonUpdateZoomMeetingDto

NameTypBeschreibung
zoom_optionsPflichtZoomMeetingOptionsDto–
zoom_options.use_pmiboolean

Use the host personal meeting ID instead of a new one

zoom_options.passcode_enabledboolean

Require a passcode to join

zoom_options.passcodestring

The passcode; left out, Zoom makes one. Up to 10 letters, digits or @ - _ *

zoom_options.waiting_roomboolean–
zoom_options.encryption_typestring

Werte: enhanced_encryptione2ee

zoom_options.host_videoboolean–
zoom_options.participant_videoboolean–
zoom_options.continuous_chatboolean

Let people use the meeting chat before and after

zoom_options.join_before_hostboolean–
zoom_options.mute_upon_entryboolean–
zoom_options.auto_recordingstring

Werte: nonelocalcloud

zoom_options.recurrenceZoomRecurrenceDto–

Antworten

  • 200Entry returned with its link
  • 400No Zoom meeting made here, or Zoom refused
  • 404Meeting deleted inside Zoom
  • 409Meeting still being created
Beispiel (cURL)
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/calendar/events/{id}/zoom-meeting" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"zoom_options":"…"}'
Stand: 25. Oktober 2026© 2026 XISUITE · AmberTech Solutions