Altimate AI Databricks Opportunities API

The Databricks Opportunities API from Altimate AI — 9 operation(s) for databricks opportunities.

OpenAPI Specification

altimate-ai-databricks-opportunities-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fast ACCOUNT_COSTS Databricks Opportunities API
  version: 0.1.0
tags:
- name: Databricks Opportunities
paths:
  /api/v1/databricks/opportunities/summary:
    get:
      tags:
      - Databricks Opportunities
      summary: Get opportunities summary
      description: Get summary counts of all opportunity types.
      operationId: get_opportunities_summary_api_v1_databricks_opportunities_summary_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          format: date
          description: Start date for query analysis
          title: Start Date
        description: Start date for query analysis
      - name: end_date
        in: query
        required: false
        schema:
          type: string
          format: date
          description: End date for query analysis
          title: End Date
        description: End date for query analysis
      - name: workspace_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by workspace ID
          title: Workspace Id
        description: Filter by workspace ID
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpportunitiesSummaryResponse'
        '403':
          description: Not authorized
        '404':
          description: No ClickHouse database configured
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/databricks/opportunities/oversized-clusters:
    get:
      tags:
      - Databricks Opportunities
      summary: Get oversized cluster opportunities
      description: Get clusters that appear to be oversized based on utilization metrics.
      operationId: get_oversized_clusters_api_v1_databricks_opportunities_oversized_clusters_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: cpu_threshold
        in: query
        required: false
        schema:
          type: number
          description: Maximum average CPU to be considered oversized
          default: 30.0
          title: Cpu Threshold
        description: Maximum average CPU to be considered oversized
      - name: memory_threshold
        in: query
        required: false
        schema:
          type: number
          description: Maximum average memory to be considered oversized
          default: 30.0
          title: Memory Threshold
        description: Maximum average memory to be considered oversized
      - name: days
        in: query
        required: false
        schema:
          type: integer
          description: Number of days for metrics
          default: 30
          title: Days
        description: Number of days for metrics
      - name: min_samples
        in: query
        required: false
        schema:
          type: integer
          description: Minimum samples for reliable analysis
          default: 100
          title: Min Samples
        description: Minimum samples for reliable analysis
      - name: workspace_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by workspace ID
          title: Workspace Id
        description: Filter by workspace ID
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/app__schemas__databricks__opportunities__OversizedClustersResponse'
        '403':
          description: Not authorized
        '404':
          description: No ClickHouse database configured
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/databricks/opportunities/serverless-candidates:
    get:
      tags:
      - Databricks Opportunities
      summary: Get serverless migration candidates
      description: Get warehouses that could benefit from serverless migration.
      operationId: get_serverless_candidates_api_v1_databricks_opportunities_serverless_candidates_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: max_auto_stop_mins
        in: query
        required: false
        schema:
          type: integer
          description: Maximum auto-stop time to consider
          default: 10
          title: Max Auto Stop Mins
        description: Maximum auto-stop time to consider
      - name: workspace_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by workspace ID
          title: Workspace Id
        description: Filter by workspace ID
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/app__schemas__databricks__opportunities__ServerlessCandidatesResponse'
        '403':
          description: Not authorized
        '404':
          description: No ClickHouse database configured
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/databricks/opportunities/high-failure-jobs:
    get:
      tags:
      - Databricks Opportunities
      summary: Get high failure rate jobs
      description: Get jobs with high failure rates that need attention.
      operationId: get_high_failure_jobs_api_v1_databricks_opportunities_high_failure_jobs_get
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: min_failure_rate
        in: query
        required: false
        schema:
          type: number
          description: Minimum failure rate to flag
          default: 20.0
          title: Min Failure Rate
        description: Minimum failure rate to flag
      - name: min_runs
        in: query
        required: false
        schema:
          type: integer
          description: Minimum runs for reliable analysis
          default: 5
          title: Min Runs
        description: Minimum runs for reliable analysis
      - name: days
        in: query
        required: false
        schema:
          type: integer
          description: Number of days to analyze
          default: 30
          title: Days
        description: Number of days to analyze
      - name: workspace_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by workspace ID
          title: Workspace Id
        description: Filter by workspace ID
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HighFailureJobsResponse'
        '403':
          description: Not authorized
        '404':
          description: No ClickHouse database configured
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/databricks/opportunities/expensive-queries:
    get:
      tags:
      - Databricks Opportunities
      summary: Get expensive queries
      description: Get expensive queries that could be optimized.
      operationId: get_expensive_queries_api_v1_databricks_opportunities_expensive_queries_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          format: date
          description: Start date
          title: Start Date
        description: Start date
      - name: end_date
        in: query
        required: false
        schema:
          type: string
          format: date
          description: End date
          title: End Date
        description: End date
      - name: min_duration_ms
        in: query
        required: false
        schema:
          type: integer
          description: Minimum duration threshold (5 min default)
          default: 300000
          title: Min Duration Ms
        description: Minimum duration threshold (5 min default)
      - name: min_read_bytes
        in: query
        required: false
        schema:
          type: integer
          description: Minimum bytes read threshold (5GB default)
          default: 5368709120
          title: Min Read Bytes
        description: Minimum bytes read threshold (5GB default)
      - name: workspace_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by workspace ID
          title: Workspace Id
        description: Filter by workspace ID
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          description: Maximum results
          default: 50
          title: Limit
        description: Maximum results
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExpensiveQueriesResponse'
        '403':
          description: Not authorized
        '404':
          description: No ClickHouse database configured
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/databricks/opportunities/idle-clusters:
    get:
      tags:
      - Databricks Opportunities
      summary: Get idle clusters
      description: Get clusters that have been idle for extended periods.
      operationId: get_idle_clusters_api_v1_databricks_opportunities_idle_clusters_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: idle_hours
        in: query
        required: false
        schema:
          type: integer
          description: Hours of inactivity to consider idle
          default: 24
          title: Idle Hours
        description: Hours of inactivity to consider idle
      - name: workspace_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by workspace ID
          title: Workspace Id
        description: Filter by workspace ID
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdleClustersResponse'
        '403':
          description: Not authorized
        '404':
          description: No ClickHouse database configured
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/databricks/opportunities/by-resource:
    get:
      tags:
      - Databricks Opportunities
      summary: Get opportunities for a specific resource
      description: 'Get opportunities for a specific Databricks resource.


        Resource types:

        - 12: CLUSTER (returns oversized and idle cluster opportunities)

        - 17: JOB (returns high failure job opportunities)

        - 18: WAREHOUSE (returns serverless candidate opportunities)'
      operationId: get_opportunities_by_resource_api_v1_databricks_opportunities_by_resource_get
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: resource_id
        in: query
        required: true
        schema:
          type: string
          description: Resource ID (cluster_id, job_id, or warehouse_id)
          title: Resource Id
        description: Resource ID (cluster_id, job_id, or warehouse_id)
      - name: resource_type
        in: query
        required: true
        schema:
          type: integer
          description: 'Resource type: 12=CLUSTER, 17=JOB, 18=WAREHOUSE'
          title: Resource Type
        description: 'Resource type: 12=CLUSTER, 17=JOB, 18=WAREHOUSE'
      - name: workspace_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by workspace ID
          title: Workspace Id
        description: Filter by workspace ID
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceOpportunitiesResponse'
        '403':
          description: Not authorized
        '404':
          description: No ClickHouse database configured
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/databricks/opportunities/redirection:
    get:
      tags:
      - Databricks Opportunities
      summary: Get resource redirection URL for Databricks
      description: 'Get redirection URL for a Databricks resource by looking up the opportunity.


        Looks up the opportunity in ClickHouse and returns the appropriate URL

        based on the resource type:

        - 12: CLUSTER -> /clusters/{resource_id}

        - 17: JOB -> /jobs/{resource_id}

        - 18: DATABRICKS_WAREHOUSE (SQL warehouse) -> /sql-warehouses/{resource_id}'
      operationId: get_databricks_resource_redirection_api_v1_databricks_opportunities_redirection_get
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: opportunity_id
        in: query
        required: true
        schema:
          type: string
          description: Opportunity ID
          title: Opportunity Id
        description: Opportunity ID
      - name: instance_id
        in: query
        required: true
        schema:
          type: string
          description: Instance ID
          title: Instance Id
        description: Instance ID
      - name: resource_type
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: 'Resource type filter: 3=WAREHOUSE, 12=CLUSTER, 17=JOB'
          title: Resource Type
        description: 'Resource type filter: 3=WAREHOUSE, 12=CLUSTER, 17=JOB'
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '403':
          description: Not authorized
        '404':
          description: Opportunity not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/databricks/opportunities/resource:
    get:
      tags:
      - Databricks Opportunities
      summary: Get opportunities for a specific resource
      description: 'Get opportunities for a specific Databricks resource.


        Queries ClickHouse to find opportunities that have this resource

        in their resources array (by resource ID).'
      operationId: get_databricks_opportunities_for_resource_api_v1_databricks_opportunities_resource_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: resource_uri
        in: query
        required: true
        schema:
          type: string
          description: Resource ID
          title: Resource Uri
        description: Resource ID
      - name: resource_type
        in: query
        required: true
        schema:
          type: integer
          description: 'Resource type: 1=QUERY, 12=CLUSTER, 17=JOB, 18=DATABRICKS_WAREHOUSE'
          title: Resource Type
        description: 'Resource type: 1=QUERY, 12=CLUSTER, 17=JOB, 18=DATABRICKS_WAREHOUSE'
      - name: instance_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Instance ID
          title: Instance Id
        description: Instance ID
      - name: start_date
        in: query
        required: false
        schema:
          type: string
          format: date-time
          description: Start date
          title: Start Date
        description: Start date
      - name: end_date
        in: query
        required: false
        schema:
          type: string
          format: date-time
          description: End date
          title: End Date
        description: End date
      - name: status_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Status filter (comma-separated): active, implemented, closed, dismissed'
          title: Status Filter
        description: 'Status filter (comma-separated): active, implemented, closed, dismissed'
      - name: sort
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Sort field
          title: Sort
        description: Sort field
      - name: sort_order
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Sort order: asc, desc'
          title: Sort Order
        description: 'Sort order: asc, desc'
      - name: navigationSource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Navigationsource
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Get Databricks Opportunities For Resource Api V1 Databricks Opportunities Resource Get
        '403':
          description: Not authorized
        '404':
          description: No ClickHouse database configured
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    OpportunitiesSummary:
      properties:
        oversized_clusters:
          type: integer
          title: Oversized Clusters
          default: 0
        serverless_candidates:
          type: integer
          title: Serverless Candidates
          default: 0
        high_failure_jobs:
          type: integer
          title: High Failure Jobs
          default: 0
        expensive_queries:
          type: integer
          title: Expensive Queries
          default: 0
        total_opportunities:
          type: integer
          title: Total Opportunities
          default: 0
      type: object
      title: OpportunitiesSummary
      description: Summary of all opportunity types.
    OpportunitiesSummaryResponse:
      properties:
        summary:
          $ref: '#/components/schemas/OpportunitiesSummary'
      type: object
      required:
      - summary
      title: OpportunitiesSummaryResponse
      description: Response for opportunities summary.
    ResourceOpportunitiesResponse:
      properties:
        opportunities:
          items:
            $ref: '#/components/schemas/ResourceOpportunity'
          type: array
          title: Opportunities
        total_count:
          type: integer
          title: Total Count
        resource_id:
          type: string
          title: Resource Id
        resource_type:
          type: integer
          title: Resource Type
      type: object
      required:
      - opportunities
      - total_count
      - resource_id
      - resource_type
      title: ResourceOpportunitiesResponse
      description: Response for opportunities by resource.
    HighFailureJobOpportunity:
      properties:
        job_id:
          type: string
          title: Job Id
        job_name:
          type: string
          title: Job Name
        workspace_id:
          type: string
          title: Workspace Id
        workspace_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Workspace Name
        total_runs:
          type: integer
          title: Total Runs
        failed_runs:
          type: integer
          title: Failed Runs
        failure_rate:
          type: number
          title: Failure Rate
        last_failure_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Failure Time
        wasted_compute_hours:
          type: number
          title: Wasted Compute Hours
          description: Estimated wasted compute hours from failures
      type: object
      required:
      - job_id
      - job_name
      - workspace_id
      - total_runs
      - failed_runs
      - failure_rate
      - wasted_compute_hours
      title: HighFailureJobOpportunity
      description: A high failure rate job opportunity.
    app__schemas__databricks__opportunities__ServerlessCandidatesResponse:
      properties:
        opportunities:
          items:
            $ref: '#/components/schemas/ServerlessCandidateOpportunity'
          type: array
          title: Opportunities
        total_count:
          type: integer
          title: Total Count
        max_auto_stop_mins:
          type: integer
          title: Max Auto Stop Mins
      type: object
      required:
      - opportunities
      - total_count
      - max_auto_stop_mins
      title: ServerlessCandidatesResponse
      description: Response for serverless candidates opportunities.
    OversizedClusterOpportunity:
      properties:
        cluster_id:
          type: string
          title: Cluster Id
        cluster_name:
          type: string
          title: Cluster Name
        workspace_id:
          type: string
          title: Workspace Id
        workspace_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Workspace Name
        worker_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Worker Count
        driver_node_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Driver Node Type
        worker_node_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Worker Node Type
        avg_cpu:
          type: number
          title: Avg Cpu
        avg_memory:
          type: number
          title: Avg Memory
        sample_count:
          type: integer
          title: Sample Count
        potential_savings_pct:
          type: number
          title: Potential Savings Pct
          description: Estimated potential savings percentage
      type: object
      required:
      - cluster_id
      - cluster_name
      - workspace_id
      - avg_cpu
      - avg_memory
      - sample_count
      - potential_savings_pct
      title: OversizedClusterOpportunity
      description: An oversized cluster opportunity.
    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
    IdleClustersResponse:
      properties:
        opportunities:
          items:
            $ref: '#/components/schemas/IdleClusterOpportunity'
          type: array
          title: Opportunities
        total_count:
          type: integer
          title: Total Count
        idle_hours:
          type: integer
          title: Idle Hours
      type: object
      required:
      - opportunities
      - total_count
      - idle_hours
      title: IdleClustersResponse
      description: Response for idle clusters opportunities.
    app__schemas__databricks__opportunities__OversizedClustersResponse:
      properties:
        opportunities:
          items:
            $ref: '#/components/schemas/OversizedClusterOpportunity'
          type: array
          title: Opportunities
        total_count:
          type: integer
          title: Total Count
        cpu_threshold:
          type: number
          title: Cpu Threshold
        memory_threshold:
          type: number
          title: Memory Threshold
      type: object
      required:
      - opportunities
      - total_count
      - cpu_threshold
      - memory_threshold
      title: OversizedClustersResponse
      description: Response for oversized clusters opportunities.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ExpensiveQueryOpportunity:
      properties:
        statement_id:
          type: string
          title: Statement Id
        statement_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Statement Type
        start_time:
          type: string
          format: date-time
          title: Start Time
        total_duration_ms:
          type: integer
          title: Total Duration Ms
        read_bytes:
          type: integer
          title: Read Bytes
        spilled_local_bytes:
          anyOf:
          - type: integer
          - type: 'null'
          title: Spilled Local Bytes
        workspace_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Workspace Id
        workspace_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Workspace Name
        user_name:
          anyOf:
          - type: string
          - type: 'null'
          title: User Name
        cost_score:
          type: number
          title: Cost Score
          description: Cost score for ranking
      type: object
      required:
      - statement_id
      - start_time
      - total_duration_ms
      - read_bytes
      - cost_score
      title: ExpensiveQueryOpportunity
      description: An expensive query opportunity.
    ExpensiveQueriesResponse:
      properties:
        opportunities:
          items:
            $ref: '#/components/schemas/ExpensiveQueryOpportunity'
          type: array
          title: Opportunities
        total_count:
          type: integer
          title: Total Count
      type: object
      required:
      - opportunities
      - total_count
      title: ExpensiveQueriesResponse
      description: Response for expensive queries opportunities.
    ServerlessCandidateOpportunity:
      properties:
        warehouse_id:
          type: string
          title: Warehouse Id
        warehouse_name:
          type: string
          title: Warehouse Name
        workspace_id:
          type: string
          title: Workspace Id
        workspace_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Workspace Name
        warehouse_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Warehouse Type
        warehouse_size:
          anyOf:
          - type: string
          - type: 'null'
          title: Warehouse Size
        auto_stop_mins:
          anyOf:
          - type: integer
          - type: 'null'
          title: Auto Stop Mins
        min_num_clusters:
          anyOf:
          - type: integer
          - type: 'null'
          title: Min Num Clusters
        max_num_clusters:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Num Clusters
      type: object
      required:
      - warehouse_id
      - warehouse_name
      - workspace_id
      title: ServerlessCandidateOpportunity
      description: A serverless migration candidate.
    HighFailureJobsResponse:
      properties:
        opportunities:
          items:
            $ref: '#/components/schemas/HighFailureJobOpportunity'
          type: array
          title: Opportunities
        total_count:
          type: integer
          title: Total Count
        min_failure_rate:
          type: number
          title: Min Failure Rate
      type: object
      required:
      - opportunities
      - total_count
      - min_failure_rate
      title: HighFailureJobsResponse
      description: Response for high failure jobs opportunities.
    IdleClusterOpportunity:
      properties:
        cluster_id:
          type: string
          title: Cluster Id
        cluster_name:
          type: string
          title: Cluster Name
        workspace_id:
          type: string
          title: Workspace Id
        workspace_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Workspace Name
        state:
          type: string
          title: State
        last_state_chang

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/altimate-ai/refs/heads/main/openapi/altimate-ai-databricks-opportunities-api-openapi.yml