openapi : 3.0.3
info:
  version: 1.0.0
  title: App Engine
  description: The following APIs are available on the IBM Business Automation Application Engine (App Engine).
servers:
  - url: '{server}/v1/public'
    variables:
      server:
        default: https://server.example.com/ctxRoot
consumes:
  - application/json
produces:
  - application/json
tags:
  - name: applications
    description: Application APIs
  - name: automation-services
    description: Adds application APIs
  - name: application
    description: Application APIs used to administer and manage application-related resources
  - name: automation-service
    description: Automation Service APIs used to administer and manage application-related resources
  - name: server
    description: Application or automation service APIs
paths:
  /application/import:
    post:
      tags:
        - application
      summary: Import an application.
      description: Imports an application into the App Engine.
      operationId: importApplication
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                zipfile:
                  type: string
                  format: binary
      responses:
        '200':
          description: The application was imported.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}:
    delete:
      tags:
        - application
      summary: Delete an application.
      description: Deletes an application.
      operationId: deleteApplication
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: The application was deleted.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /applications:
    get:
      tags:
        - applications
      summary: Get all applications.
      description: Retrieves all applications.
      operationId: getApplications
      responses:
        '200':
          description: List of all applications
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Application'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}/disable:
    put:
      tags:
        - application
      summary: Disable an application.
      description: Disables an application so it doesn’t show and can't be used.
      operationId: disableApplication
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: The application was updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}/enable:
    put:
      tags:
        - application
      summary: Enable the application.
      description: Enables the application to be shown and used.
      operationId: enableApplication
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: The application was updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}/env-var:
    get:
      tags:
        - application
      summary: Get environment variables.
      description: Retrieves all environment variables in the application.
      operationId: getApplicationEnvVar
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: Map of the environment variables and their values.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
                example:
                  envVar1: value1
                  envVar2: value2
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - application
      summary: Update the environment variables.
      description: Updates the environment variables in the application.
      operationId: updateApplicationEnvVar
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      requestBody:
        description: Map of the environment variables and their values to be updated.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
                example:
                  envVar1: value1
                  envVar2: value2
      responses:
        '200':
          description: The values of the environment variables were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}/teams:
    get:
      tags:
        - application
      summary: Get the UMS teams.
      description: Retrieves the UMS teams assigned to the application.
      operationId: getApplicationTeam
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: Lists the UMS teams.
          content:
            application/json:
              schema:
                type: array
                items:
                    type: string
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - application
      summary: Update the UMS teams.
      description: Updates the UMS teams assigned to the application.
      operationId: updateApplicationTeam
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      requestBody:
        description: Lists the UMS teams.
        content:
          application/json:
            schema:
              type: array
              items:
                  type: string
      responses:
        '200':
          description: The UMS teams were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}/app-resources:
    get:
      tags:
        - application
      summary: Get the app resources.
      description: Retrieves the resources of the application.
      operationId: getAppResources
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: Map of the app resources.
          content:
              application/json:
                schema:
                  $ref: '#/components/schemas/AppResources'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}/app-resources/defined-endpoint:
    get:
      tags:
        - application
      summary: Get app resources of a defined endpoint.
      description: Retrieves the resources of a defined endpoint in the application.
      operationId: getAppResourcesDefiniedEndpoint
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: Map of the app resources of a defined endpoint.
          content:
              application/json:
                schema:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/DefinedEndpoint'
                  example:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - application
      summary: Update the app resources of a defined endpoint.
      description: Updates the resources of a defined endpoint in the application.
      operationId: updateAppResourcesDefiniedEndpoint
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      requestBody:
        description: Map of the app resources of a defined endpoint and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/DefinedEndpoint'
                example:
      responses:
        '200':
          description: The values of the defined endpoint were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}/app-resources/registry-lookup:
    get:
      tags:
        - application
      summary: Get the app resources of a registry lookup.
      description: Retrieves the resources of a registry lookup in the application.
      operationId: getAppResourcesRegistryLookup
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: Map of the app resources of a registry lookup.
          content:
              application/json:
                schema:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/RegistryLookup'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - application
      summary: Update the app resources of a registry lookup.
      description: Updates the resources of a registry lookup in the application.
      operationId: updateAppResourcesRegistryLookup
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      requestBody:
        description: Map of the resources of a registry lookup and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/RegistryLookup'
  /application/{name}/app-resources/rest-server:
    get:
      tags:
        - application
      summary: Get the app resources of a REST server.
      description: Retrieves the resources of the REST server for the application.
      operationId: getAppResourcesRestServer
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: Map of the app resources of a REST server.
          content:
              application/json:
                schema:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/RestServer'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - application
      summary: Update the app resources of a REST server.
      description: Updates the app resources of the REST server for the application.
      operationId: updateAppResourcesRestServer
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      requestBody:
        description: Map of the app resources of the REST server and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/RestServer'
      responses:
        '200':
          description: The values of the app resources were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /application/{name}/app-resources/rest-binding:
    get:
      tags:
        - application
      summary: Get the app resources of a REST binding.
      description: Retreives the app resources of the REST binding of the application.
      operationId: getAppResourcesRestBinding
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      responses:
        '200':
          description: Map of the app resources of a REST binding.
          content:
              application/json:
                schema:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/RestBinding'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - application
      summary: Update the app resources of a REST binding.
      description: Updates the resources of the REST binding of the application.
      operationId: updateAppResourcesRestBinding
      parameters:
        - name: name
          in: path
          required: true
          description: Application name
          schema:
            type: string
      requestBody:
        description: Map of the app resources of a REST binding and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/RestBinding'
      responses:
        '200':
          description: The values of the app resources were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/import:
    post:
      tags:
        - automation-service
      summary: Import an automation service.
      description: Imports automation service into App Engine.
      operationId: importAutomationService
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                zipfile:
                  type: string
                  format: binary
      responses:
        '200':
          description: The automation service was imported.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/{name}/{version}:
    delete:
      tags:
        - automation-service
      summary: Delete an automation service.
      description: Deletes an automation service.
      operationId: deleteAutomationService
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: The automation service was delete.
        default:
          content:
            automation service/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-services:
    get:
      tags:
        - automation-services
      summary: Get all the automation services.
      description: Retrieves all the automation services.
      operationId: getAutomationServices
      responses:
        '200':
          description: Lists all the automation services.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AutomationService'
        default:
          description: Error
          content:
            automation service/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/{name}/{version}/disable:
    put:
      tags:
        - automation-service
      summary: Disable an automation service.
      description: Disables an automation service so it doesn’t show and can’t be used.
      operationId: disableAutomationService
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: The automation service is no longer available.
        default:
          description: Error
          content:
            automation service/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/{name}/{version}/enable:
    put:
      tags:
        - automation-service
      summary: Enable an automation service.
      description: Enables an automation service to be shown and used.
      operationId: enableAutomationService
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: The automation service is now available.
        default:
          description: Error
          content:
            automation service/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/{name}/{version}/env-var:
    get:
      tags:
        - automation-service
      summary: Get the environment variables.
      description: Retrieves all the environment variables in the automation service.
      operationId: getAutomationServiceEnvVar
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: Map of the environment variables and their values.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
                example:
                  envVar1: value1
                  envVar2: value2
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - automation-service
      summary: Update the environment variables/
      description: Updates the environment variables in the automation service.
      operationId: updateAutomationServiceEnvVar
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      requestBody:
        description: Map of the environment variables and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
                example:
                  envVar1: value1
                  envVar2: value2
      responses:
        '200':
          description: The values of the environment variables were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/{name}/{version}/service-resources:
    get:
      tags:
        - automation-service
      summary: Get the service resources.
      description: Retrieves the service resources of the automation service.
      operationId: getServiceResources
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: Map of the service resources.
          content:
              application/json:
                schema:
                  $ref: '#/components/schemas/ServiceResources'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/{name}/{version}/service-resources/defined-endpoint:
    get:
      tags:
        - automation-service
      summary: Get the service resources of a defined endpoint.
      description: Retrieves the service resources of a defined endpoint in the automation service.
      operationId: getServiceResourcesDefiniedEndpoint
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: Map of the service resources of a defined endpoint.
          content:
              application/json:
                schema:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/DefinedEndpoint'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - automation-service
      summary: Update the service resources of a defined endpoint.
      description: Updates the service resources of a defined endpoint in the automation service.
      operationId: updateServiceResourcesDefiniedEndpoint
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      requestBody:
        description: Map of the service resources of a defined endpoint and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/DefinedEndpoint'
                example:
      responses:
        '200':
          description: The values of the service resources were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/{name}/{version}/service-resources/registry-lookup:
    get:
      tags:
        - automation-service
      summary: Get the service resources of a registry lookup.
      description: Retreives the service resources of a registry lookup in the automation service.
      operationId: getServiceResourcesRegistryLookup
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: Map of the service resources of a registry lookup.
          content:
              application/json:
                schema:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/RegistryLookup'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - automation-service
      summary: Update the service resources of a registry lookup.
      description: Updates the service resources of a registry lookup in the automation service.
      operationId: updateServiceResourcesRegistryLookup
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      requestBody:
        description: Map of the service resources of a registry lookup and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/RegistryLookup'
  /automation-service/{name}/{version}/service-resources/rest-server:
    get:
      tags:
        - automation-service
      summary: Get the service resources of a REST server.
      description: Retrieves the service resources of the REST server for the automation service.
      operationId: getServiceResourcesRestServer
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: Map of the service resources of a REST server.
          content:
              application/json:
                schema:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/RestServer'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - automation-service
      summary: Update the service resources of a REST server/
      description: Updates the service resources of the REST server for the automation service.
      operationId: updateServiceResourcesRestServer
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      requestBody:
        description: Map of the service resources of a REST server and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/RestServer'
      responses:
        '200':
          description: The values of the service resources were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /automation-service/{name}/{version}/service-resources/rest-binding:
    get:
      tags:
        - automation-service
      summary: Get the service resources of a REST binding.
      description: Retrieves the service resources of the REST binding for the automation service.
      operationId: getServiceResourcesRestBinding
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      responses:
        '200':
          description: Map of the service resources of a REST binding.
          content:
              application/json:
                schema:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/RestBinding'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - automation-service
      summary: Update the service resources of a REST binding.
      description: Update the service resources of the REST binding for the automation service.
      operationId: updateServiceResourcesRestBinding
      parameters:
        - name: name
          in: path
          required: true
          description: Automation service name
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: version
          schema:
            type: string
      requestBody:
        description: Map of the service resources of a REST binding and their values to update.
        content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/RestBinding'
      responses:
        '200':
          description: The values of the service resources were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /server/admins:
    get:
      tags:
        - server
      summary: Get the list of admins.
      description: Retrieves the list of administrators.
      operationId: getAdmins
      responses:
        '200':
          description: List all applications.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Admins'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
        - server
      summary: Update the admins and UMS teams.
      description: Updates the administrators and UMS teams.
      operationId: updateAdmins
      requestBody:
        description: Admins and UMS teams to update.
        content:
            application/json:
              schema:
                $ref: '#/components/schemas/Admins'
      responses:
        '200':
          description: The admins and UMS teams were updated.
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
    BearerAuth:
      type: http
      scheme: bearer
    security:
      - basicAuth: []
      - BearerAuth: []
  schemas:
    Application:
      title: Application
      description: Information about the application.
      required:
        - name
        - displayName
        - url
        - id
      properties:
        name:
          description: A name (display name and acronym) that uniquely identifies the application. The name is used in the {appName} parameter of other application APIs to identify the application.
          type: string
        displayName:
          description: The name displayed for the application.
          type: string
        url:
          description: The URL used to launch the application.
          type: string
        id:
          description: A unique identifier for the application.
          type: string
        isPublicApp:
          description: Set to True if the application is publicly accessiable without authentication.
          type: boolean
          default: false
        publicAppUrl:
          description: The url to launch the application without authentication if isPublicApp is True.
          type: string
        iconUrl:
          description: The static URL to the application icon image file.
          type: string
        description:
          description: A description of the application. The description can contain html tags for formatting.
          type: string
        versionName:
          description: The name given to this version of the application. This name remains blank for unversioned applications.
          type: string
        lastModified:
          description: The date, such as an ISO 8601 string, when the application was versioned or last modified.
          type: string
        lastPublished:
          description: The date, such as an ISO 8601 string, when the application was last published to the server.
          type: string
        display:
          description: Set to True if the application can be shown to the user.
          type: boolean
          default: true
        exposedAs:
          description: Indicates whether the application is an action configurator. The possible value can be one of the following values &#58;<ul><li>All</li><li>App</li><li>ActionConfigurator</li><li>ViewConfigurator</li></ul>.
          type: string
        teams:
          type: array
          items:
            type: string
            description: A UMS teams ID assigned to the application. Members of the UMS teams have access to the application. All users have access if this is set to <i>ALL_AUTHENTICATED_USERS</i>.
    AutomationService:
      title: AutomationService
      description: Information about the automation service.
      required:
        - name
        - id
        - versionName
      properties:
        name:
          description: The name of the automation service.
          type: string
        explorerUrl:
          description: The URL used to launch the automation service.
          type: string
        openAPISpecUrl:
          description: The URL used to get the OpenAPI specs of an automation service.
          type: string
        id:
          description: A unique identifier for the automation service.
          type: string
        description:
          description: A description of the automation service. This description can contain html tags for formatting.
          type: string
        versionName:
          description: The name given to this version of the automation service. This name is "Current" for an unversioned automation service.
          type: string
        lastModified:
          description: The date, such as an ISO 8601 string, when the automation service was versioned or last modified.
          type: string
        lastPublished:
          description: The date, such as an ISO 8601 string, when the automation service was last published to the server.
          type: string
        isDefault:
          description: Set to True if the automation service is the default one.
          type: boolean
        display:
          description: Set to True if the automation service can be shown to the user.
          type: boolean
          default: true
        teams:
          type: array
          items:
            type: string
            description: A UMS teams ID assigned to the automation service. Members of the UMS teams have access to the automation service. All users have access if this is set to <i>ALL_AUTHENTICATED_USERS</i>.
    Error:
      title: Error
      required:
        - message
      properties:
        message:
          type: string
        code:
          type: string
    AppResources:
      title: AppResources
      description: Resources of the application.
      required:
      properties:
        DEFINED_ENDPOINT:
          description: Map of the defined endpoints.
          $ref: '#/components/schemas/DefinedEndpoints'
        REGISTRY_LOOKUP:
          description: Map of the registry lookups.
          $ref: '#/components/schemas/RegistryLookups'
        REST:
          description: Map of the REST servers.
          $ref: '#/components/schemas/RestServers'
        REST_BINDING:
          description: Map of the REST bindings.
          $ref: '#/components/schemas/RestBindings'
    ServiceResources:
      title: ServiceResources
      description: Resources of the automation service.
      required:
      allOf:
        - $ref: '#/components/schemas/AppResources'
    DefinedEndpoint:
      title: DefinedEndpoint
      description: A defined endpoint.
      required:
      properties:
        fullUrl:
          description: full url
          type: string
        authentication:
          description: authentication detail
          $ref: '#/components/schemas/DefinedEndpointAuth'
    DefinedEndpoints:
      title: DefinedEndpoints
      description: Map of the defined endpoints.
      required:
      type: object
      additionalProperties:
          $ref: '#/components/schemas/DefinedEndpoint'
    DefinedEndpointAuth:
      title: DefinedEndpointAuth
      description: The details about the Defined Endpoint Authentication.
      required:
      properties:
        username:
          description: username
          type: string
        password:
          description: password
          type: string
          format: base64
    RegistryLookup:
      title: RegistryLookup
      description: The registry lookup.
      required:
        - domainSegment
        - authentication
      properties:
        domainSegment:
          description: The domain segment and the category of the resource. Categories prefixed with “IBM_” are reserved.
          type: string
        key:
          description: key of the resource
          type: string
        authentication:
          description: authentication detail
          $ref: '#/components/schemas/RegistryLookupAuth'
    RegistryLookups:
      title: RegistryLookups
      description: Map of the registry lookups.
      required:
      type: object
      additionalProperties:
          $ref: '#/components/schemas/RegistryLookup'
    RegistryLookupAuth:
      title: RegistryLookupAuth
      description: The details about the Registry Lookup Authentication.
      required:
        - authType
      properties:
        authType:
          description: auth type
          type: string
          enum:
            - USERID_PASSWORD
            - OIDC
        username:
          description: username
          type: string
        password:
          description: password
          type: string
          format: base64
    RestServer:
      title: RestServer
      description: The REST server.
      required:
      properties:
        host:
          description: host
          type: string
        port:
          description: port
          type: string
        scheme:
          description: scheme
          type: string
        description:
          description: description
          type: string
    RestServers:
      title: RestServers
      description: Map of the REST servers.
      required:
      type: object
      additionalProperties:
          $ref: '#/components/schemas/RestServer'
    RestBinding:
      title: RestBinding
      description: The REST Binding.
      required:
      properties:
        artifactName:
          description: The name of the artifact.
          type: string
        securityDefinitionBindings:
          description: The security definition bindings.
          type: array
          items:
            $ref: '#/components/schemas/SecurityDefinitionBinding'
    RestBindings:
      title: RestBindings
      description: Map of the REST  bindings.
      required:
      type: object
      additionalProperties:
          $ref: '#/components/schemas/RestBinding'
    SecurityDefinitionBinding:
      title: SecurityDefinitionBinding
      description: The security definition binding for the REST binding.
      required:
        - name
        - type
      properties:
        name:
          description: name
          type: string
        type:
          description: auth type
          type: string
          enum:
            - BASIC
            - APIKEY
        username:
          description: username
          type: string
        password:
          description: password
          type: string
          format: base64
        key:
          description: apikey
          type: string
          format: base64
    Admins:
      title: Admins
      description: Admins
      required:
      properties:
        users:
          description: Lists the admin users.
          type: array
          items:
            type: string
        teams:
          description: list of UMS teams
          type: array
          items:
            type: string
