---
title: "List the company's employees as short-info entries, filtered and sorted."
method: GET
path: "/core/v1/employees/short-info"
tags: ["Payroll"]
---

# List the company's employees as short-info entries, filtered and sorted.

`GET /core/v1/employees/short-info`

## Request

- Base URL: `https://api.klara.ch`
- URL: `https://api.klara.ch/core/v1/employees/short-info`
- Auth: one of:
  - API key in header `X-API-KEY`
  - HTTP bearer

Returns a lightweight directory of the authenticated company's employees (id, name, email, employee number, workplace, status), resolved from the compensation and person records. Each entry's <code>id</code> is the <code>employeeId</code> consumed by other employee-scoped endpoints (e.g. <code>GET /payroll/employees/{employeeId}/addable-salary-items</code>) — call this endpoint first to resolve an employee's id. Results can be narrowed with a free-text <code>search-key</code> (matched against name, employee number and email), restricted to specific workplaces via <code>workplace-ids</code>, and filtered by contract <code>status</code>; ordering is controlled by <code>sort-field</code> and <code>sort-direction</code>. The tenant and company are derived from the authenticated token; the caller must hold the <code>COMPENSATION_GET_EMPLOYEE</code> permission on that company.

## Query parameters

- `filter-by-status` 'ALL' | 'ACTIVE' | 'INACTIVE' | 'DRAFT': Contract-status filter. Allowed values: ALL, ACTIVE, INACTIVE, DRAFT. Defaults to ALL.
- `search-key` string
- `sort-direction` 'ASC' | 'DESC': Sort direction. Allowed values: ASC, DESC.
- `sort-field` 'NAME' | 'EMAIL' | 'EMPLOYEE_NUMBER': Field to sort the employee listing by. Allowed values: NAME, EMAIL, EMPLOYEE_NUMBER.
- `status` 'ALL' | 'ACTIVE' | 'INACTIVE' | 'DRAFT': Contract-status filter. Allowed values: ALL, ACTIVE, INACTIVE, DRAFT. Defaults to ALL.
- `workplace-ids` integer[]

## Response `200`

Successful operation

- PublicApiEmployeeShortInfo[]
  - `id` integer: Employee id. Use this as employeeId in employee-scoped endpoints.
  - `firstName` string: Employee's first name (resolved from the person record).
  - `lastName` string: Employee's last name (resolved from the person record).
  - `employeeNumber` string: Company-assigned employee number.
  - `email` string: Employee's primary email (resolved from the person record).
  - `workplaceId` integer: Id of the workplace of the employee's current contract.
  - `personnelNumber` string: Personnel number of the employee.
  - `numberOfChildren` integer: <b>Deprecated and not populated. Always returns <code>0</code>; do not read this field.</b> It was published in error — the employee directory does not carry family data — and the compensation service has never supplied a value for it. Scheduled for removal in <code>/core/v2</code>; it is retained here only so the published <code>/core/v1</code> response shape is not altered.
  - `cashPayment` boolean: <b>Deprecated and not populated. Always returns <code>false</code>; do not read this field.</b> It was published in error — the employee directory does not carry payment arrangements — and the compensation service has never supplied a value for it. Scheduled for removal in <code>/core/v2</code>; it is retained here only so the published <code>/core/v1</code> response shape is not altered.
  - `status` string: Contract status of the employee. Allowed values: ACTIVE, INACTIVE, DRAFT.

## Other responses

- `400`: Data invalid<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `401`: No Authorization header found or invalid token<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `403`: The current user is not allowed to access this company data<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `404`: Resource not found<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `429`: API rate limit exceeded<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `500`: Something went wrong on our side while processing the request. Please kindly contact our support.<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.

---

[API](https://skmtc.dev/klara/apis/klara-public-api.md) · [All operations](https://skmtc.dev/klara/apis/klara-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/klara/apis/klara-public-api/revisions/490b1a879fc2?raw)
