CRI-O Status API

The CRI-O Status API is an HTTP server exposed by the cri-o daemon for runtime introspection, container inspection, and lifecycle control. It provides /info and /config endpoints for daemon configuration, /containers/{id} for live container inspection, /pause/{id} and /unpause/{id} to control container execution, and /debug endpoints for golang debugging. As noted upstream, this API is not considered stable for production use.

OpenAPI Specification

cri-o-status-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CRI-O Status API
  description: >-
    The CRI-O Status API is an HTTP server exposed by the cri-o daemon over a
    Unix domain socket (default /var/run/crio/crio.sock for the gRPC CRI and
    /var/run/crio/crio.info for status). It provides runtime introspection
    endpoints for retrieving daemon configuration, version, container
    information, and golang debug data. As noted upstream, this API is not
    considered stable for production use and is intended for debugging,
    operations, and tooling integrations.
  version: '1.0'
  contact:
    name: CRI-O Project
    url: https://cri-o.io/
  license:
    name: Apache 2.0
    url: https://github.com/cri-o/cri-o/blob/main/LICENSE
externalDocs:
  description: CRI-O Documentation
  url: https://github.com/cri-o/cri-o/tree/main/docs
servers:
  - url: http://localhost
    description: CRI-O Status API served over the local Unix socket
tags:
  - name: Information
    description: Runtime version, configuration, and general info endpoints.
  - name: Containers
    description: Endpoints that return information about live containers.
  - name: Lifecycle
    description: Endpoints to pause and unpause running containers.
  - name: Debug
    description: Golang debug endpoints for goroutines, heap, and profiling.
paths:
  /info:
    get:
      tags:
        - Information
      operationId: getInfo
      summary: Get runtime information
      description: >-
        Returns daemon information including storage driver, storage root,
        cgroup driver, and runtime defaults.
      responses:
        '200':
          description: Runtime information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Info'
  /config:
    get:
      tags:
        - Information
      operationId: getConfig
      summary: Get runtime configuration
      description: Returns the active CRI-O TOML configuration as plain text.
      responses:
        '200':
          description: TOML configuration document
          content:
            text/plain:
              schema:
                type: string
  /containers/{id}:
    get:
      tags:
        - Containers
      operationId: getContainer
      summary: Get container info
      description: Returns runtime information about a single container by ID.
      parameters:
        - name: id
          in: path
          required: true
          description: Container ID.
          schema:
            type: string
      responses:
        '200':
          description: Container information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerInfo'
        '404':
          description: Container not found
  /pause/{id}:
    post:
      tags:
        - Lifecycle
      operationId: pauseContainer
      summary: Pause a container
      description: Pauses a running container by ID.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Container paused
        '404':
          description: Container not found
  /unpause/{id}:
    post:
      tags:
        - Lifecycle
      operationId: unpauseContainer
      summary: Unpause a container
      description: Unpauses a paused container by ID.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Container unpaused
        '404':
          description: Container not found
  /debug/goroutines:
    get:
      tags:
        - Debug
      operationId: getGoroutines
      summary: Dump goroutine stacks
      description: Returns the current goroutine stack traces for the daemon.
      responses:
        '200':
          description: Goroutine stack dump as plain text.
          content:
            text/plain:
              schema:
                type: string
components:
  schemas:
    Info:
      type: object
      properties:
        storage_driver:
          type: string
        storage_root:
          type: string
        cgroup_driver:
          type: string
        default_runtime:
          type: string
        runtimes:
          type: object
          additionalProperties: true
    ContainerInfo:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        image:
          type: string
        pid:
          type: integer
        sandbox_id:
          type: string
        created_time:
          type: string
          format: date-time