Flatcar Container Linux Apps API

The Apps API from Flatcar Container Linux — 17 operation(s) for apps.

Operations 29

GET /api/apps #
POST /api/apps #
GET /api/apps/{appIDorProductID} #
PUT /api/apps/{appIDorProductID} #
DELETE /api/apps/{appIDorProductID} #
GET /api/apps/{appIDorProductID}/groups #
POST /api/apps/{appIDorProductID}/groups #
GET /api/apps/{appIDorProductID}/groups/{groupID} #
PUT /api/apps/{appIDorProductID}/groups/{groupID} #
DELETE /api/apps/{appIDorProductID}/groups/{groupID} #
GET /api/apps/{appIDorProductID}/groups/{groupID}/version_timeline #
GET /api/apps/{appIDorProductID}/groups/{groupID}/status_timeline #
GET /api/apps/{appIDorProductID}/groups/{groupID}/instances_stats #
GET /api/apps/{appIDorProductID}/groups/{groupID}/version_breakdown #
GET /api/apps/{appIDorProductID}/channels #
POST /api/apps/{appIDorProductID}/channels #
GET /api/apps/{appIDorProductID}/channels/{channelID} #
PUT /api/apps/{appIDorProductID}/channels/{channelID} #
DELETE /api/apps/{appIDorProductID}/channels/{channelID} #
GET /api/apps/{appIDorProductID}/packages #
POST /api/apps/{appIDorProductID}/packages #
GET /api/apps/{appIDorProductID}/packages/{packageID} #
PUT /api/apps/{appIDorProductID}/packages/{packageID} #
DELETE /api/apps/{appIDorProductID}/packages/{packageID} #
GET /api/apps/{appIDorProductID}/packages/{packageID}/floor-channels #
GET /api/apps/{appIDorProductID}/groups/{groupID}/instances #
GET /api/apps/{appIDorProductID}/groups/{groupID}/instancescount #
GET /api/apps/{appIDorProductID}/groups/{groupID}/instances/{instanceID} #
GET /api/apps/{appIDorProductID}/groups/{groupID}/instances/{instanceID}/status_history #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/flatcar-container-linux-apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

flatcar-container-linux-apps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.0.1
  title: Nebraska Activity Apps API
  description: Nebraska is an update manager.
  contact:
    name: Flatcar Container Linux
    email: maintainers@flatcar-linux.org
    url: http://flatcar.org
