> ## Documentation Index
> Fetch the complete documentation index at: https://www.c1.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Latest Run

> Retrieve the most recent role mining analysis run, including its status and results summary.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/role-mining/runs/latest
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/role-mining/runs/latest:
    get:
      tags:
        - Role Mining
      summary: Get Latest Run
      description: >-
        Retrieve the most recent role mining analysis run, including its status
        and results summary.
      operationId: >-
        c1.api.role_mining_management.v1.RoleMiningManagementService.GetLatestRun
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.role_mining_management.v1.GetLatestRunResponse
          description: Successful response
      x-codeSamples:
        - lang: go
          label: GetLatestRun
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.RoleMiningManagement.GetLatestRun(ctx)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.GetLatestRunResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.roleMiningManagement.getLatestRun();

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.role_mining_management.v1.GetLatestRunResponse:
      description: The GetLatestRunResponse message.
      properties:
        run:
          $ref: >-
            #/components/schemas/c1.api.role_mining_management.v1.RoleMiningManagementRun
      title: Get Latest Run Response
      type: object
      x-speakeasy-name-override: GetLatestRunResponse
    c1.api.role_mining_management.v1.RoleMiningManagementRun:
      description: The RoleMiningManagementRun message.
      properties:
        cohortsAnalyzed:
          description: Number of user cohorts evaluated during the analysis.
          format: int32
          readOnly: false
          type: integer
        completedAt:
          format: date-time
          readOnly: false
          type: string
        createdAt:
          format: date-time
          readOnly: false
          type: string
        errorMessage:
          description: Error message if the run failed, empty on success.
          readOnly: false
          type: string
        id:
          description: Unique identifier for this analysis run.
          readOnly: false
          type: string
        status:
          description: >-
            Current execution status of this run (e.g., running, completed,
            failed).
          enum:
            - RUN_STATUS_UNSPECIFIED
            - RUN_STATUS_RUNNING
            - RUN_STATUS_COMPLETED
            - RUN_STATUS_FAILED
          readOnly: false
          type: string
          x-speakeasy-unknown-values: allow
        suggestionsGenerated:
          description: Number of role suggestions produced by this run.
          format: int32
          readOnly: false
          type: integer
        totalUsers:
          description: Total number of users evaluated during the analysis.
          format: int32
          readOnly: false
          type: integer
        triggerDetail:
          description: >-
            Additional detail about the trigger, such as the user or schedule
            that initiated the run.
          readOnly: false
          type: string
        triggerType:
          description: How this run was initiated (e.g., manual, scheduled).
          enum:
            - TRIGGER_TYPE_UNSPECIFIED
            - TRIGGER_TYPE_MANUAL
            - TRIGGER_TYPE_UPLIFT_COMPLETION
            - TRIGGER_TYPE_SCHEDULED
            - TRIGGER_TYPE_DIRECTORY_MERGE
          readOnly: false
          type: string
          x-speakeasy-unknown-values: allow
        updatedAt:
          format: date-time
          readOnly: false
          type: string
      title: Role Mining Management Run
      type: object
      x-speakeasy-name-override: RoleMiningManagementRun
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````