> ## 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.

# Get a pipeline run of a pipeline repository

> Reads one pipeline run with its steps, the authority overrides it ran under, any pending authority request, why it is queued and the classified diagnosis of a failure. Needs pipelines.read.



## OpenAPI

````yaml https://platform.ankra.app/openapi.json get /api/v1/org/pipeline-repositories/{repository_id}/pipeline-runs/{run_id}
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: Playground
    description: >-
      The organisation's playground cluster: order one, read its provisioning
      status, list the orderable sizes, resize it and destroy it.
  - 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: Cluster Meshes
    description: >-
      Cilium ClusterMeshes that join an organisation's clusters into one
      network: create a mesh, check whether clusters can join, prepare a running
      cluster, and add or remove members.
  - 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: Proxmox Clusters
    description: >-
      Self-managed Kubernetes clusters Ankra builds on Proxmox VE VMs: the node,
      storage, bridge, template and size catalogs, create and teardown, start
      and stop, node groups, nodes, standalone VMs, upgrades and the bastion.
  - name: HPE Morpheus Clusters
    description: >-
      Self-managed Kubernetes clusters Ankra builds on HPE Morpheus VMs: the
      group, cloud, plan, layout and network catalogs, create and teardown,
      start and stop, node groups, nodes, standalone VMs, upgrades and the
      bastion.
  - 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: Projects
    description: >-
      Projects group an organisation's clusters, applications, credentials and
      other resources beneath it: list, create, rename and delete them, switch
      the current project, see who reaches one, and move resources between them.
  - name: Account
    description: >-
      Your own account: the contact email Ankra mails when it differs from your
      sign-in address, and the AI provider keys your own work runs on.
  - 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/pipeline-repositories/{repository_id}/pipeline-runs/{run_id}:
    get:
      tags:
        - Pipelines
      summary: Get a pipeline run of a pipeline repository
      description: >-
        Reads one pipeline run with its steps, the authority overrides it ran
        under, any pending authority request, why it is queued and the
        classified diagnosis of a failure. Needs pipelines.read.
      operationId: get_pipeline_run_repository
      parameters:
        - description: The connected pipeline repository.
          in: path
          name: repository_id
          required: true
          schema:
            type: string
            format: uuid
        - in: path
          name: run_id
          required: true
          schema:
            type: string
            format: uuid
          description: The pipeline run.
      responses:
        '200':
          description: The run.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineRunDetail'
        '401':
          description: Authentication required
        '403':
          description: Missing pipelines.read
        '404':
          description: Repository or run not found
        '422':
          description: Malformed path id or query parameter
        '500':
          description: Internal error
      security:
        - BearerAuth: []
