Events API
The Events API allows creating and managing events, such as absences.
The API uses two concepts:
- Event type – a category of event
- Event – a single occurrence of an event type for a person on a specific date or time
Person object
| Field | Type | Description |
|---|---|---|
| eventId | number | Event identifier |
| eventTypeId | string | Event type identifier |
| personId | string | Person identifier |
| dateTime | string | Date and time of the event |
Event type object
| Kenttä | Tyyppi | Kuvaus |
|---|---|---|
| id | number | Identifier |
| name | string | Name |
Get event types
GET
/api/v1/events/types
Returns all available event types.
Get event
GET /api/v1/events/{eventId}
Returns a single event based on event id.
Example request
GET /api/v1/events/1234
Example response
{
"data": {
"eventId": 1234,
"eventTypeId": 10,
"personId": 1001,
"dateTime": "2026-10-16T08:00:00+03:00"
}
}
Search events
GET /api/v1/events?{parameters}
Returns multiple events based on search parameters.
| Parameter | Description |
|---|---|
| date | Return events for a specific date |
| startDate | Return events starting from this date |
| endDate | Return events up to and including this date |
| eventTypeId | Filter by event type |
| personId | Filter by person |
Example request
GET /api/v1/events?startDate=2026-01-01&endDate=2026-01-31
Example response
{
"data": [
{
"eventId": 1,
"eventTypeId": 10,
"personId": 1001,
"dateTime": "2026-01-05T08:00:00+03:00"
},
{
"eventId": 2,
"eventTypeId": 10,
"personId": 1001,
"dateTime": "2026-01-06T08:00:00+03:00"
},
...
}
}
Add events
POST /api/v1/events
- Creates one or more events.
- The request body can contain a single event or multiple events.
- Existing events for the same person and date can optionally be replaced.
Single event
{
data: {
"personId": 1001,
"eventTypeId": 100,
"dateTime": "2025-10-16T08:00:00+03:00"
},
"mode": "add"
}
Event spanning multiple days
{
data: {
"personId": 1001,
"eventTypeId": 114,
"startDate": "2024-12-25",
"endDate": "2024-12-31"
}
}
Replace existing events
{
data: {
"personId": 1001,
"eventTypeId": 114,
"dateTime": "2025-10-16T08:00:00+03:00"
},
"mode": "replace"
}
Notes
dateTimeis used for single events.startDateandendDateare used for date ranges, if supported by the event type. When adding absence days, events are only created for working days configured in the system.modeis optional. The default value isadd. Usereplaceto remove existing events for the same person and date before adding the new one.- A successful request always returns 200 OK.
Edit an event
PATCH /api/v1/events/{eventId}
Updates an existing event. Only the provided fields are updated.
{
data: {
"personId": 1001,
"eventTypeId": 100,
"dateTime": "2025-10-16T08:00:00+03:00"
}
}
Delete an event
DELETE /api/v1/events/{eventId}
Deletes an event. Deletion is permanent.
Delete events
DELETE /api/v1/events
Delete multiple events.
| Parameter | Description |
|---|---|
| date | Return events for a specific date |
| startDate | Return events starting from this date |
| endDate | Return events up to and including this date |
| eventTypeId | Filter by event type |
| personId | Filter by person |
Example request
DELETE /api/v1/events?startDate=2026-01-01&endDate=2026-01-31