Flatcar Container Linux Apps API
The Apps API from Flatcar Container Linux — 17 operation(s) for apps.
The Apps API from Flatcar Container Linux — 17 operation(s) for apps.
openapi: 3.0.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
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
nullable: true
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:
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
disablePayloadBackoff:
type: boolean
x-oapi-codegen-extra-tags:
json: disable_payload_backoff
metadataSignatureRsa:
type: string
x-oapi-codegen-extra-tags:
json: metadata_signature_rsa
metadataSize:
type: string
x-oapi-codegen-extra-tags:
json: metadata_size
deadline:
type: string
createdTs:
type: string
format: date-time
x-oapi-codegen-extra-tags:
json: created_ts
x-oapi-codegen-extra-tags:
json: flatcar_action
packagePage:
type: object
required:
- totalCount
- count
- packages
properties:
totalCount:
type: integer
count:
type: integer
packages:
type: array
items:
$ref: '#/components/schemas/package'
groupInstanceStats:
type: object
required:
- total
- undefined
- updateGranted
- error
- complete
- installed
- downloaded
- downloading
- onHold
properties:
total:
type: integer
undefined:
type: integer
updateGranted:
type: integer
x-oapi-codegen-extra-tags:
json: update_granted
error:
type: integer
complete:
type: integer
installed:
type: integer
downloaded:
type: integer
downloading:
type: integer
onHold:
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
channelPage:
type: object
required:
- totalCount
- count
- channels
properties:
totalCount:
type: integer
count:
type: integer
channels:
type: array
items:
$ref: '#/components/schemas/channel'
channel:
type: object
required:
- id
- name
- color
- createdTs
- applicationID
- packageID
- arch
properties:
id:
type: string
name:
type: string
maxLength: 50
color:
type: string
createdTs:
type: string
format: date-time
x-oapi-codegen-extra-tags:
json: created_ts
applicationID:
type: string
x-oapi-codegen-extra-tags:
json: application_id
packageID:
type: string
x-oapi-codegen-extra-tags:
json: package_id
package:
$ref: '#/components/schemas/package'
arch:
$ref: '#/components/schemas/arch'
x-oapi-codegen-extra-tags:
db: channel
appsPage:
type: object
required:
- totalCount
- count
- applications
properties:
totalCount:
type: integer
count:
type: integer
applications:
type: array
items:
$ref: '#/components/schemas/application'
instancePage:
type: object
required:
- total
- instances
properties:
total:
type: integer
instances:
type: array
items:
$ref: '#/components/schemas/instance'
groupVersionCountTimeline:
type: object
x-go-type: map[time.Time]map[string]uint64
instanceApplication:
type: object
required:
- instanceID
- applicationID
- groupID
- version
- createdTs
- status
- lastCheckForUpdates
- lastUpdateGrantedTs
- lastUpdateVersion
- updateInProgress
properties:
instanceID:
type: string
x-oapi-codegen-extra-tags:
json: instance_id
applicationID:
type: string
x-oapi-codegen-extra-tags:
json: application_id
groupID:
type: string
x-oapi-codegen-extra-tags:
json: group_id
version:
type: string
x-oapi-codegen-extra-tags:
json: version
createdTs:
type: string
format: date-time
x-oapi-cod
# --- 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