> ## Documentation Index
> Fetch the complete documentation index at: https://developer-staging.secfix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Working with computers

> Read computers and their device compliance status.

The computers endpoints return the computers in your workspace and each computer's device compliance
status. `isMonitored` tells you whether the Secfix agent reports a computer. Computers are **read-only** in the API, and so are their
[inventory assets](https://developer-staging.secfix.com/guides/inventory.md#what-you-can-write). Their data comes from Secfix's device
integrations.

Reads require **Read** access (`all:read`). See [Scopes](https://developer-staging.secfix.com/scopes.md).

## List computers

`GET /v1/computers` returns a [cursor-paginated](https://developer-staging.secfix.com/pagination.md) list of the computers in your workspace.

```bash theme={null}
curl "https://api.secfix.com/v1/computers?pageSize=50" \
  -H "Authorization: Bearer $TOKEN"
```

## Get a computer

`GET /v1/computers/{id}` returns one computer by its `id`. An unknown `id` returns `404 not_found`.

```bash theme={null}
curl "https://api.secfix.com/v1/computers/$COMPUTER_ID" \
  -H "Authorization: Bearer $TOKEN"
```

## Filter by owner

Pass `ownerId` to list one employee's computers. It takes one employee `id`: the `id` from the
[employees endpoints](https://developer-staging.secfix.com/guides/employees.md), which is also the `ownerId` on each computer. An `id` that
matches no employee in your workspace returns an empty page.

```bash theme={null}
curl "https://api.secfix.com/v1/computers?ownerId=$EMPLOYEE_ID&pageSize=50" \
  -H "Authorization: Bearer $TOKEN"
```

> [!NOTE]
>
> A computer keeps its `ownerId` after the owner is terminated, so it still matches the `ownerId`
> filter. The Secfix app shows that computer as unassigned.

## Compliance status

Each computer has a `compliance` object with the device's security checks:

| Field | Meaning |
| - | - |
| `diskEncryptionEnabled` | Full-disk encryption is on. |
| `antivirusInstalled` | Antivirus or endpoint protection is installed. |
| `screenLockEnabled` | Automatic screen lock is set up. |
| `passwordManagerInstalled` | A password manager is installed. |
| `agentVersion` | Version of the Secfix agent on the device. |

Each computer also has `id`, `name`, `serialNumber`, `operatingSystem`, `osVersion`, `ownerId`,
`isMonitored`, `tags`, and `lastCheckedAt`.

> [!NOTE]
>
> `isMonitored` is `true` when the Secfix agent reports the computer. A computer the agent doesn't report
> is still listed, with `isMonitored: false`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.