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

# List runner providers and their limits

> One row per runner provider AutoPilot for CI knows for this tenant: whether it is connected in CostGraph, the labels that ran a job successfully in the last 30 days, the limits set for it, and how much of them routed jobs use now. Limits are checked when a job is routed; at_limit is true when a limit stops AutoPilot from routing more jobs to the provider now, and limit names which one. kind is runner for a runner vendor and cluster for the runner sets on the team's own Kubernetes clusters; targets lists those runner sets (cluster, namespace, name, the label jobs are routed to, minimum and maximum runners) and is empty for runner vendors.



## OpenAPI

````yaml /api-reference/costgraph/openapi.json get /api/v1/tenant/ci/autopilot/providers
openapi: 3.0.0
info:
  description: Read and manage your CostGraph organization, spend, alerts, and settings.
  title: CostGraph API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.costgraph.ai
security: []
tags:
  - name: ai
    x-group: AI
  - name: ai-serving
    x-group: AI serving
  - name: anomalies
    x-group: Anomalies
  - name: auth
    x-group: Auth
  - name: billing
    x-group: Billing
  - name: billing-export
    x-group: Billing export
  - name: budgets
    x-group: Budgets
  - name: ci
    x-group: CI
  - name: compute-recommendations
    x-group: Compute recommendations
  - name: config
    x-group: Config
  - name: context-graph
    x-group: Context graph
  - name: cost
    x-group: Cost
  - name: gpus
    x-group: GPUs
  - name: graphai
    x-group: Graph AI
  - name: integrations
    x-group: Integrations
  - name: invitations
    x-group: Invitations
  - name: kubernetes-clusters
    x-group: Kubernetes clusters
  - name: marketplace
    x-group: Marketplace
  - name: network
    x-group: Network
  - name: network-requests
    x-group: Network requests
  - name: notifications
    x-group: Notifications
  - name: oauth
    x-group: OAuth
  - name: oauth-clients
    x-group: OAuth clients
  - name: opencost
    x-group: OpenCost
  - name: organization
    x-group: Audit log
  - name: organizations
    x-group: Organizations
  - name: placement-alternatives
    x-group: Placement alternatives
  - name: reports
    x-group: Reports
  - name: settings
    x-group: Settings
  - name: sso
    x-group: Single sign-on
  - name: tenants
    x-group: Tenants
  - name: ticketing
    x-group: Ticketing
  - name: user
    x-group: Users
  - name: virtual-machines
    x-group: Virtual machines
  - name: virtual-tags
    x-group: Virtual tags
  - name: workflows
    x-group: Workflows
paths:
  /api/v1/tenant/ci/autopilot/providers:
    get:
      tags:
        - ci
      summary: List runner providers and their limits
      description: >-
        One row per runner provider AutoPilot for CI knows for this tenant:
        whether it is connected in CostGraph, the labels that ran a job
        successfully in the last 30 days, the limits set for it, and how much of
        them routed jobs use now. Limits are checked when a job is routed;
        at_limit is true when a limit stops AutoPilot from routing more jobs to
        the provider now, and limit names which one. kind is runner for a runner
        vendor and cluster for the runner sets on the team's own Kubernetes
        clusters; targets lists those runner sets (cluster, namespace, name, the
        label jobs are routed to, minimum and maximum runners) and is empty for
        runner vendors.
      parameters:
        - description: Tenant ID
          name: X-CostGraph-Tenant-ID
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/responses.SuccessResponse'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/db.CIAutopilotProvider'
      security:
        - BearerAuth: []
components:
  schemas:
    responses.SuccessResponse:
      type: object
      required:
        - message
        - status
      properties:
        data: {}
        message:
          type: string
          example: some message
        status:
          type: string
          example: success
    db.CIAutopilotProvider:
      type: object
      required:
        - at_limit
        - connected
        - kind
        - limits
        - proven_labels
        - provider
        - targets
        - usage
      properties:
        at_limit:
          type: boolean
        connected:
          type: boolean
        kind:
          type: string
          enum:
            - runner
            - cluster
        limit:
          type: string
          enum:
            - limit_concurrency
            - limit_hourly
            - limit_daily_spend
            - limit_monthly_spend
          nullable: true
        limits:
          $ref: '#/components/schemas/db.CIAutopilotLimits'
        proven_labels:
          type: array
          items:
            type: string
        provider:
          type: string
        targets:
          type: array
          items:
            $ref: '#/components/schemas/db.CIAutopilotClusterTarget'
        usage:
          $ref: '#/components/schemas/db.CIAutopilotUsage'
    db.CIAutopilotLimits:
      type: object
      required:
        - allow_secrets
      properties:
        allow_secrets:
          type: boolean
        daily_spend_cap:
          type: number
          nullable: true
        max_concurrent:
          type: integer
          nullable: true
        max_per_hour:
          type: integer
          nullable: true
        monthly_spend_cap:
          type: number
          nullable: true
    db.CIAutopilotClusterTarget:
      type: object
      required:
        - cluster
        - label
        - name
        - namespace
      properties:
        cluster:
          type: string
        label:
          type: string
        max_runners:
          type: integer
          nullable: true
        min_runners:
          type: integer
          nullable: true
        name:
          type: string
        namespace:
          type: string
    db.CIAutopilotUsage:
      type: object
      required:
        - in_flight
        - last_hour
        - month_cost
        - today_cost
      properties:
        in_flight:
          type: integer
        last_hour:
          type: integer
        month_cost:
          type: number
        today_cost:
          type: number
  securitySchemes:
    BearerAuth:
      description: Enter "Bearer {token}"
      type: apiKey
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.