time.api (1.0)

Download OpenAPI specification:

Home

We offer the possibility to exchange data easily and automatically between our and external systems via so-called APIs (Application Programming Interfaces).

  • direct, automated data exchange in real time
  • managed API interface for secure access to the data in our system

Access to the data and use of the services is only permitted with appropriate, paid licenses. The API interface is not installed automatically.

Please contact the zeit ag project management if you would like to use the API interface. Terms of Use Security and data protection are very important to us. The API interface to our systems meets the highest standards in terms of data protection.

Licensing

By accessing zeit ag's API services, you expressly declare that you accept the terms of use.

Authentication

In order to access an endpoint, your client needs to be authenticated. Authentication works via the X-Api-Key HTTP header.

To get a valid API key you should contact zeit ag project management via email at info@zeitag.ch.

Persons

Manage person base data

Create

Create new persons

Authorizations:
secret
Request Body schema:
required
Array
id
string

Optional person id, i.e. the employee number.

titleId
integer <int32>

Optional title id. Valid values can be found under the /titles endpoint.

sex
integer
Enum: 0 1 2

Optional sex. Valid values can be found under the /genders endpoint.

language
integer <int32>

Optional user language. Valid values can be found under the /languages endpoint.

residencePermit
string

Optional residence permit.

nationalityId
integer <int32>

The nationality. Valid values can be found under the /countries endpoint.

object

Optional address.

object

Optional contact information.

remark
string

Optional remark.

firstName
required
string non-empty

Needs to be set and not be empty in order to create a new person

lastName
required
string non-empty

Needs to be set and not be empty in order to create a new person

dateOfBirth
required
string <date> non-empty

Needs to be set and not be empty in order to create a new person

object (CreatePersonEmploymentPayload)

Optional employment related data. Default values are applied, if omitted.

object (CreateEmployeeCostsPayload)

Optional cost center related data. Default values are applied, if omitted.

object (CreatePresencePayload)

Optional data for defining presence settings for the person. Default values are applied, if omitted.

object (CreatePlanningPayload)

Optional data for defining planning settings of the person. Default values are applied, if omitted.

object (CreatePermissionsPayload)

Optional data for defining permissions for the person. If the object is ommitted, the person won't have any access to the application.

object (CreateLoginPayload)

Optional data for defining login settings for the person. Make sure, you provide at least one identity value. Otherw the person won't be able to login.

object

Optional data for defining timelook settings for the person. Default values are applied, if omitted.

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

List

Get a list of persons

Authorizations:
secret
query Parameters
take
integer <int32>

If set, items will be limited to the given amount. Note, that the API returns at most 999 items at a time. If you intend to fetch all data from the API, you can use skip to page through the collection.

skip
integer <int32>

If set, items will be skipped by the given amount. You will need this, if you want to fetch all items from the server.

employeeNumbers
Array of strings

If set, items will be limited to the given employee numbers, i.e. IDs.

include
Array of strings

If set, only the given parts of the persons are read and returned

exclude
Array of strings

If set, the given parts of persons are excluded from the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Person

Get a person by employee number

Authorizations:
secret
path Parameters
employeeNumber
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "titleId": 0,
  • "firstName": "string",
  • "lastName": "string",
  • "sex": 0,
  • "language": 0,
  • "dateOfBirth": "2019-08-24",
  • "residencePermit": "string",
  • "nationalityId": 0,
  • "address": {
    },
  • "contact": {
    },
  • "remark": "string",
  • "employment": {
    },
  • "costs": {
    },
  • "permissions": {
    },
  • "presence": {
    },
  • "login": {
    },
  • "timelook": {
    }
}

Update

Update an existing person partially

Authorizations:
secret
path Parameters
employeeNumber
required
string
Request Body schema:
required
id
string

Optional person id, i.e. the employee number.

titleId
integer <int32>

Optional title id. Valid values can be found under the /titles endpoint.

sex
integer
Enum: 0 1 2

Optional sex. Valid values can be found under the /genders endpoint.

language
integer <int32>

Optional user language. Valid values can be found under the /languages endpoint.

residencePermit
string

Optional residence permit.

