Nuon onboarding API

onboarding

OpenAPI Specification

nuon-onboarding-api-openapi.yml Raw ↑
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 onboarding API
  version: 0.19.1074
host: api.nuon.co
basePath: /
schemes:
- https
tags:
- description: onboarding
  name: onboarding
paths:
  /v1/onboarding:
    post:
      consumes:
      - application/json
      description: Creates a new active onboarding session for the current account
      operationId: CreateOnboarding
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/app.Onboarding'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '401':
          description: Unauthorized
          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: []
      summary: Start a new onboarding session
      tags:
      - onboarding
  /v1/onboarding/current:
    delete:
      description: Marks the current active onboarding session as abandoned
      operationId: AbandonOnboarding
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.Onboarding'
        '401':
          description: Unauthorized
          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: Abandon onboarding session
      tags:
      - onboarding
    get:
      description: Returns the active onboarding session for the current account
      operationId: GetCurrentOnboarding
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.Onboarding'
        '401':
          description: Unauthorized
          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 onboarding session
      tags:
      - onboarding
  /v1/onboarding/current/steps/deploy:
    post:
      description: Advances the onboarding past the deploy monitoring to get started
      operationId: CompleteOnboardingDeployStep
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.Onboarding'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
      security:
      - APIKey: []
      - OrgID: []
      summary: Complete the deploy step
      tags:
      - onboarding
  /v1/onboarding/current/steps/get-started:
    post:
      description: Marks the onboarding session as completed
      operationId: CompleteOnboardingGetStartedStep
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.Onboarding'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
      security:
      - APIKey: []
      - OrgID: []
      summary: Complete onboarding
      tags:
      - onboarding
  /v1/onboarding/current/steps/install:
    post:
      consumes:
      - application/json
      description: Creates an install and advances the onboarding to the install status step
      operationId: CompleteOnboardingInstallStep
      parameters:
      - description: Input
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/service.CompleteInstallStepRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.Onboarding'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
      security:
      - APIKey: []
      - OrgID: []
      summary: Complete the install step
      tags:
      - onboarding
  /v1/onboarding/current/steps/organization:
    post:
      consumes:
      - application/json
      description: Creates a sandbox organization or attaches an existing one, then advances the onboarding to the app profile step
      operationId: CompleteOnboardingOrganizationStep
      parameters:
      - description: Input
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/service.CompleteOrganizationStepRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.Onboarding'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
      security:
      - APIKey: []
      summary: Complete the organization step
      tags:
      - onboarding
  /v1/onboarding/current/steps/your-stack:
    post:
      consumes:
      - application/json
      description: Configures the application profile and advances the onboarding to the install step
      operationId: CompleteOnboardingYourStackStep
      parameters:
      - description: Input
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/service.CompleteYourStackStepRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.Onboarding'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
      security:
      - APIKey: []
      - OrgID: []
      summary: Complete the your stack step
      tags:
      - onboarding
  /v1/onboarding/example-apps:
    get:
      description: Returns the list of available example applications for onboarding
      operationId: GetOnboardingExampleApps
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            items:
              $ref: '#/definitions/service.ExampleApp'
            type: array
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
      security:
      - APIKey: []
      summary: Get example apps catalog
      tags:
      - onboarding
definitions:
  service.CompleteInstallStepRequest:
    properties:
      aws_account:
        properties:
          region:
            type: string
        type: object
      azure_account:
        properties:
          location:
            type: string
        type: object
      inputs:
        additionalProperties:
          type: string
        type: object
      install_mode:
        enum:
        - cloud
        - sandbox
        type: string
      metadata:
        properties:
          managed_by:
            type: string
        type: object
      name:
        type: string
    required:
    - name
    type: object
  app.CompositeStatus:
    properties:
      created_at_ts:
        type: integer
      created_by_id:
        type: string
      history:
        items:
          $ref: '#/definitions/app.CompositeStatus'
        type: array
      metadata:
        additionalProperties: {}
        type: object
      status:
        $ref: '#/definitions/app.Status'
      status_human_description:
        type: string
    type: object
  service.CompleteYourStackStepRequest:
    properties:
      app_attributes:
        items:
          type: string
        type: array
      app_type:
        enum:
        - custom
        - example
        type: string
      cloud_provider:
        type: string
      example_app_slug:
        type: string
    required:
    - app_type
    type: object
  stderr.ErrResponse:
    properties:
      description:
        type: string
      error:
        type: string
      user_error:
        type: boolean
    type: object
  app.Status:
    enum:
    - error
    - pending
    - in-progress
    - checking-plan
    - success
    - not-attempted
    - cancelled
    - retrying
    - discarded
    - user-skipped
    - auto-skipped
    - planning
    - applying
    - queued
    - warning
    - failed-pending-retry
    - generating
    - awaiting-user-run
    - provisioning
    - active
    - outdated
    - expired
    - approved
    - drifted
    - no-drift
    - approval-expired
    - approval-denied
    - approval-retry
    - building
    - deleting
    - noop
    - approval-awaiting
    type: string
    x-enum-varnames:
    - StatusError
    - StatusPending
    - StatusInProgress
    - StatusCheckPlan
    - StatusSuccess
    - StatusNotAttempted
    - StatusCancelled
    - StatusRetrying
    - StatusDiscarded
    - StatusUserSkipped
    - StatusAutoSkipped
    - StatusPlanning
    - StatusApplying
    - StatusQueued
    - StatusWarning
    - StatusFailedPendingRetry
    - InstallStackVersionStatusGenerating
    - InstallStackVersionStatusPendingUser
    - InstallStackVersionStatusProvisioning
    - InstallStackVersionStatusActive
    - InstallStackVersionStatusOutdated
    - InstallStackVersionStatusExpired
    - WorkflowStepApprovalStatusApproved
    - WorkflowStepDrifted
    - WorkflowStepNoDrift
    - WorkflowStepApprovalStatusApprovalExpired
    - WorkflowStepApprovalStatusApprovalDenied
    - WorkflowStepApprovalStatusApprovalRetryPlan
    - StatusBuilding
    - StatusDeleting
    - InstallDeployStatusV2Noop
    - AwaitingApproval
  service.ExampleApp:
    properties:
      category:
        type: string
      cloud_provider:
        type: string
      description:
        type: string
      difficulty:
        type: string
      directory:
        type: string
      display_name:
        type: string
      slug:
        type: string
      tags:
        items:
          type: string
        type: array
    type: object
  app.Onboarding:
    properties:
      account_id:
        type: string
      app_attributes:
        items:
          type: string
        type: array
      app_branch_id:
        type: string
      app_config:
        type: object
      app_id:
        type: string
      app_type:
        description: 'Step 2: Your Stack'
        type: string
      cloud_provider:
        type: string
      created_at:
        type: string
      created_by_id:
        type: string
      current_step:
        type: string
      example_app_slug:
        type: string
      id:
        type: string
      install_id:
        type: string
      install_mode:
        description: 'Step 3: Install'
        type: string
      org_id:
        description: 'Step 1: Organization'
        type: string
      status:
        type: string
      status_v2:
        $ref: '#/definitions/app.CompositeStatus'
      step_error:
        type: string
      step_status:
        description: Async step status (for queue-based signal processing)
        type: string
      updated_at:
        type: string
      workflow_id:
        type: string
    type: object
  service.CompleteOrganizationStepRequest:
    properties:
      name:
        type: string
      org_id:
        type: string
    type: object
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