Flatcar Container Linux · Capability

Nebraska

Nebraska. 40 operations. Lead operation: Nebraska. Self-contained Naftiko capability covering one Flatcar Container Linux business surface.

Run with Naftiko Flatcar Container LinuxNebraska

What You Can Do

GET
Paginateactivity — paginate activity
/v1/api/activity
GET
Paginateapps — get Apps
/v1/api/apps
POST
Createapp — create app
/v1/api/apps
GET
Getapp — get app
/v1/api/apps/{appidorproductid}
PUT
Updateapp — update app
/v1/api/apps/{appidorproductid}
DELETE
Deleteapp — delete app
/v1/api/apps/{appidorproductid}
GET
Paginatechannels — paginate channels of an app
/v1/api/apps/{appidorproductid}/channels
POST
Createchannel — create channel
/v1/api/apps/{appidorproductid}/channels
GET
Getchannel — get channel by id
/v1/api/apps/{appidorproductid}/channels/{channelid}
PUT
Updatechannel — update channel by id
/v1/api/apps/{appidorproductid}/channels/{channelid}
DELETE
Deletechannel — delete channel by id
/v1/api/apps/{appidorproductid}/channels/{channelid}
GET
Paginategroups — paginate groups of an app
/v1/api/apps/{appidorproductid}/groups
POST
Creategroup — create group in app
/v1/api/apps/{appidorproductid}/groups
GET
Getgroup — get group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}
PUT
Updategroup — update group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}
DELETE
Deletegroup — delete group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}
GET
Getgroupinstances — get instances of a group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}/instances
GET
Getinstance — get instance of a group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}/instances/{instanceid}
GET
Getinstancestatushistory — get instance status_history.
/v1/api/apps/{appidorproductid}/groups/{groupid}/instances/{instanceid}/status-history
GET
Getgroupinstancestats — get instance stats of a group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}/instances-stats
GET
Getgroupinstancescount — get instance count of a group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}/instancescount
GET
Getgroupstatustimeline — get status timeline of a group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}/status-timeline
GET
Getgroupversionbreakdown — get version breakdown of a group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}/version-breakdown
GET
Getgroupversiontimeline — get version timeline of a group given its groupID and appID
/v1/api/apps/{appidorproductid}/groups/{groupid}/version-timeline
GET
Paginatepackages — paginate packages of an app
/v1/api/apps/{appidorproductid}/packages
POST
Createpackage — create package
/v1/api/apps/{appidorproductid}/packages
GET
Getpackage — get package given its packageID and appID
/v1/api/apps/{appidorproductid}/packages/{packageid}
PUT
Updatepackage — update package given its packageID and appID
/v1/api/apps/{appidorproductid}/packages/{packageid}
DELETE
Deletepackage — delete package given its packageID and appID
/v1/api/apps/{appidorproductid}/packages/{packageid}
GET
Getpackagefloorchannels — get all channels where a package is marked as a floor
/v1/api/apps/{appidorproductid}/packages/{packageid}/floor-channels
GET
Paginatechannelfloors — paginate floor packages of a channel
/v1/api/channels/{channelid}/floors
PUT
Setchannelfloor — Create or update a floor package relationship (idempotent operation)
/v1/api/channels/{channelid}/floors/{packageid}
DELETE
Removechannelfloor — remove package as floor for a channel
/v1/api/channels/{channelid}/floors/{packageid}
PUT
Updateinstance — update instance
/v1/api/instances/{instanceid}
GET
Getconfig — get app config
/v1/config
GET
Health — health endpoint
/v1/health
GET
Logincb — GitHub OAuth callback (GitHub mode only)
/v1/login/cb
GET
Validatetoken — validate JWT access token (OIDC mode only)
/v1/login/validate-token
POST
Loginwebhook — GitHub webhook (GitHub mode only)
/v1/login/webhook
POST
Omaha — omaha endpoint
/v1/v1/update

MCP Tools

paginate-activity

paginate activity

read-only idempotent
get-apps

get Apps

read-only idempotent
create-app

create app

get-app

get app

read-only idempotent
update-app

update app

idempotent
delete-app

delete app

idempotent
paginate-channels-app

paginate channels of an app

read-only idempotent
create-channel

create channel

get-channel-id

get channel by id

read-only idempotent
update-channel-id

update channel by id

idempotent
delete-channel-id

delete channel by id

idempotent
paginate-groups-app