nationalityId
integer <int32>

The nationality. Valid values can be found under the /countries endpoint.

object

Optional address.

object

Optional contact information.

remark
string

Optional remark.

firstName
string

Updates the firstname, if set.

lastName
string

Updates the lastname, if set.

dateOfBirth
string <date>

Updates the date of birth, if set. Triggers a re-calculation of the entitlements.

object (PatchPersonEmploymentPayload)

Updates empployment data, if set.

object (PatchEmployeeCostsPayload)

Updates costs data, if set.

object (PatchPresencePayload)

Updates presence data, if set.

object (PatchPlanningPayload)

Updates planning data, if set.

object (PatchPermissionsPayload)

Updates permissions data, if set.

object (PatchLoginPayload)

Updates login data, if set.

object

Updates timelook data, if set.

Responses

Request samples

Content type
{
  • "id": "string",
  • "titleId": 0,
  • "sex": 0,
  • "language": 0,
  • "residencePermit": "string",
  • "nationalityId": 0,
  • "address": {
    },
  • "contact": {
    },
  • "remark": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "dateOfBirth": "2019-08-24",
  • "employment": {
    },
  • "costs": {
    },
  • "presence": {
    },
  • "planning": {
    },
  • "permissions": {
    },
  • "login": {
    },
  • "timelook": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "extensions": {
    },
  • "property1": null,
  • "property2": null
}

List IDs

Get a list of all existing person IDs

Authorizations:
secret
query Parameters
take
integer <int32>

If set, items will be limited to the given amount. Note, that the API returns at most 999 items at a time. If you intend to fetch all data from the API, you can use skip to page through the collection.

skip
integer <int32>

If set, items will be skipped by the given amount. You will need this, if you want to fetch all items from the server.

employeeNumbers
Array of strings

If set, items will be limited to the given employee numbers, i.e. IDs.

include
Array of strings

If set, only the given parts of the persons are read and returned

exclude
Array of strings

If set, the given parts of persons are excluded from the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Person references

Badges_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

BalanceGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

CalendarCategories_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

CalendarFolders_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

CostCenterGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

CostCenters_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

CostRateGroup_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Countries_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

CrossCutGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

DayPrograms_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

EntitlementGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

FactoryCalendars_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Genders_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Hierarchies_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Languages_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

MutationGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

PlanningRightGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

PlanningTimeGenerationModes_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

PlanningTolerances_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

RightGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

SalaryGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

ShiftSchedules_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Tenants_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

TerminalGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Titles_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

YearCarryOverGroups_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Presence bookings

List

Get a list of absences

Authorizations:
secret
query Parameters
bookingType
Array of integers <int32> [ items <int32 > ]

If set, only items with the given booking type will be returned.

createdAtFrom
string <date-time>

If set, only items created after the given datetime will be returned.

createdAtTo
string <date-time>

If set, only item created before the given datetime will be returned.

firstChangeAtFrom
string <date-time>

If set, only items with the first changed timestamp after the given datetime will be returned.

firstChangeAtTo
string <date-time>

If set, only items with the first changed timestamp before the given datetime will be returned.

lastChangeAtFrom
string <date-time>

If set, only items with the last changed timestamp after given datetime will be returned.

lastChangeAtTo
string <date-time>

If set, only items with the last changed timestamp before the given datetime will be returned.

deletedAtFrom
string <date-time>

If set, only items deleted after the given datetime will be returned.

deletedAtTo
string <date-time>

If set, only items deleted before the given datetime will be returned.

codes
Array of strings

If set, only items with the given codes will be returned.

take
integer <int32>

If set, items will be limited to the given amount. Note, that the API returns at most 999 items at a time. If you intend to fetch all data from the API, you can use skip to page through the collection.

skip
integer <int32>

If set, items will be skipped by the given amount. You will need this, if you want to fetch all items from the server.

orderBy
Array of strings

If set, items will be ordered in ascending order by the given property.

orderByDesc
Array of strings

If set, items will be ordered in descending order by the given property.

from
string <date>

If set, only items booking after the given booking date will be returned.

to
string <date>

If set, only items booking before the given booking date will be returned.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Create

Create new presence bookings

