Appointment API specification (777e6bfdebf9a70b5bc5a1ae633891e878b59884)

Download OpenAPI specification:Download

The appointment service implements all appointment and reminder functions for GroupAlarm

Authentication

API_Token

To use this API, you need an API-Token from the RBAC settings of your GroupAlarm organization. Place the token inside the HTTP-Header API-Token for every request, otherwise the API will return an "401 Unauthorized" error for your request.

Security Scheme Type API Key
Header parameter name: API-TOKEN

Personal-Access-Token

To use this API, you need a Personal Access Token from your profile settings. Place the token inside the HTTP-Header Personal-Access-Token for every request, otherwise the API will return an "401 Unauthorized" error for your request.

Security Scheme Type API Key
Header parameter name: Personal-Access-Token

appointment

CreateAppointment

Create an appointment with the passed parameters

Request Body schema: application/json

appointment payload

creationDate
any
creator
integer <int64>
description
string
endDate
any
id
integer <int64>
keepLabelParticipantsInSync
boolean

KeepLabelParticipantsInSync ensures that added and removed users from an associated label are automatically added and removed from the appointment. Otherwise they will only be updated when updating the appointment.

labelIDs
Array of integers <int64> [ items <int64 > ]

Optional list of labels. All current participants will be invited to the appointment. Participants present in multiple labels will be matched to first label in list. Participants present in a label and participant list will be stored independent from labels.

name
string
notificationDate
any
Default: "null"

NotificationDate will, if set, send appointment invitations at the specified point in time instead of when creating the appointment.

organizationID
integer <int64>
Array of objects (AppointmentParticipant) [ items ]
object (AppointmentRecurrence)

AppointmentRecurrence describes how an appointment is repeated

startDate
any
timezone
string
Default: "\"UTC\""

Timezone which is used for DST computation

Responses

Request samples

Content type
application/json
{
  • "creationDate": null,
  • "creator": 0,
  • "description": "string",
  • "endDate": null,
  • "id": 0,
  • "keepLabelParticipantsInSync": true,
  • "labelIDs": [
    ],
  • "name": "string",
  • "notificationDate": "null",
  • "organizationID": 0,
  • "participants": [
    ],
  • "recurrence": {
    },
  • "startDate": null,
  • "timezone": "\"UTC\""
}

Response samples

Content type
application/json
{
  • "creationDate": null,
  • "creator": 0,
  • "description": "string",
  • "endDate": null,
  • "id": 0,
  • "keepLabelParticipantsInSync": true,
  • "labelIDs": [
    ],
  • "name": "string",
  • "notificationDate": "null",
  • "organizationID": 0,
  • "participants": [
    ],
  • "recurrence": {
    },
  • "startDate": null,
  • "timezone": "\"UTC\""
}

GetAppointment

Get specific appointment with the requested id

path Parameters
id
required
integer

id of an appointment

Responses

Response samples

Content type
application/json
{
  • "creationDate": null,
  • "creator": 0,
  • "description": "string",
  • "endDate": null,
  • "id": 0,
  • "keepLabelParticipantsInSync": true,
  • "labelIDs": [
    ],
  • "name": "string",
  • "notificationDate": "null",
  • "organizationID": 0,
  • "participants": [
    ],
  • "recurrence": {
    },
  • "startDate": null,
  • "timezone": "\"UTC\""
}

UpdateAppointment

Update an appointment with the passed parameters

path Parameters
id
required
integer

id of an appointment

query Parameters
strategy
string
Default: "all"
Enum: "single" "upcoming" "all"

decides which appointments should be updated when handling recurrence

Request Body schema: application/json

appointment payload

creationDate
any
creator
integer <int64>
description
string
endDate
any
id
integer <int64>
keepLabelParticipantsInSync
boolean

KeepLabelParticipantsInSync ensures that added and removed users from an associated label are automatically added and removed from the appointment. Otherwise they will only be updated when updating the appointment.

labelIDs
Array of integers <int64> [ items <int64 > ]

Optional list of labels. All current participants will be invited to the appointment. Participants present in multiple labels will be matched to first label in list. Participants present in a label and participant list will be stored independent from labels.

name
string
notificationDate
any
Default: "null"

NotificationDate will, if set, send appointment invitations at the specified point in time instead of when creating the appointment.

