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 general API
version: 0.19.1074
host: api.nuon.co
basePath: /
schemes:
- https
tags:
- description: general
name: general
paths:
/v1/general/cli-config:
get:
consumes:
- application/json
description: 'Returns CLI configuration and settings.
'
operationId: GetCLIConfig
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/service.CLIConfig'
'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'
summary: Get config for cli
tags:
- general
/v1/general/cloud-platform/{cloud_platform}/regions:
get:
consumes:
- application/json
description: 'Return region metadata for the Nuon supported cloud platforms.
'
operationId: GetCloudPlatformRegions
parameters:
- description: cloud platform
in: path
name: cloud_platform
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
items:
$ref: '#/definitions/app.CloudPlatformRegion'
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'
summary: Get regions for a cloud platform
tags:
- general
/v1/general/config-schema:
get:
consumes:
- application/json
description: 'Return jsonschemas for Nuon configs. These can be used in frontmatter in most editors that have a TOML LSP (such as
[Taplo](https://taplo.tamasfe.dev/) configured.
```toml
#:schema https://api.nuon.co/v1/general/config-schema?source=inputs
description = "description"
```
You can pass in a valid source argument to render within a specific config file:
- input
- input-group
- installer
- sandbox
- runner
- docker_build
- container_image
- helm
- terraform
- runbook
- job
'
operationId: GetConfigSchema
parameters:
- description: return a schema for a source file
in: query
name: type
type: string
- description: deprecated alias for type; responses include a Deprecation header when used
in: query
name: source
type: string
produces:
- application/json
responses:
'200':
description: OK
schema: {}
'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'
summary: Get jsonschema for config file (deprecated query form)
tags:
- general
/v1/general/config-schema/{type}:
get:
consumes:
- application/json
description: 'Return jsonschemas for Nuon configs. These can be used in frontmatter in most editors that have a TOML LSP (such as
[Taplo](https://taplo.tamasfe.dev/) configured.
```toml
#:schema https://api.nuon.co/v1/general/config-schema?source=inputs
description = "description"
```
You can pass in a valid source argument to render within a specific config file:
- input
- input-group
- installer
- sandbox
- runner
- docker_build
- container_image
- helm
- terraform
- runbook
- job
'
operationId: GetConfigSchemaByType
parameters:
- description: config file type, e.g. sandbox, terraform, action
in: path
name: type
required: true
type: string
produces:
- application/json
responses:
'200':
description: OK
schema: {}
'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'
summary: Get jsonschema for a config file type
tags:
- general
/v1/general/current-user:
get:
consumes:
- application/json
description: 'Returns the current authenticated user account.
'
operationId: GetCurrentUser
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.Account'
'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: []
summary: Get current user
tags:
- general
/v1/general/waitlist:
post:
consumes:
- application/json
description: 'Add an entry to the waitlist.
'
operationId: CreateWaitlist
parameters:
- description: Input
in: body
name: req
required: true
schema:
$ref: '#/definitions/service.WaitlistRequest'
produces:
- application/json
responses:
'200':
description: OK
schema:
$ref: '#/definitions/app.Waitlist'
security:
- APIKey: []
summary: Allow user to be added to an org waitlist.
tags:
- general
definitions:
permissions.Permission:
enum:
- unknown
- all
- create
- read
- update
- delete
type: string
x-enum-varnames:
- PermissionUnknown
- PermissionAll
- PermissionCreate
- PermissionRead
- PermissionUpdate
- PermissionDelete
app.UserJourney:
properties:
name:
type: string
steps:
items:
$ref: '#/definitions/app.UserJourneyStep'
type: array
title:
type: string
type: object
app.UserJourneyStep:
properties:
complete:
type: boolean
completed_at:
description: Top-level completion tracking fields
type: string
completion_method:
type: string
completion_source:
type: string
metadata:
additionalProperties: true
description: Flexible metadata for business data
type: object
name:
type: string
title:
type: string
type: object
app.Waitlist:
properties:
created_at:
type: string
created_by_id:
type: string
id:
type: string
org_name:
type: string
updated_at:
type: string
type: object
permissions.Set:
additionalProperties:
$ref: '#/definitions/permissions.Permission'
type: object
service.WaitlistRequest:
properties:
org_name:
type: string
required:
- org_name
type: object
app.Account:
properties:
account_type:
$ref: '#/definitions/app.AccountType'
created_at:
type: string
email:
type: string
id:
type: string
org_ids:
description: ReadOnly Fields
items:
type: string
type: array
permissions:
$ref: '#/definitions/permissions.Set'
roles:
items:
$ref: '#/definitions/app.Role'
type: array
subject:
type: string
updated_at:
type: string
user_journeys:
items:
$ref: '#/definitions/app.UserJourney'
type: array
type: object
app.CloudPlatformRegion:
properties:
display_name:
type: string
icon:
type: string
name:
type: string
value:
type: string
type: object
stderr.ErrResponse:
properties:
description:
type: string
error:
type: string
user_error:
type: boolean
type: object
service.CLIConfig:
properties:
auth_audience:
type: string
auth_client_id:
type: string
auth_domain:
type: string
dashboard_url:
type: string
nuon_auth_enabled:
type: boolean
root_domain:
type: string
type: object
app.RoleType:
enum:
- org_admin
- org_support
- installer
- runner
- hosted-installer
type: string
x-enum-varnames:
- RoleTypeOrgAdmin
- RoleTypeOrgSupport
- RoleTypeInstaller
- RoleTypeRunner
- RoleTypeHostedInstaller
app.Policy:
properties:
created_at:
type: string
created_by_id:
type: string
id:
type: string
name:
$ref: '#/definitions/app.PolicyName'
permissions:
additionalProperties:
type: string
description: Permissions are used to track granular permissions for each domain
type: object
role_id:
type: string
updated_at:
type: string
type: object
app.Role:
properties:
createdBy:
$ref: '#/definitions/app.Account'
created_at:
type: string
created_by_id:
type: string
id:
type: string
policies:
items:
$ref: '#/definitions/app.Policy'
type: array
role_type:
$ref: '#/definitions/app.RoleType'
updated_at:
type: string
type: object
app.PolicyName:
enum:
- org_admin
- org_support
- installer
- runner
- hosted_installer
type: string
x-enum-varnames:
- PolicyNameOrgAdmin
- PolicyNameOrgSupport
- PolicyNameInstaller
- PolicyNameRunner
- PolicyNameHostedInstaller
app.AccountType:
enum:
- auth
- auth0
- service
- canary
- integration
type: string
x-enum-varnames:
- AccountTypeAuth
- AccountTypeAuth0
- AccountTypeService
- AccountTypeCanary
- AccountTypeIntegration
securityDefinitions:
APIKey:
description: Type "Bearer" followed by a space and token.
in: header
name: Authorization
type: apiKey
OrgID:
description: Nuon org ID
in: header
name: X-Nuon-Org-ID
type: apiKey