components:
  schemas:
    PipelineRunDetail:
      description: A pipeline run with its steps, authority overrides and diagnosis.
      allOf:
        - $ref: '#/components/schemas/PipelineRun'
        - type: object
          properties:
            steps:
              type: array
              items:
                $ref: '#/components/schemas/PipelineRunStep'
            promoted_from_run_number:
              type:
                - integer
                - 'null'
            authority_overrides:
              type: array
              items:
                $ref: '#/components/schemas/PipelineAuthorityOverride'
            authority_overrides_unavailable:
              type:
                - string
                - 'null'
            approve_definition_id:
              type:
                - string
                - 'null'
              format: uuid
              description: >-
                The definition an administrator approves to lift the overrides;
                null when none.
            approve_definition_id_unavailable:
              type:
                - string
                - 'null'
            queue_reason:
              type: string
              description: Why a queued run has not started; omitted otherwise.
            queue_reason_message:
              type: string
            queue_reason_unavailable:
              type: string
            authority_request:
              anyOf:
                - type: 'null'
                - $ref: '#/components/schemas/PipelineAuthorityRequest'
            authority_request_unavailable:
              type:
                - string
                - 'null'
            diagnosis:
              anyOf:
                - type: 'null'
                - $ref: '#/components/schemas/PipelineDiagnosis'
            reservation_wait:
              $ref: '#/components/schemas/PipelineRunReservationWait'
            reservation_wait_unavailable:
              type: string
          required:
            - steps
            - promoted_from_run_number
            - authority_overrides
            - authority_overrides_unavailable
            - approve_definition_id
            - approve_definition_id_unavailable
            - authority_request
            - authority_request_unavailable
            - diagnosis
    PipelineRun:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The pipeline run id.
        run_id:
          type: string
          format: uuid
          description: The execution run id the pipeline run drives.
        organisation_id:
          type: string
          format: uuid
        repository_id:
          type: string
          format: uuid
        application_id:
          type:
            - string
            - 'null'
          format: uuid
        cluster_id:
          type:
            - string
            - 'null'
          format: uuid
          description: The CI cluster the run was pinned to; null before placement.
        definition_id:
          type: string
          format: uuid
        run_number:
          type: integer
          description: Per-repository run number.
        trigger:
          type: string
          enum:
            - push
            - pull_request
            - tag
            - schedule
            - manual
            - api
            - agent
            - rerun
            - merge_train
        trigger_ref:
          type: string
        head_sha:
          type: string
        base_sha:
          type: string
        pull_request_number:
          type:
            - integer
            - 'null'
        is_fork:
          type: boolean
        concurrency_group:
          type: string
        status:
          type: string
          enum:
            - queued
            - running
            - concluded
        outcome:
          type:
            - string
            - 'null'
          description: >-
            success, failure, cancelled, timed_out, skipped or infra_error once
            concluded; null before.
        error_class:
          type:
            - string
            - 'null'
        error_message:
          type:
            - string
            - 'null'
        requested_by:
          type: string
        rerun_of_run_id:
          type:
            - string
            - 'null'
          format: uuid
        superseded_by_run_id:
          type:
            - string
            - 'null'
          format: uuid
        superseded_by_run_number:
          type:
            - integer
            - 'null'
        cancelled_by:
          type:
            - string
            - 'null'
        cancel_reason:
          type:
            - string
            - 'null'
        cancelled_at:
          type:
            - string
            - 'null'
          format: date-time
        cancelling:
          type: boolean
          description: A cancel was requested and the run has not concluded yet.
        authority_state:
          type:
            - string
            - 'null'
        authority_hash:
          type:
            - string
            - 'null'
        authority_definition_id:
          type:
            - string
            - 'null'
          format: uuid
        queued_at:
          type: string
          format: date-time
        started_at:
          type:
            - string
            - 'null'
          format: date-time
        finished_at:
          type:
            - string
            - 'null'
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        display_title:
          type:
            - string
            - 'null'
        head_branch:
          type:
            - string
            - 'null'
        merged_pull_request_number:
          type:
            - integer
            - 'null'
        head_tree_sha:
          type:
            - string
            - 'null'
        promotion_outcome:
          type:
            - string
            - 'null'
        promotion_message:
          type:
            - string
            - 'null'
        promoted_from_run_id:
          type:
            - string
            - 'null'
          format: uuid
        paths_unverified:
          type: string
          description: Why path filters could not be verified; omitted when they were.
        full_run_source:
          type: string
          description: What asked for a full run; omitted for an ordinary run.
        full_run_requested_by:
          type: string
        full_run_message:
          type: string
        target_environments:
          type: array
          items:
            type: string
        merge_train_members_verified:
          type: boolean
        reservation:
          $ref: '#/components/schemas/PipelineRunReservation'
      required:
        - id
        - run_id
        - organisation_id
        - repository_id
        - application_id
        - cluster_id
        - definition_id
        - run_number
        - trigger
        - trigger_ref
        - head_sha
        - base_sha
        - pull_request_number
        - is_fork
        - concurrency_group
        - status
        - outcome
        - error_class
        - error_message
        - requested_by
        - rerun_of_run_id
        - superseded_by_run_id
        - superseded_by_run_number
        - cancelled_by
        - cancel_reason
        - cancelled_at
        - cancelling
        - authority_state
        - authority_hash
        - authority_definition_id
        - queued_at
        - started_at
        - finished_at
        - created_at
        - updated_at
        - display_title
        - head_branch
        - merged_pull_request_number
        - head_tree_sha
        - promotion_outcome
        - promotion_message
        - promoted_from_run_id
      description: One pipeline run of a repository.
    PipelineRunStep:
      type: object
      properties:
        id:
          type: string
          format: uuid
        run_id:
          type: string
          format: uuid
        stage:
          type: string
        step_key:
          type: string
        display_name:
          type: string
        kind:
          type: string
        matrix:
          description: The step's matrix values as recorded (any JSON).
        depends_on:
          type: array
          items:
            type: string
        status:
          type: string
          description: blocked, pending, running or concluded.
        outcome:
          type:
            - string
            - 'null'
        continue_on_error:
          type: boolean
        exit_code:
          type:
            - integer
            - 'null'
        attempt:
          type: integer
        timeout_seconds:
          type: integer
        executor:
          type: string
        execution_id:
          type:
            - string
            - 'null'
          format: uuid
        execution_step_id:
          type:
            - string
            - 'null'
        node_name:
          type: string
        cache_result:
          type: string
        caches:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/PipelineRunStepCache'
        outputs:
          description: The step's recorded outputs (any JSON).
        error_class:
          type:
            - string
            - 'null'
        error_message:
          type:
            - string
            - 'null'
        dropped_log_lines:
          type: integer
        deferred_count:
          type: integer
        last_deferred_at:
          type:
            - string
            - 'null'
          format: date-time
        dispatched_at:
          type:
            - string
            - 'null'
          format: date-time
        started_at:
          type:
            - string
            - 'null'
          format: date-time
        pod_created_at:
          type:
            - string
            - 'null'
          format: date-time
        pod_scheduled_at:
          type:
            - string
            - 'null'
          format: date-time
        workspace_attached_at:
          type:
            - string
            - 'null'
          format: date-time
        image_pull_started_at:
          type:
            - string
            - 'null'
          format: date-time
        image_pulled_at:
          type:
            - string
            - 'null'
          format: date-time
        container_started_at:
          type:
            - string
            - 'null'
          format: date-time
        cpu_request_millicores:
          type:
            - integer
            - 'null'
        cpu_limit_millicores:
          type:
            - integer
            - 'null'
        memory_request_bytes:
          type:
            - integer
            - 'null'
        memory_limit_bytes:
          type:
            - integer
            - 'null'
        memory_peak_bytes:
          type:
            - integer
            - 'null'
        memory_limit_hits:
          type:
            - integer
            - 'null'
        memory_oom_kills:
          type:
            - integer
            - 'null'
        cpu_usage_usec:
          type:
            - integer
            - 'null'
        cpu_throttled_usec:
          type:
            - integer
            - 'null'
        usage_elapsed_usec:
          type:
            - integer
            - 'null'
        memory_working_set_peak_bytes:
          type:
            - integer
            - 'null'
        quarantined_test_failures:
          type: integer
          description: Omitted when the step had no quarantined test failures recorded.
        finished_at:
          type:
            - string
            - 'null'
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        diagnosis:
          anyOf:
            - type: 'null'
            - $ref: '#/components/schemas/PipelineDiagnosis'
        diagnosis_unavailable:
          type:
            - string
            - 'null'
          description: Why the diagnosis could not be read; null when it was.
      required:
        - id
        - run_id
        - stage
        - step_key
        - display_name
        - kind
        - matrix
        - depends_on
        - status
        - outcome
        - continue_on_error
        - exit_code
        - attempt
        - timeout_seconds
        - executor
        - execution_id
        - execution_step_id
        - node_name
        - cache_result
        - caches
        - outputs
        - error_class
        - error_message
        - dropped_log_lines
        - deferred_count
        - last_deferred_at
        - dispatched_at
        - started_at
        - pod_created_at
        - pod_scheduled_at
        - workspace_attached_at
        - image_pull_started_at
        - image_pulled_at
        - container_started_at
        - cpu_request_millicores
        - cpu_limit_millicores
        - memory_request_bytes
        - memory_limit_bytes
        - memory_peak_bytes
        - memory_limit_hits
        - memory_oom_kills
        - cpu_usage_usec
        - cpu_throttled_usec
        - usage_elapsed_usec
        - memory_working_set_peak_bytes
        - finished_at
        - created_at
        - updated_at
        - diagnosis
        - diagnosis_unavailable
      description: One step of a pipeline run.
    PipelineAuthorityOverride:
      type: object
      properties:
        section:
          type: string
        path:
          type: string
        message:
          type: string
      required:
        - section
        - path
        - message
      description: >-
        One protected setting the run's definition declared that was not applied
        because it is unapproved.
    PipelineAuthorityRequest:
      type: object
      additionalProperties: false
      required:
        - id
        - organisation_id
        - repository_id
        - application_id
        - definition_id
        - protected_hash
        - approved_hash
        - run_id
        - head_sha
        - ref
        - pull_request_number
        - requested_by
        - status
        - resolved_by
        - resolved_at
        - resolved_via
        - reason
        - diff
        - last_refusal
        - created_at
        - updated_at
      properties:
        id:
          type: string
          format: uuid
        organisation_id:
          type: string
          format: uuid
        repository_id:
          type: string
          format: uuid
        application_id:
          type:
            - string
            - 'null'
          format: uuid
        definition_id:
          type: string
          format: uuid
          description: >-
            The definition to approve: POST
            /api/v1/org/pipelines/definitions/{definition_id}/approve resolves
            this request.
        protected_hash:
          type: string
          description: Identity of the protected settings an approval grants.
        approved_hash:
          type:
            - string
            - 'null'
          description: >-
            Identity of the settings the raising run executed under instead;
            null when nothing was ever approved.
        run_id:
          type: string
          format: uuid
          description: The newest pipeline run that raised or joined this request.
        head_sha:
          type: string
        ref:
          type: string
        pull_request_number:
          type:
            - integer
            - 'null'
        requested_by:
          type: string
          description: >-
            The principal behind the run, as `<lane>:<identity>`
            (github:<login>, user:<id>).
        status:
          type: string
          enum:
            - pending
            - approved
            - dismissed
            - superseded
        resolved_by:
          type:
            - string
            - 'null'
          description: Ankra user id of the person who approved or dismissed it.
        resolved_at:
          type:
            - string
            - 'null'
          format: date-time
        resolved_via:
          type:
            - string
            - 'null'
          enum:
            - portal
            - github_check
            - cli
            - api
            - null
        reason:
          type:
            - string
            - 'null'
          description: The dismissal's reason; null unless dismissed.
        diff:
          type: object
          additionalProperties: false
          required:
            - sections
            - yaml
          properties:
            sections:
              type: array
              items:
                type: object
                additionalProperties: false
                required:
                  - section
                  - path
                  - from
                  - to
                properties:
                  section:
                    type: string
                  path:
                    type: string
                  from:
                    type:
                      - string
                      - 'null'
                    description: >-
                      What the approved authority declares at the path; null
                      when nothing.
                  to:
                    type:
                      - string
                      - 'null'
                    description: >-
                      What the requesting definition declares; null when it
                      dropped the value. Credential-bearing literals read
                      `<withheld>`.
            yaml:
              type: string
              description: >-
                The requesting definition's protected settings in the canonical
                form an approval digests, with credential-bearing literals
                withheld.
        last_refusal:
          description: >-
            The last approval press from a source-control host that was refused;
            null when none was.
          anyOf:
            - type: 'null'
            - type: object
              additionalProperties: false
              required:
                - sender
                - reason
                - message
                - at
              properties:
                sender:
                  type: string
                reason:
                  type: string
                  enum:
                    - bot
                    - unmapped
                    - unverified
                    - service_principal
                    - not_admin
                message:
                  type: string
                at:
                  type: string
                  format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    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
    PipelineRunReservationWait:
      type: object
      properties:
        state:
          type: string
        since:
          type: string
          format: date-time
        waited_seconds:
          type: integer
        cpu_millicores:
          type:
            - integer
            - 'null'
        memory_bytes:
          type:
            - integer
            - 'null'
        returned_to_queue_count:
          type: integer
        message:
          type: string
      required:
        - state
        - since
        - waited_seconds
        - cpu_millicores
        - memory_bytes
        - returned_to_queue_count
        - message
      description: Why a queued run is still waiting for CI capacity.
    PipelineRunReservation:
      type: object
      properties:
        mode:
          type: string
          description: How the run's CI capacity was reserved.
        sizing:
          type: string
          description: How the estimate was sized; omitted when not recorded.
        cpu_millicores:
          type: integer
        memory_bytes:
          type: integer
        peaks_cpu_millicores:
          type: integer
          description: Omitted when no peak was recorded.
        peaks_memory_bytes:
          type: integer
          description: Omitted when no peak was recorded.
        observed_cpu_millicores:
          type: integer
        observed_memory_bytes:
          type: integer
      required:
        - mode
        - cpu_millicores
        - memory_bytes
        - observed_cpu_millicores
        - observed_memory_bytes
      description: The CI capacity a run reserved, and what it was observed to use.
    PipelineRunStepCache:
      type: object
      properties:
        path:
          type: string
        key:
          type: string
        outcome:
          type: string
        reason:
          type: string
        error:
          type: string
        bytes:
          type: integer
        duration_ms:
          type: integer
        saved:
          type: boolean
        saved_bytes:
          type: integer
      required:
        - path
        - key
        - outcome
        - reason
        - error
        - bytes
        - duration_ms
        - saved
        - saved_bytes
      description: One cache a step restored or saved.
  securitySchemes:
    BearerAuth:
      bearerFormat: PAT
      scheme: bearer
      type: http

````

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