organizationID
integer <int64>
Array of objects (AppointmentParticipant) [ items ]
object (AppointmentRecurrence)

AppointmentRecurrence describes how an appointment is repeated

startDate
any
timezone
string
Default: "\"UTC\""

Timezone which is used for DST computation

Responses

Request samples

Content type
application/json
{
  • "creationDate": null,
  • "creator": 0,
  • "description": "string",
  • "endDate": null,
  • "id": 0,
  • "keepLabelParticipantsInSync": true,
  • "labelIDs": [
    ],
  • "name": "string",
  • "notificationDate": "null",
  • "organizationID": 0,
  • "participants": [
    ],
  • "recurrence": {
    },
  • "startDate": null,
  • "timezone": "\"UTC\""
}

Response samples

Content type
application/json
{
  • "creationDate": null,
  • "creator": 0,
  • "description": "string",
  • "endDate": null,
  • "id": 0,
  • "keepLabelParticipantsInSync": true,
  • "labelIDs": [
    ],
  • "name": "string",
  • "notificationDate": "null",
  • "organizationID": 0,
  • "participants": [
    ],
  • "recurrence": {
    },
  • "startDate": null,
  • "timezone": "\"UTC\""
}

DeleteAppointment

Deletes the appointment with the passed id

path Parameters
id
required
integer

id of an appointment

query Parameters
strategy
string
Default: "all"
Enum: "single" "upcoming" "all"

decides which appointments should be deleted when handling recurrence

time
string <date-time>

decides which appointments should be deleted when handling deletion of a single or all upcoming recurring appointments

Responses

UpdateAppointmentParticipantFeedback

Update an appointment with the passed parameters

path Parameters
id
required
integer

id of an appointment

Request Body schema: application/json

appointment participant payload

appointmentID
integer <int64>
feedback
integer <int64> (AppointmentFeedbackStatus)

AppointmentFeedbackStatus describes the current feedback status of an user

feedbackMessage
string
labelID
integer <int64>

If LabelID is set, this AppointmentParticipant was automatically invited using a label and can only be removed by removing the corresponding label from the appointment or user.

startDate
any

If StartDate is set, this AppointmentParticipant describes feedback for a specific occurrence of an appointment. Otherwise it is valid for each occurrence.

userID
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "appointmentID": 0,
  • "feedback": 0,
  • "feedbackMessage": "string",
  • "labelID": 0,
  • "startDate": null,
  • "userID": 0
}

appointments

GetPersonalAppointments Deprecated

Get paginated personal appointments

query Parameters
limit
integer

max. amount of entries in list

offset
integer

amount of entries to skip

show
string
Enum: "upcoming" "completed"

filter upcoming and completed appointments

Responses

Response samples

Content type
application/json
{
  • "appointments": [
    ],
  • "totalAppointments": 0
}

Get a list of appointments in the given time range for an organization or the current user.

query Parameters
start
required
string <date-time>

start of appointment time range

end
required
string <date-time>

end of appointment time range

type
required
string
Enum: "personal" "organization"

list appointments of organization or current user

organization_id
integer

id of organization to query appointments for, only required for type "organization"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GetPersonalICal

Returns all personal appointments in ical/ics format

path Parameters
token
required
string

token to access personal appointments

Responses

GetPersonalToken

Get personal ical token

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

UpsertPersonalToken

Creates or updates the personal ical token

path Parameters
token
required
string

token to access personal appointments

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

Returns which notification types are disabled for the current user.

Responses

Response samples

Content type
application/json
{
  • "appDisabled": true,
  • "emailDisabled": true,
  • "userID": 0
}

Sets which notification types are disabled for the current user.

Request Body schema: application/json

disabled notification types

appDisabled
boolean
emailDisabled
boolean
userID
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "appDisabled": true,
  • "emailDisabled": true,
  • "userID": 0
}

Response samples

Content type
application/json
{
  • "appDisabled": true,
  • "emailDisabled": true,
  • "userID": 0
}

GetOrganizationAppointments Deprecated

Get paginated personal appointments

path Parameters
organization
required
integer

id of an organization

query Parameters
limit
integer

max. amount of entries in list

offset
integer

amount of entries to skip

show
string
Enum: "upcoming" "completed"

filter upcoming and completed appointments

Responses

Response samples

Content type
application/json