{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-servicev1-cluster-query-schema.json",
  "title": "servicev1ClusterQuery",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/harness-clusters-api-openapi.yml#/components/schemas/servicev1ClusterQuery",
  "type": "object",
  "properties": {
    "accountIdentifier": {
      "type": "string",
      "description": "Account Identifier for the Entity."
    },
    "projectIdentifier": {
      "type": "string",
      "description": "Project Identifier for the Entity."
    },
    "orgIdentifier": {
      "type": "string",
      "description": "Organization Identifier for the Entity."
    },
    "agentIdentifier": {
      "type": "string",
      "description": "Agent identifier for entity."
    },
    "identifier": {
      "type": "string"
    },
    "searchTerm": {
      "type": "string"
    },
    "pageSize": {
      "type": "integer",
      "format": "int32"
    },
    "pageIndex": {
      "type": "integer",
      "format": "int32"
    },
    "filter": {
      "type": "object",
      "description": "Filters for Clusters. Eg. \"identifier\": { \"$in\": [\"id1\", \"id2\"]"
    },
    "sortBy": {
      "$ref": "#/$defs/ClusterQueryClusterSortByOptions"
    },
    "sortOrder": {
      "$ref": "#/$defs/v1SortOrderOptions"
    },
    "includeChildScopes": {
      "type": "boolean",
      "description": "When true and agentIdentifier is set, retrieves clusters across hierarchical scopes based on agent prefix: account.* agents see account/org/project clusters, org.* agents see org/project clusters, unprefixed agents see only project clusters."
    }
  },
  "$defs": {
    "ClusterQueryClusterSortByOptions": {
      "type": "string",
      "enum": [
        "SORT_BY_NOT_SET",
        "NAME",
        "GITOPS_AGENT",
        "URL",
        "VERSION",
        "CONNECTIVITY_STATUS"
      ],
      "default": "SORT_BY_NOT_SET"
    },
    "v1SortOrderOptions": {
      "type": "string",
      "enum": [
        "SORT_ORDER_NOT_SET",
        "ASC",
        "DESC"
      ],
      "default": "SORT_ORDER_NOT_SET"
    }
  }
}