Tellent HR GraphQL API

Use Tellent HR's public GraphQL schema to access and automate HR data and workflows. This documentation serves as a reference for all available queries, mutations, and types.

About GraphQL

GraphQL is a schema-driven API protocol that lets clients request exactly the fields they need from a single endpoint. You interact with the schema using queries (read) and mutations (write), which helps prevent over- and under-fetching and simplifies client integrations. Strong typing and introspection enable validation, tooling, and discoverability.

For more information about GraphQL concepts and best practices, refer to the GraphQL documentation.

API Endpoints
https://api.kiwihr.com/api/graphql/public
Headers
# Must be included in all requests
X-Api-Key: <YOUR API KEY>

Authentication

All requests to the public GraphQL API endpoint must be authenticated with your company API key, sent in the X-Api-Key header.

Keep your API key secret. You can generate and manage it in the Tellent HR web app under Company Settings.

Requests authenticated with a company API key execute on behalf of a privileged company user - the first available Administrator. Your company must have at least one Administrator in order to be able to authenticate requests.

Example: cURL

curl -X POST "https://api.kiwihr.com/api/graphql/public" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: <YOUR API KEY>" \
  -d '{"query":"query MyQuery { query { users { id firstName lastName } } }"}'

Versioning

This GraphQL schema does not use explicit versioning - it evolves continuously.

Any non-breaking changes (like adding new fields, types, or enum values) may occur without prior notice.

Note: Adding a new enum value is not considered a breaking change. However, it may impact client code if your integration does not account for unexpected or unknown enum values at runtime. Always ensure your code can handle enum values that were not present at the time of development.

Breaking changes

A breaking change is any modification to the GraphQL schema that can cause existing client queries or mutations to fail. This typically includes removing fields, arguments, types, or making incompatible changes to return types or input requirements.

When breaking changes are necessary, the affected operations, fields, arguments, enum values etc. are first marked as deprecated. Items scheduled for removal will be tagged with the standard @deprecated directive, along with a comment indicating the planned removal date and, when possible, recommended alternatives.

A summary of Upcoming changes is available below.

Rate limits

We do not disclose exact rate limits. API usage is governed by a fair‑use policy designed to ensure reliability for all users. Responsible usage is expected to help preserve consistent service quality.

In case of abusive or excessive usage, we may apply technical safeguards, including temporary throttling or blocking, to protect stability of the service.

This policy may be updated at any time; consult these docs for the latest information.

Queries

attendanceStatement

Description

Returns an Attendance Statement.

Response

Returns an AttendanceStatement

Arguments
Name Description
userId - ID! User's id.
dateFrom - Date! Date range start.
dateTo - Date! Date range end.

Example

