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

# Get Latest Cluster Execution

> Get the most recent execution results for a cluster.

    Returns execution metadata including:
    - Execution status (pending, processing, completed, failed)
    - Clustering metrics (silhouette score, Davies-Bouldin index, etc.)
    - Number of clusters found and documents processed
    - Centroid information with labels and summaries
    - Execution timestamps

    Useful for:
    - Displaying cluster statistics in dashboards
    - Showing cluster quality metrics to users
    - Rendering cluster labels and summaries in the UI
    - Tracking execution status and errors



## OpenAPI

````yaml get /v1/clusters/{cluster_id}/executions
openapi: 3.1.0
info:
  title: Mixpeek API
  description: >-
    This is the Mixpeek API, providing access to various endpoints for data
    processing and retrieval.
  termsOfService: https://mixpeek.com/terms
  contact:
    name: Mixpeek Support
    url: https://mixpeek.com/contact
    email: info@mixpeek.com
  version: '0.82'
servers:
  - url: https://api.mixpeek.com
    description: Production
security: []
paths:
  /v1/clusters/{cluster_id}/executions:
    get:
      tags:
        - Cluster Executions
      summary: Get Latest Cluster Execution
      description: |-
        Get the most recent execution results for a cluster.

            Returns execution metadata including:
            - Execution status (pending, processing, completed, failed)
            - Clustering metrics (silhouette score, Davies-Bouldin index, etc.)
            - Number of clusters found and documents processed
            - Centroid information with labels and summaries
            - Execution timestamps

            Useful for:
            - Displaying cluster statistics in dashboards
            - Showing cluster quality metrics to users
            - Rendering cluster labels and summaries in the UI
            - Tracking execution status and errors
      operationId: get_cluster_execution_v1_clusters__cluster_id__executions_get
      parameters:
        - name: cluster_id
          in: path
          required: true
          schema:
            type: string
            description: Cluster ID
            title: Cluster Id
          description: Cluster ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ClusterExecutionResult'
                  - type: 'null'
                title: >-
                  Response Get Cluster Execution V1 Clusters  Cluster Id 
                  Executions Get
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ClusterExecutionResult:
      properties:
        run_id:
          type: string
          pattern: ^run_[a-zA-Z0-9]+$
          title: Run Id
          description: >-
            REQUIRED. Unique identifier for this specific clustering execution.
            Format: 'run_' prefix followed by random alphanumeric string. Used
            to retrieve specific execution artifacts and results. Each
            re-execution of the same cluster creates a new run_id. References
            execution artifacts in S3 and MongoDB.
          examples:
            - run_a8e270953254754b
            - run_b3f58210ab
            - run_xyz789
        cluster_id:
          type: string
          pattern: ^clust_[a-zA-Z0-9]+$
          title: Cluster Id
          description: >-
            REQUIRED. Parent cluster configuration that was executed. Format:
            'clust_' prefix followed by random alphanumeric string. Links this
            execution back to the cluster definition. Multiple executions can
            share the same cluster_id.
          examples:
            - clust_ae3e28a429
            - clust_xyz789
            - clust_abc123
        status:
          type: string
          enum:
            - pending
            - processing
            - completed
            - failed
          title: Status
          description: >-
            REQUIRED. Current status of the clustering execution. Values:  
            'pending' = Job queued, waiting to start.   'processing' =
            Clustering algorithm running (may take minutes for large
            datasets).   'completed' = Clustering finished successfully, results
            available.   'failed' = Clustering failed, check error_message for
            details. Status changes: pending → processing → (completed OR
            failed). Poll this field to track job progress.
          examples:
            - completed
            - processing
            - pending
            - failed
        num_clusters:
          type: integer
          minimum: 0
          title: Num Clusters
          description: >-
            REQUIRED. Number of clusters found by the clustering algorithm.
            Range: 1 to num_points (though typically much lower).
            Interpretation:   Too few clusters = overgeneralization, may need
            lower n_clusters param.   Too many clusters = overfitting, may need
            higher n_clusters param.   Optimal value depends on dataset and use
            case. Available immediately upon completion, even if metrics fail.
          examples:
            - 3
            - 5
            - 10
            - 25
        num_points:
          type: integer
          minimum: 0
          title: Num Points
          description: >-
            REQUIRED. Total number of documents/points that were clustered.
            Equals the count of documents in the collection at execution time.
            Note: This may differ across executions if documents were
            added/removed. Used to calculate metrics and validate clustering
            quality. Minimum 2 points required for clustering (1 cluster per
            point otherwise).
          examples:
            - 100
            - 1000
            - 50000
        metrics:
          anyOf:
            - $ref: '#/components/schemas/ClusterExecutionMetrics'
            - type: 'null'
          description: >-
            OPTIONAL. Quality metrics evaluating clustering performance. NOT
            REQUIRED - only present for successful executions. null if:   -
            Execution is still pending/processing.   - Execution failed.   - Too
            few points to calculate metrics (need 2+ points). Contains
            silhouette_score, davies_bouldin_index, calinski_harabasz_score. Use
            to compare quality across multiple executions.
        centroids:
          anyOf:
            - items:
                $ref: '#/components/schemas/ClusterExecutionCentroid'
              type: array
            - type: 'null'
          title: Centroids
          description: >-
            OPTIONAL. List of cluster centroids with semantic labels. NOT
            REQUIRED - only present for completed executions with LLM labeling
            enabled. Length: equals num_clusters. Each centroid contains:   -
            cluster_id: Identifier for the cluster (e.g., 'cl_0').   -
            num_members: Count of documents in this cluster.   - label:
            Human-readable cluster name (e.g., 'Product Reviews').   - summary:
            Brief description of cluster content.   - keywords: Array of
            representative terms. null if:   - Execution
            pending/processing/failed.   - LLM labeling not configured. Use for:
            Displaying cluster summaries in UI, filtering by cluster.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: >-
            REQUIRED. Timestamp when the clustering execution started. ISO 8601
            format with timezone (UTC). Used to:   - Sort executions
            chronologically.   - Calculate execution duration (completed_at -
            created_at).   - Filter execution history by date range. Always
            present, even for failed executions.
          examples:
            - '2025-11-13T13:20:40.122000Z'
            - '2025-11-13T10:00:00.000000Z'
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
          description: >-
            OPTIONAL. Timestamp when the clustering execution finished. ISO 8601
            format with timezone (UTC). NOT REQUIRED - only present for
            completed or failed executions. null if: status is 'pending' or
            'processing'. Use to:   - Calculate execution duration (completed_at
            - created_at).   - Show when results became available. Present for
            both successful and failed executions.
          examples:
            - '2025-11-13T13:25:40.122000Z'
            - '2025-11-13T10:05:32.456000Z'
            - null
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
          description: >-
            OPTIONAL. Error message if the clustering execution failed. NOT
            REQUIRED - only present when status is 'failed'. null if: execution
            succeeded or is still in progress. Contains:   - Human-readable
            error description.   - Possible causes and suggested fixes.   -
            Stack trace details (for debugging). Common errors:   -
            'Insufficient documents for clustering' (need 2+ docs).   - 'Feature
            extractor not found' (invalid collection config).   - 'Out of
            memory' (dataset too large for algorithm). Use for: Debugging failed
            executions and user error messages.
          examples:
            - 'Insufficient documents for clustering: need at least 2 documents'
            - Feature extractor 'invalid_extractor' not found in collection
            - 'Clustering algorithm failed: NaN values in embeddings'
            - null
        llm_labeling_errors:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Llm Labeling Errors
          description: >-
            OPTIONAL. List of errors encountered during LLM labeling. NOT
            REQUIRED - only present when LLM labeling was attempted and
            encountered errors. null if:   - LLM labeling was not enabled.   -
            LLM labeling succeeded for all clusters.   - Execution is still in
            progress. Each error is a JSON string containing:   - 'error':
            Human-readable error message.   - 'clusters': List of cluster IDs
            affected by this error. Common errors:   - 'LLM API timeout for 2
            clusters' (network/API issues).   - 'OpenAI rate limit exceeded'
            (quota exhausted).   - 'Invalid model name: gpt-3.5' (config
            error).   - 'No representative documents for cluster cl_3' (empty
            cluster). Use for:   - Debugging why some clusters have fallback
            labels.   - Identifying LLM API issues without failing entire
            clustering.   - Warning users about partial labeling success.
          examples:
            - - '{"error": "LLM API timeout", "clusters": ["cl_3", "cl_5"]}'
              - '{"error": "No representative documents", "clusters": ["cl_1"]}'
            - - '{"error": "OpenAI rate limit exceeded", "clusters": ["cl_0"]}'
            - null
      type: object
      required:
        - run_id
        - cluster_id
        - status
        - num_clusters
        - num_points
        - created_at
      title: ClusterExecutionResult
      description: >-
        Complete results from a single clustering execution.


        Represents the outcome of running a clustering algorithm on a
        collection's documents.

        Each execution creates a snapshot of clustering results at a point in
        time, including

        the clusters found, quality metrics, and semantic labels.


        Use Cases:
            - Display clustering execution history in UI
            - Compare clustering quality across multiple runs
            - Track execution status for long-running jobs
            - Debug failed clustering attempts
            - View cluster summaries and labels for analysis

        Workflow:
            1. Create cluster configuration → POST /clusters
            2. Execute clustering → POST /clusters/{id}/execute
            3. Poll execution status → GET /clusters/{id}/executions
            4. View execution history → POST /clusters/{id}/executions/list

        Status Lifecycle:
            pending → processing → completed (or failed)

        Note:
            Execution results are immutable once completed. Re-running clustering
            creates a new execution result with a new run_id.
      examples:
        - centroids:
            - cluster_id: cl_0
              keywords:
                - product
                - review
                - quality
              label: Product Reviews
              num_members: 45
              summary: Customer feedback about products
            - cluster_id: cl_1
              keywords:
                - help
                - issue
                - support
              label: Support Tickets
              num_members: 35
              summary: Technical support requests
            - cluster_id: cl_2
              keywords:
                - feature
                - request
                - suggestion
              label: Feature Requests
              num_members: 20
              summary: User feature suggestions
          cluster_id: clust_ae3e28a429
          completed_at: '2025-11-13T13:25:40.122000Z'
          created_at: '2025-11-13T13:20:40.122000Z'
          description: Completed execution with excellent metrics
          metrics:
            calinski_harabasz_score: 1234.56
            davies_bouldin_index: 0.42
            silhouette_score: 0.85
          num_clusters: 3
          num_points: 100
          run_id: run_a8e270953254754b
          status: completed
        - cluster_id: clust_xyz789
          created_at: '2025-11-13T14:00:00.000000Z'
          description: Execution in progress
          num_clusters: 0
          num_points: 500
          run_id: run_b3f58210ab
          status: processing
        - cluster_id: clust_abc123
          completed_at: '2025-11-13T12:00:05.123000Z'
          created_at: '2025-11-13T12:00:00.000000Z'
          description: Failed execution with error details
          error_message: >-
            Insufficient documents for clustering: need at least 2 documents,
            found 1
          num_clusters: 0
          num_points: 1
          run_id: run_xyz789
          status: failed
    ErrorResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Always false for error responses
          default: false
        status:
          type: integer
          title: Status
          description: HTTP status code for this error
        error:
          $ref: '#/components/schemas/ErrorDetail'
          description: Error details payload
      type: object
      required:
        - status
        - error
      title: ErrorResponse
      description: Error response model.
      examples:
        - error:
            details:
              id: ns_123
              resource: namespace
            message: Namespace not found
            type: NotFoundError
          status: 404
          success: false
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ClusterExecutionMetrics:
      properties:
        silhouette_score:
          anyOf:
            - type: number
              maximum: 1
              minimum: -1
            - type: 'null'
          title: Silhouette Score
          description: >-
            OPTIONAL. Silhouette score measuring cluster cohesion and
            separation. Range: -1 to +1. Interpretation:   +1.0 = Perfect
            clustering (documents far from other clusters, close to own
            cluster).   0.0 = Overlapping clusters (documents on cluster
            boundaries).   -1.0 = Poor clustering (documents assigned to wrong
            clusters). Practical thresholds:   0.7 to 1.0 = Excellent
            clustering.   0.5 to 0.7 = Good clustering.   0.25 to 0.5 = Weak
            clustering, consider different parameters.   Below 0.25 = Poor
            clustering, reconfigure or more data needed. null = metric not
            calculated (too few points or clustering failed).
          examples:
            - 0.85
            - 0.67
            - 0.42
            - null
        davies_bouldin_index:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
          title: Davies Bouldin Index
          description: >-
            OPTIONAL. Davies-Bouldin index measuring cluster separation. Range:
            0 to +∞ (lower is better, no upper bound). Interpretation:   0.0 =
            Perfect separation (impossible in practice).   0.0 to 1.0 =
            Excellent separation.   1.0 to 2.0 = Good separation.   Above 2.0 =
            Poor separation, clusters overlap. Formula: Average ratio of
            intra-cluster to inter-cluster distances. Use when: Validating that
            clusters are distinct and well-separated. null = metric not
            calculated (too few points or clustering failed).
          examples:
            - 0.45
            - 1.23
            - 2.67
            - null
        calinski_harabasz_score:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
          title: Calinski Harabasz Score
          description: >-
            OPTIONAL. Calinski-Harabasz score (also called Variance Ratio
            Criterion). Range: 0 to +∞ (higher is better, no strict upper
            bound). Interpretation:   Higher values indicate denser, more
            compact clusters.   No universal threshold - compare relative values
            across runs.   Typical good values: 100-1000+ (dataset dependent).
            Formula: Ratio of between-cluster to within-cluster dispersion. Use
            when: Comparing different numbers of clusters for the same dataset.
            Note: Biased toward algorithms that produce spherical, equally-sized
            clusters. null = metric not calculated (too few points or clustering
            failed).
          examples:
            - 456.78
            - 1234.56
            - 89.12
            - null
      type: object
      title: ClusterExecutionMetrics
      description: >-
        Quality metrics for evaluating clustering execution performance.


        Provides statistical measures to assess the quality of the clustering
        results.

        Higher quality clusters have better cohesion (documents within clusters
        are similar)

        and separation (clusters are distinct from each other).


        Use Cases:
            - Compare quality across multiple clustering executions
            - Determine optimal number of clusters for a dataset
            - Validate clustering algorithm performance
            - Track clustering quality over time
            - Debug clustering issues (poor metrics indicate problems)

        Interpretation:
            - Use silhouette_score as primary quality indicator (0.5+ = good, 0.7+ = excellent)
            - Lower davies_bouldin_index indicates better-separated clusters
            - Higher calinski_harabasz_score indicates denser, better-separated clusters

        Note:
            All metrics are OPTIONAL and only present if clustering completed successfully.
            Failed executions return null for all metrics.
      examples:
        - calinski_harabasz_score: 1234.56
          davies_bouldin_index: 0.42
          description: Excellent clustering quality
          silhouette_score: 0.85
        - calinski_harabasz_score: 678.34
          davies_bouldin_index: 0.89
          description: Good clustering quality
          silhouette_score: 0.67
        - calinski_harabasz_score: 45.12
          davies_bouldin_index: 2.45
          description: Poor clustering quality (needs tuning)
          silhouette_score: 0.23
        - description: Metrics not available (failed execution)
    ClusterExecutionCentroid:
      properties:
        cluster_id:
          type: string
          pattern: ^cl_(-?[0-9]+(_sub_[0-9]+)*|cluster_noise)$
          title: Cluster Id
          description: >-
            REQUIRED. Unique identifier for this cluster within the execution.
            Format: 'cl_' prefix followed by numeric index (e.g., 'cl_0',
            'cl_1'). Used to reference this specific cluster in queries and
            enrichments. Consistent across executions if algorithm
            deterministic.
          examples:
            - cl_0
            - cl_1
            - cl_0_sub_1
            - cl_0_sub_1_sub_0
            - cl_cluster_noise
            - cl_-1
        num_members:
          type: integer
          minimum: 0
          title: Num Members
          description: >-
            REQUIRED. Number of documents/points assigned to this cluster.
            Indicates cluster size for sizing bubbles in visualizations.
            Minimum: 1 (K-Means forces assignment). Can be 0 for noise clusters
            in HDBSCAN (cluster_id = -1).
          examples:
            - 150
            - 42
            - 1
        label:
          anyOf:
            - type: string
            - type: 'null'
          title: Label
          description: >-
            OPTIONAL. Human-readable label generated by LLM (e.g., GPT-4o-mini).
            Automatically generated when llm_labeling.enabled = true in cluster
            config. NOT REQUIRED when LLM labeling disabled. Describes the
            semantic meaning of documents in this cluster. Example: 'Product
            Reviews', 'Technical Documentation', 'Customer Support'.
          examples:
            - Product Reviews
            - Technical Documentation
            - Customer Support
            - null
        summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Summary
          description: >-
            OPTIONAL. Detailed description generated by LLM. Automatically
            generated when llm_labeling.include_summary = true. NOT REQUIRED
            when LLM labeling disabled or summary not requested. Provides
            context about what types of documents are in this cluster. Useful
            for tooltips, expanded views, or detailed explanations.
          examples:
            - >-
              This cluster contains documents related to product reviews and
              customer feedback.
            - Technical documentation and API references are grouped here.
            - null
        keywords:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Keywords
          description: >-
            OPTIONAL. List of semantic keywords generated by LLM. Automatically
            generated when llm_labeling.include_keywords = true. NOT REQUIRED
            when LLM labeling disabled or keywords not requested. Useful for
            search, filtering, and quick cluster understanding. Typically 3-5
            keywords per cluster.
          examples:
            - - reviews
              - products
              - feedback
            - - technical
              - documentation
              - api
            - - support
              - customer
              - help
            - null
        mean_cosine_similarity:
          anyOf:
            - type: number
            - type: 'null'
          title: Mean Cosine Similarity
          description: >-
            Mean cosine similarity of members to centroid (higher = tighter
            cluster).
        min_cosine_similarity:
          anyOf:
            - type: number
            - type: 'null'
          title: Min Cosine Similarity
          description: >-
            Minimum cosine similarity of any member to centroid (cluster
            boundary).
      type: object
      required:
        - cluster_id
        - num_members
      title: ClusterExecutionCentroid
      description: |-
        Centroid information from a clustering execution.

        Represents a single cluster center from a clustering run, including
        LLM-generated semantic labels for human understanding.

        Use Cases:
            - Display cluster information in dashboards
            - Show cluster labels and summaries in UI
            - Group documents by semantic meaning
            - Filter/search by cluster keywords

        Note:
            This model is for execution metadata only (no visualization coordinates).
            For scatter plot coordinates, use ArtifactCentroid from the artifacts endpoint.
      examples:
        - cluster_id: cl_0
          description: Cluster with full LLM labeling
          keywords:
            - reviews
            - products
            - feedback
            - ratings
          label: Product Reviews
          num_members: 150
          summary: >-
            This cluster contains documents related to product reviews and
            customer feedback.
        - cluster_id: cl_1
          description: Cluster without LLM labeling
          num_members: 42
        - cluster_id: cl_2
          description: Small cluster with label
          keywords:
            - single
            - unique
            - isolation
          label: Single Member Cluster
          num_members: 1
          summary: This cluster contains only one member.
    ErrorDetail:
      properties:
        message:
          type: string
          title: Message
          description: Human-readable error message
        type:
          type: string
          title: Type
          description: Stable error type identifier (machine-readable)
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
          description: >-
            Fine-grained error code for programmatic handling (e.g.,
            namespace_name_taken, feature_extractor_not_found). Present only
            when consumers may need to branch on a specific error condition.
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Details
          description: >-
            Optional structured details to help debugging (validation errors,
            IDs, etc.)
      type: object
      required:
        - message
        - type
      title: ErrorDetail
      description: Error detail model.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````