XISUITEDokumentation

calendars

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

List the calendars this user may see#

GET/calendar/calendarsToken

Parameter

NameOrtTypBeschreibung
sortQuerystring

Order of the list; by name when left out

Werte: name_ascname_desccreated_desccreated_ascupdated_descupdated_asc

Antworten

  • 200Calendars returned, each with the access level held
  • 403Calendar module not enabled
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/calendars" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Create a calendar, personal or in a space#

POST/calendar/calendarsToken

Request-Bodyapplication/jsonCreateCalendarDto

NameTypBeschreibung
namePflichtstring–
space_idstring

Space the calendar belongs to. Left out for a personal one.

descriptionstring–
colorstring

Hex colour, e.g. #4f8cff

visibilitystring

private or organization for a personal calendar, private or space for a space calendar

Werte: privatespaceorganization

Standard: "private"

default_timezonestring

IANA time zone new events start in, e.g. Europe/Berlin

Standard: "UTC"

sharesCalendarShareDto[]–
shares[].target_typePflichtstring

Werte: userbase_rolespace

shares[].target_idPflichtstring

User id, or role id when target_type is role

shares[].levelstring

The older single level. Read when no permissions object is sent.

Werte: vieweditmanage

shares[].permissionsCalendarSharePermissionsDto–
shares[].base_rolestring

Space or organization role the target came from, for display

shares[].granted_bystring

Who last granted or changed this rule (set by the server)

shares[].granted_atstring

When this rule was last granted or changed (set by the server)

field_settingsCalendarFieldSettingDto[]–
field_settings[].field_idPflichtstring

Id of an existing custom field

field_settings[].requiredboolean

Standard: false

field_settings[].ordernumber–
default_remindersCalendarReminderDto[]

Reminders every entry gets unless it sets its own

default_reminders[].minutes_beforePflichtnumber

Werte: 051015306012014402880432057607200864010080

default_reminders[].channelsPflichtstring[]

Werte: notificationemail

default_reminders[].repeat_timesnumber

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

Antworten

  • 201Calendar created
  • 403Not allowed to create a calendar in that space
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/calendar/calendars" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…"}'

Read one calendar#

GET/calendar/calendars/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

Antworten

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

Rename, recolour or re-scope a calendar#

PATCH/calendar/calendars/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

Request-Bodyapplication/jsonUpdateCalendarDto

NameTypBeschreibung
namestring–
descriptionstring–
colorstring

Hex colour, e.g. #4f8cff

space_idobject

The space the calendar belongs to; null makes it personal

visibilitystring

Werte: privatespaceorganization

default_timezonestring

IANA time zone, e.g. Europe/Berlin

default_remindersCalendarReminderDto[]

Reminders every entry gets unless it sets its own

default_reminders[].minutes_beforePflichtnumber

Werte: 051015306012014402880432057607200864010080

default_reminders[].channelsPflichtstring[]

Werte: notificationemail

default_reminders[].repeat_timesnumber

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

Antworten

  • 200Calendar updated
  • 403Edit access required
Beispiel (cURL)
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/calendar/calendars/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","description":"…","color":"…"}'

Delete a calendar and its entries#

DELETE/calendar/calendars/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

Antworten

  • 200Calendar deleted
  • 403Manage access required
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/calendar/calendars/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Replace the ticket sources shown on a calendar#

PUT/calendar/calendars/{id}/feedsToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

Request-Bodyapplication/jsonSetCalendarFeedsDto

NameTypBeschreibung
feedsPflichtCalendarFeedDto[]–
feeds[].idstring

Kept when editing an existing source

feeds[].space_idPflichtstring

Space whose tickets are shown

feeds[].task_idstring

One ticket to show. Left out, the whole space is shown.

feeds[].date_fieldPflichtstring

Werte: due_datestart_dateend_date

feeds[].labelstring

What the source is called on the calendar

feeds[].colorstring

Hex colour, e.g. #f59e0b

feeds[].linked_atstring

When the source was first linked (set by the server)

feeds[].excluded_task_idsstring[]

Tickets of an All-tickets source that are not shown

Antworten

  • 200Ticket sources updated
  • 403Manage access required, or you cannot see that space's tickets
Beispiel (cURL)
curl -X PUT "https://xapi.ambertech.cloud/api/v1/calendar/calendars/{id}/feeds" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"feeds":[]}'

Replace the custom fields a calendar shows on its entries#

PUT/calendar/calendars/{id}/fieldsToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

