Skip to main content

List computers

GET 

/computers

Returns the computers (managed systems) in the inventory, one page at a time.

Required role: superadmin, admin or user. When the "my systems" release toggle is on, a plain user in advanced mode sees only the systems that user can administer.

There are three query modes, chosen by the query string:

  1. IP lookup (ip present). The server queues a DNS lookup job, waits for a worker to finish it, records the address as the computer's last_ip, then returns the computers whose cn and last_ip start with the resolved values (case-insensitive prefix match). If no host name resolves, the response is an empty array.
  2. Advanced (advanced present and not false). Filters accept operators, select picks fields, and retired switches the collection that is searched.
  3. Standard (neither). Any other query parameter filters on a computer field as a case-insensitive starts-with match (true/false match booleans; send plain values). Operators and select are not available. An unknown field returns 400.

Any query parameter that is not reserved (page, limit, sort, inlinePageInfo, advanced, select, retired, ip) is a filter on the field of the same name, using dot notation for nested fields (for example policy.scan=true, os_type=linux, config.directory_bridging.strategy=sssd). Any computer field that is not hidden can be filtered (dot notation for nested fields). Hidden fields, such as objectGUID, and non-string values return 400. Repeat a key as field[]=a&field[]=b for an in-list match.

Advanced operators (value prefixes, advanced mode only; ^, $ and ~ match case-insensitively; equals, not-equal and in-list are exact, case-sensitive matches):

PrefixMeaningExample
(none)equalscn=WEB01
!not equalos_type=!windows
(empty value)field existslast_ip=
! alonefield does not existlast_ip=!
> &gt;= < <=number or date comparisonlastLogonTimestamp=>2026-01-01
^starts withcn=^WEB
$ends withcn=$01
~containscn=~eb0
field[]=a&field[]=bin listos_type[]=linux&os_type[]=macos
field[]=!a&field[]=!bnot in listos_type[]=!linux

Values are converted using the field type (string, number, boolean, date). Date fields also accept relative times such as <=now-30d.

Default fields in a list response: config, objectGUID, distinguishedName, cn, objectSid, domain_fqdn, domain_netbios, operatingSystem, policy, dNSHostName, last_ip, last_scanned, lastLogonTimestamp, lastScan, os_type. In advanced mode select can also name admins.current.

Paging: limit, page and sort apply in every mode. Add inlinePageInfo to wrap the array as {limit, page, pages, total, links, docs}. Out-of-range paging values are not rejected: a limit of 0, a negative limit or a non-numeric limit returns an empty array (X-Pagination-Max-Count: 0); a limit above 1000 is capped at 1000; a page below 1 or non-numeric is treated as page 1; a page past the end returns an empty array; a sort on an unknown field is ignored.

Query errors: in advanced mode an unknown select field or a field that cannot be selected, returns 500 rather than 400; send only fields that exist and can be returned. A filter on an unknown field returns 400 InvalidQuery.

Request​

Responses​

A page of computers. Paging metadata is in the X-Pagination-* and Link headers. In advanced mode X-Pagination-Count carries the requested page size rather than the number of rows returned, and X-Pagination-Max-Count is not sent; standard mode sends both correctly.

Response Headers
    X-Pagination-Count

    Number of records in this page.

    X-Pagination-Max-Count

    Page size used for the request (limit).

    X-Pagination-Page

    Current page number.

    X-Pagination-Pages

    Total number of pages.

    X-Pagination-Total

    Total number of records matching the query.

    Link

    RFC 8288 links with rel values first, last, and, when they exist, prev and next.