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

# Get capistatus

> Wizard-native Cluster API install via cluster-api-operator.

**Authorisation:** `capi:GetStatus` on `krn:celum:supervisor:{name}:capi:*`.

**Assistant tool:** `get_component_status`



## OpenAPI

````yaml /openapi.json get /api/supervisors/{name}/capi/status
openapi: 3.0.3
info:
  description: >-
    The HTTP surface of the Celum backend, generated from its own router and

    authorisation map — so this list cannot drift from the server that serves
    it.


    **Every operation states the IAM action and resource it is authorised

    against.** That pairing is the part worth reading: a policy naming the right

    action against the wrong resource matches nothing, and fails silently.


    Request and response bodies come from the Go types the handlers send and

    decode. Where those types do not determine the shape (an interface, a

    map[string]any, an unknown custom encoding), the operation says so in

    `x-celum-schema-gap` instead of carrying a guessed schema.
  title: Celum API
  version: 1.0.0
servers:
  - description: Your Celum deployment
    url: https://{host}
    variables:
      host:
        default: celum.example.com
        description: The host your Celum backend is served from
security:
  - sessionCookie: []
  - bearerToken: []
tags:
  - description: AI assistant & MCP
    name: ai-assistant
  - description: Clusters & CAPI lifecycle
    name: capi
  - description: Certificates & external secrets
    name: certs
  - description: GitOps & apps
    name: gitops
  - description: IAM, audit & auth
    name: iam
  - description: Image library
    name: images
  - description: Infrastructure & supervisors
    name: infrastructure
  - description: Networking
    name: networking
  - description: Observability & platform health
    name: observability
  - description: Platform onboarding & settings
    name: platform-settings
  - description: Projects
    name: projects
  - description: Registries & mirroring
    name: registries
  - description: Security & flows
    name: security
  - description: Storage
    name: storage
  - description: Templates & addons
    name: templates
  - description: Virtualization platform (KubeVirt/CDI)
    name: virt
  - description: Virtual machines
    name: vms
  - description: Workloads & topology
    name: workloads
paths:
  /api/supervisors/{name}/capi/status:
    get:
      tags:
        - capi
      summary: Get capistatus
      description: >-
        Wizard-native Cluster API install via cluster-api-operator.


        **Authorisation:** `capi:GetStatus` on
        `krn:celum:supervisor:{name}:capi:*`.


        **Assistant tool:** `get_component_status`
      operationId: get_supervisors_byName_capi_status
      parameters:
        - description: >-
            The supervisor's name, as registered under Administration →
            Supervisors.
          in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.capiStatusResponse'
          description: Success.
        '401':
          description: Not authenticated — no valid session cookie or API token.
        '403':
          description: >-
            Authenticated, but no policy allows this action on this resource.
            The body carries the action and resource that were evaluated.