servers:
- url: https://nebraska.flatcar-linux.org/api
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Apps
paths:
  /api/apps:
    get:
      description: get Apps
      operationId: paginateApps
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 0
      - in: query
        name: perpage
        required: false
        schema:
          type: integer
          minimum: 10
      responses:
        '200':
          description: Get App success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appsPage'
        '404':
          description: Apps not found response
        '400':
          description: Bad request response
      tags:
      - Apps
    post:
      description: create app
      operationId: createApp
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: query
        name: clone_from
        required: false
        schema:
          type: string
      requestBody:
        description: payload for create app
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/appConfig'
      responses:
        '200':
          description: Create App success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          description: Bad request response
        '500':
          description: Create App error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}:
    get:
      description: get app
      operationId: getApp
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get app success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '404':
          description: App not found response
        '500':
          description: Get App error response
      tags:
      - Apps
    put:
      description: update app
      operationId: updateApp
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      requestBody:
        description: payload for update app
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/appConfig'
      responses:
        '200':
          description: Update App success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          description: Bad request response
        '500':
          description: Update app error response
      tags:
      - Apps
    delete:
      description: delete app
      operationId: deleteApp
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Delete App success response
        '500':
          description: Delete App error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups:
    get:
      description: paginate groups of an app
      operationId: paginateGroups
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 0
      - in: query
        name: perpage
        required: false
        schema:
          type: integer
          minimum: 10
      responses:
        '200':
          description: get Groups success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupPage'
        '404':
          description: Groups not found response
        '500':
          description: get Groups error response
      tags:
      - Apps
    post:
      description: create group in app
      operationId: createGroup
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      requestBody:
        description: payload for create group
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupConfig'
      responses:
        '200':
          description: Create Group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/group'
        '400':
          description: Bad request response
        '500':
          description: Create Group error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}:
    get:
      description: get group given its groupID and appID
      operationId: getGroup
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get Group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/group'
        '404':
          description: Group not found response
        '500':
          description: Get Group error response
      tags:
      - Apps
    put:
      description: update group given its groupID and appID
      operationId: updateGroup
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      requestBody:
        description: payload for update group
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupConfig'
      responses:
        '200':
          description: Update Group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/group'
        '404':
          description: Group not found response
        '400':
          description: Update Group Bad request response
        '500':
          description: Update Group error response
      tags:
      - Apps
    delete:
      description: delete group given its groupID and appID
      operationId: deleteGroup
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Delete Group success response
        '404':
          description: Group not found response
        '500':
          description: Delete Group error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}/version_timeline:
    get:
      description: get version timeline of a group given its groupID and appID
      operationId: getGroupVersionTimeline
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      - in: query
        name: duration
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Version Timeline of group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupVersionCountTimeline'
        '404':
          description: Group not found response
        '500':
          description: Version Timeline of group error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}/status_timeline:
    get:
      description: get status timeline of a group given its groupID and appID
      operationId: getGroupStatusTimeline
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      - in: query
        name: duration
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Status Timeline of group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupStatusCountTimeline'
        '404':
          description: Group not found response
        '500':
          description: Status Timeline of group error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}/instances_stats:
    get:
      description: get instance stats of a group given its groupID and appID
      operationId: getGroupInstanceStats
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      - in: query
        name: duration
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Instance Stats of group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupInstanceStats'
        '404':
          description: Group not found response
        '500':
          description: Instance Stats of group error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}/version_breakdown:
    get:
      description: get version breakdown of a group given its groupID and appID
      operationId: getGroupVersionBreakdown
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Version Breakdown of group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupVersionBreakdown'
        '404':
          description: Group not found response
        '500':
          description: Version Breakdown of group error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/channels:
    get:
      description: paginate channels of an app
      operationId: paginateChannels
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 0
      - in: query
        name: perpage
        required: false
        schema:
          type: integer
          minimum: 10
      responses:
        '200':
          description: Get channels success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/channelPage'
        '404':
          description: Channel not found response
        '500':
          description: Get channels error response
      tags:
      - Apps
    post:
      description: create channel
      operationId: createChannel
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      requestBody:
        description: payload for create channel
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/channelConfig'
      responses:
        '200':
          description: Create channel success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/channel'
        '400':
          description: Bad request response
        '500':
          description: Create channel error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/channels/{channelID}:
    get:
      description: get channel by id
      operationId: getChannel
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: channelID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get channel success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/channel'
        '404':
          description: Channel not found response
        '500':
          description: Get channel error response
      tags:
      - Apps
    put:
      description: update channel by id
      operationId: updateChannel
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: channelID
        required: true
        schema:
          type: string
      requestBody:
        description: payload for create channel
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/channelConfig'
      responses:
        '200':
          description: Update channel success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/channel'
        '404':
          description: Channel not found response
        '400':
          description: Bad request response
        '500':
          description: Update channel error response
      tags:
      - Apps
    delete:
      description: delete channel by id
      operationId: deleteChannel
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: channelID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Delete channel success response
        '500':
          description: Delete channel error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/packages:
    get:
      description: paginate packages of an app
      operationId: paginatePackages
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 0
      - in: query
        name: perpage
        required: false
        schema:
          type: integer
          minimum: 10
      - in: query
        name: searchVersion
        schema:
          type: string
      responses:
        '200':
          description: get Packages success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/packagePage'
        '404':
          description: Packages not found response
      tags:
      - Apps
    post:
      description: create package
      operationId: createPackage
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      requestBody:
        description: payload for create package
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/packageConfig'
      responses:
        '200':
          description: Create Package success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/package'
        '400':
          description: Create Package bad request response
        '500':
          description: Create package error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/packages/{packageID}:
    get:
      description: get package given its packageID and appID
      operationId: getPackage
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: packageID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get Package success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/package'
        '404':
          description: Package not found response
        '500':
          description: Get Package error response
      tags:
      - Apps
    put:
      description: update package given its packageID and appID
      operationId: updatePackage
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: packageID
        required: true
        schema:
          type: string
      requestBody:
        description: payload for update package
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/packageConfig'
      responses:
        '200':
          description: Update Package success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/package'
        '404':
          description: Package not found response
        '500':
          description: Update package error response
      tags:
      - Apps
    delete:
      description: delete package given its packageID and appID
      operationId: deletePackage
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: packageID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Delete Package success response
        '404':
          description: Package not found response
        '500':
          description: Delete package error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/packages/{packageID}/floor-channels:
    get:
      description: get all channels where a package is marked as a floor
      operationId: getPackageFloorChannels
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: packageID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get Package Floor Channels success response
          content:
            application/json:
              schema:
                type: object
                properties:
                  channels:
                    type: array
                    items:
                      type: object
                      properties:
                        channel:
                          $ref: '#/components/schemas/channel'
                        floor_reason:
                          type:
                          - string
                          - 'null'
                  count:
                    type: integer
        '404':
          description: Package not found
        '500':
          description: Internal server error
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}/instances:
    get:
      description: get instances of a group given its groupID and appID
      operationId: getGroupInstances
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      - in: query
        name: status
        required: true
        schema:
          type: integer
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 0
      - in: query
        name: perpage
        required: false
        schema:
          type: integer
          minimum: 10
      - in: query
        name: sortFilter
        required: false
        schema:
          type: string
      - in: query
        name: sortOrder
        required: false
        schema:
          type: string
      - in: query
        name: searchFilter
        required: false
        schema:
          type: string
      - in: query
        name: searchValue
        required: false
        schema:
          type: string
      - in: query
        name: duration
        required: true
        schema:
          type: string
      - in: query
        name: version
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Get Instances of a Group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instancePage'
        '500':
          description: Get Instances of a Group error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}/instancescount:
    get:
      description: get instance count of a group given its groupID and appID
      operationId: getGroupInstancesCount
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      - in: query
        name: duration
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get Instance count of a Group success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceCount'
        '500':
          description: Get Instance count of a Group error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}/instances/{instanceID}:
    get:
      description: get instance of a group given its groupID and appID
      operationId: getInstance
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      - in: path
        name: instanceID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get instance success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instance'
        '404':
          description: Instance not found response
        '500':
          description: Get instance error response
      tags:
      - Apps
  /api/apps/{appIDorProductID}/groups/{groupID}/instances/{instanceID}/status_history:
    get:
      description: get instance status_history.
      operationId: getInstanceStatusHistory
      security:
      - oidcBearerAuth: []
      - oidcCookieAuth: []
      - githubCookieAuth: []
      parameters:
      - in: path
        name: appIDorProductID
        required: true
        schema:
          type: string
      - in: path
        name: groupID
        required: true
        schema:
          type: string
      - in: path
        name: instanceID
        required: true
        schema:
          type: string
      - in: query
        name: limit
        required: false
        schema:
          type: integer
          minimum: 0
      responses:
        '200':
          description: Get instance status history success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceStatusHistories'
        '404':
          description: Instance not found response
        '500':
          description: Get instance status history error response
      tags:
      - Apps