Query
query AttendanceStatement(
  $userId: ID!,
  $dateFrom: Date!,
  $dateTo: Date!
) {
  attendanceStatement(
    userId: $userId,
    dateFrom: $dateFrom,
    dateTo: $dateTo
  ) {
    expectedTime
    trackedTime
    totalTime
    timeOffTime
    holidayTime
    expectedDays
    trackedDays
    totalDays
    balanceInDays
    calculationMethod
    timeOffDays
    holidayDays
    balance
    overtime
    mealVouchersCount
    user {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    projects {
      trackedTime
      trackedDays
    }
  }
}
Variables
{
  "userId": "4",
  "dateFrom": "2007-12-03",
  "dateTo": "2007-12-03"
}
Response
{
  "data": {
    "attendanceStatement": {
      "expectedTime": 123,
      "trackedTime": 123,
      "totalTime": 987,
      "timeOffTime": 123,
      "holidayTime": 123,
      "expectedDays": 123.45,
      "trackedDays": 123.45,
      "totalDays": 987.65,
      "balanceInDays": 123.45,
      "calculationMethod": "HOURS_AND_MINUTES",
      "timeOffDays": 123.45,
      "holidayDays": 987.65,
      "balance": 123,
      "overtime": 123,
      "mealVouchersCount": 123,
      "user": User,
      "projects": [CategorizedTrackedTime]
    }
  }
}

attendanceStatements

Description

Returns a paginated list of Attendance Statements.

Response

Returns an AttendanceStatementsPage

Arguments
Name Description
sort - [SortArgInput!] Sort args. The list of attendance statements can be sorted by firstName and lastName.
filter - AttendanceStatementFilterInput! Filter conditions.

Example

Query
query AttendanceStatements(
  $sort: [SortArgInput!],
  $filter: AttendanceStatementFilterInput!
) {
  attendanceStatements(
    sort: $sort,
    filter: $filter
  ) {
    items {
      expectedTime
      trackedTime
      totalTime
      timeOffTime
      holidayTime
      expectedDays
      trackedDays
      totalDays
      balanceInDays
      calculationMethod
      timeOffDays
      holidayDays
      balance
      overtime
      mealVouchersCount
      user {
        ...UserFragment
      }
      projects {
        ...CategorizedTrackedTimeFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "sort": [SortArgInput],
  "filter": AttendanceStatementFilterInput
}
Response
{
  "data": {
    "attendanceStatements": {
      "items": [AttendanceStatement],
      "pageInfo": PageInfo
    }
  }
}

availableManagers

Description

Returns a paginated list of available managers.

Response

Returns a UsersPage

Arguments
Name Description
offset - Int Offset of the users' list.
limit - Int Limit of users on one page.
sort - [SortArgInput!] Sort args. The list of users can be sorted by id, firstName, lastName, position, team, location.
filter - AvailableManagersFilterInput Filter conditions for the list of available managers. To be used when querying for available managers for a specific user.

Example

Query
query AvailableManagers(
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!],
  $filter: AvailableManagersFilterInput
) {
  availableManagers(
    offset: $offset,
    limit: $limit,
    sort: $sort,
    filter: $filter
  ) {
    items {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "offset": 987,
  "limit": 987,
  "sort": [SortArgInput],
  "filter": AvailableManagersFilterInput
}
Response
{
  "data": {
    "availableManagers": {
      "items": [User],
      "pageInfo": PageInfo
    }
  }
}

collection

Description

Returns a collection.

Response

Returns a Collection

Arguments
Name Description
id - ID! Collection id.

Example

Query
query Collection($id: ID!) {
  collection(id: $id) {
    id
    archivedAt
    name
    description
    icon
    type
    scope
    collectionFields {
      id
      archivedAt
      collectionId
      name
      hint
      type
      required
      isPrimary
      collectionChoiceOptions {
        ...CollectionChoiceOptionFragment
      }
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "collection": {
      "id": "4",
      "archivedAt": "2007-12-03T10:15:30Z",
      "name": "xyz789",
      "description": "xyz789",
      "icon": "abc123",
      "type": "ITEMS",
      "scope": "USER",
      "collectionFields": [CollectionField]
    }
  }
}

collectionItem

Description

Returns a collection item.

Response

Returns a CollectionItem

Arguments
Name Description
id - ID! Collection item id.

Example

Query
query CollectionItem($id: ID!) {
  collectionItem(id: $id) {
    id
    createdAt
    collectionId
    createdById
    collectionItemValues {
      id
      collectionItemId
      collectionFieldId
      valueText
      valueNumber
      valueBoolean
      valueDate
      valueFile {
        ...FileFragment
      }
      valueFileUrl
      valueChoiceIds
      valueStartDate
      valueEndDate
      valueUser {
        ...UserFragment
      }
      valueSignature {
        ...SignatureFragment
      }
    }
    createdBy {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "collectionItem": {
      "id": "4",
      "createdAt": "2007-12-03T10:15:30Z",
      "collectionId": "4",
      "createdById": 4,
      "collectionItemValues": [CollectionItemValue],
      "createdBy": User
    }
  }
}

collections

Description

Returns a paginated list of collections.

Response

Returns a CollectionsPage

Arguments
Name Description
scope - CollectionScope Scope of the collection.
type - CollectionType Collection type.
offset - Int Offset of the collections' list.
limit - Int Limit of collections on one page.
sort - [SortArgInput!] Sort args.

Example

Query
query Collections(
  $scope: CollectionScope,
  $type: CollectionType,
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  collections(
    scope: $scope,
    type: $type,
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      archivedAt
      name
      description
      icon
      type
      scope
      collectionFields {
        ...CollectionFieldFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "scope": "USER",
  "type": "ITEMS",
  "offset": 123,
  "limit": 123,
  "sort": [SortArgInput]
}
Response
{
  "data": {
    "collections": {
      "items": [Collection],
      "pageInfo": PageInfo
    }
  }
}

customField

Description

Returns a custom field.

Response

Returns a CustomField

Arguments
Name Description
id - ID! ID of the custom field.

Example

Query
query CustomField($id: ID!) {
  customField(id: $id) {
    id
    name
    section
    type
    customFieldChoiceOptions {
      id
      label
      deletedAt
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "customField": {
      "id": "4",
      "name": "abc123",
      "section": "PROFESSIONAL",
      "type": "SINGLE_LINE_TEXT",
      "customFieldChoiceOptions": [
        CustomFieldChoiceOption
      ]
    }
  }
}

customFields

Description

Returns a paginated list of custom fields.

Response

Returns a CustomFieldsPage

Arguments
Name Description
offset - Int Offset of the custom fields' list.
limit - Int Limit of the custom fields on one page.
sort - [SortArgInput!] Sort args. The list of custom fields can be sorted by id, name, section, type.

Example

Query
query CustomFields(
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  customFields(
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      name
      section
      type
      customFieldChoiceOptions {
        ...CustomFieldChoiceOptionFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{"offset": 123, "limit": 987, "sort": [SortArgInput]}
Response
{
  "data": {
    "customFields": {
      "items": [CustomField],
      "pageInfo": PageInfo
    }
  }
}

journey

Description

Returns a journey.

Response

Returns a Journey

Arguments
Name Description
id - ID! Journey id.

Example

Query
query Journey($id: ID!) {
  journey(id: $id) {
    id
    assignee {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    journeyType {
      id
      name
      description
      key
      icon
      archivedAt
    }
    isPreonboardingAccessEnabled
    personalEmail
    status
    steps {
      id
      name
      description
      startDateFixedDate
      startDateRelationEventType
      startDateRelationEventAdverb
      startDateRelationStep {
        ...JourneyStepFragment
      }
      startDateRelationStepAdverb
      startDateRelationDaysOffset
      dueDateFixedDate
      dueDateRelationEventType
      dueDateRelationEventAdverb
      dueDateRelationStep {
        ...JourneyStepFragment
      }
      dueDateRelationStepAdverb
      dueDateRelationDaysOffset
      tasks {
        ...JourneyTaskFragment
      }
      completedAt
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "journey": {
      "id": "4",
      "assignee": User,
      "journeyType": JourneyType,
      "isPreonboardingAccessEnabled": false,
      "personalEmail": "abc123",
      "status": "DRAFT",
      "steps": [JourneyStep]
    }
  }
}

journeyTemplate

Description

Returns journey template.

Response

Returns a JourneyTemplate

Arguments
Name Description
id - ID! Journey template id.

Example

Query
query JourneyTemplate($id: ID!) {
  journeyTemplate(id: $id) {
    id
    name
    description
    journeyType {
      id
      name
      description
      key
      icon
      archivedAt
    }
    steps {
      id
      name
      description
      startDateRelationEventType
      startDateRelationEventAdverb
      startDateRelationStep {
        ...JourneyTemplateStepFragment
      }
      startDateRelationStepAdverb
      startDateRelationDaysOffset
      dueDateRelationEventType
      dueDateRelationEventAdverb
      dueDateRelationStep {
        ...JourneyTemplateStepFragment
      }
      dueDateRelationStepAdverb
      dueDateRelationDaysOffset
      journeyReusableStepId
      tasks {
        ...JourneyTemplateTaskFragment
      }
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "journeyTemplate": {
      "id": "4",
      "name": "abc123",
      "description": "abc123",
      "journeyType": JourneyType,
      "steps": [JourneyTemplateStep]
    }
  }
}

journeyTemplates

Description

Returns a paginated list of journey templates.

Response

Returns a JourneyTemplatesPage

Arguments
Name Description
filter - JourneyTemplatesFilterInput Filter conditions for the list of journey templates.
offset - Int Offset of the journey templates' list.
limit - Int Limit of journey templates on one page.
sort - [SortArgInput!] Sort args.

Example

Query
query JourneyTemplates(
  $filter: JourneyTemplatesFilterInput,
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  journeyTemplates(
    filter: $filter,
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      name
      description
      journeyType {
        ...JourneyTypeFragment
      }
      steps {
        ...JourneyTemplateStepFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "filter": JourneyTemplatesFilterInput,
  "offset": 987,
  "limit": 123,
  "sort": [SortArgInput]
}
Response
{
  "data": {
    "journeyTemplates": {
      "items": [JourneyTemplate],
      "pageInfo": PageInfo
    }
  }
}

journeyTypes

Description

Returns a paginated list of journey types.

Response

Returns a JourneyTypesPage

Arguments
Name Description
limit - Int Limit of journey types on one page.
offset - Int Offset of the journey types' list.
sort - [SortArgInput!] Sort args.
accessLevel - AccessLevel Access level to filter journey types by.

Example

Query
query JourneyTypes(
  $limit: Int,
  $offset: Int,
  $sort: [SortArgInput!],
  $accessLevel: AccessLevel
) {
  journeyTypes(
    limit: $limit,
    offset: $offset,
    sort: $sort,
    accessLevel: $accessLevel
  ) {
    items {
      id
      name
      description
      key
      icon
      archivedAt
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "limit": 987,
  "offset": 123,
  "sort": [SortArgInput],
  "accessLevel": "READ"
}
Response
{
  "data": {
    "journeyTypes": {
      "items": [JourneyType],
      "pageInfo": PageInfo
    }
  }
}

journeys

Description

Returns a paginated list of journeys.

Response

Returns a JourneysPage

Arguments
Name Description
filter - JourneysFilterInput Filter conditions for the list of journeys.
offset - Int Offset of the journeys' list.
limit - Int Limit of journeys on one page.
sort - [SortArgInput!] Sort args.

Example

Query
query Journeys(
  $filter: JourneysFilterInput,
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  journeys(
    filter: $filter,
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      assignee {
        ...UserFragment
      }
      journeyType {
        ...JourneyTypeFragment
      }
      isPreonboardingAccessEnabled
      personalEmail
      status
      steps {
        ...JourneyStepFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "filter": JourneysFilterInput,
  "offset": 987,
  "limit": 987,
  "sort": [SortArgInput]
}
Response
{
  "data": {
    "journeys": {
      "items": [Journey],
      "pageInfo": PageInfo
    }
  }
}

locations

Description

Returns a paginated list of locations.

Response

Returns a LocationsPage

Arguments
Name Description
offset - Int Offset of the locations' list.
limit - Int Limit of locations on one page.
sort - [SortArgInput!] Sort args. The list of locations can be sorted by id and name.

Example

Query
query Locations(
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  locations(
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      name
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{"offset": 123, "limit": 987, "sort": [SortArgInput]}
Response
{
  "data": {
    "locations": {
      "items": [Location],
      "pageInfo": PageInfo
    }
  }
}

overtimeBalanceStatements

Description

Returns a paginated list of Overtime Balance Statements.

Response

Returns an OvertimeBalanceStatementsPage

Arguments
Name Description
offset - Int Offset of the Overtime Balance Statements' list.
limit - Int Limit of Overtime Balance Statements on one page.
sort - [SortArgInput!] Sort args. The list of overtime balance statements can be sorted by firstName, lastName, date and balance.

Example

Query
query OvertimeBalanceStatements(
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  overtimeBalanceStatements(
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      balance
      user {
        ...UserFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{"offset": 123, "limit": 123, "sort": [SortArgInput]}
Response
{
  "data": {
    "overtimeBalanceStatements": {
      "items": [OvertimeBalanceStatement],
      "pageInfo": PageInfo
    }
  }
}

overtimeBalanceTransactions

Description

Returns a paginated list of Overtime Balance Transactions.

Response

Returns an OvertimeBalanceTransactionPage

Arguments
Name Description
userId - ID! User's id.
offset - Int Offset of the Overtime Balance Transactions' list.
limit - Int Limit of Overtime Balance Transactions on one page.
sort - [SortArgInput!] Sort args. The list of overtime balance transactions can be sorted by date.
filter - OvertimeBalanceTransactionsFilterInput Filter conditions.

Example

Query
query OvertimeBalanceTransactions(
  $userId: ID!,
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!],
  $filter: OvertimeBalanceTransactionsFilterInput
) {
  overtimeBalanceTransactions(
    userId: $userId,
    offset: $offset,
    limit: $limit,
    sort: $sort,
    filter: $filter
  ) {
    items {
      id
      balance
      change
      type
      date
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "userId": "4",
  "offset": 987,
  "limit": 987,
  "sort": [SortArgInput],
  "filter": OvertimeBalanceTransactionsFilterInput
}
Response
{
  "data": {
    "overtimeBalanceTransactions": {
      "items": [OvertimeBalanceTransaction],
      "pageInfo": PageInfo
    }
  }
}

positions

Description

Returns a paginated list of positions.

Response

Returns a PositionsPage

Arguments
Name Description
offset - Int Offset of the positions' list.
limit - Int Limit of positions on one page.
sort - [SortArgInput!] Sort args. The list of positions can be sorted by id and name.

Example

Query
query Positions(
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  positions(
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      name
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{"offset": 987, "limit": 123, "sort": [SortArgInput]}
Response
{
  "data": {
    "positions": {
      "items": [Position],
      "pageInfo": PageInfo
    }
  }
}

project

Description

Returns a project.

Response

Returns a Project!

Arguments
Name Description
id - ID! Id of a project.

Example

Query
query Project($id: ID!) {
  project(id: $id) {
    id
    name
    status
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "project": {
      "id": 4,
      "name": "xyz789",
      "status": "ACTIVE"
    }
  }
}

projects

Description

Returns a paginated list of projects.

Response

Returns a ProjectsPage!

Arguments
Name Description
offset - Int Offset of the projects' list.
limit - Int Limit of projects on one page.
sort - [SortArgInput!] Sort args. The list of projects can be sorted by id and name.
filter - ProjectFilterInput Filter conditions for projects list.

Example

Query
query Projects(
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!],
  $filter: ProjectFilterInput
) {
  projects(
    offset: $offset,
    limit: $limit,
    sort: $sort,
    filter: $filter
  ) {
    items {
      id
      name
      status
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "offset": 987,
  "limit": 987,
  "sort": [SortArgInput],
  "filter": ProjectFilterInput
}
Response
{
  "data": {
    "projects": {
      "items": [Project],
      "pageInfo": PageInfo
    }
  }
}

teams

Description

Returns a paginated list of teams.

Response

Returns a TeamsPage

Arguments
Name Description
offset - Int Offset of the teams' list.
limit - Int Limit of teams on one page.
sort - [SortArgInput!] Sort args. The list of teams can be sorted by id and name.

Example

Query
query Teams(
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  teams(
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      name
      kind
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{"offset": 123, "limit": 987, "sort": [SortArgInput]}
Response
{
  "data": {
    "teams": {
      "items": [Team],
      "pageInfo": PageInfo
    }
  }
}

timeOffBalances

Response

Returns a TimeOffBalancesPage

Arguments
Name Description
sort - [SortArgInput!] Sort args. The list of time off balances can be sorted by periodStartDate and periodEndDate.
filter - TimeOffBalanceFilterInput Filter conditions.

Example

Query
query TimeOffBalances(
  $sort: [SortArgInput!],
  $filter: TimeOffBalanceFilterInput
) {
  timeOffBalances(
    sort: $sort,
    filter: $filter
  ) {
    items {
      id
      user {
        ...UserFragment
      }
      timeOffRule {
        ...TimeOffRuleFragment
      }
      periodStartDate
      periodEndDate
      usagePeriodStartDate
      usagePeriodEndDate
      accrual
      accrualAdjustment
      totalAccrual
      allowance
      totalAvailable
      available
      requested
      totalRequested
      usageAdjustment
      used
      carryOverAllowance
      carryOverAllowanceAdjustment
      totalCarryOverAllowance
      carryOverExpirationDate
      isCarryOverApplied
      isCarryOverActive
      isCarryOverExpired
      carryOverAvailable
      carryOverRequested
      carryOverLeft
      allocationType
      nextMonthlyAccrual {
        ...NextMonthlyAccrualFragment
      }
      planned
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "sort": [SortArgInput],
  "filter": TimeOffBalanceFilterInput
}
Response
{
  "data": {
    "timeOffBalances": {
      "items": [TimeOffBalance],
      "pageInfo": PageInfo
    }
  }
}

timeOffRequestUsageStatements

Arguments
Name Description
dateFrom - Date! Date range start.
dateTo - Date! Date range end.
timeOffTypeIds - [ID!]! Time-off type IDs.
offset - Int Offset of the Time-off Request Usage Statements' list.
limit - Int Limit of Time-off Request Usage Statements on one page.
sort - [SortArgInput!] Sort args. The list of time off request usage statements can be sorted by firstName and lastName.
filter - UserFilterInput Filter conditions.

Example

Query
query TimeOffRequestUsageStatements(
  $dateFrom: Date!,
  $dateTo: Date!,
  $timeOffTypeIds: [ID!]!,
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!],
  $filter: UserFilterInput
) {
  timeOffRequestUsageStatements(
    dateFrom: $dateFrom,
    dateTo: $dateTo,
    timeOffTypeIds: $timeOffTypeIds,
    offset: $offset,
    limit: $limit,
    sort: $sort,
    filter: $filter
  ) {
    items {
      user {
        ...UserFragment
      }
      items {
        ...TimeOffRequestUsageFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "dateFrom": "2007-12-03",
  "dateTo": "2007-12-03",
  "timeOffTypeIds": [4],
  "offset": 987,
  "limit": 987,
  "sort": [SortArgInput],
  "filter": UserFilterInput
}
Response
{
  "data": {
    "timeOffRequestUsageStatements": {
      "items": [TimeOffRequestUsageStatement],
      "pageInfo": PageInfo
    }
  }
}

timeOffTypes

Description

Returns a paginated list of time off types.

Response

Returns a TimeOffTypesPage

Arguments
Name Description
limit - Int Limit of time off types on one page.
offset - Int Offset of the time off types' list.
sort - [SortArgInput!] Sort args. The list of time off types can be sorted by id and name.

Example

Query
query TimeOffTypes(
  $limit: Int,
  $offset: Int,
  $sort: [SortArgInput!]
) {
  timeOffTypes(
    limit: $limit,
    offset: $offset,
    sort: $sort
  ) {
    items {
      id
      name
      isVisible
      color
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{"limit": 123, "offset": 123, "sort": [SortArgInput]}
Response
{
  "data": {
    "timeOffTypes": {
      "items": [TimeOffType],
      "pageInfo": PageInfo
    }
  }
}

timesheet

Description

Returns a timesheet for user id and given date.

Response

Returns a Timesheet

Arguments
Name Description
userId - ID User's id.
date - Date! Date.

Example

Query
query Timesheet(
  $userId: ID,
  $date: Date!
) {
  timesheet(
    userId: $userId,
    date: $date
  ) {
    id
    date
    expectedTime
    trackedTime
    timeOffTime
    holidayTime
    totalTime
    breakTime
    isWorkday
    isApproved
    expectedPartOfDay
    trackedPartOfDay
    timeOffPartOfDay
    holidayPartOfDay
    totalDays
    timeOffs {
      key
      name
      partOfDay
      isAbsence
    }
    holidays {
      name
      isHalfDay
      partOfDay
    }
    timesheetEntries {
      id
      startAt
      endAt
      partOfDay
      type
      note
      project {
        ...ProjectFragment
      }
    }
    breakRuleViolations {
      workScheduleBreakRule {
        ...WorkScheduleBreakRuleFragment
      }
      rangeFrom
      rangeTo
    }
  }
}
Variables
{"userId": 4, "date": "2007-12-03"}
Response
{
  "data": {
    "timesheet": {
      "id": "4",
      "date": "2007-12-03",
      "expectedTime": 123,
      "trackedTime": 987,
      "timeOffTime": 987,
      "holidayTime": 123,
      "totalTime": 987,
      "breakTime": 123,
      "isWorkday": true,
      "isApproved": false,
      "expectedPartOfDay": "FULL_DAY",
      "trackedPartOfDay": "FULL_DAY",
      "timeOffPartOfDay": "FULL_DAY",
      "holidayPartOfDay": "FULL_DAY",
      "totalDays": 123.45,
      "timeOffs": [TimesheetTimeOff],
      "holidays": [TimesheetHoliday],
      "timesheetEntries": [TimesheetEntry],
      "breakRuleViolations": [TimesheetBreakRuleViolation]
    }
  }
}

timesheets

Description

Returns a paginated list of timesheets.

Response

Returns a TimesheetsPage!

Arguments
Name Description
userId - ID User's id.
dateFrom - Date! Date range start.
dateTo - Date! Date range end.
offset - Int Offset of the timesheets' list.
limit - Int Limit of timesheets on one page.
sort - [SortArgInput!] Sort args. The list of timesheets can be sorted by date.

Example

Query
query Timesheets(
  $userId: ID,
  $dateFrom: Date!,
  $dateTo: Date!,
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  timesheets(
    userId: $userId,
    dateFrom: $dateFrom,
    dateTo: $dateTo,
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      date
      expectedTime
      trackedTime
      timeOffTime
      holidayTime
      totalTime
      breakTime
      isWorkday
      isApproved
      expectedPartOfDay
      trackedPartOfDay
      timeOffPartOfDay
      holidayPartOfDay
      totalDays
      timeOffs {
        ...TimesheetTimeOffFragment
      }
      holidays {
        ...TimesheetHolidayFragment
      }
      timesheetEntries {
        ...TimesheetEntryFragment
      }
      breakRuleViolations {
        ...TimesheetBreakRuleViolationFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "userId": "4",
  "dateFrom": "2007-12-03",
  "dateTo": "2007-12-03",
  "offset": 123,
  "limit": 987,
  "sort": [SortArgInput]
}
Response
{
  "data": {
    "timesheets": {
      "items": [Timesheet],
      "pageInfo": PageInfo
    }
  }
}

user

Description

Returns a user.

Response

Returns a User

Arguments
Name Description
id - ID! Id of the user.

Example

Query
query User($id: ID!) {
  user(id: $id) {
    id
    firstName
    lastName
    email
    gender
    workPhones
    employmentStartDate
    employmentEndDate
    probationEndDate
    aboutMe
    employeeNumber
    birthDate
    personalEmail
    address {
      street
      city
      state
      postalCode
      country
    }
    invitationStatus
    language
    position {
      id
      name
    }
    team {
      id
      name
      kind
    }
    teams {
      id
      name
      kind
    }
    location {
      id
      name
    }
    isActive
    workSchedule {
      id
      name
      calculationMethod
      workHours {
        ...WorkHoursFragment
      }
      workDays
      isTimesheetValidationEnabled
      timesheetEditLimit
      isPrefillEnabled
      mealVoucherExpectedTime
      isOvertimeTrackingEnabled
      isOvertimeRolling
      overtimeCalculationFrequency
    }
    manager {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    nationality
    personalPhone
    socialAccounts {
      type
      identifier
    }
    pronouns
    maritalStatus
    contact {
      name
      phone
      email
      relationship
    }
    taxIDNumber
    insuranceNumber
    insuranceCompanyName
    insuranceType
    childrenCount
    IBAN
    BIC
    profilePictureURL
    customFieldValues {
      id
      customField {
        ...CustomFieldFragment
      }
      canWrite
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "user": {
      "id": 4,
      "firstName": "abc123",
      "lastName": "abc123",
      "email": "xyz789",
      "gender": "MALE",
      "workPhones": ["abc123"],
      "employmentStartDate": "2007-12-03",
      "employmentEndDate": "2007-12-03",
      "probationEndDate": "2007-12-03",
      "aboutMe": "abc123",
      "employeeNumber": "abc123",
      "birthDate": "2007-12-03",
      "personalEmail": "abc123",
      "address": PersonalAddress,
      "invitationStatus": "NOT_SENT",
      "language": "ENGLISH",
      "position": Position,
      "team": Team,
      "teams": [Team],
      "location": Location,
      "isActive": false,
      "workSchedule": WorkSchedule,
      "manager": User,
      "nationality": "xyz789",
      "personalPhone": "xyz789",
      "socialAccounts": [SocialAccount],
      "pronouns": "abc123",
      "maritalStatus": "SINGLE",
      "contact": EmergencyContact,
      "taxIDNumber": "abc123",
      "insuranceNumber": "abc123",
      "insuranceCompanyName": "xyz789",
      "insuranceType": "PRIVATE",
      "childrenCount": 123.45,
      "IBAN": "xyz789",
      "BIC": "xyz789",
      "profilePictureURL": "abc123",
      "customFieldValues": [UserCustomFieldValue]
    }
  }
}

userCollections

Description

Returns a paginated list of user collections.

Response

Returns a CollectionsPage

Arguments
Name Description
type - CollectionType Collection type.
userId - ID! User id.
offset - Int Offset of the collections' list.
limit - Int Limit of collections on one page.
sort - [SortArgInput!] Sort args.

Example

Query
query UserCollections(
  $type: CollectionType,
  $userId: ID!,
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!]
) {
  userCollections(
    type: $type,
    userId: $userId,
    offset: $offset,
    limit: $limit,
    sort: $sort
  ) {
    items {
      id
      archivedAt
      name
      description
      icon
      type
      scope
      collectionFields {
        ...CollectionFieldFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "type": "ITEMS",
  "userId": 4,
  "offset": 123,
  "limit": 987,
  "sort": [SortArgInput]
}
Response
{
  "data": {
    "userCollections": {
      "items": [Collection],
      "pageInfo": PageInfo
    }
  }
}

userScopeCollectionItems

Description

Returns a paginated list of collection items in user scope.

Response

Returns a CollectionItemsPage

Arguments
Name Description
collectionId - ID Collection id.
offset - Int Offset of the collection items' list.
limit - Int Limit of collection items on one page.
sort - [CollectionItemSortArgInput!] Sort args.
filter - UserScopeCollectionItemFilterInput Filter conditions for the list of collection items.

Example

Query
query UserScopeCollectionItems(
  $collectionId: ID,
  $offset: Int,
  $limit: Int,
  $sort: [CollectionItemSortArgInput!],
  $filter: UserScopeCollectionItemFilterInput
) {
  userScopeCollectionItems(
    collectionId: $collectionId,
    offset: $offset,
    limit: $limit,
    sort: $sort,
    filter: $filter
  ) {
    items {
      id
      createdAt
      collectionId
      createdById
      collectionItemValues {
        ...CollectionItemValueFragment
      }
      createdBy {
        ...UserFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "collectionId": "4",
  "offset": 123,
  "limit": 123,
  "sort": [CollectionItemSortArgInput],
  "filter": UserScopeCollectionItemFilterInput
}
Response
{
  "data": {
    "userScopeCollectionItems": {
      "items": [CollectionItem],
      "pageInfo": PageInfo
    }
  }
}

users

Description

Returns a paginated list of users.

Response

Returns a UsersPage!

Arguments
Name Description
offset - Int Offset of the users' list.
limit - Int Limit of users on one page.
sort - [SortArgInput!] Sort args. The list of users can be sorted by id, firstName, lastName, postiion, team, location.
filter - UserFilterInput Filter conditions for the list of users.

Example

Query
query Users(
  $offset: Int,
  $limit: Int,
  $sort: [SortArgInput!],
  $filter: UserFilterInput
) {
  users(
    offset: $offset,
    limit: $limit,
    sort: $sort,
    filter: $filter
  ) {
    items {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    pageInfo {
      limit
      offset
      count
      current
      next
      previous
      first
      last
      sort {
        ...SortArgFragment
      }
    }
  }
}
Variables
{
  "offset": 123,
  "limit": 123,
  "sort": [SortArgInput],
  "filter": UserFilterInput
}
Response
{
  "data": {
    "users": {
      "items": [User],
      "pageInfo": PageInfo
    }
  }
}

Mutations

activateUser

Description

Activate inactive user.

Response

Returns a User!

Arguments
Name Description
id - ID! Id of user.

Example

Query
mutation ActivateUser($id: ID!) {
  activateUser(id: $id) {
    id
    firstName
    lastName
    email
    gender
    workPhones
    employmentStartDate
    employmentEndDate
    probationEndDate
    aboutMe
    employeeNumber
    birthDate
    personalEmail
    address {
      street
      city
      state
      postalCode
      country
    }
    invitationStatus
    language
    position {
      id
      name
    }
    team {
      id
      name
      kind
    }
    teams {
      id
      name
      kind
    }
    location {
      id
      name
    }
    isActive
    workSchedule {
      id
      name
      calculationMethod
      workHours {
        ...WorkHoursFragment
      }
      workDays
      isTimesheetValidationEnabled
      timesheetEditLimit
      isPrefillEnabled
      mealVoucherExpectedTime
      isOvertimeTrackingEnabled
      isOvertimeRolling
      overtimeCalculationFrequency
    }
    manager {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    nationality
    personalPhone
    socialAccounts {
      type
      identifier
    }
    pronouns
    maritalStatus
    contact {
      name
      phone
      email
      relationship
    }
    taxIDNumber
    insuranceNumber
    insuranceCompanyName
    insuranceType
    childrenCount
    IBAN
    BIC
    profilePictureURL
    customFieldValues {
      id
      customField {
        ...CustomFieldFragment
      }
      canWrite
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "activateUser": {
      "id": 4,
      "firstName": "abc123",
      "lastName": "xyz789",
      "email": "xyz789",
      "gender": "MALE",
      "workPhones": ["xyz789"],
      "employmentStartDate": "2007-12-03",
      "employmentEndDate": "2007-12-03",
      "probationEndDate": "2007-12-03",
      "aboutMe": "xyz789",
      "employeeNumber": "abc123",
      "birthDate": "2007-12-03",
      "personalEmail": "abc123",
      "address": PersonalAddress,
      "invitationStatus": "NOT_SENT",
      "language": "ENGLISH",
      "position": Position,
      "team": Team,
      "teams": [Team],
      "location": Location,
      "isActive": true,
      "workSchedule": WorkSchedule,
      "manager": User,
      "nationality": "xyz789",
      "personalPhone": "xyz789",
      "socialAccounts": [SocialAccount],
      "pronouns": "abc123",
      "maritalStatus": "SINGLE",
      "contact": EmergencyContact,
      "taxIDNumber": "xyz789",
      "insuranceNumber": "abc123",
      "insuranceCompanyName": "abc123",
      "insuranceType": "PRIVATE",
      "childrenCount": 123.45,
      "IBAN": "xyz789",
      "BIC": "xyz789",
      "profilePictureURL": "xyz789",
      "customFieldValues": [UserCustomFieldValue]
    }
  }
}

createJourney

Description

Create journey.

Response

Returns a Journey

Arguments
Name Description
journeyTypeId - ID! Journey type id.
assigneeId - ID! Assignee user id.
journeyTemplateId - ID Journey template id.
journey - CreateJourneyInput Journey data.

Example

Query
mutation CreateJourney(
  $journeyTypeId: ID!,
  $assigneeId: ID!,
  $journeyTemplateId: ID,
  $journey: CreateJourneyInput
) {
  createJourney(
    journeyTypeId: $journeyTypeId,
    assigneeId: $assigneeId,
    journeyTemplateId: $journeyTemplateId,
    journey: $journey
  ) {
    id
    assignee {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    journeyType {
      id
      name
      description
      key
      icon
      archivedAt
    }
    isPreonboardingAccessEnabled
    personalEmail
    status
    steps {
      id
      name
      description
      startDateFixedDate
      startDateRelationEventType
      startDateRelationEventAdverb
      startDateRelationStep {
        ...JourneyStepFragment
      }
      startDateRelationStepAdverb
      startDateRelationDaysOffset
      dueDateFixedDate
      dueDateRelationEventType
      dueDateRelationEventAdverb
      dueDateRelationStep {
        ...JourneyStepFragment
      }
      dueDateRelationStepAdverb
      dueDateRelationDaysOffset
      tasks {
        ...JourneyTaskFragment
      }
      completedAt
    }
  }
}
Variables
{
  "journeyTypeId": "4",
  "assigneeId": 4,
  "journeyTemplateId": "4",
  "journey": CreateJourneyInput
}
Response
{
  "data": {
    "createJourney": {
      "id": "4",
      "assignee": User,
      "journeyType": JourneyType,
      "isPreonboardingAccessEnabled": false,
      "personalEmail": "xyz789",
      "status": "DRAFT",
      "steps": [JourneyStep]
    }
  }
}

createProject

Description

Create project.

Response

Returns a Project!

Arguments
Name Description
project - CreateProjectInput! Project data.

Example

Query
mutation CreateProject($project: CreateProjectInput!) {
  createProject(project: $project) {
    id
    name
    status
  }
}
Variables
{"project": CreateProjectInput}
Response
{
  "data": {
    "createProject": {
      "id": "4",
      "name": "abc123",
      "status": "ACTIVE"
    }
  }
}

createTimesheetEntry

Description

Create timesheet entry.

Response

Returns a Timesheet!

Arguments
Name Description
userId - ID User's id.
date - Date! Date.
timesheetEntry - CreateTimesheetEntryInput! Timesheet entry data.

Example

Query
mutation CreateTimesheetEntry(
  $userId: ID,
  $date: Date!,
  $timesheetEntry: CreateTimesheetEntryInput!
) {
  createTimesheetEntry(
    userId: $userId,
    date: $date,
    timesheetEntry: $timesheetEntry
  ) {
    id
    date
    expectedTime
    trackedTime
    timeOffTime
    holidayTime
    totalTime
    breakTime
    isWorkday
    isApproved
    expectedPartOfDay
    trackedPartOfDay
    timeOffPartOfDay
    holidayPartOfDay
    totalDays
    timeOffs {
      key
      name
      partOfDay
      isAbsence
    }
    holidays {
      name
      isHalfDay
      partOfDay
    }
    timesheetEntries {
      id
      startAt
      endAt
      partOfDay
      type
      note
      project {
        ...ProjectFragment
      }
    }
    breakRuleViolations {
      workScheduleBreakRule {
        ...WorkScheduleBreakRuleFragment
      }
      rangeFrom
      rangeTo
    }
  }
}
Variables
{
  "userId": "4",
  "date": "2007-12-03",
  "timesheetEntry": CreateTimesheetEntryInput
}
Response
{
  "data": {
    "createTimesheetEntry": {
      "id": "4",
      "date": "2007-12-03",
      "expectedTime": 123,
      "trackedTime": 987,
      "timeOffTime": 987,
      "holidayTime": 123,
      "totalTime": 123,
      "breakTime": 987,
      "isWorkday": true,
      "isApproved": true,
      "expectedPartOfDay": "FULL_DAY",
      "trackedPartOfDay": "FULL_DAY",
      "timeOffPartOfDay": "FULL_DAY",
      "holidayPartOfDay": "FULL_DAY",
      "totalDays": 987.65,
      "timeOffs": [TimesheetTimeOff],
      "holidays": [TimesheetHoliday],
      "timesheetEntries": [TimesheetEntry],
      "breakRuleViolations": [TimesheetBreakRuleViolation]
    }
  }
}

createUser

Description

Create user.

Response

Returns a User

Arguments
Name Description
user - CreateUserInput! User data.

Example

Query
mutation CreateUser($user: CreateUserInput!) {
  createUser(user: $user) {
    id
    firstName
    lastName
    email
    gender
    workPhones
    employmentStartDate
    employmentEndDate
    probationEndDate
    aboutMe
    employeeNumber
    birthDate
    personalEmail
    address {
      street
      city
      state
      postalCode
      country
    }
    invitationStatus
    language
    position {
      id
      name
    }
    team {
      id
      name
      kind
    }
    teams {
      id
      name
      kind
    }
    location {
      id
      name
    }
    isActive
    workSchedule {
      id
      name
      calculationMethod
      workHours {
        ...WorkHoursFragment
      }
      workDays
      isTimesheetValidationEnabled
      timesheetEditLimit
      isPrefillEnabled
      mealVoucherExpectedTime
      isOvertimeTrackingEnabled
      isOvertimeRolling
      overtimeCalculationFrequency
    }
    manager {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    nationality
    personalPhone
    socialAccounts {
      type
      identifier
    }
    pronouns
    maritalStatus
    contact {
      name
      phone
      email
      relationship
    }
    taxIDNumber
    insuranceNumber
    insuranceCompanyName
    insuranceType
    childrenCount
    IBAN
    BIC
    profilePictureURL
    customFieldValues {
      id
      customField {
        ...CustomFieldFragment
      }
      canWrite
    }
  }
}
Variables
{"user": CreateUserInput}
Response
{
  "data": {
    "createUser": {
      "id": "4",
      "firstName": "abc123",
      "lastName": "xyz789",
      "email": "abc123",
      "gender": "MALE",
      "workPhones": ["abc123"],
      "employmentStartDate": "2007-12-03",
      "employmentEndDate": "2007-12-03",
      "probationEndDate": "2007-12-03",
      "aboutMe": "xyz789",
      "employeeNumber": "abc123",
      "birthDate": "2007-12-03",
      "personalEmail": "xyz789",
      "address": PersonalAddress,
      "invitationStatus": "NOT_SENT",
      "language": "ENGLISH",
      "position": Position,
      "team": Team,
      "teams": [Team],
      "location": Location,
      "isActive": false,
      "workSchedule": WorkSchedule,
      "manager": User,
      "nationality": "abc123",
      "personalPhone": "xyz789",
      "socialAccounts": [SocialAccount],
      "pronouns": "xyz789",
      "maritalStatus": "SINGLE",
      "contact": EmergencyContact,
      "taxIDNumber": "xyz789",
      "insuranceNumber": "abc123",
      "insuranceCompanyName": "xyz789",
      "insuranceType": "PRIVATE",
      "childrenCount": 987.65,
      "IBAN": "xyz789",
      "BIC": "xyz789",
      "profilePictureURL": "abc123",
      "customFieldValues": [UserCustomFieldValue]
    }
  }
}

deactivateUser

Description

Deactivate active user.

Response

Returns a User!

Arguments
Name Description
id - ID! Id of user.

Example

Query
mutation DeactivateUser($id: ID!) {
  deactivateUser(id: $id) {
    id
    firstName
    lastName
    email
    gender
    workPhones
    employmentStartDate
    employmentEndDate
    probationEndDate
    aboutMe
    employeeNumber
    birthDate
    personalEmail
    address {
      street
      city
      state
      postalCode
      country
    }
    invitationStatus
    language
    position {
      id
      name
    }
    team {
      id
      name
      kind
    }
    teams {
      id
      name
      kind
    }
    location {
      id
      name
    }
    isActive
    workSchedule {
      id
      name
      calculationMethod
      workHours {
        ...WorkHoursFragment
      }
      workDays
      isTimesheetValidationEnabled
      timesheetEditLimit
      isPrefillEnabled
      mealVoucherExpectedTime
      isOvertimeTrackingEnabled
      isOvertimeRolling
      overtimeCalculationFrequency
    }
    manager {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    nationality
    personalPhone
    socialAccounts {
      type
      identifier
    }
    pronouns
    maritalStatus
    contact {
      name
      phone
      email
      relationship
    }
    taxIDNumber
    insuranceNumber
    insuranceCompanyName
    insuranceType
    childrenCount
    IBAN
    BIC
    profilePictureURL
    customFieldValues {
      id
      customField {
        ...CustomFieldFragment
      }
      canWrite
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deactivateUser": {
      "id": "4",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "email": "abc123",
      "gender": "MALE",
      "workPhones": ["abc123"],
      "employmentStartDate": "2007-12-03",
      "employmentEndDate": "2007-12-03",
      "probationEndDate": "2007-12-03",
      "aboutMe": "xyz789",
      "employeeNumber": "abc123",
      "birthDate": "2007-12-03",
      "personalEmail": "abc123",
      "address": PersonalAddress,
      "invitationStatus": "NOT_SENT",
      "language": "ENGLISH",
      "position": Position,
      "team": Team,
      "teams": [Team],
      "location": Location,
      "isActive": true,
      "workSchedule": WorkSchedule,
      "manager": User,
      "nationality": "abc123",
      "personalPhone": "xyz789",
      "socialAccounts": [SocialAccount],
      "pronouns": "abc123",
      "maritalStatus": "SINGLE",
      "contact": EmergencyContact,
      "taxIDNumber": "xyz789",
      "insuranceNumber": "abc123",
      "insuranceCompanyName": "xyz789",
      "insuranceType": "PRIVATE",
      "childrenCount": 987.65,
      "IBAN": "abc123",
      "BIC": "abc123",
      "profilePictureURL": "xyz789",
      "customFieldValues": [UserCustomFieldValue]
    }
  }
}

deleteJourney

Description

Delete journey.

Response

Returns a Boolean!

Arguments
Name Description
id - ID! Journey id.

Example

Query
mutation DeleteJourney($id: ID!) {
  deleteJourney(id: $id)
}
Variables
{"id": "4"}
Response
{"data": {"deleteJourney": false}}

deleteProject

Description

Delete project.

Response

Returns a Boolean!

Arguments
Name Description
id - ID! Project's id.

Example

Query
mutation DeleteProject($id: ID!) {
  deleteProject(id: $id)
}
Variables
{"id": "4"}
Response
{"data": {"deleteProject": true}}

deleteTimesheetEntry

Description

Delete timesheet entry.

Response

Returns a Boolean!

Arguments
Name Description
id - ID! Timesheet entry id.

Example

Query
mutation DeleteTimesheetEntry($id: ID!) {
  deleteTimesheetEntry(id: $id)
}
Variables
{"id": 4}
Response
{"data": {"deleteTimesheetEntry": false}}

deleteUser

Description

Delete user.

Response

Returns a Boolean!

Arguments
Name Description
id - ID! Id of user.

Example

Query
mutation DeleteUser($id: ID!) {
  deleteUser(id: $id)
}
Variables
{"id": 4}
Response
{"data": {"deleteUser": true}}

sendInvitation

Description

Send invitation to a user.

Response

Returns a User!

Arguments
Name Description
id - ID! Id of user.

Example

Query
mutation SendInvitation($id: ID!) {
  sendInvitation(id: $id) {
    id
    firstName
    lastName
    email
    gender
    workPhones
    employmentStartDate
    employmentEndDate
    probationEndDate
    aboutMe
    employeeNumber
    birthDate
    personalEmail
    address {
      street
      city
      state
      postalCode
      country
    }
    invitationStatus
    language
    position {
      id
      name
    }
    team {
      id
      name
      kind
    }
    teams {
      id
      name
      kind
    }
    location {
      id
      name
    }
    isActive
    workSchedule {
      id
      name
      calculationMethod
      workHours {
        ...WorkHoursFragment
      }
      workDays
      isTimesheetValidationEnabled
      timesheetEditLimit
      isPrefillEnabled
      mealVoucherExpectedTime
      isOvertimeTrackingEnabled
      isOvertimeRolling
      overtimeCalculationFrequency
    }
    manager {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    nationality
    personalPhone
    socialAccounts {
      type
      identifier
    }
    pronouns
    maritalStatus
    contact {
      name
      phone
      email
      relationship
    }
    taxIDNumber
    insuranceNumber
    insuranceCompanyName
    insuranceType
    childrenCount
    IBAN
    BIC
    profilePictureURL
    customFieldValues {
      id
      customField {
        ...CustomFieldFragment
      }
      canWrite
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "sendInvitation": {
      "id": 4,
      "firstName": "xyz789",
      "lastName": "abc123",
      "email": "xyz789",
      "gender": "MALE",
      "workPhones": ["abc123"],
      "employmentStartDate": "2007-12-03",
      "employmentEndDate": "2007-12-03",
      "probationEndDate": "2007-12-03",
      "aboutMe": "abc123",
      "employeeNumber": "abc123",
      "birthDate": "2007-12-03",
      "personalEmail": "abc123",
      "address": PersonalAddress,
      "invitationStatus": "NOT_SENT",
      "language": "ENGLISH",
      "position": Position,
      "team": Team,
      "teams": [Team],
      "location": Location,
      "isActive": true,
      "workSchedule": WorkSchedule,
      "manager": User,
      "nationality": "xyz789",
      "personalPhone": "xyz789",
      "socialAccounts": [SocialAccount],
      "pronouns": "abc123",
      "maritalStatus": "SINGLE",
      "contact": EmergencyContact,
      "taxIDNumber": "xyz789",
      "insuranceNumber": "abc123",
      "insuranceCompanyName": "xyz789",
      "insuranceType": "PRIVATE",
      "childrenCount": 123.45,
      "IBAN": "abc123",
      "BIC": "abc123",
      "profilePictureURL": "xyz789",
      "customFieldValues": [UserCustomFieldValue]
    }
  }
}

updateJourney

Description

Update journey.

Response

Returns a Journey

Arguments
Name Description
id - ID! Journey id.
journey - UpdateJourneyInput Journey data to update.

Example

Query
mutation UpdateJourney(
  $id: ID!,
  $journey: UpdateJourneyInput
) {
  updateJourney(
    id: $id,
    journey: $journey
  ) {
    id
    assignee {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    journeyType {
      id
      name
      description
      key
      icon
      archivedAt
    }
    isPreonboardingAccessEnabled
    personalEmail
    status
    steps {
      id
      name
      description
      startDateFixedDate
      startDateRelationEventType
      startDateRelationEventAdverb
      startDateRelationStep {
        ...JourneyStepFragment
      }
      startDateRelationStepAdverb
      startDateRelationDaysOffset
      dueDateFixedDate
      dueDateRelationEventType
      dueDateRelationEventAdverb
      dueDateRelationStep {
        ...JourneyStepFragment
      }
      dueDateRelationStepAdverb
      dueDateRelationDaysOffset
      tasks {
        ...JourneyTaskFragment
      }
      completedAt
    }
  }
}
Variables
{
  "id": "4",
  "journey": UpdateJourneyInput
}
Response
{
  "data": {
    "updateJourney": {
      "id": 4,
      "assignee": User,
      "journeyType": JourneyType,
      "isPreonboardingAccessEnabled": false,
      "personalEmail": "xyz789",
      "status": "DRAFT",
      "steps": [JourneyStep]
    }
  }
}

updateProject

Description

Update project.

Response

Returns a Project!

Arguments
Name Description
id - ID! Project's id.
project - UpdateProjectInput! Data to update.

Example

Query
mutation UpdateProject(
  $id: ID!,
  $project: UpdateProjectInput!
) {
  updateProject(
    id: $id,
    project: $project
  ) {
    id
    name
    status
  }
}
Variables
{"id": 4, "project": UpdateProjectInput}
Response
{
  "data": {
    "updateProject": {
      "id": 4,
      "name": "xyz789",
      "status": "ACTIVE"
    }
  }
}

updateTimesheetEntry

Description

Update timesheet entry

Response

Returns a Timesheet!

Arguments
Name Description
id - ID Timesheet entry id.
timesheetEntry - UpdateTimesheetEntryInput! Data to update.

Example

Query
mutation UpdateTimesheetEntry(
  $id: ID,
  $timesheetEntry: UpdateTimesheetEntryInput!
) {
  updateTimesheetEntry(
    id: $id,
    timesheetEntry: $timesheetEntry
  ) {
    id
    date
    expectedTime
    trackedTime
    timeOffTime
    holidayTime
    totalTime
    breakTime
    isWorkday
    isApproved
    expectedPartOfDay
    trackedPartOfDay
    timeOffPartOfDay
    holidayPartOfDay
    totalDays
    timeOffs {
      key
      name
      partOfDay
      isAbsence
    }
    holidays {
      name
      isHalfDay
      partOfDay
    }
    timesheetEntries {
      id
      startAt
      endAt
      partOfDay
      type
      note
      project {
        ...ProjectFragment
      }
    }
    breakRuleViolations {
      workScheduleBreakRule {
        ...WorkScheduleBreakRuleFragment
      }
      rangeFrom
      rangeTo
    }
  }
}
Variables
{
  "id": "4",
  "timesheetEntry": UpdateTimesheetEntryInput
}
Response
{
  "data": {
    "updateTimesheetEntry": {
      "id": 4,
      "date": "2007-12-03",
      "expectedTime": 987,
      "trackedTime": 987,
      "timeOffTime": 987,
      "holidayTime": 123,
      "totalTime": 123,
      "breakTime": 987,
      "isWorkday": false,
      "isApproved": true,
      "expectedPartOfDay": "FULL_DAY",
      "trackedPartOfDay": "FULL_DAY",
      "timeOffPartOfDay": "FULL_DAY",
      "holidayPartOfDay": "FULL_DAY",
      "totalDays": 987.65,
      "timeOffs": [TimesheetTimeOff],
      "holidays": [TimesheetHoliday],
      "timesheetEntries": [TimesheetEntry],
      "breakRuleViolations": [TimesheetBreakRuleViolation]
    }
  }
}

updateUser

Description

Update existing user.

Response

Returns a User

Arguments
Name Description
id - ID! Id of user.
user - UpdateUserInput! User data to update.

Example

Query
mutation UpdateUser(
  $id: ID!,
  $user: UpdateUserInput!
) {
  updateUser(
    id: $id,
    user: $user
  ) {
    id
    firstName
    lastName
    email
    gender
    workPhones
    employmentStartDate
    employmentEndDate
    probationEndDate
    aboutMe
    employeeNumber
    birthDate
    personalEmail
    address {
      street
      city
      state
      postalCode
      country
    }
    invitationStatus
    language
    position {
      id
      name
    }
    team {
      id
      name
      kind
    }
    teams {
      id
      name
      kind
    }
    location {
      id
      name
    }
    isActive
    workSchedule {
      id
      name
      calculationMethod
      workHours {
        ...WorkHoursFragment
      }
      workDays
      isTimesheetValidationEnabled
      timesheetEditLimit
      isPrefillEnabled
      mealVoucherExpectedTime
      isOvertimeTrackingEnabled
      isOvertimeRolling
      overtimeCalculationFrequency
    }
    manager {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    nationality
    personalPhone
    socialAccounts {
      type
      identifier
    }
    pronouns
    maritalStatus
    contact {
      name
      phone
      email
      relationship
    }
    taxIDNumber
    insuranceNumber
    insuranceCompanyName
    insuranceType
    childrenCount
    IBAN
    BIC
    profilePictureURL
    customFieldValues {
      id
      customField {
        ...CustomFieldFragment
      }
      canWrite
    }
  }
}
Variables
{
  "id": "4",
  "user": UpdateUserInput
}
Response
{
  "data": {
    "updateUser": {
      "id": "4",
      "firstName": "xyz789",
      "lastName": "abc123",
      "email": "xyz789",
      "gender": "MALE",
      "workPhones": ["abc123"],
      "employmentStartDate": "2007-12-03",
      "employmentEndDate": "2007-12-03",
      "probationEndDate": "2007-12-03",
      "aboutMe": "xyz789",
      "employeeNumber": "xyz789",
      "birthDate": "2007-12-03",
      "personalEmail": "xyz789",
      "address": PersonalAddress,
      "invitationStatus": "NOT_SENT",
      "language": "ENGLISH",
      "position": Position,
      "team": Team,
      "teams": [Team],
      "location": Location,
      "isActive": false,
      "workSchedule": WorkSchedule,
      "manager": User,
      "nationality": "xyz789",
      "personalPhone": "abc123",
      "socialAccounts": [SocialAccount],
      "pronouns": "xyz789",
      "maritalStatus": "SINGLE",
      "contact": EmergencyContact,
      "taxIDNumber": "abc123",
      "insuranceNumber": "abc123",
      "insuranceCompanyName": "abc123",
      "insuranceType": "PRIVATE",
      "childrenCount": 987.65,
      "IBAN": "abc123",
      "BIC": "abc123",
      "profilePictureURL": "abc123",
      "customFieldValues": [UserCustomFieldValue]
    }
  }
}

updateUsers

Description

Update multiple existing users.

Response

Returns [User]!

Arguments
Name Description
filter - UserFilterInput! Filter criteria for updated users.
data - UpdateUserInput! Data to update.

Example

Query
mutation UpdateUsers(
  $filter: UserFilterInput!,
  $data: UpdateUserInput!
) {
  updateUsers(
    filter: $filter,
    data: $data
  ) {
    id
    firstName
    lastName
    email
    gender
    workPhones
    employmentStartDate
    employmentEndDate
    probationEndDate
    aboutMe
    employeeNumber
    birthDate
    personalEmail
    address {
      street
      city
      state
      postalCode
      country
    }
    invitationStatus
    language
    position {
      id
      name
    }
    team {
      id
      name
      kind
    }
    teams {
      id
      name
      kind
    }
    location {
      id
      name
    }
    isActive
    workSchedule {
      id
      name
      calculationMethod
      workHours {
        ...WorkHoursFragment
      }
      workDays
      isTimesheetValidationEnabled
      timesheetEditLimit
      isPrefillEnabled
      mealVoucherExpectedTime
      isOvertimeTrackingEnabled
      isOvertimeRolling
      overtimeCalculationFrequency
    }
    manager {
      id
      firstName
      lastName
      email
      gender
      workPhones
      employmentStartDate
      employmentEndDate
      probationEndDate
      aboutMe
      employeeNumber
      birthDate
      personalEmail
      address {
        ...PersonalAddressFragment
      }
      invitationStatus
      language
      position {
        ...PositionFragment
      }
      team {
        ...TeamFragment
      }
      teams {
        ...TeamFragment
      }
      location {
        ...LocationFragment
      }
      isActive
      workSchedule {
        ...WorkScheduleFragment
      }
      manager {
        ...UserFragment
      }
      nationality
      personalPhone
      socialAccounts {
        ...SocialAccountFragment
      }
      pronouns
      maritalStatus
      contact {
        ...EmergencyContactFragment
      }
      taxIDNumber
      insuranceNumber
      insuranceCompanyName
      insuranceType
      childrenCount
      IBAN
      BIC
      profilePictureURL
      customFieldValues {
        ...UserCustomFieldValueFragment
      }
    }
    nationality
    personalPhone
    socialAccounts {
      type
      identifier
    }
    pronouns
    maritalStatus
    contact {
      name
      phone
      email
      relationship
    }
    taxIDNumber
    insuranceNumber
    insuranceCompanyName
    insuranceType
    childrenCount
    IBAN
    BIC
    profilePictureURL
    customFieldValues {
      id
      customField {
        ...CustomFieldFragment
      }
      canWrite
    }
  }
}
Variables
{
  "filter": UserFilterInput,
  "data": UpdateUserInput
}
Response
{
  "data": {
    "updateUsers": [
      {
        "id": "4",
        "firstName": "xyz789",
        "lastName": "xyz789",
        "email": "abc123",
        "gender": "MALE",
        "workPhones": ["abc123"],
        "employmentStartDate": "2007-12-03",
        "employmentEndDate": "2007-12-03",
        "probationEndDate": "2007-12-03",
        "aboutMe": "xyz789",
        "employeeNumber": "abc123",
        "birthDate": "2007-12-03",
        "personalEmail": "xyz789",
        "address": PersonalAddress,
        "invitationStatus": "NOT_SENT",
        "language": "ENGLISH",
        "position": Position,
        "team": Team,
        "teams": [Team],
        "location": Location,
        "isActive": false,
        "workSchedule": WorkSchedule,
        "manager": User,
        "nationality": "abc123",
        "personalPhone": "abc123",
        "socialAccounts": [SocialAccount],
        "pronouns": "abc123",
        "maritalStatus": "SINGLE",
        "contact": EmergencyContact,
        "taxIDNumber": "xyz789",
        "insuranceNumber": "xyz789",
        "insuranceCompanyName": "xyz789",
        "insuranceType": "PRIVATE",
        "childrenCount": 987.65,
        "IBAN": "xyz789",
        "BIC": "xyz789",
        "profilePictureURL": "xyz789",
        "customFieldValues": [UserCustomFieldValue]
      }
    ]
  }
}

Scalars

Boolean

Description

The Boolean scalar type represents true or false.

Date

Example
"2007-12-03"

DateTime

Example
"2007-12-03T10:15:30Z"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"4"

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

Time

Example
"10:15:30Z"

Enums

AccessLevel

Values
Enum Value Description

READ

WRITE

NONE

Example
"READ"

AccrualFrequency

Description

Accrual frequency.

Values
Enum Value Description

UPFRONT_YEARLY

EARNED_MONTHLY

Example
"UPFRONT_YEARLY"

AllocationType

Description

Allocation type.

Values
Enum Value Description

ACCRUAL

UNLIMITED

NONE

Example
"ACCRUAL"

ArrayOperator

Description

A set of array operators that can be used in query filters.

Values
Enum Value Description

IN

Inclusion.

NOT_IN

Exclusion.
Example
"IN"

CalculationMethod

Description

Calculation method.

Values
Enum Value Description

HOURS_AND_MINUTES

DAYS_AND_HALF_DAYS

Example
"HOURS_AND_MINUTES"

CalculationOvertimeBalanceTransactionType

Values
Enum Value Description

MONTHLY

WEEKLY

DAILY

Example
"MONTHLY"

CollectionFieldType

Values
Enum Value Description

SINGLE_LINE_TEXT

Single line text field.

MULTI_LINE_TEXT

Multi line text field.

DATE

Date field.

NUMBER

Number field.

CHECKBOX

Checkbox field.

SINGLE_CHOICE

Single choice field.

MULTI_CHOICE

Multi choice field.

DROPDOWN

Dropdown field.

FILE

File field.

CREATED_AT

Created at field.

CREATED_BY

Created by field.

ASSIGNED_USER

Assigned user field.

DATE_RANGE

Date range field.

SINGLE_USER_CHOICE

Single user choice field.

E_SIGNATURE

Electronic signature field.
Example
"SINGLE_LINE_TEXT"

CollectionScope

Values
Enum Value Description

USER

User scope.

COMPANY

Company scope.
Example
"USER"

CollectionType

Values
Enum Value Description

ITEMS

Items collection type.

FILES

Files collection type.
Example
"ITEMS"

ComparisonOperator

Description

A set of comparison operators that can be used in query filters.

Values
Enum Value Description

EQUAL

Equal.

NOT_EQUAL

Not equal.

GREATER_THAN

Exclusive greater than.

GREATER_THAN_OR_EQUAL

Inclusive greater than.

LESS_THAN

Exclusive less than.

LESS_THAN_OR_EQUAL

Inclusive less than.
Example
"EQUAL"

CustomFieldSection

Values
Enum Value Description

PROFESSIONAL

EMPLOYMENT_DETAILS

PERSONAL

ADDRESS

EMERGENCY_CONTACT

PAYROLL_INFORMATION

BANK_DETAILS

Example
"PROFESSIONAL"

CustomFieldType

Values
Enum Value Description

SINGLE_LINE_TEXT

NUMBER

DATE

DATE_RANGE

RICH_TEXT

CHECKBOX

URL

SINGLE_USER_CHOICE

SINGLE_CHOICE

MULTI_CHOICE

Example
"SINGLE_LINE_TEXT"

DeductionMode

Description

Deduction mode.

Values
Enum Value Description

WORKWEEK

MON_TO_FRI

MON_TO_SAT

MON_TO_SUN

Example
"WORKWEEK"

DocusignSignatureRequestStatus

Values
Enum Value Description

COMPLETED

CORRECT

CREATED

DECLINED

DELIVERED

SENT

SIGNED

TEMPLATE

VOIDED

Example
"COMPLETED"

Gender

Values
Enum Value Description

MALE

FEMALE

DIVERSE

Example
"MALE"

InsuranceType

Values
Enum Value Description

PRIVATE

STATUTORY

Example
"PRIVATE"

InvitationStatus

Description

Invitation status.

Values
Enum Value Description

NOT_SENT

Invitation hasn't been sent to the user yet.

SENT

Invitation has been sent to the user.

COMPLETED

User completed invitation process.
Example
"NOT_SENT"

JourneyStatus

Description

Represents the status of a journey.

Values
Enum Value Description

DRAFT

Journey is in draft state.

ONGOING

Journey is currently ongoing.

COMPLETED

Journey has been completed.

CANCELLED

Journey has been cancelled.
Example
"DRAFT"

JourneyStepRelationEventType

Description

Represents events related to the journey step.

Values
Enum Value Description

EMPLOYMENT_START

Event when employment starts.

EMPLOYMENT_END

Event when employment ends.

PROBATION_END

Event when probation ends.
Example
"EMPLOYMENT_START"

JourneyTaskAssignmentRole

Description

Represents the role assigned to a journey task.

Values
Enum Value Description

EMPLOYEE

Task assigned to an employee.

MANAGER

Task assigned to a manager.
Example
"EMPLOYEE"

JourneyTaskType

Description

Represents the type of a journey task.

Values
Enum Value Description

TASK

A general task.

FILE_UPLOAD

A file upload task.

PROFILE_DATA

A profile data task.
Example
"TASK"

JourneyTypeKey

Description

Represents different types of journeys.

Values
Enum Value Description

PREONBOARDING

Represents a pre-onboarding journey type.

ONBOARDING

Represents an onboarding journey type.

OFFBOARDING

Represents an offboarding journey type.

CUSTOM

Represents a custom journey type.
Example
"PREONBOARDING"

Language

Values
Enum Value Description

ENGLISH

GERMAN

FRENCH

DUTCH

Example
"ENGLISH"

MaritalStatus

Values
Enum Value Description

SINGLE

MARRIED

Example
"SINGLE"

OvertimeBalanceTransactionType

Description

Overtime balance transaction type.

Values
Enum Value Description

INITIAL

Transaction created when user is being created.

CUSTOM

Transaction created by updating overtime balance in kiwiHR.

CALCULATION

Transaction created by overtime balance calculation.

TIME_OFF_REQUEST

Transaction created by compensation time off.

RECALCULATION

Transaction created by changes that affect past overtime balance.
Example
"INITIAL"

OvertimeCalculationFrequencyType

Description

Overtime calculation frequency.

Values
Enum Value Description

MONTHLY

WEEKLY

DAILY

Example
"MONTHLY"

PartOfDay

Values
Enum Value Description

FULL_DAY

MORNING

AFTERNOON

Example
"FULL_DAY"

ProjectStatus

Description

Project status.

Values
Enum Value Description

ACTIVE

Project can be used for time tracking.

INACTIVE

Project cannot be used for time tracking.
Example
"ACTIVE"

RangeOperator

Description

A set of range operators that can be used in query filters.

Values
Enum Value Description

BETWEEN

Between.
Example
"BETWEEN"

RelationEventAdverb

Description

Represents the timing of a relation event.

Values
Enum Value Description

BEFORE

Before the event.

AFTER

After the event.

EXACT

Exactly at the event.
Example
"BEFORE"

RelationStepAdverb

Description

Represents the timing of a relation step.

Values
Enum Value Description

RIGHT_AFTER

Immediately after the step.

AFTER

After the step.
Example
"RIGHT_AFTER"

SignatureSignerStatus

Values
Enum Value Description

COMPLETED

CREATED

DECLINED

DELIVERED

SENT

SIGNED

Example
"COMPLETED"

SignatureStatus

Values
Enum Value Description

COMPLETED

CREATED

DECLINED

DELIVERED

SENT

SIGNED

VOIDED

Example
"COMPLETED"

SortOrder

Description

Sorting order options.

Values
Enum Value Description

ASC

Ascending order.

DESC

Descending order.
Example
"ASC"

StringComparisonOperator

Description

A set of string comparison operators that can be used in query filters.

Values
Enum Value Description

EQUAL

Equal.

NOT_EQUAL

Not equal.

INCLUDES

Includes.

NOT_INCLUDES

Not includes.
Example
"EQUAL"

TeamKind

Values
Enum Value Description

GROUP

DEPARTMENT

Example
"GROUP"

TimesheetEntryType

Description

Timesheet entry type.

Values
Enum Value Description

MANUAL

Entry created manually by setting start and end.

PUBLIC_HOLIDAY

Entry created for holidays.

TIME_OF

Entry created for time offs.

BREAK

Break entry.

AUTOMATIC_BREAK

Automatic break entry.

TRACKER

Entry created by using tracker.

PREFILL

Entry created by the pre-fill process.

CLOCK_IN

Entry created by clock in station.
Example
"MANUAL"

UsagePeriod

Description

Usage period.

Values
Enum Value Description

CURRENT

NEXT

CURRENT_AND_NEXT

Example
"CURRENT"

Interfaces

AccessRule

Fields
Field Name Description
custom - [CustomAccessRule]
Possible Types
Types implementing AccessRule

UserAccessRule

CompanyAccessRule

Example
{"custom": [CustomAccessRule]}

CategorizedTrackedTime

Description

Categorized tracked time

Fields
Field Name Description
trackedTime - Int Tracked time in seconds.
trackedDays - Float Tracked days.
Possible Types
Types implementing CategorizedTrackedTime

ProjectCategorizedTrackedTime

UncategorizedTrackedTime

Example
{"trackedTime": 123, "trackedDays": 987.65}

Collection

Fields
Field Name Description
id - ID
archivedAt - DateTime Collection can be deleted only if it's archived.
name - String Unique within the type, scope and company.
description - String Detailed information about the collection.
icon - String Icon
type - CollectionType Specifies the type of the collection.
scope - CollectionScope User scope items can have a user assigned to them.
collectionFields - [CollectionField] Custom fields defined for this collection.
Possible Types
Types implementing Collection

CompanyAccessCollection

UserAccessCollection

Example
{
  "id": 4,
  "archivedAt": "2007-12-03T10:15:30Z",
  "name": "xyz789",
  "description": "abc123",
  "icon": "abc123",
  "type": "ITEMS",
  "scope": "USER",
  "collectionFields": [CollectionField]
}

CollectionItem

Fields
Field Name Description
id - ID Unique identifier for the collection item.
createdAt - DateTime Timestamp of when the collection item was created.
collectionId - ID Identifier of the collection to which this item belongs.
createdById - ID Identifier of the user who created the collection item.
collectionItemValues - [CollectionItemValue] List of values associated with the collection item.
createdBy - User User who created the collection item.
Possible Types
Types implementing CollectionItem

CompanyScopeCollectionItem

UserScopeCollectionItem

Example
{
  "id": 4,
  "createdAt": "2007-12-03T10:15:30Z",
  "collectionId": 4,
  "createdById": "4",
  "collectionItemValues": [CollectionItemValue],
  "createdBy": User
}

OvertimeBalanceTransaction

Description

Represents an overtime balance transaction.

Fields
Field Name Description
id - ID Id.
balance - Int Balance after transaction.
change - Int Change to balance inflicted by transaction.
type - OvertimeBalanceTransactionType Overtime balance transaction type.
date - Date Date of transaction.
Example
{
  "id": 4,
  "balance": 123,
  "change": 987,
  "type": "INITIAL",
  "date": "2007-12-03"
}

TimeOffBalance

Fields
Field Name Description
id - ID Id.
user - User User.
timeOffRule - TimeOffRule Time off rule.
periodStartDate - Date Accrual period start date.
periodEndDate - Date Accrual period end date.
usagePeriodStartDate - Date Usage period start date.
usagePeriodEndDate - Date Usage period end date.
accrual - Float Current accrual.
accrualAdjustment - Float Accrual adjustment.
totalAccrual - Float Accrual with adjustment
allowance - Float Current allowance that consist of actual allowance value and carry over allowance when applicable.
totalAvailable - Float The number of available days including carried over days.
available - Float The number representing difference between accrual and the number of requested days.
requested - Float The number of days already taken within this balance.
totalRequested - Float The number of requested days including carried over used days.
usageAdjustment - Float Usage adjustment.
used - Float The sum of requested days (including carried over days) and usage adjustment.
carryOverAllowance - Float A number of days that can be used within carry over period.
carryOverAllowanceAdjustment - Float Carry over allowance adjustment.
totalCarryOverAllowance - Float Carry over allowance with adjustment.
carryOverExpirationDate - Date A date of the end of carry over period. After this date, carried over days cannot be used.
isCarryOverApplied - Boolean Indicates whether carry over rules have been applied to the balance.
isCarryOverActive - Boolean Indicates whether carry over period is ongoing.
isCarryOverExpired - Boolean Indicates whether carry over period ended.
carryOverAvailable - Float Difference between carry over allowance and the number of days taken within carry over period. It becomes null after carry over expiration.
carryOverRequested - Float The number of days requested in carry over period. Value remains unchanged after carry over expiration.
carryOverLeft - Float The number of carry over days available within the balance. Value remains unchanged after carry over expiration.
allocationType - AllocationType Allocation type.
nextMonthlyAccrual - NextMonthlyAccrual
planned - Float
Example
{
  "id": 4,
  "user": User,
  "timeOffRule": TimeOffRule,
  "periodStartDate": "2007-12-03",
  "periodEndDate": "2007-12-03",
  "usagePeriodStartDate": "2007-12-03",
  "usagePeriodEndDate": "2007-12-03",
  "accrual": 123.45,
  "accrualAdjustment": 123.45,
  "totalAccrual": 987.65,
  "allowance": 987.65,
  "totalAvailable": 123.45,
  "available": 987.65,
  "requested": 123.45,
  "totalRequested": 123.45,
  "usageAdjustment": 987.65,
  "used": 987.65,
  "carryOverAllowance": 987.65,
  "carryOverAllowanceAdjustment": 987.65,
  "totalCarryOverAllowance": 987.65,
  "carryOverExpirationDate": "2007-12-03",
  "isCarryOverApplied": true,
  "isCarryOverActive": true,
  "isCarryOverExpired": true,
  "carryOverAvailable": 987.65,
  "carryOverRequested": 987.65,
  "carryOverLeft": 123.45,
  "allocationType": "ACCRUAL",
  "nextMonthlyAccrual": NextMonthlyAccrual,
  "planned": 987.65
}

UserCustomFieldValue

Description

User's custom field value.

Fields
Field Name Description
id - ID Custom field value ID.
customField - CustomField Associated custom field.
canWrite - Boolean Can write boolean value.
Example
{"id": 4, "customField": CustomField, "canWrite": false}

Objects

AttendanceStatement

Description

Represents an attendance statement.

Fields
Field Name Description
expectedTime - Int Expected time in seconds.
trackedTime - Int Tracked time in seconds.
totalTime - Int Total time in seconds.
timeOffTime - Int Time spent on time-offs in seconds.
holidayTime - Int Time spent on holidays in seconds.
expectedDays - Float Expected days.
trackedDays - Float Tracked days.
totalDays - Float Total days.
balanceInDays - Float Balance in days.
calculationMethod - CalculationMethod The most recent calculation method
timeOffDays - Float Days spent on time-offs.
holidayDays - Float Days spent on holidays.
balance - Int Balance in seconds.
overtime - Int Overtime in seconds.
mealVouchersCount - Int Count of meal vouchers.
user - User User.
projects - [CategorizedTrackedTime] Detailed tracked time per project.
Arguments
dateFrom - Date
dateTo - Date
id - ID
Example
{
  "expectedTime": 987,
  "trackedTime": 987,
  "totalTime": 123,
  "timeOffTime": 987,
  "holidayTime": 987,
  "expectedDays": 123.45,
  "trackedDays": 123.45,
  "totalDays": 987.65,
  "balanceInDays": 123.45,
  "calculationMethod": "HOURS_AND_MINUTES",
  "timeOffDays": 123.45,
  "holidayDays": 987.65,
  "balance": 987,
  "overtime": 987,
  "mealVouchersCount": 123,
  "user": User,
  "projects": [CategorizedTrackedTime]
}

AttendanceStatementsPage

Description

Paginated list of attendance statements.

Fields
Field Name Description
items - [AttendanceStatement]! A list of attendance statements.
pageInfo - PageInfo! Pagination metadata.
Example
{
  "items": [AttendanceStatement],
  "pageInfo": PageInfo
}

BooleanUserCustomFieldValue

Fields
Field Name Description
id - ID
valueBoolean - Boolean
customField - CustomField
canWrite - Boolean
Implemented interface

UserCustomFieldValue

Example
{
  "id": 4,
  "valueBoolean": true,
  "customField": CustomField,
  "canWrite": false
}

CalculationOvertimeBalanceTransaction

Description

Calculation overtime balance transaction.

Fields
Field Name Description
id - ID Id.
balance - Int Balance after transaction.
change - Int Change to balance inflicted by transaction.
type - OvertimeBalanceTransactionType Overtime balance transaction type.
date - Date Date of transaction.
dateFrom - Date Calculation period start.
dateTo - Date Calculation period end.
calculationType - CalculationOvertimeBalanceTransactionType Calculation type.
Implemented interface

OvertimeBalanceTransaction

Example
{
  "id": 4,
  "balance": 987,
  "change": 987,
  "type": "INITIAL",
  "date": "2007-12-03",
  "dateFrom": "2007-12-03",
  "dateTo": "2007-12-03",
  "calculationType": "MONTHLY"
}

CarryOverExpirationDate

Description

Carry over expiration date.

Fields
Field Name Description
day - Int!
month - Int!
Example
{"day": 123, "month": 123}

ChoiceUserCustomFieldValue

Fields
Field Name Description
id - ID
valueChoiceIds - [ID]
customField - CustomField
canWrite - Boolean
Implemented interface

UserCustomFieldValue

Example
{
  "id": 4,
  "valueChoiceIds": ["4"],
  "customField": CustomField,
  "canWrite": false
}

CollectionChoiceOption

Fields
Field Name Description
id - ID Identifier of the choice option.
label - String Label of the choice option.
deletedAt - DateTime Deletion date of the choice option.
Example
{
  "id": 4,
  "label": "abc123",
  "deletedAt": "2007-12-03T10:15:30Z"
}

CollectionField

Fields
Field Name Description
id - ID Identifier of the field.
archivedAt - DateTime Collection field can be deleted only if it's archived.
collectionId - ID Identifier of the collection this field belongs to.
name - String Name of the field.
hint - String Hint.
type - CollectionFieldType Type of the field.
required - Boolean If true, the collection item value for this field must be not empty.
isPrimary - Boolean If true, the value for this field will be used as a "title" of the collection item.
collectionChoiceOptions - [CollectionChoiceOption] Available options for [“SINGLE_CHOICE”, “MULTI_CHOICE”, “DROPDOWN”]
Example
{
  "id": "4",
  "archivedAt": "2007-12-03T10:15:30Z",
  "collectionId": 4,
  "name": "abc123",
  "hint": "abc123",
  "type": "SINGLE_LINE_TEXT",
  "required": true,
  "isPrimary": false,
  "collectionChoiceOptions": [CollectionChoiceOption]
}

CollectionItemValue

Description

Collection Item Value

Fields
Field Name Description
id - ID Unique identifier for the collection item value
collectionItemId - ID Collection Item ID this value belongs to
collectionFieldId - ID Collection Field ID this value belongs to
valueText - String Value for SINGLE_LINE_TEXT, MULTI_LINE_TEXT
valueNumber - String Value for NUMBER
valueBoolean - Boolean Value for CHECKBOX
valueDate - Date Value for DATE
valueFile - File Value for FILE
valueFileUrl - String Value file URL for FILE
valueChoiceIds - [ID] Value for DROPDOWN, SINGLE_CHOICE, MULTI_CHOICE
valueStartDate - Date Start value for DATE_RANGE
valueEndDate - Date End value for DATE_RANGE
valueUser - User " Value for USER
valueSignature - Signature Value for SIGNATURE
Example
{
  "id": "4",
  "collectionItemId": 4,
  "collectionFieldId": "4",
  "valueText": "abc123",
  "valueNumber": "xyz789",
  "valueBoolean": true,
  "valueDate": "2007-12-03",
  "valueFile": File,
  "valueFileUrl": "abc123",
  "valueChoiceIds": [4],
  "valueStartDate": "2007-12-03",
  "valueEndDate": "2007-12-03",
  "valueUser": User,
  "valueSignature": Signature
}

CollectionItemsPage

Fields
Field Name Description
items - [CollectionItem]! List of collection items on the current page.
pageInfo - PageInfo! Pagination information for the collection items.
Example
{
  "items": [CollectionItem],
  "pageInfo": PageInfo
}

CollectionsPage

Fields
Field Name Description
items - [Collection]! List of collections items on the current page.
pageInfo - PageInfo! Pagination information for the collections.
Example
{
  "items": [Collection],
  "pageInfo": PageInfo
}

CompanyAccessCollection

Description

See Collection

Fields
Field Name Description
id - ID
archivedAt - DateTime
name - String
description - String
icon - String
position - Int
type - CollectionType
scope - CollectionScope
trackActivities - Boolean
collectionFields - [CollectionField]
accessRule - CompanyAccessRule
Implemented interface

Collection

Example
{
  "id": "4",
  "archivedAt": "2007-12-03T10:15:30Z",
  "name": "abc123",
  "description": "xyz789",
  "icon": "xyz789",
  "position": 123,
  "type": "ITEMS",
  "scope": "USER",
  "trackActivities": true,
  "collectionFields": [CollectionField],
  "accessRule": CompanyAccessRule
}

CompanyAccessRule

Fields
Field Name Description
all - AccessLevel
custom - [CustomAccessRule]
Implemented interface

AccessRule

Example
{"all": "READ", "custom": [CustomAccessRule]}

CompanyScopeCollectionItem

Description

See CollectionItem

Fields
Field Name Description
id - ID
createdAt - DateTime
collectionId - ID
createdById - ID
collectionItemValues - [CollectionItemValue]
createdBy - User
Implemented interface

CollectionItem

Example
{
  "id": 4,
  "createdAt": "2007-12-03T10:15:30Z",
  "collectionId": "4",
  "createdById": 4,
  "collectionItemValues": [CollectionItemValue],
  "createdBy": User
}

CompensatoryTimeOffBalance

Description

Compensatory time off balance.

Fields
Field Name Description
id - ID Id.
user - User User.
timeOffRule - TimeOffRule Time off rule.
periodStartDate - Date Accrual period start date.
periodEndDate - Date Accrual period end date.
usagePeriodStartDate - Date Usage period start date.
usagePeriodEndDate - Date Usage period end date.
accrual - Float Current accrual.
accrualAdjustment - Float Accrual adjustment.
totalAccrual - Float Accrual with adjustment
allowance - Float Current allowance that consist of actual allowance value and carry over allowance when applicable.
totalAvailable - Float The number of available days including carried over days.
available - Float The number representing difference between accrual and the number of requested days.
requested - Float The number of days already taken within this balance.
totalRequested - Float The number of requested days including carried over used days.
usageAdjustment - Float Usage adjustment.
used - Float The sum of requested days (including carried over days) and usage adjustment.
carryOverAllowance - Float A number of days that can be used within carry over period.
carryOverAllowanceAdjustment - Float Carry over allowance adjustment.
totalCarryOverAllowance - Float Carry over allowance with adjustment.
carryOverExpirationDate - Date A date of the end of carry over period. After this date, carried over days cannot be used.
isCarryOverApplied - Boolean Indicates whether carry over rules have been applied to the balance.
isCarryOverActive - Boolean Indicates whether carry over period is ongoing.
isCarryOverExpired - Boolean Indicates whether carry over period ended.
carryOverAvailable - Float Difference between carry over allowance and the number of days taken within carry over period. It becomes null after carry over expiration.
carryOverRequested - Float The number of days requested in carry over period. Value remains unchanged after carry over expiration.
carryOverLeft - Float The number of carry over days available within the balance. Value remains unchanged after carry over expiration.
allocationType - AllocationType Allocation type.
overtimeBalance - Int Current overtime balance.
overtimeUsed - Int Overtime used.
nextMonthlyAccrual - NextMonthlyAccrual
planned - Float
Implemented interface

TimeOffBalance

Example
{
  "id": "4",
  "user": User,
  "timeOffRule": TimeOffRule,
  "periodStartDate": "2007-12-03",
  "periodEndDate": "2007-12-03",
  "usagePeriodStartDate": "2007-12-03",
  "usagePeriodEndDate": "2007-12-03",
  "accrual": 987.65,
  "accrualAdjustment": 123.45,
  "totalAccrual": 123.45,
  "allowance": 987.65,
  "totalAvailable": 987.65,
  "available": 123.45,
  "requested": 123.45,
  "totalRequested": 123.45,
  "usageAdjustment": 987.65,
  "used": 987.65,
  "carryOverAllowance": 123.45,
  "carryOverAllowanceAdjustment": 987.65,
  "totalCarryOverAllowance": 123.45,
  "carryOverExpirationDate": "2007-12-03",
  "isCarryOverApplied": false,
  "isCarryOverActive": false,
  "isCarryOverExpired": false,
  "carryOverAvailable": 123.45,
  "carryOverRequested": 987.65,
  "carryOverLeft": 123.45,
  "allocationType": "ACCRUAL",
  "overtimeBalance": 123,
  "overtimeUsed": 123,
  "nextMonthlyAccrual": NextMonthlyAccrual,
  "planned": 987.65
}

CustomAccessRule

Fields
Field Name Description
user - User
team - Team
access - AccessLevel
limitTeams - [Team]
Example
{
  "user": User,
  "team": Team,
  "access": "READ",
  "limitTeams": [Team]
}

CustomField

Description

Represents a custom field.

Fields
Field Name Description
id - ID Custom field ID.
name - String Custom field name.
section - CustomFieldSection User profile section associated with the custom field.
type - CustomFieldType Data type of the custom field.
customFieldChoiceOptions - [CustomFieldChoiceOption] Choice options for the SINGLE_CHOICE and MULTI_CHOICE custom fields.
Example
{
  "id": 4,
  "name": "xyz789",
  "section": "PROFESSIONAL",
  "type": "SINGLE_LINE_TEXT",
  "customFieldChoiceOptions": [CustomFieldChoiceOption]
}

CustomFieldChoiceOption

Fields
Field Name Description
id - ID
label - String
deletedAt - DateTime
Example
{
  "id": "4",
  "label": "xyz789",
  "deletedAt": "2007-12-03T10:15:30Z"
}

CustomFieldsPage

Description

Represents a page of custom fields.

Fields
Field Name Description
items - [CustomField]! List of custom fields.
pageInfo - PageInfo! Page info.
Example
{
  "items": [CustomField],
  "pageInfo": PageInfo
}

CustomOvertimeBalanceTransaction

Description

Custom overtime balance transaction.

Fields
Field Name Description
id - ID Id.
balance - Int Balance after transaction.
change - Int Change to balance inflicted by transaction.
type - OvertimeBalanceTransactionType Overtime balance transaction type.
date - Date Date of transaction.
creator - User Creator of the transaction.
note - String Note.
Implemented interface

OvertimeBalanceTransaction

Example
{
  "id": "4",
  "balance": 123,
  "change": 123,
  "type": "INITIAL",
  "date": "2007-12-03",
  "creator": User,
  "note": "xyz789"
}

CustomTimeOffBalance

Description

Custom time off balance.

Fields
Field Name Description
id - ID Id.
user - User User.
timeOffRule - TimeOffRule Time off rule.
periodStartDate - Date Accrual period start date.
periodEndDate - Date Accrual period end date.
usagePeriodStartDate - Date Usage period start date.
usagePeriodEndDate - Date Usage period end date.
accrual - Float Current accrual.
accrualAdjustment - Float Accrual adjustment.
totalAccrual - Float Accrual with adjustment
allowance - Float Current allowance that consist of actual allowance value and carry over allowance when applicable.
totalAvailable - Float The number of available days including carried over days.
available - Float The number representing difference between accrual and the number of requested days.
requested - Float The number of days already taken within this balance.
totalRequested - Float The number of requested days including carried over used days.
usageAdjustment - Float Usage adjustment.
used - Float The sum of requested days (including carried over days) and usage adjustment.
carryOverAllowance - Float A number of days that can be used within carry over period.
carryOverAllowanceAdjustment - Float Carry over allowance adjustment.
totalCarryOverAllowance - Float Carry over allowance with adjustment.
carryOverExpirationDate - Date A date of the end of carry over period. After this date, carried over days cannot be used.
isCarryOverApplied - Boolean Indicates whether carry over rules have been applied to the balance.
isCarryOverActive - Boolean Indicates whether carry over period is ongoing.
isCarryOverExpired - Boolean Indicates whether carry over period ended.
carryOverAvailable - Float Difference between carry over allowance and the number of days taken within carry over period. It becomes null after carry over expiration.
carryOverRequested - Float The number of days requested in carry over period. Value remains unchanged after carry over expiration.
carryOverLeft - Float The number of carry over days available within the balance. Value remains unchanged after carry over expiration.
allocationType - AllocationType Allocation type.
nextMonthlyAccrual - NextMonthlyAccrual
planned - Float
Implemented interface

TimeOffBalance

Example
{
  "id": "4",
  "user": User,
  "timeOffRule": TimeOffRule,
  "periodStartDate": "2007-12-03",
  "periodEndDate": "2007-12-03",
  "usagePeriodStartDate": "2007-12-03",
  "usagePeriodEndDate": "2007-12-03",
  "accrual": 987.65,
  "accrualAdjustment": 123.45,
  "totalAccrual": 123.45,
  "allowance": 987.65,
  "totalAvailable": 123.45,
  "available": 987.65,
  "requested": 987.65,
  "totalRequested": 987.65,
  "usageAdjustment": 987.65,
  "used": 123.45,
  "carryOverAllowance": 987.65,
  "carryOverAllowanceAdjustment": 123.45,
  "totalCarryOverAllowance": 987.65,
  "carryOverExpirationDate": "2007-12-03",
  "isCarryOverApplied": false,
  "isCarryOverActive": false,
  "isCarryOverExpired": true,
  "carryOverAvailable": 123.45,
  "carryOverRequested": 123.45,
  "carryOverLeft": 123.45,
  "allocationType": "ACCRUAL",
  "nextMonthlyAccrual": NextMonthlyAccrual,
  "planned": 123.45
}

DateRangeUserCustomFieldValue

Fields
Field Name Description
id - ID
valueStartDate - Date
valueEndDate - Date
customField - CustomField
canWrite - Boolean
Implemented interface

UserCustomFieldValue

Example
{
  "id": 4,
  "valueStartDate": "2007-12-03",
  "valueEndDate": "2007-12-03",
  "customField": CustomField,
  "canWrite": true
}

DateUserCustomFieldValue

Description

User's custom field value of date type.

Fields
Field Name Description
id - ID Custom field value ID.
customField - CustomField Associated custom field.
canWrite - Boolean Can write boolean value.
valueDate - Date
Implemented interface

UserCustomFieldValue

Example
{
  "id": 4,
  "customField": CustomField,
  "canWrite": false,
  "valueDate": "2007-12-03"
}

DocusignSignatureRequest

Fields
Field Name Description
sender - User Sender.
status - DocusignSignatureRequestStatus
detailsUrl - String Details URL.
fileValueIds - [ID] Files attached to the signature request.
Example
{
  "sender": User,
  "status": "COMPLETED",
  "detailsUrl": "xyz789",
  "fileValueIds": ["4"]
}

EmergencyContact

Fields
Field Name Description
name - String
phone - String
email - String
relationship - String
Example
{
  "name": "xyz789",
  "phone": "abc123",
  "email": "abc123",
  "relationship": "abc123"
}

File

Description

A file object represents a file stored in the system.

Fields
Field Name Description
name - String Name of the file.
extension - String File extension.
size - Int Size of the file in bytes.
createdAt - DateTime Date and time when the file was created.
documentPreviewUrl - String URL for the document preview, if available.
Example
{
  "name": "xyz789",
  "extension": "xyz789",
  "size": 987,
  "createdAt": "2007-12-03T10:15:30Z",
  "documentPreviewUrl": "xyz789"
}

GenericTimeOffBalance

Description

Generic time off balance.

Fields
Field Name Description
id - ID Id.
user - User User.
timeOffRule - TimeOffRule Time off rule.
periodStartDate - Date Accrual period start date.
periodEndDate - Date Accrual period end date.
usagePeriodStartDate - Date Usage period start date.
usagePeriodEndDate - Date Usage period end date.
accrual - Float Current accrual.
accrualAdjustment - Float Accrual adjustment.
totalAccrual - Float Accrual with adjustment
allowance - Float Current allowance that consist of actual allowance value and carry over allowance when applicable.
totalAvailable - Float The number of available days including carried over days.
available - Float The number representing difference between accrual and the number of requested days.
requested - Float The number of days already taken within this balance.
totalRequested - Float The number of requested days including carried over used days.
usageAdjustment - Float Usage adjustment.
used - Float The sum of requested days (including carried over days) and usage adjustment.
carryOverAllowance - Float A number of days that can be used within carry over period.
carryOverAllowanceAdjustment - Float Carry over allowance adjustment.
totalCarryOverAllowance - Float Carry over allowance with adjustment.
carryOverExpirationDate - Date A date of the end of carry over period. After this date, carried over days cannot be used.
isCarryOverApplied - Boolean Indicates whether carry over rules have been applied to the balance.
isCarryOverActive - Boolean Indicates whether carry over period is ongoing.
isCarryOverExpired - Boolean Indicates whether carry over period ended.
carryOverAvailable - Float Difference between carry over allowance and the number of days taken within carry over period. It becomes null after carry over expiration.
carryOverRequested - Float The number of days requested in carry over period. Value remains unchanged after carry over expiration.
carryOverLeft - Float The number of carry over days available within the balance. Value remains unchanged after carry over expiration.
allocationType - AllocationType Allocation type.
nextMonthlyAccrual - NextMonthlyAccrual
planned - Float
Implemented interface

TimeOffBalance

Example
{
  "id": 4,
  "user": User,
  "timeOffRule": TimeOffRule,
  "periodStartDate": "2007-12-03",
  "periodEndDate": "2007-12-03",
  "usagePeriodStartDate": "2007-12-03",
  "usagePeriodEndDate": "2007-12-03",
  "accrual": 123.45,
  "accrualAdjustment": 987.65,
  "totalAccrual": 987.65,
  "allowance": 987.65,
  "totalAvailable": 123.45,
  "available": 123.45,
  "requested": 987.65,
  "totalRequested": 123.45,
  "usageAdjustment": 987.65,
  "used": 987.65,
  "carryOverAllowance": 123.45,
  "carryOverAllowanceAdjustment": 987.65,
  "totalCarryOverAllowance": 123.45,
  "carryOverExpirationDate": "2007-12-03",
  "isCarryOverApplied": true,
  "isCarryOverActive": true,
  "isCarryOverExpired": true,
  "carryOverAvailable": 987.65,
  "carryOverRequested": 123.45,
  "carryOverLeft": 987.65,
  "allocationType": "ACCRUAL",
  "nextMonthlyAccrual": NextMonthlyAccrual,
  "planned": 123.45
}

InitialOvertimeBalanceTransaction

Description

Initial ovetime balance transaction.

Fields
Field Name Description
id - ID Id.
balance - Int Balance after transaction.
change - Int Change to balance inflicted by transaction.
type - OvertimeBalanceTransactionType Overtime balance transaction type.
date - Date Date of transaction.
Implemented interface

OvertimeBalanceTransaction

Example
{
  "id": 4,
  "balance": 987,
  "change": 123,
  "type": "INITIAL",
  "date": "2007-12-03"
}

Journey

Description

Represents a journey.

Fields
Field Name Description
id - ID Unique identifier for the journey.
assignee - User User assigned to the journey.
journeyType - JourneyType Type of the journey.
isPreonboardingAccessEnabled - Boolean Indicates if pre-onboarding access is enabled.
personalEmail - String Personal email associated with the journey.
status - JourneyStatus Current status of the journey.
steps - [JourneyStep] Steps included in the journey.
Example
{
  "id": "4",
  "assignee": User,
  "journeyType": JourneyType,
  "isPreonboardingAccessEnabled": false,
  "personalEmail": "abc123",
  "status": "DRAFT",
  "steps": [JourneyStep]
}

JourneyStep

Description

Represents a step in the journey.

Fields
Field Name Description
id - ID Unique identifier for the journey step.
name - String Name of the journey step.
description - String Description of the journey step.
startDateFixedDate - Date Fixed start date for the journey step.
startDateRelationEventType - JourneyStepRelationEventType Event type related to the start date of the journey step.
startDateRelationEventAdverb - RelationEventAdverb Timing of the event related to the start date.
startDateRelationStep - JourneyStep Related journey step for the start date.
startDateRelationStepAdverb - RelationStepAdverb Timing of the related journey step for the start date.
startDateRelationDaysOffset - Int Days offset for the start date relation.
dueDateFixedDate - Date Fixed due date for the journey step.
dueDateRelationEventType - JourneyStepRelationEventType Event type related to the due date of the journey step.
dueDateRelationEventAdverb - RelationEventAdverb Timing of the event related to the due date.
dueDateRelationStep - JourneyStep Related journey step for the due date.
dueDateRelationStepAdverb - RelationStepAdverb Timing of the related journey step for the due date.
dueDateRelationDaysOffset - Int Days offset for the due date relation.
tasks - [JourneyTask] Tasks associated with the journey step.
completedAt - Date Date when the journey step was completed.
Example
{
  "id": "4",
  "name": "abc123",
  "description": "abc123",
  "startDateFixedDate": "2007-12-03",
  "startDateRelationEventType": "EMPLOYMENT_START",
  "startDateRelationEventAdverb": "BEFORE",
  "startDateRelationStep": JourneyStep,
  "startDateRelationStepAdverb": "RIGHT_AFTER",
  "startDateRelationDaysOffset": 987,
  "dueDateFixedDate": "2007-12-03",
  "dueDateRelationEventType": "EMPLOYMENT_START",
  "dueDateRelationEventAdverb": "BEFORE",
  "dueDateRelationStep": JourneyStep,
  "dueDateRelationStepAdverb": "RIGHT_AFTER",
  "dueDateRelationDaysOffset": 123,
  "tasks": [JourneyTask],
  "completedAt": "2007-12-03"
}

JourneyTask

Description

Represents a task in the journey.

Fields
Field Name Description
id - ID Unique identifier for the journey task.
type - JourneyTaskType Type of the journey task.
name - String Name of the journey task.
instructions - String Instructions for completing the journey task.
assignmentRoles - [JourneyTaskAssignmentRole] Roles assigned to the journey task.
assignmentTeamIds - [ID] IDs of teams assigned to the journey task.
assignmentUserIds - [ID] IDs of users assigned to the journey task.
files - [JourneyTaskFile] Files associated with the journey task.
collection - Collection Collection of items for FILE_UPLOAD tasks.
taskCollectionItems - [CollectionItem] Collection items for the journey task.
userPropertiesToFill - ProfileSectionProperties Properties of the user to be filled for PROFILE_DATA tasks.
completedAt - Date Date when the journey task was completed.
isCompleted - Boolean Indicates if the journey task is completed.
Example
{
  "id": "4",
  "type": "TASK",
  "name": "xyz789",
  "instructions": "abc123",
  "assignmentRoles": ["EMPLOYEE"],
  "assignmentTeamIds": [4],
  "assignmentUserIds": [4],
  "files": [JourneyTaskFile],
  "collection": Collection,
  "taskCollectionItems": [CollectionItem],
  "userPropertiesToFill": ProfileSectionProperties,
  "completedAt": "2007-12-03",
  "isCompleted": false
}

JourneyTaskFile

Description

A file associated with a Journey Task

Fields
Field Name Description
id - ID Unique identifier for the task file.
url - String URL of the file.
createdAt - DateTime Timestamp when the file was created.
file - File The file object associated with the task.
Example
{
  "id": "4",
  "url": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "file": File
}

JourneyTemplate

Description

A template for a journey, which includes predefined steps and configurations.

Fields
Field Name Description
id - ID Unique identifier for the journey template.
name - String Name of the journey template.
description - String Description of the journey template.
journeyType - JourneyType Type of the journey associated with the template.
steps - [JourneyTemplateStep] List of steps included in the journey template.
Example
{
  "id": "4",
  "name": "abc123",
  "description": "xyz789",
  "journeyType": JourneyType,
  "steps": [JourneyTemplateStep]
}

JourneyTemplateStep

Description

Represents a step within a journey template.

Fields
Field Name Description
id - ID Unique identifier for the journey template step.
name - String Name of the journey template step.
description - String Description of the journey template step.
startDateRelationEventType - JourneyStepRelationEventType Event type that determines the start date relation.
startDateRelationEventAdverb - RelationEventAdverb Adverb that modifies the start date relation event.
startDateRelationStep - JourneyTemplateStep Step that determines the start date relation.
startDateRelationStepAdverb - RelationStepAdverb Adverb that modifies the start date relation step.
startDateRelationDaysOffset - Int Offset in days for the start date relation.
dueDateRelationEventType - JourneyStepRelationEventType Event type that determines the due date relation.
dueDateRelationEventAdverb - RelationEventAdverb Adverb that modifies the due date relation event.
dueDateRelationStep - JourneyTemplateStep Step that determines the due date relation.
dueDateRelationStepAdverb - RelationStepAdverb Adverb that modifies the due date relation step.
dueDateRelationDaysOffset - Int Offset in days for the due date relation.
journeyReusableStepId - ID Identifier for the reusable step associated with the journey.
tasks - [JourneyTemplateTask] List of tasks associated with the journey template step.
Example
{
  "id": "4",
  "name": "abc123",
  "description": "abc123",
  "startDateRelationEventType": "EMPLOYMENT_START",
  "startDateRelationEventAdverb": "BEFORE",
  "startDateRelationStep": JourneyTemplateStep,
  "startDateRelationStepAdverb": "RIGHT_AFTER",
  "startDateRelationDaysOffset": 987,
  "dueDateRelationEventType": "EMPLOYMENT_START",
  "dueDateRelationEventAdverb": "BEFORE",
  "dueDateRelationStep": JourneyTemplateStep,
  "dueDateRelationStepAdverb": "RIGHT_AFTER",
  "dueDateRelationDaysOffset": 987,
  "journeyReusableStepId": "4",
  "tasks": [JourneyTemplateTask]
}

JourneyTemplateTask

Fields
Field Name Description
id - ID Unique identifier for the journey template task.
type - JourneyTaskType Type of the journey task.
name - String Name of the journey template task.
instructions - String Instructions or details for the journey template task.
assignmentRoles - [JourneyTaskAssignmentRole] Roles assigned to the journey task.
assignmentTeamIds - [ID] IDs of teams assigned to the journey task.
assignmentUserIds - [ID] IDs of users assigned to the journey task.
files - [JourneyTemplateTaskFile] Files associated with the journey template task.
userPropertiesToFill - ProfileSectionProperties User profile properties to be filled, applicable for PROFILE_DATA tasks.
Example
{
  "id": "4",
  "type": "TASK",
  "name": "abc123",
  "instructions": "xyz789",
  "assignmentRoles": ["EMPLOYEE"],
  "assignmentTeamIds": ["4"],
  "assignmentUserIds": [4],
  "files": [JourneyTemplateTaskFile],
  "userPropertiesToFill": ProfileSectionProperties
}

JourneyTemplateTaskFile

Description

A file associated with a Journey Template Task

Fields
Field Name Description
id - ID Unique identifier for the task file.
url - String URL of the task file.
createdAt - DateTime Creation date of the task file.
file - File The associated file object.
Example
{
  "id": "4",
  "url": "abc123",
  "createdAt": "2007-12-03T10:15:30Z",
  "file": File
}

JourneyTemplatesPage

Description

A paginated list of journey templates.

Fields
Field Name Description
items - [JourneyTemplate]! List of journey templates on the current page.
pageInfo - PageInfo! Pagination information for the journey templates.
Example
{
  "items": [JourneyTemplate],
  "pageInfo": PageInfo
}

JourneyType

Description

Journey Type Object

Fields
Field Name Description
id - ID Unique identifier for the journey type.
name - String Name of the journey type.
description - String Description of the journey type.
key - JourneyTypeKey Key representing the journey type.
icon - String Icon associated with the journey type.
archivedAt - Date Date when the journey type was archived.
Example
{
  "id": "4",
  "name": "abc123",
  "description": "xyz789",
  "key": "PREONBOARDING",
  "icon": "abc123",
  "archivedAt": "2007-12-03"
}

JourneyTypesPage

Description

A paginated list of journey types.

Fields
Field Name Description
items - [JourneyType] List of journey types on the current page.
pageInfo - PageInfo Pagination information for the journey types.
Example
{
  "items": [JourneyType],
  "pageInfo": PageInfo
}

JourneysPage

Description

Represents a paginated list of journeys.

Fields
Field Name Description
items - [Journey] List of journey items on the current page.
pageInfo - PageInfo Pagination information for the journeys.
Example
{
  "items": [Journey],
  "pageInfo": PageInfo
}

Location

Description

Represents a location.

Fields
Field Name Description
id - ID Id.
name - String Name of the location.
Example
{
  "id": "4",
  "name": "abc123"
}

LocationsPage

Fields
Field Name Description
items - [Location]!
pageInfo - PageInfo!
Example
{
  "items": [Location],
  "pageInfo": PageInfo
}

NextMonthlyAccrual

Fields
Field Name Description
date - Date!
accrual - Float!
Example
{"date": "2007-12-03", "accrual": 987.65}

NumberUserCustomFieldValue

Description

User's custom field value of number type.

Fields
Field Name Description
id - ID Custom field value ID.
customField - CustomField Associated custom field.
canWrite - Boolean Can write boolean value.
valueNumber - Float
Implemented interface

UserCustomFieldValue

Example
{
  "id": "4",
  "customField": CustomField,
  "canWrite": true,
  "valueNumber": 987.65
}

OvertimeBalanceStatement

Description

Represents an overtime balance statement.

Fields
Field Name Description
balance - Int Balance in seconds.
user - User User.
Example
{"balance": 987, "user": User}

OvertimeBalanceStatementsPage

Description

Paginated list of overtime balance statements.

Fields
Field Name Description
items - [OvertimeBalanceStatement]! A list of overtime balance statements.
pageInfo - PageInfo! Pagination metadata.
Example
{
  "items": [OvertimeBalanceStatement],
  "pageInfo": PageInfo
}

OvertimeBalanceTransactionPage

Description

Paginated list of overtime balance transactions.

Fields
Field Name Description
items - [OvertimeBalanceTransaction]! A list of overtime balance transactions.
pageInfo - PageInfo! Pagination metadata.
Example
{
  "items": [OvertimeBalanceTransaction],
  "pageInfo": PageInfo
}

PageInfo

Description

Pagination metadata.

Fields
Field Name Description
limit - Int Limit of the items on one page.
offset - Int! Offset of the items' list.
count - Int! Total number of items.
current - Int Current page number.
next - Int Next page number. Null if there is no next page.
previous - Int Previous page number. Null if there is no previous page.
first - Int First page number.
last - Int Last (total) page number.
sort - [SortArg]! Sort args.
Example
{
  "limit": 987,
  "offset": 123,
  "count": 123,
  "current": 987,
  "next": 987,
  "previous": 123,
  "first": 987,
  "last": 123,
  "sort": [SortArg]
}

PersonalAddress

Description

Personal Address.

Fields
Field Name Description
street - String Street.
city - String City.
state - String State.
postalCode - String Postal code.
country - String Country.
Example
{
  "street": "xyz789",
  "city": "abc123",
  "state": "xyz789",
  "postalCode": "xyz789",
  "country": "abc123"
}

Position

Description

Represents a position.

Fields
Field Name Description
id - ID Id.
name - String Name of the position.
Example
{"id": 4, "name": "xyz789"}

PositionsPage

Fields
Field Name Description
items - [Position]!
pageInfo - PageInfo!
Example
{
  "items": [Position],
  "pageInfo": PageInfo
}

ProfileSectionProperties

Description

Represents the properties of a profile section, including general, professional, personal, and other details.

Fields
Field Name Description
generalInformation - [String] General information fields.
professional - [String] Professional information fields.
professionalCustomFields - [CustomField] Custom fields for professional information.
personal - [String] Personal information fields.
personalCustomFields - [CustomField] Custom fields for personal information.
employmentDetails - [String] Employment details fields.
employmentDetailsCustomFields - [CustomField] Custom fields for employment details.
companyStructure - [String] Company structure fields.
address - [String] Address fields.
addressCustomFields - [CustomField] Custom fields for address information.
emergencyContact - [String] Emergency contact fields.
emergencyContactCustomFields - [CustomField] Custom fields for emergency contact information.
payrollInformation - [String] Payroll information fields.
payrollInformationCustomFields - [CustomField] Custom fields for payroll information.
socialNetworks - [String] Social network fields.
bankDetails - [String] Bank details fields.
bankDetailsCustomFields - [CustomField] Custom fields for bank details.
inaccessibleSectionsCount - Int Count of inaccessible sections.
inaccessiblePropertiesCount - Int Count of inaccessible properties.
Example
{
  "generalInformation": ["abc123"],
  "professional": ["abc123"],
  "professionalCustomFields": [CustomField],
  "personal": ["xyz789"],
  "personalCustomFields": [CustomField],
  "employmentDetails": ["abc123"],
  "employmentDetailsCustomFields": [CustomField],
  "companyStructure": ["xyz789"],
  "address": ["abc123"],
  "addressCustomFields": [CustomField],
  "emergencyContact": ["xyz789"],
  "emergencyContactCustomFields": [CustomField],
  "payrollInformation": ["xyz789"],
  "payrollInformationCustomFields": [CustomField],
  "socialNetworks": ["xyz789"],
  "bankDetails": ["xyz789"],
  "bankDetailsCustomFields": [CustomField],
  "inaccessibleSectionsCount": 987,
  "inaccessiblePropertiesCount": 987
}

Project

Description

Represents a project.

Fields
Field Name Description
id - ID Id.
name - String Name.
status - ProjectStatus Status.
Example
{
  "id": "4",
  "name": "abc123",
  "status": "ACTIVE"
}

ProjectCategorizedTrackedTime

Description

Tracked time categorized per specific project.

Fields
Field Name Description
project - Project! Project.
trackedTime - Int Tracked time in seconds.
trackedDays - Float Tracked days.
Implemented interface

CategorizedTrackedTime

Example
{
  "project": Project,
  "trackedTime": 123,
  "trackedDays": 123.45
}

ProjectsPage

Description

Paginated list of projects.

Fields
Field Name Description
items - [Project]! A list of projects.
pageInfo - PageInfo! Pagination metadata.
Example
{
  "items": [Project],
  "pageInfo": PageInfo
}

RecalculationDate

Description

Recalculation date.

Fields
Field Name Description
day - Int!
month - Int!
Example
{"day": 987, "month": 987}

RecalculationOvertimeBalanceTransaction

Description

Recalculation overtime balance transaction.

Fields
Field Name Description
id - ID Id.
balance - Int Balance after transaction.
change - Int Change to balance inflicted by transaction.
type - OvertimeBalanceTransactionType Overtime balance transaction type.
date - Date Date of transaction.
dateFrom - Date Recalculation period start.
dateTo - Date Recalculation period end.
editor - User User that updated timesheet which triggered recalculation.
Implemented interface

OvertimeBalanceTransaction

Example
{
  "id": 4,
  "balance": 123,
  "change": 123,
  "type": "INITIAL",
  "date": "2007-12-03",
  "dateFrom": "2007-12-03",
  "dateTo": "2007-12-03",
  "editor": User
}

RemoteTimeOffBalance

Description

Remote time off balance.

Fields
Field Name Description
id - ID Id.
user - User User.
timeOffRule - TimeOffRule Time off rule.
periodStartDate - Date Accrual period start date.
periodEndDate - Date Accrual period end date.
usagePeriodStartDate - Date Usage period start date.
usagePeriodEndDate - Date Usage period end date.
accrual - Float Current accrual.
accrualAdjustment - Float Accrual adjustment.
totalAccrual - Float Accrual with adjustment
allowance - Float Current allowance that consist of actual allowance value and carry over allowance when applicable.
totalAvailable - Float The number of available days including carried over days.
available - Float The number representing difference between accrual and the number of requested days.
requested - Float The number of days already taken within this balance.
totalRequested - Float The number of requested days including carried over used days.
usageAdjustment - Float Usage adjustment.
used - Float The sum of requested days (including carried over days) and usage adjustment.
carryOverAllowance - Float A number of days that can be used within carry over period.
carryOverAllowanceAdjustment - Float Carry over allowance adjustment.
totalCarryOverAllowance - Float Carry over allowance with adjustment.
carryOverExpirationDate - Date A date of the end of carry over period. After this date, carried over days cannot be used.
isCarryOverApplied - Boolean Indicates whether carry over rules have been applied to the balance.
isCarryOverActive - Boolean Indicates whether carry over period is ongoing.
isCarryOverExpired - Boolean Indicates whether carry over period ended.
carryOverAvailable - Float Difference between carry over allowance and the number of days taken within carry over period. It becomes null after carry over expiration.
carryOverRequested - Float The number of days requested in carry over period. Value remains unchanged after carry over expiration.
carryOverLeft - Float The number of carry over days available within the balance. Value remains unchanged after carry over expiration.
allocationType - AllocationType Allocation type.
nextMonthlyAccrual - NextMonthlyAccrual
planned - Float
Implemented interface

TimeOffBalance

Example
{
  "id": 4,
  "user": User,
  "timeOffRule": TimeOffRule,
  "periodStartDate": "2007-12-03",
  "periodEndDate": "2007-12-03",
  "usagePeriodStartDate": "2007-12-03",
  "usagePeriodEndDate": "2007-12-03",
  "accrual": 987.65,
  "accrualAdjustment": 987.65,
  "totalAccrual": 123.45,
  "allowance": 123.45,
  "totalAvailable": 123.45,
  "available": 987.65,
  "requested": 123.45,
  "totalRequested": 123.45,
  "usageAdjustment": 123.45,
  "used": 123.45,
  "carryOverAllowance": 987.65,
  "carryOverAllowanceAdjustment": 987.65,
  "totalCarryOverAllowance": 987.65,
  "carryOverExpirationDate": "2007-12-03",
  "isCarryOverApplied": true,
  "isCarryOverActive": false,
  "isCarryOverExpired": false,
  "carryOverAvailable": 987.65,
  "carryOverRequested": 123.45,
  "carryOverLeft": 987.65,
  "allocationType": "ACCRUAL",
  "nextMonthlyAccrual": NextMonthlyAccrual,
  "planned": 123.45
}

RichTextUserCustomFieldValue

Fields
Field Name Description
id - ID
valuePlainText - String
valueRichText - String
customField - CustomField
canWrite - Boolean
Implemented interface

UserCustomFieldValue

Example
{
  "id": 4,
  "valuePlainText": "abc123",
  "valueRichText": "xyz789",
  "customField": CustomField,
  "canWrite": true
}

SickLeaveTimeOffBalance

Description

Sick leave time off balance.

Fields
Field Name Description
id - ID Id.
user - User User.
timeOffRule - TimeOffRule Time off rule.
periodStartDate - Date Accrual period start date.
periodEndDate - Date Accrual period end date.
usagePeriodStartDate - Date Usage period start date.
usagePeriodEndDate - Date Usage period end date.
accrual - Float Current accrual.
accrualAdjustment - Float Accrual adjustment.
totalAccrual - Float Accrual with adjustment
allowance - Float Current allowance that consist of actual allowance value and carry over allowance when applicable.
totalAvailable - Float The number of available days including carried over days.
available - Float The number representing difference between accrual and the number of requested days.
requested - Float The number of days already taken within this balance.
totalRequested - Float The number of requested days including carried over used days.
usageAdjustment - Float Usage adjustment.
used - Float The sum of requested days (including carried over days) and usage adjustment.
carryOverAllowance - Float A number of days that can be used within carry over period.
carryOverAllowanceAdjustment - Float Carry over allowance adjustment.
totalCarryOverAllowance - Float Carry over allowance with adjustment.
carryOverExpirationDate - Date A date of the end of carry over period. After this date, carried over days cannot be used.
isCarryOverApplied - Boolean Indicates whether carry over rules have been applied to the balance.
isCarryOverActive - Boolean Indicates whether carry over period is ongoing.
isCarryOverExpired - Boolean Indicates whether carry over period ended.
carryOverAvailable - Float Difference between carry over allowance and the number of days taken within carry over period. It becomes null after carry over expiration.
carryOverRequested - Float The number of days requested in carry over period. Value remains unchanged after carry over expiration.
carryOverLeft - Float The number of carry over days available within the balance. Value remains unchanged after carry over expiration.
allocationType - AllocationType Allocation type.
nextMonthlyAccrual - NextMonthlyAccrual
planned - Float
Implemented interface

TimeOffBalance

Example
{
  "id": "4",
  "user": User,
  "timeOffRule": TimeOffRule,
  "periodStartDate": "2007-12-03",
  "periodEndDate": "2007-12-03",
  "usagePeriodStartDate": "2007-12-03",
  "usagePeriodEndDate": "2007-12-03",
  "accrual": 123.45,
  "accrualAdjustment": 123.45,
  "totalAccrual": 123.45,
  "allowance": 123.45,
  "totalAvailable": 987.65,
  "available": 123.45,
  "requested": 987.65,
  "totalRequested": 987.65,
  "usageAdjustment": 987.65,
  "used": 123.45,
  "carryOverAllowance": 987.65,
  "carryOverAllowanceAdjustment": 987.65,
  "totalCarryOverAllowance": 123.45,
  "carryOverExpirationDate": "2007-12-03",
  "isCarryOverApplied": true,
  "isCarryOverActive": true,
  "isCarryOverExpired": true,
  "carryOverAvailable": 987.65,
  "carryOverRequested": 123.45,
  "carryOverLeft": 123.45,
  "allocationType": "ACCRUAL",
  "nextMonthlyAccrual": NextMonthlyAccrual,
  "planned": 987.65
}

Signature

Fields
Field Name Description
id - ID Unique identifier for the signature
status - SignatureStatus Current status of the signature process
docusignSignatureRequest - DocusignSignatureRequest Docusign signature request associated with this signature
signatureSigners - [SignatureSigner] Signers involved in the signature process
Example
{
  "id": "4",
  "status": "COMPLETED",
  "docusignSignatureRequest": DocusignSignatureRequest,
  "signatureSigners": [SignatureSigner]
}

SignatureSigner

Description

Signer involved in the signature process

Fields
Field Name Description
user - User User associated with the signer
status - SignatureSignerStatus Current status of the signer in the signature process
email - String Email address of the signer
name - String Full name of the signer
Example
{
  "user": User,
  "status": "COMPLETED",
  "email": "abc123",
  "name": "xyz789"
}

SocialAccount

Description

Represents a social account.

Fields
Field Name Description
type - String Social account type.
identifier - String Social account identifier.
Example
{
  "type": "abc123",
  "identifier": "xyz789"
}

SortArg

Description

Ordering information.

Fields
Field Name Description
field - String Name of the field the result is ordered by.
direction - String The ordering direction.
Example
{
  "field": "xyz789",
  "direction": "xyz789"
}

StringUserCustomFieldValue

Description

User's custom field value of string type.

Fields
Field Name Description
id - ID Custom field value ID.
customField - CustomField Associated custom field.
canWrite - Boolean Can write boolean value.
valueString - String
Implemented interface

UserCustomFieldValue

Example
{
  "id": "4",
  "customField": CustomField,
  "canWrite": true,
  "valueString": "xyz789"
}

Team

Description

Represents a team.

Fields
Field Name Description
id - ID Id.
name - String Name of the team.
kind - TeamKind Team kind.
Example
{
  "id": "4",
  "name": "xyz789",
  "kind": "GROUP"
}

TeamsPage

Fields
Field Name Description
items - [Team]!
pageInfo - PageInfo!
Example
{
  "items": [Team],
  "pageInfo": PageInfo
}

TimeOffBalancesPage

Description

Paginated list of time off balances.

Fields
Field Name Description
items - [TimeOffBalance]! A list of time off balances.
pageInfo - PageInfo! Pagination metadata.
Example
{
  "items": [TimeOffBalance],
  "pageInfo": PageInfo
}

TimeOffPolicy

Description

Represents a time off policy.

Fields
Field Name Description
id - ID Id.
name - String Name.
Example
{"id": 4, "name": "xyz789"}

TimeOffRequestOvertimeBalanceTransaction

Description

Time off request overtime balance transaction.

Fields
Field Name Description
id - ID Id.
balance - Int Balance after transaction.
change - Int Change to balance inflicted by transaction.
type - OvertimeBalanceTransactionType Overtime balance transaction type.
date - Date Date of transaction.
Implemented interface

OvertimeBalanceTransaction

Example
{
  "id": "4",
  "balance": 123,
  "change": 123,
  "type": "INITIAL",
  "date": "2007-12-03"
}

TimeOffRequestRecalculationOvertimeBalanceTransaction

Description

Time off request recalculation overtime balance transaction.

Fields
Field Name Description
id - ID Id.
balance - Int Balance after transaction.
change - Int Change to balance inflicted by transaction.
type - OvertimeBalanceTransactionType Overtime balance transaction type.
date - Date Date of transaction.
dateFrom - Date Recalculation period start.
dateTo - Date Recalculation period end.
editor - User User that updated time off request which triggered recalculation.
Implemented interface

OvertimeBalanceTransaction

Example
{
  "id": "4",
  "balance": 123,
  "change": 987,
  "type": "INITIAL",
  "date": "2007-12-03",
  "dateFrom": "2007-12-03",
  "dateTo": "2007-12-03",
  "editor": User
}

TimeOffRequestUsage

Description

Represents time off request usage.

Fields
Field Name Description
timeOffRule - TimeOffRule Time off rule.
requestCount - Int Request count.
usage - Float Usage.
Example
{
  "timeOffRule": TimeOffRule,
  "requestCount": 987,
  "usage": 987.65
}

TimeOffRequestUsageStatement

Description

Represents time off request usage statement.

Fields
Field Name Description
user - User User.
items - [TimeOffRequestUsage!] A list of time off request usage.
Example
{
  "user": User,
  "items": [TimeOffRequestUsage]
}

TimeOffRequestUsageStatementsPage

Description

Paginated list of time off request usage statements.

Fields
Field Name Description
items - [TimeOffRequestUsageStatement]! A list off time off request usage statements.
pageInfo - PageInfo! Pagination metadata.
Example
{
  "items": [TimeOffRequestUsageStatement],
  "pageInfo": PageInfo
}

TimeOffRule

Description

Represents time off rule.

Fields
Field Name Description
id - ID Id.
timeOffType - TimeOffType Time off type.
timeOffPolicy - TimeOffPolicy Time off policy.
isActive - Boolean Is active.
allocationType - AllocationType Allocation type.
recalculationDate - RecalculationDate Recalculation date.
totalAllowance - Float Total allowance.
accrualFrequency - AccrualFrequency Accrual frequency.
carryOverLimit - Int Carry over limit.
carryOverExpirationDate - CarryOverExpirationDate Carry over expiration date.
isAbsence - Boolean Is absence.
isAutoApprovalEnabled - Boolean Is auto approval enabled.
usagePeriod - UsagePeriod Usage period.
weeklyLimit - Int Weekly limit.
deductionMode - DeductionMode Deduction mode.
Example
{
  "id": "4",
  "timeOffType": TimeOffType,
  "timeOffPolicy": TimeOffPolicy,
  "isActive": true,
  "allocationType": "ACCRUAL",
  "recalculationDate": RecalculationDate,
  "totalAllowance": 123.45,
  "accrualFrequency": "UPFRONT_YEARLY",
  "carryOverLimit": 987,
  "carryOverExpirationDate": CarryOverExpirationDate,
  "isAbsence": false,
  "isAutoApprovalEnabled": true,
  "usagePeriod": "CURRENT",
  "weeklyLimit": 123,
  "deductionMode": "WORKWEEK"
}

TimeOffType

Description

Represents a time off type.

Fields
Field Name Description
id - ID Id.
name - String Name.
isVisible - Boolean Indicates that time off requests of that type can be visible to team members.
color - String RGB color code.
Example
{
  "id": 4,
  "name": "xyz789",
  "isVisible": false,
  "color": "xyz789"
}

TimeOffTypesPage

Fields
Field Name Description
items - [TimeOffType]!
pageInfo - PageInfo!
Example
{
  "items": [TimeOffType],
  "pageInfo": PageInfo
}

Timesheet

Description

Represents a timesheet.

Fields
Field Name Description
id - ID Id.
date - Date Date.
expectedTime - Int Expected time based on work schedule in seconds.
trackedTime - Int Tracked time in seconds.
timeOffTime - Int Time off time in seconds.
holidayTime - Int Holiday time in seconds.
totalTime - Int Sum of tracked, holiday, time off time minus break time.
breakTime - Int Break time in seconds.
isWorkday - Boolean Is workday.
isApproved - Boolean Is approved.
expectedPartOfDay - PartOfDay Expected part of day based on work schedule as PartOfDay enum.
trackedPartOfDay - PartOfDay Tracked part of day.
timeOffPartOfDay - PartOfDay Time off time as part of day.
holidayPartOfDay - PartOfDay Holiday time as part of day.
totalDays - Float Sum of tracked, holiday and time off parts of day.
timeOffs - [TimesheetTimeOff] List of time offs on timesheet day.
holidays - [TimesheetHoliday] List of holidays on timesheet day.
timesheetEntries - [TimesheetEntry] List of timesheet entries.
breakRuleViolations - [TimesheetBreakRuleViolation] List of break rule violations.
Example
{
  "id": 4,
  "date": "2007-12-03",
  "expectedTime": 123,
  "trackedTime": 987,
  "timeOffTime": 987,
  "holidayTime": 123,
  "totalTime": 987,
  "breakTime": 987,
  "isWorkday": false,
  "isApproved": true,
  "expectedPartOfDay": "FULL_DAY",
  "trackedPartOfDay": "FULL_DAY",
  "timeOffPartOfDay": "FULL_DAY",
  "holidayPartOfDay": "FULL_DAY",
  "totalDays": 987.65,
  "timeOffs": [TimesheetTimeOff],
  "holidays": [TimesheetHoliday],
  "timesheetEntries": [TimesheetEntry],
  "breakRuleViolations": [TimesheetBreakRuleViolation]
}

TimesheetBreakRuleViolation

Description

Represents a timesheet break rule violation.

Fields
Field Name Description
workScheduleBreakRule - WorkScheduleBreakRule Violated break rule.
rangeFrom - DateTime Violation range start.
rangeTo - DateTime Violation range end.
Example
{
  "workScheduleBreakRule": WorkScheduleBreakRule,
  "rangeFrom": "2007-12-03T10:15:30Z",
  "rangeTo": "2007-12-03T10:15:30Z"
}

TimesheetEntry

Description

Represents a timesheet entry.

Fields
Field Name Description
id - ID Id.
startAt - Time Start time.
endAt - Time End time.
partOfDay - PartOfDay Part of day.
type - TimesheetEntryType Timesheet entry type.
note - String Optional note.
project - Project Project.
Example
{
  "id": "4",
  "startAt": "10:15:30Z",
  "endAt": "10:15:30Z",
  "partOfDay": "FULL_DAY",
  "type": "MANUAL",
  "note": "abc123",
  "project": Project
}

TimesheetHoliday

Description

Represents a holiday.

Fields
Field Name Description
name - String Holiday name.
isHalfDay - Boolean Is holiday a half day or a full day.
partOfDay - PartOfDay Holiday part of day.
Example
{
  "name": "xyz789",
  "isHalfDay": false,
  "partOfDay": "FULL_DAY"
}

TimesheetTimeOff

Description

Represents a time off.

Fields
Field Name Description
key - String Time off type key.
name - String Time off type name.
partOfDay - PartOfDay Time off part of day.
isAbsence - Boolean Is time off considered as absence.
Example
{
  "key": "xyz789",
  "name": "xyz789",
  "partOfDay": "FULL_DAY",
  "isAbsence": false
}

TimesheetsPage

Description

Paginated list of timesheets.

Fields
Field Name Description
items - [Timesheet]! A list of timesheets.
pageInfo - PageInfo! Pagination metadata.
Example
{
  "items": [Timesheet],
  "pageInfo": PageInfo
}

UncategorizedTrackedTime

Description

Tracked time not assigned to any project.

Fields
Field Name Description
trackedTime - Int Tracked time in seconds.
trackedDays - Float Tracked days.
Implemented interface

CategorizedTrackedTime

Example
{"trackedTime": 123, "trackedDays": 987.65}

UrlUserCustomFieldValue

Fields
Field Name Description
id - ID
valueUrl - String
customField - CustomField
canWrite - Boolean
Implemented interface

UserCustomFieldValue

Example
{
  "id": "4",
  "valueUrl": "xyz789",
  "customField": CustomField,
  "canWrite": false
}

User

Description

Represents a user.

Fields
Field Name Description
id - ID Id.
firstName - String First name.
lastName - String Last name.
email - String Email address.
gender - Gender Gender
workPhones - [String] A list of work phone numbers.
employmentStartDate - Date User's work started date.
employmentEndDate - Date User's work ended date.
probationEndDate - Date User's probation end date.
aboutMe - String Short info about the user.
employeeNumber - String User's employee number.
birthDate - Date User's birth date.
personalEmail - String User's personal e-mail address.
address - PersonalAddress User's personal address of residence.
invitationStatus - InvitationStatus Status of user's invitation.
language - Language User's language.
position - Position The position a user is assigned to.
team - Team The team a user is assigned to.
teams - [Team] The teams a user is assigned to.
location - Location The location a user is assigned to.
isActive - Boolean Is user active or inactive.
workSchedule - WorkSchedule User's work schedule
manager - User User's manager
nationality - String Nationality.
personalPhone - String Personal phone number.
socialAccounts - [SocialAccount] List of social accounts.
pronouns - String User pronouns.
maritalStatus - MaritalStatus Marital status.
contact - EmergencyContact Emergency contact.
taxIDNumber - String Tax ID number.
insuranceNumber - String Insurance number.
insuranceCompanyName - String Insurance company name.
insuranceType - InsuranceType Insurance type.
childrenCount - Float Number of children.
IBAN - String IBAN
BIC - String BIC
profilePictureURL - String Profile picture URL.
customFieldValues - [UserCustomFieldValue] List of custom field values.
Arguments
filter - UserCustomFieldFilterInput

User custom field values filter.

Example
{
  "id": 4,
  "firstName": "abc123",
  "lastName": "xyz789",
  "email": "abc123",
  "gender": "MALE",
  "workPhones": ["abc123"],
  "employmentStartDate": "2007-12-03",
  "employmentEndDate": "2007-12-03",
  "probationEndDate": "2007-12-03",
  "aboutMe": "xyz789",
  "employeeNumber": "xyz789",
  "birthDate": "2007-12-03",
  "personalEmail": "xyz789",
  "address": PersonalAddress,
  "invitationStatus": "NOT_SENT",
  "language": "ENGLISH",
  "position": Position,
  "team": Team,
  "teams": [Team],
  "location": Location,
  "isActive": true,
  "workSchedule": WorkSchedule,
  "manager": User,
  "nationality": "xyz789",
  "personalPhone": "xyz789",
  "socialAccounts": [SocialAccount],
  "pronouns": "xyz789",
  "maritalStatus": "SINGLE",
  "contact": EmergencyContact,
  "taxIDNumber": "abc123",
  "insuranceNumber": "abc123",
  "insuranceCompanyName": "abc123",
  "insuranceType": "PRIVATE",
  "childrenCount": 123.45,
  "IBAN": "xyz789",
  "BIC": "abc123",
  "profilePictureURL": "abc123",
  "customFieldValues": [UserCustomFieldValue]
}

UserAccessCollection

Description

See Collection

Fields
Field Name Description
id - ID
archivedAt - DateTime
name - String
description - String
icon - String
position - Int
type - CollectionType
scope - CollectionScope
trackActivities - Boolean
collectionFields - [CollectionField]
accessRule - UserAccessRule
Implemented interface

Collection

Example
{
  "id": "4",
  "archivedAt": "2007-12-03T10:15:30Z",
  "name": "xyz789",
  "description": "abc123",
  "icon": "abc123",
  "position": 123,
  "type": "ITEMS",
  "scope": "USER",
  "trackActivities": false,
  "collectionFields": [CollectionField],
  "accessRule": UserAccessRule
}

UserAccessRule

Fields
Field Name Description
manager - AccessLevel
employee - AccessLevel
all - AccessLevel
custom - [CustomAccessRule]
Implemented interface

AccessRule

Example
{
  "manager": "READ",
  "employee": "READ",
  "all": "READ",
  "custom": [CustomAccessRule]
}

UserScopeCollectionItem

Description

See CollectionItem

Fields
Field Name Description
id - ID
createdAt - DateTime
collectionId - ID
assignedUserId - ID
createdById - ID
collectionItemValues - [CollectionItemValue]
assignedUser - User
createdBy - User
Implemented interface

CollectionItem

Example
{
  "id": 4,
  "createdAt": "2007-12-03T10:15:30Z",
  "collectionId": 4,
  "assignedUserId": 4,
  "createdById": 4,
  "collectionItemValues": [CollectionItemValue],
  "assignedUser": User,
  "createdBy": User
}

UserUserCustomFieldValue

Fields
Field Name Description
id - ID
valueUser - User
customField - CustomField
canWrite - Boolean
Implemented interface

UserCustomFieldValue

Example
{
  "id": "4",
  "valueUser": User,
  "customField": CustomField,
  "canWrite": false
}

UsersPage

Description

Paginated list of users.

Fields
Field Name Description
items - [User]! A list of users.
pageInfo - PageInfo! Pagination metadata.
Example
{
  "items": [User],
  "pageInfo": PageInfo
}

VacationTimeOffBalance

Description

Vacation time off balance.

Fields
Field Name Description
id - ID Id.
user - User User.
timeOffRule - TimeOffRule Time off rule.
periodStartDate - Date Accrual period start date.
periodEndDate - Date Accrual period end date.
usagePeriodStartDate - Date Usage period start date.
usagePeriodEndDate - Date Usage period end date.
accrual - Float Current accrual.
accrualAdjustment - Float Accrual adjustment.
totalAccrual - Float Accrual with adjustment
allowance - Float Current allowance that consist of actual allowance value and carry over allowance when applicable.
totalAvailable - Float The number of available days including carried over days.
available - Float The number representing difference between accrual and the number of requested days.
requested - Float The number of days already taken within this balance.
totalRequested - Float The number of requested days including carried over used days.
usageAdjustment - Float Usage adjustment.
used - Float The sum of requested days (including carried over days) and usage adjustment.
carryOverAllowance - Float A number of days that can be used within carry over period.
carryOverAllowanceAdjustment - Float Carry over allowance adjustment.
totalCarryOverAllowance - Float Carry over allowance with adjustment.
carryOverExpirationDate - Date A date of the end of carry over period. After this date, carried over days cannot be used.
isCarryOverApplied - Boolean Indicates whether carry over rules have been applied to the balance.
isCarryOverActive - Boolean Indicates whether carry over period is ongoing.
isCarryOverExpired - Boolean Indicates whether carry over period ended.
carryOverAvailable - Float Difference between carry over allowance and the number of days taken within carry over period. It becomes null after carry over expiration.
carryOverRequested - Float The number of days requested in carry over period. Value remains unchanged after carry over expiration.
carryOverLeft - Float The number of carry over days available within the balance. Value remains unchanged after carry over expiration.
allocationType - AllocationType Allocation type.
nextMonthlyAccrual - NextMonthlyAccrual
planned - Float
Implemented interface

TimeOffBalance

Example
{
  "id": 4,
  "user": User,
  "timeOffRule": TimeOffRule,
  "periodStartDate": "2007-12-03",
  "periodEndDate": "2007-12-03",
  "usagePeriodStartDate": "2007-12-03",
  "usagePeriodEndDate": "2007-12-03",
  "accrual": 123.45,
  "accrualAdjustment": 987.65,
  "totalAccrual": 123.45,
  "allowance": 987.65,
  "totalAvailable": 987.65,
  "available": 987.65,
  "requested": 123.45,
  "totalRequested": 123.45,
  "usageAdjustment": 987.65,
  "used": 987.65,
  "carryOverAllowance": 123.45,
  "carryOverAllowanceAdjustment": 987.65,
  "totalCarryOverAllowance": 123.45,
  "carryOverExpirationDate": "2007-12-03",
  "isCarryOverApplied": true,
  "isCarryOverActive": false,
  "isCarryOverExpired": true,
  "carryOverAvailable": 123.45,
  "carryOverRequested": 987.65,
  "carryOverLeft": 123.45,
  "allocationType": "ACCRUAL",
  "nextMonthlyAccrual": NextMonthlyAccrual,
  "planned": 123.45
}

WorkHours

Description

Work hours.

Fields
Field Name Description
start - Int! Work start hour in seconds from midnight.
end - Int! Work end hour in seconds from midnight.
breakStart - Int Break start hour in seconds from midnight.
breakEnd - Int Break end hour in seconds from midnight.
duration - Int Total work hours duration in seconds.
Example
{"start": 123, "end": 987, "breakStart": 123, "breakEnd": 987, "duration": 123}

WorkSchedule

Description

Work Schedule.

Fields
Field Name Description
id - ID Id.
name - String Name.
calculationMethod - CalculationMethod Calculation method.
workHours - [WorkHours] Work hours.
workDays - [PartOfDay] Work days.
isTimesheetValidationEnabled - Boolean Is timesheet validation enabled
timesheetEditLimit - Int Timesheet edit limit in days.
isPrefillEnabled - Boolean Is prefill enabled.
mealVoucherExpectedTime - Int Meal voucher expected time in seconds.
isOvertimeTrackingEnabled - Boolean Is overtime tracking enabled.
isOvertimeRolling - Boolean Is overtime rolling.
overtimeCalculationFrequency - OvertimeCalculationFrequencyType Overtime calculation frequency.
Example
{
  "id": 4,
  "name": "abc123",
  "calculationMethod": "HOURS_AND_MINUTES",
  "workHours": [WorkHours],
  "workDays": ["FULL_DAY"],
  "isTimesheetValidationEnabled": true,
  "timesheetEditLimit": 987,
  "isPrefillEnabled": false,
  "mealVoucherExpectedTime": 123,
  "isOvertimeTrackingEnabled": true,
  "isOvertimeRolling": false,
  "overtimeCalculationFrequency": "MONTHLY"
}

WorkScheduleAssignmentRecalculationOvertimeBalanceTransaction

Description

Work schedule assignment recalculation overtime balance transaction.

Fields
Field Name Description
id - ID Id.
balance - Int Balance after transaction.
change - Int Change to balance inflicted by transaction.
type - OvertimeBalanceTransactionType Overtime balance transaction type.
date - Date Date of transaction.
dateFrom - Date Recalculation period start.
dateTo - Date Recalculation period end.
editor - User User that updated timesheet which triggered recalculation.
Implemented interface

OvertimeBalanceTransaction

Example
{
  "id": 4,
  "balance": 123,
  "change": 123,
  "type": "INITIAL",
  "date": "2007-12-03",
  "dateFrom": "2007-12-03",
  "dateTo": "2007-12-03",
  "editor": User
}

WorkScheduleBreakRule

Description

Represents work schedule break rule.

Fields
Field Name Description
id - ID Id.
name - String Rule name.
workTimeDuration - Int Work time duration in seconds.
requiredBreakDuration - Int Required break duration in seconds.
Example
{
  "id": "4",
  "name": "abc123",
  "workTimeDuration": 123,
  "requiredBreakDuration": 123
}

Inputs

AttendanceStatementFilterInput

Description

Filter for the list of attendance statements.

Fields
Input Field Description
date - DateRangeFilter! Date range.
hasTrackedTimeInProject - IdEqualityFilter Has tracked time in Project of given id.
hasUncategorizedTrackedTime - BooleanEqualityFilter Has tracked time not assigned to any project.
allowInactiveUsers - BooleanEqualityFilter Allow inactive users.
Example
{
  "date": DateRangeFilter,
  "hasTrackedTimeInProject": IdEqualityFilter,
  "hasUncategorizedTrackedTime": BooleanEqualityFilter,
  "allowInactiveUsers": BooleanEqualityFilter
}

AttendanceStatementProjectsFilterInput

Description

Filter for the attendance statement projects.

Fields
Input Field Description
calculationMethod - CalculationMethodFilter Calculation method.
Example
{"calculationMethod": CalculationMethodFilter}

AvailableManagersFilterInput

Description

Filter for the list of available managers.

Fields
Input Field Description
userId - ID ID of the user for whom the available managers list is queried.
Example
{"userId": 4}

BooleanEqualityFilter

Description

Boolean value filter using ComparisonOperator.

Fields
Input Field Description
operator - ComparisonOperator! Operator.
value - Boolean! Value.
Example
{"operator": "EQUAL", "value": false}

CalculationMethodFilter

Description

Calculation method filter.

Fields
Input Field Description
operator - ComparisonOperator! Operator.
value - CalculationMethod! Value.
Example
{"operator": "EQUAL", "value": "HOURS_AND_MINUTES"}

CollectionItemSortArgInput

Fields
Input Field Description
field - ID! The ID of the field to sort by.
direction - SortOrder! The direction of the sort, either ascending or descending.
Example
{"field": 4, "direction": "ASC"}

CreateJourneyInput

Fields
Input Field Description
isPreonboardingAccessEnabled - Boolean
personalEmail - String
Example
{
  "isPreonboardingAccessEnabled": true,
  "personalEmail": "xyz789"
}

CreateProjectInput

Description

Input data for project creation.

Fields
Input Field Description
name - String! Name.
status - ProjectStatus Status.
Example
{"name": "xyz789", "status": "ACTIVE"}

CreateTimesheetEntryInput

Description

Input data for timesheet entry creation.

Fields
Input Field Description
startAt - String Start time in format: HH:mm:ss.
endAt - String End time in format: HH:mm:ss.
partOfDay - PartOfDay Part of day as PartOfDay enum.
type - TimesheetEntryType! Timesheet entry type.
note - String Optional note.
projectId - ID Id of the project.
Example
{
  "startAt": "abc123",
  "endAt": "xyz789",
  "partOfDay": "FULL_DAY",
  "type": "MANUAL",
  "note": "abc123",
  "projectId": 4
}

CreateUserInput

Description

Input data for user creation.

Fields
Input Field Description
firstName - String! First name.
lastName - String! Last name.
email - String! Email address.
workPhones - [String] A list of work phone numbers.
employmentStartDate - Date User's work started date.
aboutMe - String Short info about the user.
gender - Gender Gender.
managerId - ID ID of the user's manager.
nationality - String Nationality.
teamIds - [ID] List of IDs of teams user belongs to.
positionId - ID Position ID.
locationId - ID Location ID.
birthDate - Date Date of birth.
personalPhone - String Personal phone number.
personalEmail - String Personal email address
address - PersonalAddressInput Address.
socialAccounts - [SocialAccountInput] List of social accounts.
pronouns - String User pronouns.
customFieldValues - [UserCustomFieldValueInput] List of user's custom field values.
Example
{
  "firstName": "abc123",
  "lastName": "xyz789",
  "email": "abc123",
  "workPhones": ["xyz789"],
  "employmentStartDate": "2007-12-03",
  "aboutMe": "abc123",
  "gender": "MALE",
  "managerId": 4,
  "nationality": "xyz789",
  "teamIds": ["4"],
  "positionId": 4,
  "locationId": "4",
  "birthDate": "2007-12-03",
  "personalPhone": "abc123",
  "personalEmail": "abc123",
  "address": PersonalAddressInput,
  "socialAccounts": [SocialAccountInput],
  "pronouns": "abc123",
  "customFieldValues": [UserCustomFieldValueInput]
}

DateComparisonFilter

Description

Date value filter using ComparisonOperator.

Fields
Input Field Description
operator - ComparisonOperator! Operator.
value - Date! Value.
Example
{"operator": "EQUAL", "value": "2007-12-03"}

DateRangeFilter

Description

Date range value filter using RangeOperator.

Fields
Input Field Description
operator - RangeOperator! Operator.
value - DateRangeFilterValue! Value.
Example
{"operator": "BETWEEN", "value": DateRangeFilterValue}

DateRangeFilterValue

Description

Date range.

Fields
Input Field Description
min - Date! Date range start.
max - Date! Date range end.
exclusive - Boolean Is date range exclusive or not.
Example
{
  "min": "2007-12-03",
  "max": "2007-12-03",
  "exclusive": false
}

IdArrayFilter

Description

ID value filter using ArrayOperator.

Fields
Input Field Description
operator - ArrayOperator! Operator.
value - [ID!]! Value.
Example
{"operator": "IN", "value": [4]}

IdEqualityFilter

Description

ID value filter using ComparisonOperator.

Fields
Input Field Description
operator - ComparisonOperator! Operator.
value - ID! Value.
Example
{"operator": "EQUAL", "value": 4}

JourneyStatusFilter

Description

Input type for filtering journey statuses.

Fields
Input Field Description
operator - ComparisonOperator! Operator for comparing journey statuses.
value - JourneyStatus! Value of the journey status to filter by.
Example
{"operator": "EQUAL", "value": "DRAFT"}

JourneyTemplatesFilterInput

Description

Filters for JourneyTemplate queries

Fields
Input Field Description
journeyTypeId - [IdEqualityFilter!] Filter by journey type IDs.
Example
{"journeyTypeId": [IdEqualityFilter]}

JourneysFilterInput

Description

Input type for filtering journeys.

Fields
Input Field Description
journeyTypeIds - [IdArrayFilter!] Filter by journey type IDs.
assigneeIds - [IdArrayFilter!] Filter by assignee IDs.
status - [JourneyStatusFilter!] Filter by journey statuses.
teamIds - [IdArrayFilter!] Filter by team IDs.
hasTasksAssignedToCurrentUser - BooleanEqualityFilter Filter journeys that have tasks assigned to the current user.
Example
{
  "journeyTypeIds": [IdArrayFilter],
  "assigneeIds": [IdArrayFilter],
  "status": [JourneyStatusFilter],
  "teamIds": [IdArrayFilter],
  "hasTasksAssignedToCurrentUser": BooleanEqualityFilter
}

OvertimeBalanceTransactionsFilterInput

Description

Filter for the list of overtime balance transactions.

Fields
Input Field Description
date - [DateComparisonFilter!] Date.
Example
{"date": [DateComparisonFilter]}

PersonalAddressInput

Description

Input data for Personal Address.

Fields
Input Field Description
street - String Street.
city - String City.
state - String State.
postalCode - String Postal code.
country - String Country.
Example
{
  "street": "abc123",
  "city": "abc123",
  "state": "abc123",
  "postalCode": "xyz789",
  "country": "abc123"
}

ProjectFilterInput

Description

Filter for the list of projects.

Fields
Input Field Description
status - [ProjectStatusFilter!] Status.
Example
{"status": [ProjectStatusFilter]}

ProjectStatusFilter

Description

Project status filter.

Fields
Input Field Description
operator - ComparisonOperator! Operator.
value - ProjectStatus! Value.
Example
{"operator": "EQUAL", "value": "ACTIVE"}

SocialAccountInput

Description

Input for user social accounts.

Fields
Input Field Description
type - String Social account type.
identifier - String Social account identifier.
Example
{
  "type": "abc123",
  "identifier": "abc123"
}

SortArgInput

Description

Ordering options.

Fields
Input Field Description
field - String Name of the field to sort by.
direction - String The ordering direction.
Example
{
  "field": "abc123",
  "direction": "xyz789"
}

StringEqualityFilter

Description

String value filter using StringComparisonOperator.

Fields
Input Field Description
operator - StringComparisonOperator! Operator.
value - String! Value.
Example
{"operator": "EQUAL", "value": "xyz789"}

TimeOffBalanceFilterInput

Description

Filter for the list of time off balances.

Fields
Input Field Description
periodStartDate - [DateComparisonFilter!] Accrual period start date.
periodEndDate - [DateComparisonFilter!] Accrula period end date.
usagePeriodStartDate - [DateComparisonFilter!] Usage period start date.
usagePeriodEndDate - [DateComparisonFilter!] Usage period end date.
timeOffRuleId - [IdEqualityFilter!] Time off rule id.
timeOffTypeId - [IdEqualityFilter!] Time off type id.
isActive - BooleanEqualityFilter Indicates if time off balance is active or inactive.
Example
{
  "periodStartDate": [DateComparisonFilter],
  "periodEndDate": [DateComparisonFilter],
  "usagePeriodStartDate": [DateComparisonFilter],
  "usagePeriodEndDate": [DateComparisonFilter],
  "timeOffRuleId": [IdEqualityFilter],
  "timeOffTypeId": [IdEqualityFilter],
  "isActive": BooleanEqualityFilter
}

UpdateJourneyInput

Fields
Input Field Description
status - JourneyStatus
isPreonboardingAccessEnabled - Boolean
personalEmail - String
Example
{
  "status": "DRAFT",
  "isPreonboardingAccessEnabled": true,
  "personalEmail": "abc123"
}

UpdateProjectInput

Description

Input data for project update.

Fields
Input Field Description
name - String Name.
status - ProjectStatus Status.
Example
{"name": "abc123", "status": "ACTIVE"}

UpdateTimesheetEntryInput

Description

Input data for timesheet entry update.

Fields
Input Field Description
startAt - String Start time in format: HH:mm:ss.
endAt - String End time in format: HH:mm:ss.
partOfDay - PartOfDay Part of day as PartOfDay enum.
note - String Optional note.
projectId - ID Id of the project.
Example
{
  "startAt": "xyz789",
  "endAt": "abc123",
  "partOfDay": "FULL_DAY",
  "note": "abc123",
  "projectId": "4"
}

UpdateUserInput

Description

Input data for user update.

Fields
Input Field Description
firstName - String First name.
lastName - String Last name.
workPhones - [String] A list of work phone numbers.
employmentStartDate - Date User's work started date.
aboutMe - String Short info about user.
positionId - ID Position's id.
teamId - ID Team's id.
teamIds - [ID] Team ids.
locationId - ID Location's id.
managerId - ID Manager's id.
gender - Gender Gender.
nationality - String Nationality.
birthDate - Date Date of birth.
personalPhone - String Personal phone number.
personalEmail - String Personal email address
address - PersonalAddressInput Address.
socialAccounts - [SocialAccountInput] List of social accounts.
pronouns - String User pronouns.
customFieldValues - [UserCustomFieldValueInput] List of user's custom field values.
Example
{
  "firstName": "abc123",
  "lastName": "xyz789",
  "workPhones": ["xyz789"],
  "employmentStartDate": "2007-12-03",
  "aboutMe": "abc123",
  "positionId": "4",
  "teamId": 4,
  "teamIds": [4],
  "locationId": 4,
  "managerId": "4",
  "gender": "MALE",
  "nationality": "xyz789",
  "birthDate": "2007-12-03",
  "personalPhone": "xyz789",
  "personalEmail": "abc123",
  "address": PersonalAddressInput,
  "socialAccounts": [SocialAccountInput],
  "pronouns": "abc123",
  "customFieldValues": [UserCustomFieldValueInput]
}

UserCustomFieldFilterInput

Description

User custom field filter input.

Fields
Input Field Description
section - UserCustomFieldSectionFilter User profile section associated with the custom field.
Example
{"section": UserCustomFieldSectionFilter}

UserCustomFieldSectionFilter

Description

User custom field section filter.

Fields
Input Field Description
operator - ArrayOperator! Operator.
value - [CustomFieldSection]! Value.
Example
{"operator": "IN", "value": ["PROFESSIONAL"]}

UserCustomFieldValueInput

Description

Input for creating user custom field values.

Fields
Input Field Description
customFieldId - ID! ID of associated custom field.
valueString - String String value.
valueDate - Date Date value.
valueNumber - Float Number value.
valueStartDate - Date
valueEndDate - Date
valuePlainText - String
valueRichText - String
valueBoolean - Boolean
valueUrl - String
valueUserId - ID
valueChoiceIds - [ID]
Example
{
  "customFieldId": 4,
  "valueString": "xyz789",
  "valueDate": "2007-12-03",
  "valueNumber": 987.65,
  "valueStartDate": "2007-12-03",
  "valueEndDate": "2007-12-03",
  "valuePlainText": "abc123",
  "valueRichText": "xyz789",
  "valueBoolean": false,
  "valueUrl": "abc123",
  "valueUserId": 4,
  "valueChoiceIds": [4]
}

UserFilterInput

Description

Filter for the list of users.

Fields
Input Field Description
positionId - [IdEqualityFilter!] Position's id.
teamId - [IdEqualityFilter!] Team's id.
locationId - [IdEqualityFilter!] Location's id.
ids - [IdArrayFilter!] Ids of users.
isActive - BooleanEqualityFilter Is user active or inactive.
employmentStartDate - [DateComparisonFilter!] User's work started date.
email - StringEqualityFilter User's email.
firstName - StringEqualityFilter User's first name.
lastName - StringEqualityFilter User's last name.
Example
{
  "positionId": [IdEqualityFilter],
  "teamId": [IdEqualityFilter],
  "locationId": [IdEqualityFilter],
  "ids": [IdArrayFilter],
  "isActive": BooleanEqualityFilter,
  "employmentStartDate": [DateComparisonFilter],
  "email": StringEqualityFilter,
  "firstName": StringEqualityFilter,
  "lastName": StringEqualityFilter
}

UserScopeCollectionItemFilterInput

Fields
Input Field Description
assignedUserId - [IdEqualityFilter!] Filter by the ID of the user assigned to the collection item.
createdById - [IdEqualityFilter!] Filter by the ID of the user who created the collection item.
createdAt - [DateComparisonFilter!] Filter by the creation date of the collection item.
Example
{
  "assignedUserId": [IdEqualityFilter],
  "createdById": [IdEqualityFilter],
  "createdAt": [DateComparisonFilter]
}

Upcoming changes

Breaking changes after 2026-01-01

The following mutations don't work anymore due to changes in internal systems. They will be removed from the schema after 2026-01-01.

  • sendInvitation
  • activateUser
  • deactivateUser
  • deleteUser