components:
  schemas:
    api.capiStatusResponse:
      properties:
        addonEngine:
          $ref: '#/components/schemas/api.capiProviderState'
        addonEngineInstalled:
          type: boolean
        bootstrap:
          additionalProperties:
            $ref: '#/components/schemas/api.capiProviderState'
          nullable: true
          type: object
        canCreate:
          type: boolean
        clusterClasses:
          $ref: '#/components/schemas/api.capiClusterClassesStatus'
        controlPlane:
          additionalProperties:
            $ref: '#/components/schemas/api.capiProviderState'
          nullable: true
          type: object
        coreProvider:
          $ref: '#/components/schemas/api.capiProviderState'
        desired:
          $ref: '#/components/schemas/api.capiDesiredState'
        helmRelease:
          $ref: '#/components/schemas/api.helmReleaseStatus'
        infrastructure:
          additionalProperties:
            $ref: '#/components/schemas/api.capiProviderState'
          nullable: true
          type: object
        kinds:
          items:
            $ref: '#/components/schemas/api.capiKindStatus'
          nullable: true
          type: array
        providerReleases:
          additionalProperties:
            $ref: '#/components/schemas/api.helmReleaseStatus'
          type: object
        providersViaCharts:
          type: boolean
        ready:
          type: boolean
        stalledControlPlanes:
          items:
            $ref: '#/components/schemas/api.capiStalledControlPlane'
          type: array
      required:
        - addonEngine
        - addonEngineInstalled
        - bootstrap
        - canCreate
        - clusterClasses
        - controlPlane
        - coreProvider
        - helmRelease
        - infrastructure
        - kinds
        - providersViaCharts
        - ready
      type: object
      x-go-type: backend/internal/api.capiStatusResponse
    api.capiProviderState:
      properties:
        degraded:
          type: boolean
        error:
          type: string
        exists:
          type: boolean
        installedVersion:
          type: string
        message:
          type: string
        phase:
          type: string
        ready:
          type: boolean
        reason:
          type: string
      required:
        - exists
        - ready
      type: object
      x-go-type: backend/internal/api.capiProviderState
    api.capiClusterClassesStatus:
      properties:
        chartVersion:
          type: string
        error:
          type: string
        expected:
          items:
            type: string
          nullable: true
          type: array
        kamaji:
          type: boolean
        kubevirt:
          type: boolean
        missing:
          items:
            type: string
          type: array
        present:
          items:
            type: string
          nullable: true
          type: array
        release:
          allOf:
            - $ref: '#/components/schemas/api.helmReleaseStatus'
          nullable: true
          type: object
        vclusterChartMirror:
          type: boolean
        vsphere:
          type: boolean
      required:
        - expected
        - kamaji
        - kubevirt
        - present
        - release
        - vclusterChartMirror
        - vsphere
      type: object
      x-go-type: backend/internal/api.capiClusterClassesStatus
    api.capiDesiredState:
      properties:
        clusterClassesChartVersion:
          type: string
        coreFeatureGates:
          additionalProperties:
            type: boolean
          type: object
        coreVersion:
          type: string
        imageRegistry:
          type: string
        kamajiClassEnabled:
          type: boolean
        kamajiEnabled:
          type: boolean
        kamajiVersion:
          type: string
        kubevirtClassEnabled:
          type: boolean
        kubevirtEnabled:
          type: boolean
        kubevirtVersion:
          type: string
        operatorReplicaCount:
          format: int64
          type: integer
        operatorVersion:
          type: string
        talosBootstrapVersion:
          type: string
        talosControlPlaneVersion:
          type: string
        vclusterEnabled:
          type: boolean
        vclusterVersion:
          type: string
        vsphereClassEnabled:
          type: boolean
        vsphereCredentialsConfigured:
          type: boolean
        vsphereEnabled:
          type: boolean
        vsphereIdentityRef:
          type: string
        vsphereServer:
          type: string
        vsphereTLSThumbprint:
          type: string
        vsphereTenants:
          items:
            $ref: '#/components/schemas/api.vsphereTenantInput'
          type: array
        vsphereUsername:
          type: string
        vsphereVCenter:
          type: string
        vsphereVersion:
          type: string
      required:
        - coreVersion
        - imageRegistry
        - kamajiEnabled
        - kubevirtEnabled
        - kubevirtVersion
        - operatorReplicaCount
        - operatorVersion
        - talosBootstrapVersion
        - talosControlPlaneVersion
        - vclusterEnabled
        - vclusterVersion
        - vsphereCredentialsConfigured
        - vsphereEnabled
        - vsphereVersion
      type: object
      x-go-type: backend/internal/api.capiDesiredState
    api.helmReleaseStatus:
      properties:
        conditions:
          items:
            $ref: '#/components/schemas/api.helmReleaseCondition'
          type: array
        error:
          type: string
        exists:
          type: boolean
        installFailures:
          format: int64
          type: integer
        lastAttemptedRevision:
          type: string
        message:
          type: string
        ready:
          type: boolean
        reason:
          type: string
        revision:
          type: string
        upgradeFailures:
          format: int64
          type: integer
      required:
        - exists
        - ready
      type: object
      x-go-type: backend/internal/api.helmReleaseStatus
    api.capiKindStatus:
      properties:
        classes:
          items:
            type: string
          type: array
        kind:
          type: string
        missing:
          items:
            type: string
          type: array
        offered:
          type: boolean
        ready:
          type: boolean
      required:
        - kind
        - offered
        - ready
      type: object
      x-go-type: backend/internal/api.capiKindStatus
    api.capiStalledControlPlane:
      properties:
        kind:
          type: string
        message:
          type: string
        name:
          type: string
        namespace:
          type: string
      required:
        - kind
        - message
        - name
        - namespace
      type: object
      x-go-type: backend/internal/api.capiStalledControlPlane
    api.vsphereTenantInput:
      properties:
        datacenter:
          type: string
        datastore:
          type: string
        folder:
          type: string
        name:
          type: string
        network:
          type: string
        resourcePool:
          type: string
      required:
        - datacenter
        - datastore
        - folder
        - name
        - network
        - resourcePool
      type: object
      x-go-type: backend/internal/api.vsphereTenantInput
    api.helmReleaseCondition:
      properties:
        message:
          type: string
        reason:
          type: string
        status:
          type: string
        type:
          type: string
      required:
        - message
        - reason
        - status
        - type
      type: object
      x-go-type: backend/internal/api.helmReleaseCondition
  securitySchemes:
    sessionCookie:
      description: >-
        The session cookie issued by the OIDC sign-in flow. This is what a
        browser uses.
      in: cookie
      name: k8s-gate-session
      type: apiKey
    bearerToken:
      description: >-
        An API token, minted from your own identity page. A token carries the
        IAM groups you held **when it was minted**, and cannot bypass deletion
        approval — except for guest clusters inside a project that same token
        created.
      scheme: bearer
      type: http

````

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