Request-Bodyapplication/jsonSetCalendarFieldSettingsDto

NameTypBeschreibung
fieldsPflichtCalendarFieldSettingDto[]–
fields[].field_idPflichtstring

Id of an existing custom field

fields[].requiredboolean

Standard: false

fields[].ordernumber–

Antworten

  • 200Fields updated
  • 400A field is not available to this calendar
Beispiel (cURL)
curl -X PUT "https://xapi.ambertech.cloud/api/v1/calendar/calendars/{id}/fields" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fields":[]}'

One page of the given spaces' tickets not linked to this calendar yet#

GET/calendar/calendars/{id}/linkable-ticketsToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

space_idsQuerystring

Spaces to read, comma separated (1-20)

searchQuerystring

Search on key or summary

pageQuerynumber–
pageSizeQuerynumber–

Antworten

  • 200Ticket ids, page and total
  • 403No ticket-dates access, or you cannot see that space's tickets
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/calendars/{id}/linkable-tickets" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Replace who a calendar is shared with#

PUT/calendar/calendars/{id}/sharesToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

Request-Bodyapplication/jsonSetCalendarSharesDto

NameTypBeschreibung
sharesPflichtCalendarShareDto[]–
shares[].target_typePflichtstring

Werte: userbase_rolespace

shares[].target_idPflichtstring

User id, or role id when target_type is role

shares[].levelstring

The older single level. Read when no permissions object is sent.

Werte: vieweditmanage

shares[].permissionsCalendarSharePermissionsDto–
shares[].base_rolestring

Space or organization role the target came from, for display

shares[].granted_bystring

Who last granted or changed this rule (set by the server)

shares[].granted_atstring

When this rule was last granted or changed (set by the server)

Antworten

  • 200Sharing updated
  • 403Manage access required
Beispiel (cURL)
curl -X PUT "https://xapi.ambertech.cloud/api/v1/calendar/calendars/{id}/shares" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"shares":[]}'
GET/calendar/calendars/{id}/ticket-linksToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

pageQuerynumber–
pageSizeQuerynumber–
searchQuerystring

Search on key or summary

spaceQuerystring

Only this space

statusQuerystring

Status names, comma separated

priorityQuerystring

Priority names, comma separated

typeQuerystring

Task type ids, comma separated

Antworten

  • 200Linked ticket ids, page and total
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/calendars/{id}/ticket-links" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Whether this user may create calendars#

GET/calendar/calendars/can-createToken

Antworten

  • 200{ allowed: boolean }
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/calendars/can-create" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Calendars whose owner has left the organization (name and owner only)#

GET/calendar/calendars/ownerlessToken

Antworten

  • 200Calendars returned
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/calendars/ownerless" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Delete a calendar left behind by someone who has left#

DELETE/calendar/calendars/ownerless/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring

Calendar UUID

Antworten

  • 200Calendar deleted
  • 404Calendar not found or still owned
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/calendar/calendars/ownerless/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"
GET/calendar/link-ticketsToken

Parameter

NameOrtTypBeschreibung
space_idPflichtQuerystring

Space to read

searchQuerystring

Search on key or summary

pageQuerynumber–
page_sizeQuerynumber–

Antworten

  • 200Tickets, page and total
  • 403That space cannot be linked
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/link-tickets" \
  -H "Authorization: Bearer $XISUITE_TOKEN"
GET/calendar/link-tickets/linkedToken

Parameter

NameOrtTypBeschreibung
calendarQuerystring

Only this calendar

spaceQuerystring

Only this space

statusQuerystring

Status names, comma separated

priorityQuerystring

Priority names, comma separated

typeQuerystring

Task type ids, comma separated

date_fieldQuerystring

Only links shown by this date

searchQuerystring

Search on key or summary

pageQuerynumber–
page_sizeQuerynumber–

Antworten

  • 200Linked tickets, page and total
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/link-tickets/linked" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Tickets by id, from linkable spaces only#

POST/calendar/link-tickets/lookupToken

Request-Bodyapplication/jsonLinkTicketsLookupDto

NameTypBeschreibung
idsPflichtstring[]–

Antworten

  • 200Found tickets and missing ids
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/calendar/link-tickets/lookup" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ids":[]}'
GET/calendar/link-tickets/spacesToken

Antworten

  • 200Spaces, by name
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/calendar/link-tickets/spaces" \
  -H "Authorization: Bearer $XISUITE_TOKEN"
Stand: 25. Oktober 2026© 2026 XISUITE · AmberTech Solutions