components:
  schemas:
    packageConfig:
      type: object
      required:
      - application_id
      - arch
      - channels_blacklist
      - description
      - filename
      - hash
      - size
      - type
      - url
      - version
      properties:
        application_id:
          type: string
        arch:
          type: integer
        channels_blacklist:
          type: array
          items:
            type: string
        description:
          type: string
        filename:
          type: string
        hash:
          type: string
        size:
          type: string
        url:
          type: string
        version:
          type: string
        type:
          type: integer
        flatcarAction:
          $ref: '#/components/schemas/flatcarActionPackage'
        extraFiles:
          $ref: '#/components/schemas/extraFiles'
    channelConfig:
      type: object
      required:
      - application_id
      - arch
      - color
      - name
      properties:
        application_id:
          type: string
        arch:
          type: integer
          x-go-type: uint
        color:
          type: string
        name:
          type: string
        package_id:
          type: string
    package:
      type: object
      required:
      - id
      - type
      - version
      - url
      - filename
      - description
      - size
      - hash
      - createdTs
      - channelsBlacklist
      - applicationID
      - arch
      properties:
        id:
          type: string
        type:
          type: integer
        version:
          type: string
        url:
          type: string
        filename:
          type: string
        description:
          type: string
        size:
          type: string
        hash:
          type: string
        createdTs:
          type: string
          format: date-time
          x-oapi-codegen-extra-tags:
            json: created_ts
        channelsBlacklist:
          type: array
          items:
            type: string
          x-oapi-codegen-extra-tags:
            json: channels_blacklist
        extraFiles:
          $ref: '#/components/schemas/extraFiles'
        applicationID:
          type: string
          x-oapi-codegen-extra-tags:
            json: application_id
        flatcarAction:
          $ref: '#/components/schemas/flatcarAction'
        arch:
          $ref: '#/components/schemas/arch'
        isFloor:
          type: boolean
          description: Indicates if this package is a floor version for the current context
          x-oapi-codegen-extra-tags:
            json: is_floor,omitempty
        floorReason:
          type:
          - string
          - 'null'
          description: Reason why this package is marked as a floor version
          maxLength: 500
          x-oapi-codegen-extra-tags:
            json: floor_reason
    packagePage:
      type: object
      required:
      - totalCount
      - count
      - packages
      properties:
        totalCount:
          type: integer
        count:
          type: integer
        packages:
          type: array
          items:
            $ref: '#/components/schemas/package'
    application:
      type: object
      required:
      - id
      - name
      - description
      - createdTs
      - groups
      - channels
      - instances
      - productId
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        createdTs:
          type: string
          format: date-time
          x-oapi-codegen-extra-tags:
            json: created_ts
        productId:
          type: string
          x-oapi-codegen-extra-tags:
            json: product_id
        groups:
          type: array
          items:
            $ref: '#/components/schemas/group'
        channels:
          type: array
          items:
            $ref: '#/components/schemas/channel'
        instances:
          type: object
          required:
          - count
          properties:
            count:
              type: integer
    instance:
      type: object
      required:
      - id
      - ip
      - createdTs
      properties:
        id:
          type: string
        ip:
          type: string
        createdTs:
          type: string
          format: date-time
          x-oapi-codegen-extra-tags:
            json: created_ts
        application:
          $ref: '#/components/schemas/instanceApplication'
        alias:
          type: string
    flatcarAction:
      type: object
      required:
      - id
      - event
      - chromeOSVersion
      - sha256
      - needsAdmin
      - isDelta
      - disablePayloadBackoff
      - metadataSignatureRsa
      - metadataSize
      - deadline
      - createdTs
      properties:
        id:
          type: string
        event:
          type: string
        chromeOSVersion:
          type: string
          x-oapi-codegen-extra-tags:
            json: chromeos_version
        sha256:
          type: string
        needsAdmin:
          type: boolean
          x-oapi-codegen-extra-tags:
            json: needs_admin
        isDelta:
          type: boolean
          x-oapi-codegen-extra-tags:
            json: is_delta
        disablePayload

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flatcar-container-linux/refs/heads/main/openapi/flatcar-container-linux-apps-api-openapi.yml