openapi: 3.0.0
info:
  title: Morpheus
  description: ''
  contact: {}
  version: '8f0532e0-b435-4b10-9afd-2e5d5cae4fc5'
servers:
- url: https://edge.morpheus.com/api
  description: ''
  variables: {}
paths:
  /clusters:
    post:
      tags:
      - cluster
      summary: createCluster
      description: create a cluster
      operationId: createCluster
      parameters: []
      requestBody:
        description: cluster to create
        content:
          application/json:
            schema:
              type: object
              description: cluster to create
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - cluster
      summary: getClusters
      description: get all clusters
      operationId: getClusters
      parameters:
      - name: filter
        in: query
        description: filter for what to get
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /cluster/{clusterId}:
    get:
      tags:
      - cluster
      summary: getClusterById
      description: get cluster by id
      operationId: getClusterById
      parameters:
      - name: clusterId
        in: path
        description: the id of the cluster to get
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - cluster
      summary: updateCluster
      description: update a cluster
      operationId: updateCluster
      parameters:
      - name: clusterId
        in: path
        description: the id of the cluster to update
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: cluster changes
        content:
          application/json:
            schema:
              type: object
              description: cluster changes
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - cluster
      summary: deleteCluster
      description: delete cluster
      operationId: deleteCluster
      parameters:
      - name: clusterId
        in: path
        description: the id of the cluster to delete
        required: true
        style: simple
        schema:
          type: number
          format: double
      - name: options
        in: query
        description: options to take on delete
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /cluster/{clusterId}/permissions:
    put:
      tags:
      - cluster
      summary: updateClusterPermissions
      description: update cluster permissions
      operationId: updateClusterPermissions
      parameters:
      - name: clusterId
        in: path
        description: the id of the cluster to update
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: cluster permissions
        content:
          application/json:
            schema:
              type: object
              description: cluster permissions
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /cluster/{clusterId}/containers:
    get:
      tags:
      - cluster
      summary: getContainers
      description: get containters
      operationId: getContainers
      parameters:
      - name: clusterId
        in: path
        description: the id of the cluster to get containers from
        required: true
        style: simple
        schema:
          type: number
          format: double
      - name: filter
        in: query
        description: filter for what to get
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances:
    post:
      tags:
      - instance
      summary: createInstance
      description: create an instance
      operationId: createInstance
      parameters: []
      requestBody:
        description: instance to create
        content:
          application/json:
            schema:
              type: object
              description: instance to create
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - instance
      summary: getInstances
      description: get all instances
      operationId: getInstances
      parameters:
      - name: filter
        in: query
        description: filter for what to get
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}:
    get:
      tags:
      - instance
      summary: getInstanceById
      description: get instance by id
      operationId: getInstanceById
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to get
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - instance
      summary: updateInstance
      description: update a instance
      operationId: updateInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to update
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: instance changes
        content:
          application/json:
            schema:
              type: object
              description: instance changes
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - instance
      summary: deleteInstance
      description: delete instance
      operationId: deleteInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to delete
        required: true
        style: simple
        schema:
          type: number
          format: double
      - name: options
        in: query
        description: options to take on delete
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/envs:
    get:
      tags:
      - instance
      summary: getInstanceEnvironment
      description: get instance environment variables
      operationId: getInstanceEnvironment
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to get the environment of
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/history:
    get:
      tags:
      - instance
      summary: getInstanceHistory
      description: get instance history
      operationId: getInstanceHistory
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to get the history of
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/containers:
    get:
      tags:
      - instance
      summary: getInstanceContainerDetails
      description: get instance container details
      operationId: getInstanceContainerDetails
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to get the container details of
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instance-types:
    get:
      tags:
      - instance
      summary: getInstanceTypes
      description: get all instance types
      operationId: getInstanceTypes
      parameters: []
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instance-types/{typeId}:
    get:
      tags:
      - instance
      summary: getInstanceTypeById
      description: get instance type by id
      operationId: getInstanceTypeById
      parameters:
      - name: typeId
        in: path
        description: the id of the instance type to get
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/service-plans:
    get:
      tags:
      - instance
      summary: getServicePlans
      description: get available service plans
      operationId: getServicePlans
      parameters:
      - name: filter
        in: query
        description: filter for what to get
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/stop:
    put:
      tags:
      - instance
      summary: stopInstance
      description: stop an instance
      operationId: stopInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to stop
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/start:
    put:
      tags:
      - instance
      summary: startInstance
      description: start an instance
      operationId: startInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to start
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/restart:
    put:
      tags:
      - instance
      summary: restartInstance
      description: restart an instance
      operationId: restartInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to restart
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/suspend:
    put:
      tags:
      - instance
      summary: suspendInstance
      description: suspend an instance
      operationId: suspendInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to suspend
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/reject:
    put:
      tags:
      - instance
      summary: rejectInstance
      description: reject an instance
      operationId: rejectInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to reject
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/resize:
    put:
      tags:
      - instance
      summary: resizeInstance
      description: resize an instance
      operationId: resizeInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to resize
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: resize information
        content:
          application/json:
            schema:
              type: object
              description: resize information
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/workflow:
    put:
      tags:
      - instance
      summary: runInstanceWorkflow
      description: run workflow on an instance
      operationId: runInstanceWorkflow
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to run workflow on
        required: true
        style: simple
        schema:
          type: number
          format: double
      - name: workflowId
        in: query
        description: the id of the workflow to run
        style: form
        explode: true
        schema:
          type: number
          format: double
      - name: workflowName
        in: query
        description: the name of the workflow to run
        style: form
        explode: true
        schema:
          type: string
      requestBody:
        description: workflow options
        content:
          application/json:
            schema:
              type: object
              description: workflow options
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/clone:
    put:
      tags:
      - instance
      summary: cloneInstance
      description: clone an instance
      operationId: cloneInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to clone
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: clone changes
        content:
          application/json:
            schema:
              type: object
              description: clone changes
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/backup:
    put:
      tags:
      - instance
      summary: backupInstance
      description: backup an instance
      operationId: backupInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to backup
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/backups:
    get:
      tags:
      - instance
      summary: listInstanceBackups
      description: get list of backups for an instance
      operationId: listInstanceBackups
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to get backups for
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/snapshots:
    get:
      tags:
      - instance
      summary: listInstanceSnapshots
      description: get list of snapshots for an instance
      operationId: listInstanceSnapshots
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to get snapshots for
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/snapshot:
    put:
      tags:
      - instance
      summary: snapshotInstance
      description: snapshot an instance
      operationId: snapshotInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to snapshot
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: snapshot information
        content:
          application/json:
            schema:
              type: object
              description: snapshot information
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/import-snapshot:
    put:
      tags:
      - instance
      summary: importInstanceSnapshot
      description: import instance snapshot
      operationId: importInstanceSnapshot
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to import the snapshot
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: storage information
        content:
          application/json:
            schema:
              type: object
              description: storage information
        required: false
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/clone-image:
    put:
      tags:
      - instance
      summary: cloneInstanceImage
      description: clone instance to image
      operationId: cloneInstanceImage
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to clone to image
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: image information
        content:
          application/json:
            schema:
              type: object
              description: image information
        required: false
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/lock:
    put:
      tags:
      - instance
      summary: lockInstance
      description: lock an instance
      operationId: lockInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to lock
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/unlock:
    put:
      tags:
      - instance
      summary: unlockInstance
      description: unlock an instance
      operationId: unlockInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to unlock
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/security-groups:
    get:
      tags:
      - instance
      summary: listInstanceSecurityGroups
      description: get security groups for an instance
      operationId: listInstanceSecurityGroups
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to get security groups for
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - instance
      summary: setInstanceSecurityGroups
      description: set security groups for an instance
      operationId: setInstanceSecurityGroups
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to set security groups for
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: security groups
        content:
          application/json:
            schema:
              type: object
              description: security groups
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{instanceId}/cancel-removal:
    put:
      tags:
      - instance
      summary: cancelDeleteInstance
      description: cancel delete of an instance
      operationId: cancelDeleteInstance
      parameters:
      - name: instanceId
        in: path
        description: the id of the instance to cancel the removal of
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /monitoring/incidents:
    get:
      tags:
      - monitoring
      summary: getIncidents
      description: get all incidents
      operationId: getIncidents
      parameters:
      - name: filter
        in: query
        description: filter for what to get
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /networks:
    post:
      tags:
      - network
      summary: createNetwork
      description: create a network
      operationId: createNetwork
      parameters: []
      requestBody:
        description: network to create
        content:
          application/json:
            schema:
              type: object
              description: network to create
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - network
      summary: getNetworks
      description: get all networks
      operationId: getNetworks
      parameters:
      - name: filter
        in: query
        description: filter for what to get
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /instances/{networkId}:
    get:
      tags:
      - network
      summary: getNetworkById
      description: get network by id
      operationId: getNetworkById
      parameters:
      - name: networkId
        in: path
        description: the id of the network to get
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - network
      summary: updateNetwork
      description: update a network
      operationId: updateNetwork
      parameters:
      - name: networkId
        in: path
        description: the id of the network to update
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: network changes
        content:
          application/json:
            schema:
              type: object
              description: network changes
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - network
      summary: deleteNetwork
      description: delete network
      operationId: deleteNetwork
      parameters:
      - name: networkId
        in: path
        description: the id of the network to delete
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /network-types:
    get:
      tags:
      - network
      summary: getNetworkTypes
      description: get all network types
      operationId: getNetworkTypes
      parameters:
      - name: filter
        in: query
        description: filter for what to get
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /network-types/{typeId}:
    get:
      tags:
      - network
      summary: getNetworkTypeById
      description: get network type by id
      operationId: getNetworkTypeById
      parameters:
      - name: typeId
        in: path
        description: the id of the network type to get
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /networks/groups:
    post:
      tags:
      - network
      summary: createNetworkGroup
      description: create a network grouop
      operationId: createNetworkGroup
      parameters: []
      requestBody:
        description: network group to create
        content:
          application/json:
            schema:
              type: object
              description: network group to create
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - network
      summary: getNetworkGroups
      description: get all network groups
      operationId: getNetworkGroups
      parameters:
      - name: filter
        in: query
        description: filter for what to get
        style: form
        explode: true
        schema:
          type: object
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
  /networks/groups/{groupId}:
    get:
      tags:
      - network
      summary: getNetworkGroupById
      description: get network group by id
      operationId: getNetworkGroupById
      parameters:
      - name: groupId
        in: path
        description: the id of the network group to get
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - network
      summary: updateNetworkGroup
      description: update a network group
      operationId: updateNetworkGroup
      parameters:
      - name: groupId
        in: path
        description: the id of the network group to update
        required: true
        style: simple
        schema:
          type: number
          format: double
      requestBody:
        description: network group changes
        content:
          application/json:
            schema:
              type: object
              description: network group changes
        required: true
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - network
      summary: deleteNetworkGroup
      description: delete network group
      operationId: deleteNetworkGroup
      parameters:
      - name: groupId
        in: path
        description: the id of the network group to delete
        required: true
        style: simple
        schema:
          type: number
          format: double
      responses:
        '200':
          description: successful response
          headers: {}
          content: {}
      deprecated: false
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: cluster
  description: ''
- name: instance
  description: ''
- name: monitoring
  description: ''
- name: network
  description: ''
