Skip to main content
The employees endpoints return the people in your workspace as the People page in Secfix shows them: employment status, group, and onboarding progress. Employees are read-only in the API. Reads require Read access (all:read). See Scopes.

List employees

GET /v1/employees returns a cursor-paginated list of the people included in compliance. Service accounts are never listed.
By default the list returns active employees only. Pass status=TERMINATED to list terminated employees instead.

Filters

Filters combine with AND. A filter that takes several values accepts up to 50 of them, comma-separated in one parameter, for example group=Engineering,Sales. More returns 400 validation_failed.
An unknown status or onboardingStatus value, or a groupId that isn’t a UUID, returns 400 validation_failed.

Get an employee

GET /v1/employees/{id} returns one employee by id. It returns active and terminated employees, so you can still read someone after they leave. An unknown id, an id from another workspace, and a service account all return 404 not_found. An employee’s id is the same value as ownerId on computers and inventory assets. Use it to list an employee’s computers.

Fields

Onboarding status

onboardingStatus follows the same rules as the status on the People page. It is calculated from the employee’s tasks in this workspace that apply to your workspace’s frameworks: An expired task, such as a recurring training, counts as open.
If the same person is an employee in more than one of your workspaces, the People page currently also counts their tasks from the other workspaces. It can then show a different status than the API. The API counts only the tasks of the workspace your API key belongs to.

Tasks summary

tasksSummary breaks onboarding down the way the employee’s page in Secfix does:
  • trainings, deviceMonitoring, policyAcceptance: progress per task category. Each has total (tasks of that category that apply to the employee), completed, and status (same values as onboardingStatus).
  • tasks: the employee’s tasks, in the order the Secfix app shows them. Each task has a key, name, category (TRAINING, POLICIES, or MONITORING), status (COMPLETE, INCOMPLETE, or NOT_APPLICABLE), and completedAt and expiresAt when they apply.
Task keys are stable, but new keys may be added. Treat an unknown key as opaque.
A terminated employee’s tasks keep their real status, even though their onboardingStatus is NOT_APPLICABLE.

Personal data

name and email are personal data. Read access (all:read) returns them. No separate scope protects them. Grant Read access only to API keys that may see your employees’ data. See Scopes.