OpenAPI Specification
swagger: '2.0'
info:
contact:
email: support@nuon.co
name: Nuon Support
description: API for managing nuon apps, components, installs, and actions.
title: Nuon accounts installs API
version: 0.19.1074
host: api.nuon.co
basePath: /
schemes:
- https
tags:
- description: installs
name: installs
paths:
/v1/apps/{app_id}/installs:
get:
consumes:
- application/json
description: 'Returns all installs for the provided app.
'
operationId: GetAppInstalls
parameters:
- description: app ID
in: path
name: app_id
required: true
type: string
- description: search query to filter installs by name or ID
in: query
name: q
type: string
- description: label filter (key:value,key:value)
in: query
name: labels
type: string
- default: 0
description: offset of results to return
in: query
name: offset
type: integer
- default: 10
description: limit of results to return
in: query
name: limit
type: integer
- default: 0
description: page number of results to return
in: query
name: page
type: integer
produces:
- application/json
responses:
'200':
description: OK
schema:
items:
$ref: '#/definitions/app.Install'
type: array
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get all installs for an app
tags:
- installs
post:
consumes:
- application/json
deprecated: true
description: 'Create a new install for an app.
'
operationId: CreateInstall
parameters:
- description: app ID
in: path
name: app_id
required: true
type: string
- description: Input
in: body
name: req
required: true
schema:
$ref: '#/definitions/service.CreateInstallRequest'
produces:
- application/json
responses:
'201':
description: Created
schema:
$ref: '#/definitions/app.Install'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'409':
description: Conflict
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: create an app install
tags:
- installs
/v1/install-workflows/{install_workflow_id}:
get:
consumes:
- application/json
deprecated: true
description: 'Return a workflow.
'
operationId: GetInstallWorkflow
parameters:
- description: install workflow ID
in: path
name: install_workflow_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.Workflow'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install workflow
tags:
- installs
patch:
consumes:
- application/json
deprecated: true
description: 'Update a workflow configuration.
'
operationId: UpdateInstallWorkflow
parameters:
- description: install workflow ID
in: path
name: install_workflow_id
required: true
type: string
- description: Input
in: body
name: req
required: true
schema:
$ref: '#/definitions/service.UpdateWorkflowRequest'
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.Workflow'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: update an install workflow
tags:
- installs
/v1/install-workflows/{install_workflow_id}/cancel:
post:
consumes:
- application/json
deprecated: true
description: 'Cancel a running workflow execution.
'
operationId: CancelInstallWorkflow
parameters:
- description: install workflow ID
in: path
name: install_workflow_id
required: true
type: string
produces:
- application/json
responses:
'202':
description: Accepted
schema:
$ref: '#/definitions/app.EmptyResponse'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: cancel an ongoing install workflow
tags:
- installs
/v1/install-workflows/{install_workflow_id}/steps:
get:
consumes:
- application/json
deprecated: true
description: 'Return all steps for a workflow.
'
operationId: GetInstallWorkflowSteps
parameters:
- description: install workflow ID
in: path
name: install_workflow_id
required: true
type: string
- default: 0
description: offset of results to return
in: query
name: offset
type: integer
- default: 10
description: limit of results to return
in: query
name: limit
type: integer
- default: 0
description: page number of results to return
in: query
name: page
type: integer
produces:
- application/json
responses:
'200':
description: OK
schema:
items:
$ref: '#/definitions/app.WorkflowStep'
type: array
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get all of the steps for a given install workflow
tags:
- installs
/v1/install-workflows/{install_workflow_id}/steps/{install_workflow_step_id}:
get:
consumes:
- application/json
deprecated: true
description: 'Return a single workflow step.
'
operationId: GetInstallWorkflowStep
parameters:
- description: workflow id
in: path
name: install_workflow_id
required: true
type: string
- description: step id
in: path
name: install_workflow_step_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.WorkflowStep'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install workflow step
tags:
- installs
/v1/install-workflows/{install_workflow_id}/steps/{install_workflow_step_id}/approvals/{approval_id}:
get:
consumes:
- application/json
deprecated: true
description: 'Return a workflow step approval by id.
'
operationId: GetInstallWorkflowStepApproval
parameters:
- description: workflow id
in: path
name: install_workflow_id
required: true
type: string
- description: step id
in: path
name: install_workflow_step_id
required: true
type: string
- description: approval id
in: path
name: approval_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.WorkflowStepApproval'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install workflow step approval
tags:
- installs
/v1/installs:
get:
consumes:
- application/json
description: 'Returns all installs for the provided organization.
'
operationId: GetOrgInstalls
parameters:
- default: 0
description: offset of results to return
in: query
name: offset
type: integer
- description: search query to filter installs by name or ID
in: query
name: q
type: string
- description: label filter (key:value,key:value)
in: query
name: labels
type: string
- description: filter by runner ID
in: query
name: runner_id
type: string
- default: 10
description: limit of results to return
in: query
name: limit
type: integer
- default: 0
description: page number of results to return
in: query
name: page
type: integer
produces:
- application/json
responses:
'200':
description: OK
schema:
items:
$ref: '#/definitions/app.Install'
type: array
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get all installs for an org
tags:
- installs
post:
consumes:
- application/json
description: 'Create a new install for an app.
'
operationId: CreateInstallV2
parameters:
- description: Input
in: body
name: req
required: true
schema:
$ref: '#/definitions/service.CreateInstallV2Request'
produces:
- application/json
responses:
'201':
description: Created
schema:
$ref: '#/definitions/app.Install'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'409':
description: Conflict
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: create an app install
tags:
- installs
/v1/installs/label-keys:
get:
consumes:
- application/json
description: Returns all distinct label key:value pairs for installs in the current org.
operationId: GetInstallLabelKeys
produces:
- application/json
responses:
'200':
description: OK
schema:
additionalProperties:
items:
type: string
type: array
type: object
security:
- APIKey: []
- OrgID: []
summary: get distinct label key:value pairs across all installs for an org
tags:
- installs
/v1/installs/sandbox-runs/{run_id}:
get:
consumes:
- application/json
deprecated: true
description: 'Return a sandbox run for an install by id.
'
operationId: GetInstallSandboxRun
parameters:
- description: run ID
in: path
name: run_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.InstallSandboxRun'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install sandbox run
tags:
- installs
/v1/installs/stacks/{stack_id}:
get:
consumes:
- application/json
description: 'Returns the deployment stack for an install.
'
operationId: GetInstallStack
parameters:
- description: stack ID
in: path
name: stack_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.InstallStack'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install stack by stack ID
tags:
- installs
/v1/installs/{install_id}:
delete:
consumes:
- application/json
description: 'Delete an install.
'
operationId: DeleteInstall
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.WorkflowResponse'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: delete an install
tags:
- installs
get:
consumes:
- application/json
description: 'Return an install by id.
'
operationId: GetInstall
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
- default: false
description: whether to include drifted objects
in: query
name: include_drifted_objects
type: boolean
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.Install'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install
tags:
- installs
patch:
consumes:
- application/json
description: 'Update an install''s settings.
'
operationId: UpdateInstall
parameters:
- description: app ID
in: path
name: install_id
required: true
type: string
- description: Input
in: body
name: req
required: true
schema:
$ref: '#/definitions/service.UpdateInstallRequest'
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.Install'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: update an install
tags:
- installs
/v1/installs/{install_id}/action-workflows:
get:
consumes:
- application/json
deprecated: true
description: 'Get install action workflows.
'
operationId: GetInstallActionWorkflows
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
- default: 0
description: offset of results to return
in: query
name: offset
type: integer
- default: 10
description: limit of results to return
in: query
name: limit
type: integer
- default: 0
description: page number of results to return
in: query
name: page
type: integer
produces:
- application/json
responses:
'200':
description: OK
schema:
items:
$ref: '#/definitions/app.InstallActionWorkflow'
type: array
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an installs action workflows
tags:
- installs
/v1/installs/{install_id}/action-workflows/{action_workflow_id}:
get:
consumes:
- application/json
deprecated: true
description: 'Get an install action workflow.
'
operationId: GetInstallActionWorkflow
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
- description: workflow ID
in: path
name: action_workflow_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.InstallActionWorkflow'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install action workflow
tags:
- installs
/v1/installs/{install_id}/actions:
get:
consumes:
- application/json
description: 'Get install action workflows.
'
operationId: GetInstallActions
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
- default: 0
description: offset of results to return
in: query
name: offset
type: integer
- default: 10
description: limit of results to return
in: query
name: limit
type: integer
- default: 0
description: page number of results to return
in: query
name: page
type: integer
produces:
- application/json
responses:
'200':
description: OK
schema:
items:
$ref: '#/definitions/app.InstallActionWorkflow'
type: array
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an installs action workflows
tags:
- installs
/v1/installs/{install_id}/actions/{action_id}:
get:
consumes:
- application/json
description: 'Get an install action workflow.
'
operationId: GetInstallAction
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
- description: action ID
in: path
name: action_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.InstallActionWorkflow'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install action
tags:
- installs
/v1/installs/{install_id}/actions/{action_id}/outputs:
get:
consumes:
- application/json
description: 'Return the latest outputs for an action workflow.
The action_id parameter accepts either an action workflow ID or name.
**NOTE** requires a valid install.
'
operationId: GetInstallActionWorkflowOutputs
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
- description: action workflow ID or name
in: path
name: action_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
additionalProperties: true
type: object
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: get an install action workflow outputs
tags:
- installs
/v1/installs/{install_id}/app-config-updates:
post:
consumes:
- application/json
description: Creates a workflow to diff and deploy a new app config to an install.
operationId: CreateInstallAppConfigUpdate
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
- description: Input
in: body
name: req
required: true
schema:
$ref: '#/definitions/service.CreateInstallAppConfigUpdateRequest'
produces:
- application/json
responses:
'201':
description: Created
schema:
$ref: '#/definitions/app.InstallAppConfigVersion'
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/stderr.ErrResponse'
'404':
description: Not Found
schema:
$ref: '#/definitions/stderr.ErrResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/stderr.ErrResponse'
security:
- APIKey: []
- OrgID: []
summary: trigger an app config update for an install
tags:
- installs
/v1/installs/{install_id}/app-config-versions:
get:
consumes:
- application/json
description: Returns the app config version history for an install, ordered by most recent first.
operationId: GetInstallAppConfigVersions
parameters:
- description: install ID
in: path
name: install_id
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
items:
$ref: '#/definitions/app.InstallAppConfigVersion'
type: array
'400':
description: Bad Request
schema:
$ref: '#/definitions/stderr.ErrResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/stderr.ErrResponse'
'403':
description: Forbidd
# --- truncated at 32 KB (305 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nuon/refs/heads/main/openapi/nuon-installs-api-openapi.yml