paginate groups of an app

read-only idempotent
create-group-app

create group in app

get-group-given-its-groupid

get group given its groupID and appID

read-only idempotent
update-group-given-its-groupid

update group given its groupID and appID

idempotent
delete-group-given-its-groupid

delete group given its groupID and appID

idempotent
get-instances-group-given-its

get instances of a group given its groupID and appID

read-only idempotent
get-instance-group-given-its

get instance of a group given its groupID and appID

read-only idempotent
get-instance-status-history

get instance status_history.

read-only idempotent
get-instance-stats-group-given

get instance stats of a group given its groupID and appID

read-only idempotent
get-instance-count-group-given

get instance count of a group given its groupID and appID

read-only idempotent
get-status-timeline-group-given

get status timeline of a group given its groupID and appID

read-only idempotent
get-version-breakdown-group-given

get version breakdown of a group given its groupID and appID

read-only idempotent
get-version-timeline-group-given

get version timeline of a group given its groupID and appID

read-only idempotent
paginate-packages-app

paginate packages of an app

read-only idempotent
create-package

create package

get-package-given-its-packageid

get package given its packageID and appID

read-only idempotent
update-package-given-its-packageid

update package given its packageID and appID

idempotent
delete-package-given-its-packageid

delete package given its packageID and appID

idempotent
get-all-channels-where-package

get all channels where a package is marked as a floor

read-only idempotent
paginate-floor-packages-channel

paginate floor packages of a channel

read-only idempotent
create-update-floor-package-relationship

Create or update a floor package relationship (idempotent operation)

idempotent
remove-package-floor-channel

remove package as floor for a channel

idempotent
update-instance

update instance

idempotent
get-app-config

get app config

read-only idempotent
health-endpoint

health endpoint

read-only idempotent
github-oauth-callback-github-mode

GitHub OAuth callback (GitHub mode only)

read-only idempotent
validate-jwt-access-token-oidc

validate JWT access token (OIDC mode only)

read-only idempotent
github-webhook-github-mode-only

GitHub webhook (GitHub mode only)

omaha-endpoint

omaha endpoint

Capability Spec

