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

# Read the organisation's pipeline capacity

> How much pipeline work the organisation's pipeline cluster can run at once and how much is waiting. ci_worker_count is the number of CI slots the cluster's agent runs: a slot is one pipeline step the agent watches at a time, not a node, and the nodes those steps land on come from the cluster's node group autoscaler. steps_in_flight_on_cluster counts every step occupying a slot on that cluster. The organisation_* counts are this organisation's own runs and steps: runs queued, runs counted against max_parallel_runs, pending steps, and the pending steps held back because every slot is taken (zero whenever a slot is free). is_live_resize_supported reports whether the cluster's agent applies a changed worker count without restarting. cluster_id and cluster_name are null, and the cluster's numbers zero, when no pipeline cluster is chosen. Readable by any member. A browser session twin is mounted at the same path without the /api/v1 prefix (cookie authentication).



## OpenAPI

````yaml https://platform.ankra.app/openapi.json get /api/v1/org/ci-settings/capacity
openapi: 3.1.0
info:
  title: Ankra Platform API
  version: v1
  description: >-
    The Ankra platform HTTP contract. The /api/v1 surface is the public,
    bearer-authenticated API used by the Ankra CLI, MCP clients and automation;
    send a personal or service API token as `Authorization: Bearer <token>`.
    Browser routes under /org and /chat are served on api.platform.ankra.app
    (each declares that server); they and /oauth/access authenticate with the
    ankra_session cookie, and mutations also require the X-Ankra-CSRF header.
    Every operation declares the credential it accepts, and no operation is
    served without one. This document is published deliberately: it describes
    the contract only and carries no organisation data or credentials. Report
    security issues to security@ankra.ai (see /.well-known/security.txt).
servers:
  - url: https://platform.ankra.app
security:
  - BearerAuth: []