Authorizations:
secret
Request Body schema:
required
Array
time
number <float>

Optional time amount in minutes.

type
integer <int32>

Optional booking type. Valid values can be found under the /presence-booking-types endpoint.

code
string

Optional booking code. If omitted, a manual stamp is generated.

terminalId
integer <int32>

Optional terminal id

date
required
string <date>

The date of the booking.

personId
required
string

The person id, i.e. employee number to create the booking for.

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": "string",
  • "date": "2019-08-24",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "firstChangeAt": "2019-08-24T14:15:22Z",
  • "lastChangeAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "personId": "string",
  • "time": 0.1,
  • "type": 0,
  • "code": "string",
  • "terminalId": 0
}

Update

Update existing presence bookings partially

Authorizations:
secret
path Parameters
id
required
string <guid>
Request Body schema:
required
time
number <float>

Optional time amount in minutes.

type
integer <int32>

Optional booking type. Valid values can be found under the /presence-booking-types endpoint.

code
string

Optional booking code. If omitted, a manual stamp is generated.

terminalId
integer <int32>

Optional terminal id

Responses

Request samples

Content type
{
  • "time": 0.1,
  • "type": 0,
  • "code": "string",
  • "terminalId": 0
}

Delete

Remove existing presence bookings

Authorizations:
secret
path Parameters
id
required
string <guid>

Responses

PresenceBookingTypes_GetList

Authorizations:
secret
query Parameters
take
integer <int32>
Default: 999
skip
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Code bookings

List

Get a list of code bookings

Authorizations:
secret
query Parameters
calcType
Array of integers (CodeBookingCalculationType)
Items Enum: 0 1 2 3 4 5 6

If set, items will be limited to the given calculation types.

  • 0 = year carry over
  • 1 = entitlement
  • 2 = take
  • 3 = change
  • 4 = request
  • 5 = payment
  • 6 = total

code
Array of strings

If set, items will be limited to the given code.

personId
Array of strings

If set, items will be limited to the given person ids, i.e. employee numbers.

take
integer <int32>

If set, items will be limited to the given amount. Note, that the API returns at most 999 items at a time. If you intend to fetch all data from the API, you can use skip to page through the collection.

skip
integer <int32>

If set, items will be skipped by the given amount. You will need this, if you want to fetch all items from the server.

orderBy
Array of strings

If set, items will be ordered in ascending order by the given property.

orderByDesc
Array of strings

If set, items will be ordered in descending order by the given property.

from
string <date>

If set, only items booking after the given booking date will be returned.

to
string <date>

If set, only items booking before the given booking date will be returned.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Absences

List

Get a list of absences

Authorizations:
secret
query Parameters
codes
Array of strings

If set, only items with the given codes will be returned.

take
integer <int32>

If set, items will be limited to the given amount. Note, that the API returns at most 999 items at a time. If you intend to fetch all data from the API, you can use skip to page through the collection.

skip
integer <int32>

If set, items will be skipped by the given amount. You will need this, if you want to fetch all items from the server.

orderBy
Array of strings

If set, items will be ordered in ascending order by the given property.

orderByDesc
Array of strings

If set, items will be ordered in descending order by the given property.

from
string <date>

If set, only items booking after the given booking date will be returned.

to
string <date>

If set, only items booking before the given booking date will be returned.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}

Group

Read absences grouped by a property

Authorizations:
secret
path Parameters
groupBy
required
string
query Parameters
codes
Array of strings

If set, only items with the given codes will be returned.

take
integer <int32>

If set, items will be limited to the given amount. Note, that the API returns at most 999 items at a time. If you intend to fetch all data from the API, you can use skip to page through the collection.

skip
integer <int32>

If set, items will be skipped by the given amount. You will need this, if you want to fetch all items from the server.

orderBy
Array of strings

If set, items will be ordered in ascending order by the given property.

orderByDesc
Array of strings

If set, items will be ordered in descending order by the given property.

from
string <date>

If set, only items booking after the given booking date will be returned.

to
string <date>

If set, only items booking before the given booking date will be returned.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0,
  • "totals": [
    ],
  • "pagination": {
    }
}