---
title: "Search"
method: POST
path: "/api/v1/search/role-mining/suggestions"
tags: ["Role Mining"]
---

# Search

`POST /api/v1/search/role-mining/suggestions`

Search role mining suggestions by name, description, or cohort filter values with optional state and type filters.
 Each suggestion row is large (cohort filters, entitlements, insights, profile matches) — request a small page_size (≤10) to keep responses small.

## Request body

- C1ApiRoleMiningManagementV1RoleMiningSearchSuggestionsRequest — The RoleMiningSearchSuggestionsRequest message.
  - `cohortTypes` string[], nullable — Filter by cohort type (e.g. "department", "job_title", "manager").
  - `matchTypes` string[], nullable — Filter by match type against existing access profiles.
  - `pageSize` integer — Maximum number of suggestions to return per page.
  - `pageToken` string — Pagination token from a previous response.
  - `query` string — Text search — matches against suggested_name, description, and cohort filter values.
  - `states` string[], nullable — Filter by suggestion state.

## Response `200`

Successful response

- C1ApiRoleMiningManagementV1RoleMiningSearchSuggestionsResponse — The RoleMiningSearchSuggestionsResponse message.
  - `list` C1ApiRoleMiningManagementV1RoleMiningManagementSuggestion[], nullable — The list of matching role mining suggestions.
    - `avgCoverage` number — Average fraction of suggested entitlements held by each user in the cohort.
    - `cohortFilters` C1McpRoleMiningV1ProfileFilter[], nullable — The profile filters that define which users belong to this cohort.
      - `attribute` string — The attribute field.
      - `values` string[], nullable — The values field.
    - `cohortSize` integer — Total number of users in the cohort matching the profile filters.
    - `confidence` number — Overall confidence score for this suggestion, from 0.0 to 1.0.
    - `createdAt` string, date-time, nullable
    - `createdCatalogId` string — The ID of the access profile created when this suggestion was accepted, empty if not yet accepted.
    - `description` string — A human-readable description of the proposed role and the cohort it serves.
    - `dimensionCount` integer — Number of distinct attribute dimensions used to define the cohort.
    - `entitlements` C1McpRoleMiningV1CohortEntitlement[], nullable — The entitlements that are commonly held by users in this cohort.
      - `appDisplayName` string — The appDisplayName field.
      - `appId` string — The appId field.
      - `appResourceDisplayName` string — The appResourceDisplayName field.
      - `appResourceTypeDisplayName` string — The appResourceTypeDisplayName field.
      - `coverage` number — The coverage field.
      - `entitlementDisplayName` string — The entitlementDisplayName field.
      - `entitlementId` string — The entitlementId field.
      - `grantedCount` integer — The grantedCount field.
      - `riskLevelValueId` string — The riskLevelValueId field.
    - `existingProfileMatches` C1McpRoleMiningV1AccessProfileMatch[], nullable — Existing access profiles that overlap with this suggestion.
      - `catalogDisplayName` string — The catalogDisplayName field.
      - `catalogId` string — The catalogId field.
      - `matchType` 'ACCESS_PROFILE_MATCH_TYPE_UNSPECIFIED' | 'ACCESS_PROFILE_MATCH_TYPE_EXACT' | 'ACCESS_PROFILE_MATCH_TYPE_SUPERSET' | 'ACCESS_PROFILE_MATCH_TYPE_PARTIAL' — The matchType field.
      - `missingEntitlements` C1McpRoleMiningV1CohortEntitlement[], nullable — The missingEntitlements field.
        - `appDisplayName` string — The appDisplayName field.
        - `appId` string — The appId field.
        - `appResourceDisplayName` string — The appResourceDisplayName field.
        - `appResourceTypeDisplayName` string — The appResourceTypeDisplayName field.
        - `coverage` number — The coverage field.
        - `entitlementDisplayName` string — The entitlementDisplayName field.
        - `entitlementId` string — The entitlementId field.
        - `grantedCount` integer — The grantedCount field.
        - `riskLevelValueId` string — The riskLevelValueId field.
      - `overlapRatio` number — The overlapRatio field.
    - `id` string — Unique identifier for this suggestion.
    - `insights` string[], nullable — Human-readable insights explaining why this role was suggested.
    - `lastGeneratedAt` string, date-time, nullable
    - `runId` string — The ID of the analysis run that produced this suggestion.
    - `suggestedName` string — The suggested display name for the proposed role.
    - `suggestionState` 'SUGGESTION_STATE_UNSPECIFIED' | 'SUGGESTION_STATE_NEW' | 'SUGGESTION_STATE_DISMISSED' | 'SUGGESTION_STATE_ACCEPTED' — Current workflow state of this suggestion (e.g., pending, accepted, dismissed).
    - `updatedAt` string, date-time, nullable
    - `usersWithAll` integer — Number of users in the cohort that hold all of the suggested entitlements.
  - `nextPageToken` string — Token to retrieve the next page of results, empty if no more results.

---

[API](https://skmtc.net/conductorone/apis/c1-api.md) · [All operations](https://skmtc.net/conductorone/apis/c1-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/conductorone/c1-api/revisions/f2cf3228f366/schema)
