search_cis
Search CMDB configuration items using structured filters. Filter by name, class, operational status, location, or OS. Returns paginated results with configurable fields and display values.
Instructions
Search CMDB configuration items with structured filters.
Builds an encoded query from the provided parameters and returns matching CIs. Name filtering uses STARTSWITH by default for performance (indexed operation).
Examples: search_cis(ci_class="cmdb_ci_linux_server", operational_status="1") search_cis(ci_class="cmdb_ci_win_server", name_filter="prod", display_value="true") search_cis(ci_class="cmdb_ci_server", location="New York", limit=50) search_cis(ci_class="cmdb_ci_server", display_value="all") # both sys_id and display name per reference field
Typical workflow: suggest_table → search_cis → get_ci_details → get_ci_relationships
Args: ci_class: CMDB table/class to query (e.g. cmdb_ci_server, cmdb_ci_linux_server). Defaults to cmdb_ci (all CI types). name_filter: Filter CIs whose name starts with this value. Leave empty for no name filter. operational_status: Filter by operational status numeric code. Valid values: "1" = Operational, "2" = Non-Operational, "3" = Repair in Progress, "4" = DR Standby, "5" = Ready, "6" = Retired, "7" = Pipeline, "8" = Catalog. os_filter: Filter by operating system (STARTSWITH match on the os field). location: Filter by location display value (STARTSWITH match). limit: Maximum number of results to return (1-1000, default 25). offset: Pagination offset for retrieving subsequent pages of results. fields: Specific fields to return. Defaults to sys_id, name, sys_class_name, operational_status, ip_address, location, sys_updated_on. display_value: Controls how reference fields (location, company, assigned_to, etc.) are returned. "" (default) returns raw sys_id values. "true" returns human-readable display values (e.g. "New York" instead of a sys_id). "all" returns both as {"value": sys_id, "display_value": "New York"}. Use "true" when presenting data to users; use "all" when you need both the sys_id (for API calls) and the display name.
Returns: JSON object with "count" (results on this page), "records" (list of CI dicts), "total_count", "has_more", "next_offset", and "suggested_next". When display_value="all", each reference field in a record is returned as {"value": sys_id, "display_value": label} instead of a plain sys_id string.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ci_class | No | cmdb_ci | |
| name_filter | No | ||
| operational_status | No | ||
| os_filter | No | ||
| location | No | ||
| limit | No | ||
| offset | No | ||
| fields | No | ||
| display_value | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |