Application Research Status API

Operations for querying installation status

Documentation

Specifications

Code Examples

Schemas & Data

OpenAPI Specification

application-research-status-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Application Research CNAB Bundle API Resources Status API
  version: 1.0.0
  description: 'API for managing Cloud Native Application Bundles (CNAB).


    This API provides endpoints for managing CNAB bundles, claims, claim results,

    dependencies, parameter sources, relocation mappings, and installation status.

    '
  contact:
    name: CNAB Specification
    url: https://cnab.io
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://api.example.com/v1
  description: Production server
- url: https://staging-api.example.com/v1
  description: Staging server
security:
- bearerAuth: []
- apiKey: []
tags:
- name: Status
  description: Operations for querying installation status
paths:
  /installations:
    get:
      tags:
      - Status
      summary: Application Research List all installations
      operationId: listInstallations
      responses:
        '200':
          description: List of installations with status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusListResponse'
              examples:
                installationList:
                  $ref: '#/components/examples/StatusListResponse'
        '500':
          $ref: '#/components/responses/InternalError'
  /installations/{name}/status:
    get:
      tags:
      - Status
      summary: Application Research Get installation status
      operationId: getInstallationStatus
      parameters:
      - $ref: '#/components/parameters/InstallationNameParam'
      responses:
        '200':
          description: Installation status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                readyStatus:
                  $ref: '#/components/examples/StatusReady'
                pendingStatus:
                  $ref: '#/components/examples/StatusPending'
                failedStatus:
                  $ref: '#/components/examples/StatusFailed'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            internalError:
              $ref: '#/components/examples/ErrorInternal'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            notFound:
              $ref: '#/components/examples/ErrorNotFound'
  examples:
    ErrorNotFound:
      summary: Not found error
      description: Example error when resource is not found
      value:
        code: NOT_FOUND
        message: Bundle 'my-bundle' not found
    ErrorInternal:
      summary: Internal error
      description: Example internal server error
      value:
        code: INTERNAL_ERROR
        message: An unexpected error occurred
        details:
          requestId: req-123456
    StatusFailed:
      summary: Failed installation status
      description: Example of a failed installation
      value:
        status: Failed
        message: One or more components have failed
        components:
          wordpress:
            status: Failed
            message: CrashLoopBackOff - unable to connect to database
          mysql:
            status: Ready
            message: Database is running
    StatusReady:
      summary: Ready installation status
      description: Example of a healthy installation
      value:
        status: Ready
        message: All components are running
        components:
          wordpress:
            status: Ready
            message: 3/3 replicas available
          mysql:
            status: Ready
            message: Primary and replica healthy
    StatusPending:
      summary: Pending installation status
      description: Example of an installation in progress
      value:
        status: Pending
        message: Installation in progress
        components:
          wordpress:
            status: Pending
            message: Waiting for database to be ready
          mysql:
            status: Ready
            message: Database initialized
    StatusListResponse:
      summary: Installation list response
      description: Example response for listing installations
      value:
      - status: Ready
        message: All components are running
        components:
          wordpress:
            status: Ready
          mysql:
            status: Ready
      - status: Pending
        message: Upgrade in progress
        components:
          inference-server:
            status: Pending
          redis-cache:
            status: Ready
  schemas:
    StatusListResponse:
      type: array
      items:
        $ref: '#/components/schemas/Status'
    Error:
      type: object
      description: Error response
      required:
      - code
      - message
      properties:
        code:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: object
          description: Additional error details
          additionalProperties: true
    StatusComponent:
      type: object
      description: Status of a component in a CNAB installation
      properties:
        status:
          type: string
          description: Status identifier
        message:
          type: string
          description: Details about the current status
        components:
          type: object
          description: Nested components with their own status
          additionalProperties:
            $ref: '#/components/schemas/StatusComponent'
      additionalProperties: true
    Status:
      type: object
      description: Overall status of a CNAB installation
      properties:
        status:
          type: string
          description: Status identifier (Ready, Pending, Failed are well known)
        message:
          type: string
          description: Details about the current status
        components:
          type: object
          description: Map of component names to their status
          additionalProperties:
            $ref: '#/components/schemas/StatusComponent'
      additionalProperties: true
  parameters:
    InstallationNameParam:
      name: name
      in: path
      required: true
      description: Installation name
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT-based authentication
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key authentication