nebraska-update.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Nebraska
  description: 'Nebraska. 40 operations. Lead operation: Nebraska. Self-contained Naftiko capability covering one Flatcar
    Container Linux business surface.'
  tags:
  - Flatcar Container Linux
  - Nebraska
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FLATCAR_CONTAINER_LINUX_API_KEY: FLATCAR_CONTAINER_LINUX_API_KEY
capability:
  consumes:
  - type: http
    namespace: nebraska-update
    baseUri: ''
    description: Nebraska business capability. Self-contained, no shared references.
    resources:
    - name: api-activity
      path: /api/activity
      operations:
      - name: paginateactivity
        method: GET
        description: paginate activity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: query
          type: string
        - name: groupID
          in: query
          type: string
        - name: channelID
          in: query
          type: string
        - name: instanceID
          in: query
          type: string
        - name: version
          in: query
          type: string
        - name: severity
          in: query
          type: integer
        - name: start
          in: query
          type: string
          required: true
        - name: end
          in: query
          type: string
          required: true
        - name: page
          in: query
          type: integer
        - name: perpage
          in: query
          type: integer
    - name: api-apps
      path: /api/apps
      operations:
      - name: paginateapps
        method: GET
        description: get Apps
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
        - name: perpage
          in: query
          type: integer
      - name: createapp
        method: POST
        description: create app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clone_from
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-apps-appIDorProductID
      path: /api/apps/{appIDorProductID}
      operations:
      - name: getapp
        method: GET
        description: get app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
      - name: updateapp
        method: PUT
        description: update app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteapp
        method: DELETE
        description: delete app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
    - name: api-apps-appIDorProductID-channels
      path: /api/apps/{appIDorProductID}/channels
      operations:
      - name: paginatechannels
        method: GET
        description: paginate channels of an app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: page
          in: query
          type: integer
        - name: perpage
          in: query
          type: integer
      - name: createchannel
        method: POST
        description: create channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-apps-appIDorProductID-channels-channelID
      path: /api/apps/{appIDorProductID}/channels/{channelID}
      operations:
      - name: getchannel
        method: GET
        description: get channel by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: channelID
          in: path
          type: string
          required: true
      - name: updatechannel
        method: PUT
        description: update channel by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: channelID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletechannel
        method: DELETE
        description: delete channel by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: channelID
          in: path
          type: string
          required: true
    - name: api-apps-appIDorProductID-groups
      path: /api/apps/{appIDorProductID}/groups
      operations:
      - name: paginategroups
        method: GET
        description: paginate groups of an app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: page
          in: query
          type: integer
        - name: perpage
          in: query
          type: integer
      - name: creategroup
        method: POST
        description: create group in app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-apps-appIDorProductID-groups-groupID
      path: /api/apps/{appIDorProductID}/groups/{groupID}
      operations:
      - name: getgroup
        method: GET
        description: get group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
      - name: updategroup
        method: PUT
        description: update group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletegroup
        method: DELETE
        description: delete group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
    - name: api-apps-appIDorProductID-groups-groupID-instances
      path: /api/apps/{appIDorProductID}/groups/{groupID}/instances
      operations:
      - name: getgroupinstances
        method: GET
        description: get instances of a group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
        - name: status
          in: query
          type: integer
          required: true
        - name: page
          in: query
          type: integer
        - name: perpage
          in: query
          type: integer
        - name: sortFilter
          in: query
          type: string
        - name: sortOrder
          in: query
          type: string
        - name: searchFilter
          in: query
          type: string
        - name: searchValue
          in: query
          type: string
        - name: duration
          in: query
          type: string
          required: true
        - name: version
          in: query
          type: string
    - name: api-apps-appIDorProductID-groups-groupID-instances-instanceID
      path: /api/apps/{appIDorProductID}/groups/{groupID}/instances/{instanceID}
      operations:
      - name: getinstance
        method: GET
        description: get instance of a group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
        - name: instanceID
          in: path
          type: string
          required: true
    - name: api-apps-appIDorProductID-groups-groupID-instances-instanceID-status_history
      path: /api/apps/{appIDorProductID}/groups/{groupID}/instances/{instanceID}/status_history
      operations:
      - name: getinstancestatushistory
        method: GET
        description: get instance status_history.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
        - name: instanceID
          in: path
          type: string
          required: true
        - name: limit
          in: query
          type: integer
    - name: api-apps-appIDorProductID-groups-groupID-instances_stats
      path: /api/apps/{appIDorProductID}/groups/{groupID}/instances_stats
      operations:
      - name: getgroupinstancestats
        method: GET
        description: get instance stats of a group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
        - name: duration
          in: query
          type: string
          required: true
    - name: api-apps-appIDorProductID-groups-groupID-instancescount
      path: /api/apps/{appIDorProductID}/groups/{groupID}/instancescount
      operations:
      - name: getgroupinstancescount
        method: GET
        description: get instance count of a group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
        - name: duration
          in: query
          type: string
          required: true
    - name: api-apps-appIDorProductID-groups-groupID-status_timeline
      path: /api/apps/{appIDorProductID}/groups/{groupID}/status_timeline
      operations:
      - name: getgroupstatustimeline
        method: GET
        description: get status timeline of a group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
        - name: duration
          in: query
          type: string
          required: true
    - name: api-apps-appIDorProductID-groups-groupID-version_breakdown
      path: /api/apps/{appIDorProductID}/groups/{groupID}/version_breakdown
      operations:
      - name: getgroupversionbreakdown
        method: GET
        description: get version breakdown of a group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
    - name: api-apps-appIDorProductID-groups-groupID-version_timeline
      path: /api/apps/{appIDorProductID}/groups/{groupID}/version_timeline
      operations:
      - name: getgroupversiontimeline
        method: GET
        description: get version timeline of a group given its groupID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: groupID
          in: path
          type: string
          required: true
        - name: duration
          in: query
          type: string
          required: true
    - name: api-apps-appIDorProductID-packages
      path: /api/apps/{appIDorProductID}/packages
      operations:
      - name: paginatepackages
        method: GET
        description: paginate packages of an app
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: page
          in: query
          type: integer
        - name: perpage
          in: query
          type: integer
        - name: searchVersion
          in: query
          type: string
      - name: createpackage
        method: POST
        description: create package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-apps-appIDorProductID-packages-packageID
      path: /api/apps/{appIDorProductID}/packages/{packageID}
      operations:
      - name: getpackage
        method: GET
        description: get package given its packageID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: packageID
          in: path
          type: string
          required: true
      - name: updatepackage
        method: PUT
        description: update package given its packageID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: packageID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletepackage
        method: DELETE
        description: delete package given its packageID and appID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: packageID
          in: path
          type: string
          required: true
    - name: api-apps-appIDorProductID-packages-packageID-floor-channels
      path: /api/apps/{appIDorProductID}/packages/{packageID}/floor-channels
      operations:
      - name: getpackagefloorchannels
        method: GET
        description: get all channels where a package is marked as a floor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: appIDorProductID
          in: path
          type: string
          required: true
        - name: packageID
          in: path
          type: string
          required: true
    - name: api-channels-channelID-floors
      path: /api/channels/{channelID}/floors
      operations:
      - name: paginatechannelfloors
        method: GET
        description: paginate floor packages of a channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: channelID
          in: path
          type: string
          required: true
        - name: page
          in: query
          type: integer
        - name: perpage
          in: query
          type: integer
    - name: api-channels-channelID-floors-packageID
      path: /api/channels/{channelID}/floors/{packageID}
      operations:
      - name: setchannelfloor
        method: PUT
        description: Create or update a floor package relationship (idempotent operation)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: channelID
          in: path
          type: string
          required: true
        - name: packageID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: removechannelfloor
        method: DELETE
        description: remove package as floor for a channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: channelID
          in: path
          type: string
          required: true
        - name: packageID
          in: path
          type: string
          required: true
    - name: api-instances-instanceID
      path: /api/instances/{instanceID}
      operations:
      - name: updateinstance
        method: PUT
        description: update instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: instanceID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: config
      path: /config
      operations:
      - name: getconfig
        method: GET
        description: get app config
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: health
      path: /health
      operations:
      - name: health
        method: GET
        description: health endpoint
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: login-cb
      path: /login/cb
      operations:
      - name: logincb
        method: GET
        description: GitHub OAuth callback (GitHub mode only)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: login-validate_token
      path: /login/validate_token
      operations:
      - name: validatetoken
        method: GET
        description: validate JWT access token (OIDC mode only)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: login-webhook
      path: /login/webhook
      operations:
      - name: loginwebhook
        method: POST
        description: GitHub webhook (GitHub mode only)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Hub-Signature
          in: header
          type: string
          required: true
        - name: X-Github-Event
          in: header
          type: string
          required: true
    - name: v1-update
      path: /v1/update
      operations:
      - name: omaha
        method: POST
        description: omaha endpoint
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.FLATCAR_CONTAINER_LINUX_API_KEY}}'
  exposes:
  - type: rest
    namespace: nebraska-update-rest
    port: 8080
    description: REST adapter for Nebraska. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/api/activity
      name: api-activity
      description: REST surface for api-activity.
      operations:
      - method: GET
        name: paginateactivity
        description: paginate activity
        call: nebraska-update.paginateactivity
        with:
          appIDorProductID: rest.appIDorProductID
          groupID: rest.groupID
          channelID: rest.channelID
          instanceID: rest.instanceID
          version: rest.version
          severity: rest.severity
          start: rest.start
          end: rest.end
          page: rest.page
          perpage: rest.perpage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps
      name: api-apps
      description: REST surface for api-apps.
      operations:
      - method: GET
        name: paginateapps
        description: get Apps
        call: nebraska-update.paginateapps
        with:
          page: rest.page
          perpage: rest.perpage
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createapp
        description: create app
        call: nebraska-update.createapp
        with:
          clone_from: rest.clone_from
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}
      name: api-apps-appidorproductid
      description: REST surface for api-apps-appIDorProductID.
      operations:
      - method: GET
        name: getapp
        description: get app
        call: nebraska-update.getapp
        with:
          appIDorProductID: rest.appIDorProductID
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateapp
        description: update app
        call: nebraska-update.updateapp
        with:
          appIDorProductID: rest.appIDorProductID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapp
        description: delete app
        call: nebraska-update.deleteapp
        with:
          appIDorProductID: rest.appIDorProductID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/channels
      name: api-apps-appidorproductid-channels
      description: REST surface for api-apps-appIDorProductID-channels.
      operations:
      - method: GET
        name: paginatechannels
        description: paginate channels of an app
        call: nebraska-update.paginatechannels
        with:
          appIDorProductID: rest.appIDorProductID
          page: rest.page
          perpage: rest.perpage
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createchannel
        description: create channel
        call: nebraska-update.createchannel
        with:
          appIDorProductID: rest.appIDorProductID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/channels/{channelid}
      name: api-apps-appidorproductid-channels-channelid
      description: REST surface for api-apps-appIDorProductID-channels-channelID.
      operations:
      - method: GET
        name: getchannel
        description: get channel by id
        call: nebraska-update.getchannel
        with:
          appIDorProductID: rest.appIDorProductID
          channelID: rest.channelID
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatechannel
        description: update channel by id
        call: nebraska-update.updatechannel
        with:
          appIDorProductID: rest.appIDorProductID
          channelID: rest.channelID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletechannel
        description: delete channel by id
        call: nebraska-update.deletechannel
        with:
          appIDorProductID: rest.appIDorProductID
          channelID: rest.channelID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/groups
      name: api-apps-appidorproductid-groups
      description: REST surface for api-apps-appIDorProductID-groups.
      operations:
      - method: GET
        name: paginategroups
        description: paginate groups of an app
        call: nebraska-update.paginategroups
        with:
          appIDorProductID: rest.appIDorProductID
          page: rest.page
          perpage: rest.perpage
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creategroup
        description: create group in app
        call: nebraska-update.creategroup
        with:
          appIDorProductID: rest.appIDorProductID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/groups/{groupid}
      name: api-apps-appidorproductid-groups-groupid
      description: REST surface for api-apps-appIDorProductID-groups-groupID.
      operations:
      - method: GET
        name: getgroup
        description: get group given its groupID and appID
        call: nebraska-update.getgroup
        with:
          appIDorProductID: rest.appIDorProductID
          groupID: rest.groupID
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updategroup
        description: update group given its groupID and appID
        call: nebraska-update.updategroup
        with:
          appIDorProductID: rest.appIDorProductID
          groupID: rest.groupID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletegroup
        description: delete group given its groupID and appID
        call: nebraska-update.deletegroup
        with:
          appIDorProductID: rest.appIDorProductID
          groupID: rest.groupID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/groups/{groupid}/instances
      name: api-apps-appidorproductid-groups-groupid-instances
      description: REST surface for api-apps-appIDorProductID-groups-groupID-instances.
      operations:
      - method: GET
        name: getgroupinstances
        description: get instances of a group given its groupID and appID
        call: nebraska-update.getgroupinstances
        with:
          appIDorProductID: rest.appIDorProductID
          groupID: rest.groupID
          status: rest.status
          page: rest.page
          perpage: rest.perpage
          sortFilter: rest.sortFilter
          sortOrder: rest.sortOrder
          searchFilter: rest.searchFilter
          searchValue: rest.searchValue
          duration: rest.duration
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/groups/{groupid}/instances/{instanceid}
      name: api-apps-appidorproductid-groups-groupid-instances-instanceid
      description: REST surface for api-apps-appIDorProductID-groups-groupID-instances-instanceID.
      operations:
      - method: GET
        name: getinstance
        description: get instance of a group given its groupID and appID
        call: nebraska-update.getinstance
        with:
          appIDorProductID: rest.appIDorProductID
          groupID: rest.groupID
          instanceID: rest.instanceID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/groups/{groupid}/instances/{instanceid}/status-history
      name: api-apps-appidorproductid-groups-groupid-instances-instanceid-status-history
      description: REST surface for api-apps-appIDorProductID-groups-groupID-instances-instanceID-status_history.
      operations:
      - method: GET
        name: getinstancestatushistory
        description: get instance status_history.
        call: nebraska-update.getinstancestatushistory
        with:
          appIDorProductID: rest.appIDorProductID
          groupID: rest.groupID
          instanceID: rest.instanceID
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/groups/{groupid}/instances-stats
      name: api-apps-appidorproductid-groups-groupid-instances-stats
      description: REST surface for api-apps-appIDorProductID-groups-groupID-instances_stats.
      operations:
      - method: GET
        name: getgroupinstancestats
        description: get instance stats of a group given its groupID and appID
        call: nebraska-update.getgroupinstancestats
        with:
          appIDorProductID: rest.appIDorProductID
          groupID: rest.groupID
          duration: rest.duration
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/apps/{appidorproductid}/groups/{groupid}/instancescount
      name: api-apps-appidorproductid-groups-groupid-instancescount
      description: REST surface for api-apps-appIDorProductID-groups-groupID-instancescount.
      operations:
 

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flatcar-container-linux/refs/heads/main/capabilities/nebraska-update.yaml