tags:
  - name: Onboarding
    description: >-
      Generate a first website from a prompt and deploy it to a new
      organisation's cluster.
  - name: Access Gate
    description: >-
      Private service sign-in and membership checks for trusted Ankra proxy
      relays.
  - name: Canvas Datasets
    description: >-
      Read the fixed, named datasets canvas dashboards bind their charts, tables
      and stats to.
  - name: Canvases
    description: >-
      Keep dashboards and pages in the organisation's canvas library, with
      revision history, undo and pins.
  - name: Canvas Pages
    description: >-
      Publish a chat canvas artifact at a public pages address and take it down
      again.
  - name: Cloud Delegation
    description: >-
      Platform browser consent and organisation-bound connections for Ankra
      Cloud.
  - name: Organisation IAM
    description: >-
      Custom organisation roles and scoped role assignments for member and
      service-account identities.
  - name: Clusters
    description: Create, inspect and manage clusters, and the stacks deployed on them.
  - name: Managed Clusters
    description: Provider-managed control planes, driven through one common surface.
  - name: Imported Clusters
    description: Clusters that already existed and were connected to Ankra.
  - name: Cluster Access
    description: Kubeconfigs, service-account tokens and per-cluster access grants.
  - name: Kubernetes
    description: Read and act on the Kubernetes objects inside a cluster.
  - name: AWS Clusters
    description: >-
      Provision and manage self-managed k3s / kubeadm clusters on AWS EC2 in
      your own VPC.
  - name: Ankra Cloud Clusters
    description: >-
      Provision and manage self-managed kubeadm / k3s clusters on Ankra Cloud
      servers: a private network, a NAT router and a bastion per cluster.
  - name: DigitalOcean Clusters
    description: Provision and manage DigitalOcean Kubernetes clusters.
  - name: Hetzner Clusters
    description: Provision and manage Hetzner Kubernetes clusters.
  - name: OVH Clusters
    description: Provision and manage OVH Kubernetes clusters.
  - name: Scaleway Clusters
    description: Provision and manage Scaleway Kapsule clusters.
  - name: UpCloud Clusters
    description: Provision and manage UpCloud Kubernetes clusters.
  - name: Applications
    description: Deploy, configure and observe applications across the fleet.
  - name: Pipelines
    description: >-
      Pipeline definitions, the approval of the authority they declare, and the
      caches pipelines keep between runs.
  - name: Workspaces
    description: >-
      Personal workspaces on the organisation's CI pool where a repository's
      heavy commands run, and the repository profiles they are built from.
  - name: Deploy Targets
    description: >-
      Environments, the hosts registered to receive deployments, and the
      releases deployed to them.
  - name: Deploy Provenance
    description: >-
      Whether an application's deploys verify signed provenance from the
      organisation's own pipeline, the keys that provenance is signed with, and
      a dry-run that verifies images without deploying.
  - name: Backups
    description: >-
      Backup vaults, restore points, protection posture and captures for stacks
      and application deployments; a completed capture is not a verified
      restore.
  - name: Stack Profiles
    description: Reusable stack definitions, their versions and sharing.
  - name: Services
    description: >-
      Versioned service packages and explicit sharing. Runtime admission is
      separate from publication.
  - name: Charts
    description: Browse the chart catalogue behind stacks and addons.
  - name: Helm
    description: Helm registries, credentials and the charts they expose.
  - name: Executions
    description: Long-running platform executions and their jobs.
  - name: Operations
    description: Cancel in-flight cluster operations and their jobs.
  - name: Chat
    description: Conversational sessions, plans and confirmable actions.
  - name: AI Management
    description: >-
      Customer agent lifecycle, authenticated identity and organisation
      automation controls.
  - name: AI Agent Runs
    description: Autonomous agent runs and their outcomes.
  - name: AI Tickets
    description: The AI ticket board, its sync connections and settings.
  - name: AI Playbooks
    description: Reusable playbooks the AI lanes execute.
  - name: AI Conditions
    description: Conditions that gate AI autonomy.
  - name: AI Remediation
    description: >-
      The organisation's auto-remediation policy: what the AI lanes may fix by
      themselves, and who approves the rest.
  - name: AI Engineering Handoffs
    description: Work the AI lanes escalate to a human engineer.
  - name: AI Environment
    description: The environment and base stacks AI demos deploy into.
  - name: AI Memory
    description: >-
      What the assistant has learned about you: your cross-session memories and
      learned profile.
  - name: MCP Servers
    description: >-
      Register the MCP servers the organisation's AI agents can call, choose
      their tools and grant them to roles.
  - name: Security
    description: Findings, advisories, SBOMs, compliance and posture.
  - name: Cost
    description: Cluster and fleet cost, rate cards and cost settings.
  - name: Decisions
    description: >-
      The decision ledger behind the Security and Cost queues: proposals a
      surface computed, the approve and set-aside decisions people took on them,
      and the receipts of running them.
  - name: Usage
    description: >-
      What your organisation used of Ankra - vCPU-hours, playgrounds, managed
      services, hosted logs and metrics, and AI - per meter and period, with how
      completely it was measured and whether a published rate applies.
  - name: Billing
    description: Subscription and spend caps.
  - name: Organisation
    description: Members, invitations, audit logs and organisation settings.
  - name: Account
    description: >-
      Your own account: the contact email Ankra mails when it differs from your
      sign-in address.
  - name: Account Tokens
    description: Personal access tokens for the API and CLI.
  - name: Credentials
    description: The shared credential store.
  - name: AWS Credentials
    description: >-
      AWS credentials: access keys or CloudFormation-onboarded STS roles for
      cost, EKS and self-managed provisioning.
  - name: Ankra Cloud Credentials
    description: >-
      Ankra Cloud API tokens, shared by the self-managed and managed Ankra Cloud
      lanes.
  - name: Azure Credentials
    description: Azure credentials and SSH keys.
  - name: DigitalOcean Credentials
    description: DigitalOcean credentials and SSH keys.
  - name: Hetzner Credentials
    description: Hetzner credentials and SSH keys.
  - name: HPE Morpheus Credentials
    description: HPE Morpheus credentials and the capacity and quotas behind them.
  - name: OVH Credentials
    description: OVH credentials and SSH keys.
  - name: Proxmox Credentials
    description: Proxmox VE credentials and the capacity and quotas behind them.
  - name: Scaleway Credentials
    description: Scaleway credentials.
  - name: UpCloud Credentials
    description: UpCloud credentials and SSH keys.
  - name: Data Source Credentials
    description: Credentials for metrics and log sources.
  - name: DNS Credentials
    description: Credentials for DNS providers.
  - name: Object Storage Buckets
    description: >-
      Buckets Ankra creates and manages on an organisation's own provider
      credentials.
  - name: DNS
    description: DNS zones and records, including custom organisation zones.
  - name: Cloudflare
    description: Cloudflare domains and the credentials behind them.
  - name: Avura
    description: >-
      The linked Avura organization, the domains it shares with Ankra Platform,
      and their DNS records.
  - name: Variables
    description: Organisation- and cluster-scoped variables.
  - name: Secret Slots
    description: >-
      Store secrets in Vault and reference them by ${SECRET_SLOT:<slot_id>}
      sentinel instead of by value.
  - name: SOPS
    description: Encrypt and decrypt values with the organisation SOPS config.
  - name: Alerts
    description: Alert integrations and ingest credentials.
  - name: Notifications
    description: Notification routes and their delivery targets.
  - name: Support
    description: Support tickets.
  - name: AI Settings
    description: Organisation AI provider, model catalog and per-function model settings
