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

  • dateTime    is used for single events.
  • startDate    and endDate    are 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.
  • mode    is optional. The default value is add   . Use replace    to 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