---
title: "Search and filter devices"
method: POST
path: "/configuration_manager/devices/search"
tags: ["Configuration Manager"]
---

# Search and filter devices

`POST /configuration_manager/devices/search`

## Request

- Base URL: `https://example.itential.io`
- URL: `https://example.itential.io/configuration_manager/devices/search`
- Auth: none declared

Returns a paginated list of devices from the device status collection with support for free-text search, filtering by group, plan, OS types, connection status, compliance score, and backup state.

## Request body

- object
  - `payload` ConfigurationManagerDevicesSearchPostRequestBodyContentApplicationJsonSchemaPayload
    - `search` string: Free-text search across device name, IP address, OS type, group names, and plan names
    - `filters` ConfigurationManagerDevicesSearchPostRequestBodyContentApplicationJsonSchemaPayloadFilters: Filter criteria
      - `groupNames` string[]: Filter by device group names
      - `planNames` string[]: Filter by compliance plan names
      - `groupIds` string[]: Filter by device group IDs
      - `planIds` string[]: Filter by compliance plan IDs
      - `deviceOsTypes` string[]: Filter by device OS types
      - `status` string[]: Filter by connection status values
      - `complianceScore` ConfigurationManagerDevicesSearchPostRequestBodyContentApplicationJsonSchemaPayloadFiltersComplianceScore: Numeric range filter for latest compliance score
        - `gt` number, double
        - `gte` number, double
        - `lt` number, double
        - `lte` number, double
        - `eq` number, double
      - `hasBackup` boolean: Filter devices that have or have not been backed up
      - `isStaleBackup` boolean: Filter devices whose last backup is stale
      - `isAudited` boolean: Filter devices that have or have not been compliance-audited
    - `sort` ConfigurationManagerDevicesSearchPostRequestBodyContentApplicationJsonSchemaPayloadSort: Sort options
      - `field` 'deviceName' | 'ipAddress' | 'deviceOsType' | 'status' | 'groupCount' | 'planCount' | 'lastComplianceScore' | 'lastBackUpDuration' | 'updatedAt' | 'lastErrorAt': Field to sort by
      - `order` 'asc' | 'desc'
    - `pagination` ConfigurationManagerDevicesSearchPostRequestBodyContentApplicationJsonSchemaPayloadPagination: Pagination options
      - `page` integer: Page number
      - `limit` integer: Number of results per page

## Response `200`

Paginated list of devices with metadata

- ConfigurationManagerGetDevicesResponse200
  - `rows` ConfigurationManagerDevicesSearchPostResponsesContentApplicationJsonSchemaRowsItems[]
  - `pagination` ConfigurationManagerDevicesSearchPostResponsesContentApplicationJsonSchemaPagination
    - `page` integer
    - `limit` integer
    - `totalRows` integer
    - `totalPages` integer

## Other responses

- `500`: Error response from API

## Changes

- **2026-10-31** `2095cc90e583`: 2 info
  - api tag `Configuration Manager` added
  - api tag `configurationManager` removed

[Operation history](https://skmtc.dev/itential/apis/itential-2/changes/configuration_manager/devices/search/post.md)

---

[API](https://skmtc.dev/itential/apis/itential-2.md) - [All operations](https://skmtc.dev/itential/apis/itential-2/llms.txt) - [OpenAPI document](https://skmtc.dev/itential/apis/itential-2/revisions/2095cc90e583?raw)