paths:
  /api/v1/org/ci-settings/capacity:
    get:
      tags:
        - Pipelines
      summary: Read the organisation's pipeline capacity
      description: >-
        How much pipeline work the organisation's pipeline cluster can run at
        once and how much is waiting. ci_worker_count is the number of CI slots
        the cluster's agent runs: a slot is one pipeline step the agent watches
        at a time, not a node, and the nodes those steps land on come from the
        cluster's node group autoscaler. steps_in_flight_on_cluster counts every
        step occupying a slot on that cluster. The organisation_* counts are
        this organisation's own runs and steps: runs queued, runs counted
        against max_parallel_runs, pending steps, and the pending steps held
        back because every slot is taken (zero whenever a slot is free).
        is_live_resize_supported reports whether the cluster's agent applies a
        changed worker count without restarting. cluster_id and cluster_name are
        null, and the cluster's numbers zero, when no pipeline cluster is
        chosen. Readable by any member. A browser session twin is mounted at the
        same path without the /api/v1 prefix (cookie authentication).
      operationId: getPipelineCapacityToken
      responses:
        '200':
          description: The organisation's pipeline capacity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineCapacity'
        '401':
          description: Authentication required
        '500':
          description: Internal error
      security:
        - BearerAuth: []
components:
  schemas:
    PipelineCapacity:
      type: object
      description: >-
        The organisation's pipeline capacity: its pipeline cluster's CI slots,
        the steps occupying them, and the organisation's own queued and pending
        work. Every member is always present.
      required:
        - cluster_id
        - cluster_name
        - ci_worker_count
        - is_live_resize_supported
        - steps_in_flight_on_cluster
        - organisation_runs_queued
        - organisation_runs_in_flight
        - organisation_steps_pending
        - organisation_steps_waiting_on_slots
        - max_parallel_runs
        - max_parallel_steps
        - is_pooled
        - pool_members
      properties:
        cluster_id:
          anyOf:
            - type: string
            - type: 'null'
          description: The organisation's pipeline cluster; null when none is chosen.
        cluster_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The pipeline cluster's name; null when none is chosen or it has been
            deleted.
        ci_worker_count:
          type: integer
          description: >-
            CI slots the cluster's agent runs; 0 when pipeline steps are off or
            no cluster is chosen.
        is_live_resize_supported:
          type: boolean
          description: >-
            Whether the cluster's agent applies a changed worker count without
            restarting; false when unknown.
        steps_in_flight_on_cluster:
          type: integer
          description: Pipeline steps occupying a slot on the cluster.
        organisation_runs_queued:
          type: integer
          description: This organisation's runs still queued.
        organisation_runs_in_flight:
          type: integer
          description: This organisation's runs counted against max_parallel_runs.
        organisation_steps_pending:
          type: integer
          description: This organisation's pending steps on live runs.
        organisation_steps_waiting_on_slots:
          type: integer
          description: >-
            This organisation's pending steps held back because every slot of
            the cluster is taken.
        max_parallel_runs:
          type: integer
          description: The organisation's ci_max_parallel_runs.
        max_parallel_steps:
          type: integer
          description: The organisation's ci_max_parallel_steps.
        is_pooled:
          type: boolean
          description: >-
            The organisation lists CI pool members, so its runs are spread
            across pool_members. When true, organisation_steps_waiting_on_slots
            is the pool's: a step of a run not yet pinned waits on slots only
            while every member that can take a step is full.
        pool_members:
          type: array
          items:
            $ref: '#/components/schemas/PipelineCapacityPoolMember'
          description: >-
            Every live CI pool member, the primary first: the declared CI
            cluster alone when the organisation lists none, empty when it has
            neither.
      title: PipelineCapacity
    PipelineCapacityPoolMember:
      type: object
      description: >-
        One CI pool member's slots and load, and what is stopping it from
        running the organisation's waiting steps.
      required:
        - cluster_id
        - cluster_name
        - weight
        - is_primary
        - is_listed
        - ci_worker_count
        - steps_in_flight
        - can_run_steps
        - is_full
        - waiting_steps
        - scale_up_blockers
        - scale_up_blockers_state
        - scale_up_blockers_unavailable
      properties:
        cluster_id:
          type: string
          format: uuid
        cluster_name:
          type: string
        weight:
          type: integer
        is_primary:
          type: boolean
          description: The member is the organisation's ci_cluster_id.
        is_listed:
          type: boolean
          description: The member has a pool row of its own.
        ci_worker_count:
          type: integer
          description: CI slots the member's agent runs.
        steps_in_flight:
          type: integer
          description: Pipeline steps occupying a slot on the member, of any organisation.
        can_run_steps:
          type: boolean
          description: >-
            The member's agent exists, advertises pipeline steps and is checking
            in: the condition under which runs are placed on it at all.
        is_full:
          type: boolean
          description: Every stored worker of the member is taken.
        waiting_steps:
          type: integer
          description: >-
            The organisation's running steps on this member whose agent began
            them at least two minutes ago and whose pods have not been seen
            running - not started, and not placed on a node with nothing holding
            them back - out of at most 50 read.
        scale_up_blockers:
          type: array
          items:
            $ref: '#/components/schemas/PipelineCapacityBlocker'
          description: >-
            Why this member is not running the organisation's waiting steps or
            cannot add nodes, one entry per code with the newest evidence, most
            actionable first: a failed scale-up with the provider's reason, a
            node group at its maximum, no node type large enough, an image the
            registry refused. Empty when nothing was observed;
            scale_up_blockers_state says whether empty means nothing is wrong.
        scale_up_blockers_state:
          type: string
          enum:
            - blocked
            - none_observed
            - unknown
          description: >-
            blocked: a blocker is listed. none_observed: nothing, on cluster
            events the platform can vouch for. unknown: the cluster's events are
            not fresh, the read was capped, or it failed - see
            scale_up_blockers_unavailable.
        scale_up_blockers_unavailable:
          anyOf:
            - type: string
            - type: 'null'
          description: Why scale_up_blockers_state is unknown; null otherwise.
      title: PipelineCapacityPoolMember
    PipelineCapacityBlocker:
      description: >-
        One reason a CI pool member is not running the organisation's waiting
        steps: a PipelineDiagnosis, and how many of the waiting steps it
        explains (0 for a failed scale-up no waiting step is blocked on yet).
      allOf:
        - $ref: '#/components/schemas/PipelineDiagnosis'
        - type: object
          required:
            - waiting_steps
          properties:
            waiting_steps:
              type: integer
              description: Waiting steps this blocker explains.
      title: PipelineCapacityBlocker
    PipelineDiagnosis:
      type: object
      description: >-
        A classified pipeline diagnosis (ankra-q573dh.15). code is a frozen
        vocabulary a client keys on; title and next_step are the sentences a
        person reads and may be reworded.
      required:
        - code
        - category
        - title
        - next_step
        - detail
        - source
        - observed_at
      properties:
        code:
          type: string
          enum:
            - provider_quota_exceeded
            - provider_volume_quota_exceeded
            - scale_up_failed
            - node_group_at_max
            - no_node_group_fits
            - insufficient_capacity
            - run_node_full
            - image_pull_auth
            - image_pull_failed
            - volume_unavailable
            - scale_up_in_progress
            - out_of_memory
            - stage_exceeds_node_size
            - volume_provisioning_refused
            - build_runtime_confined
            - deadline_exceeded
            - deadline_exceeded_waiting
            - no_ci_cluster
            - definition_needs_approval
            - cache_volume_fallback
          description: The stable code.
        category:
          type: string
          enum:
            - waiting
            - failure
            - notice
          description: >-
            waiting: why work has not started. failure: why a step or run
            failed. notice: something a passing step did that is worth changing.
        title:
          type: string
          description: One line naming the cause.
        next_step:
          type: string
          description: The one thing to do about it.
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The cluster's, provider's or agent's own words, with hidden
            characters, control characters and credentials removed, at most 300
            characters; null when there were none.
        source:
          type: string
          enum:
            - event
            - platform
            - step
            - run
          description: >-
            Where the evidence was read: a Kubernetes event on the cluster, the
            platform's own record of a node create, the step's conclusion, or
            the run's.
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            When the evidence was last seen; null for evidence that carries no
            time.
      title: PipelineDiagnosis
  securitySchemes:
    BearerAuth:
      bearerFormat: PAT
      scheme: bearer
      type: http

````

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