openapi: 3.1.0
info:
  title: Service Manager Management
  description: >-
    The HPE GreenLake for Service Catalog service offers a collection of RESTful
    APIs to fetch, provision service managers and to delete a service manager
    provisioned in a workspace.
  version: v1
  license:
    name: HPE End User License Agreement
    url: https://www.hpe.com/us/en/software/licensing.html
servers:
  - url: https://global.api.greenlake.hpe.com
security:
  - bearerAuth: []
paths:
  /service-catalog/v1/service-managers:
    get:
      tags:
        - Service Manager
      summary: Get service managers
      description: Get a list of available service managers.
      operationId: get_service_managers_v1
      parameters:
        - description: Specify pagination offset
          required: false
          schema:
            title: offset
            minimum: 0
            type: integer
            description: Zero-based resource offset to start the response from.
            default: 0
          name: offset
          in: query
          example: 0
        - name: limit
          description: The maximum number of records to return.
          required: false
          in: query
          example: 10
          schema:
            title: limit
            maximum: 2000
            minimum: 1
            type: integer
            description: The maximum number of records to return.
            default: 2000
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceManagerReadList'
        '400':
          description: Bad request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequestLimit1:
                  summary: Bad request limit 0
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Ensure this value is greater than or equal to 1 for field
                      limit
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                BadRequestLimit2:
                  summary: Bad request limit 2001
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Ensure this value is less than or equal to 2000 for field
                      limit
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                BadRequestOffset:
                  summary: Bad request offset -1
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Ensure this value is greater than or equal to 0 for field
                      offset
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '401':
          description: Unauthorized error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                InvalidToken:
                  summary: Invalid token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: JWT verification failed, Error decoding token claims.
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
                ExpiredToken:
                  summary: Expired token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: >-
                      JWT verification failed, JWT verification failed for
                      claims: Signature has expired.
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Forbidden:
                  summary: Forbidden
                  value:
                    httpStatusCode: 403
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: Not authorized.
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequestLimit1:
                  summary: Internal server error
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Fatal error while fetching specific service manager
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
  /service-catalog/v1/service-managers/{id}:
    get:
      tags:
        - Service Manager
      summary: Get a specific service manager
      description: >-
        Retrieve details for a specific service manager by passing the service
        manager ID.
      operationId: get_service_manager_v1
      parameters:
        - name: id
          description: Service manager ID
          required: true
          schema:
            title: ID
            type: string
            description: The unique identifier of the service manager.
            format: uuid
          in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceManagerRead'
        '400':
          description: Bad request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequestInvalidUuid:
                  summary: Invalid UUID
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: Value is not a valid uuid for field id
                    debugId: 61140ba0-c0b2-4b43-9972-28c5cb6e3a2c
        '401':
          description: Unauthorized error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                InvalidToken:
                  summary: Invalid token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: JWT verification failed, Error decoding token claims.
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
                ExpiredToken:
                  summary: Expired token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: >-
                      JWT verification failed, JWT verification failed for
                      claims: Signature has expired.
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Forbidden:
                  summary: Forbidden
                  value:
                    httpStatusCode: 403
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: Not authorized.
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                NotFound:
                  summary: Region not found
                  value:
                    httpStatusCode: 404
                    errorCode: HPE_GL_SERVICE_CATALOG_NOT_FOUND
                    message: >-
                      Service-manager with id
                      0f5f41c4-7c35-41e8-afa3-302042b9911e is not present in
                      workspace with id 035779c2-267f-46e2-a501-8cf808a6a36d
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequestLimit1:
                  summary: Internal server error
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Fatal error while fetching specific service manager
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
  /service-catalog/v1/per-region-service-managers:
    get:
      tags:
        - Service Manager
      summary: Get service managers by region
      description: Retrieve a list of available service managers categorized by region.
      operationId: per_region_service_managers_v1
      parameters:
        - description: Zero-based resource offset to start the response from.
          required: false
          schema:
            title: offset
            minimum: 0
            type: integer
            description: Zero-based resource offset to start the response from.
            default: 0
          name: offset
          in: query
          example: 0
        - description: The maximum number of records to return.
          required: false
          schema:
            title: limit
            maximum: 2000
            minimum: 1
            type: integer
            description: The maximum number of records to return.
            default: 2000
          name: limit
          in: query
          example: 10
        - in: query
          name: filter
          description: >-
            Limit the resources operated on by an endpoint and return only the
            subset of resources that match the filter using an [OData
            V4](https://www.odata.org/documentation/) formatted filter string.
            Service manager by region can be filtered by `mspsupported` See
            examples of filtering options.
          style: deepObject
          allowReserved: true
          required: false
          examples:
            filter-example1:
              $ref: '#/components/examples/filter-example1'
            filter-example2:
              $ref: '#/components/examples/filter-example2'
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceManagersPerRegion'
        '400':
          description: Bad request error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/BaseError'
              examples:
                BadRequestLimit1:
                  summary: Bad request limit 0
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Ensure this value is greater than or equal to 1 for field
                      limit
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                BadRequestLimit2:
                  summary: Bad request limit 2001
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Ensure this value is less than or equal to 2000 for field
                      limit
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                BadRequestOffset:
                  summary: Bad request offset -1
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Ensure this value is greater than or equal to 0 for field
                      offset
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                BadRequestInvalidFilterOperation:
                  summary: Unsupported filter operation
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Unsupported filter operator, 'mspsupported we', refer
                      example: '?filter=mspsupported eq true' for field filter
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                BadRequestMissingMspSupportedFilter:
                  summary: Missing mspSupported filter operation
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Query 'mspsupported' not present in the filtered data,
                      refer example: '?filter=mspsupported eq true' for field
                      filter
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                BadRequestInvalidMspType:
                  summary: Invalid mspSupported filter type
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Query 'mspSupported' needs to be a boolean value, refer
                      example: '?filter=mspsupported eq true' for field filter
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '401':
          description: Unauthorized error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                InvalidToken:
                  summary: Invalid token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: JWT verification failed, Error decoding token claims.
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
                ExpiredToken:
                  summary: Expired token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: >-
                      JWT verification failed, JWT verification failed for
                      claims: Signature has expired.
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Forbidden:
                  summary: Forbidden
                  value:
                    httpStatusCode: 403
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: Not authorized.
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequestLimit1:
                  summary: Internal server error 1
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: >-
                      Failed to get account_type for customer
                      035779c2-267f-46e2-a501-8cf808a6a36d
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
                BadRequestLimit2:
                  summary: Internal server error 2
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Fatal error while fetching specific service manager
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
  /service-catalog/v1/per-region-service-managers/{id}:
    get:
      tags:
        - Service Manager
      summary: Get service managers deployed in a specific region.
      description: Retrieve a list of service managers deployed to a particular region.
      operationId: service_managers_for_a_region_v1
      parameters:
        - description: HPE GreenLake platform defined region code.
          required: true
          schema:
            title: ID
            type: string
            description: HPE GreenLake platform defined region code.
          name: id
          in: path
          examples:
            region-example1:
              $ref: '#/components/examples/region-example1'
            region-example2:
              $ref: '#/components/examples/region-example2'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceManagersForARegion'
        '400':
          description: Bad request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequestError:
                  summary: Bad request error
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: Bad Request.
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '401':
          description: Unauthorized error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                InvalidToken:
                  summary: Invalid token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: JWT verification failed, Error decoding token claims.
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
                ExpiredToken:
                  summary: Expired token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: >-
                      JWT verification failed, JWT verification failed for
                      claims: Signature has expired.
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Forbidden:
                  summary: Forbidden
                  value:
                    httpStatusCode: 403
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: Not authorized.
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                NotFound:
                  summary: Region not found
                  value:
                    httpStatusCode: 404
                    errorCode: HPE_GL_SERVICE_CATALOG_NOT_FOUND
                    message: Provided region not found.
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequestLimit1:
                  summary: Internal server error 1
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: >-
                      Failed to get account_type for customer
                      035779c2-267f-46e2-a501-8cf808a6a36d
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
                BadRequestLimit2:
                  summary: Internal server error 2
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Fatal error while fetching specific service manager
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
  /service-catalog/v1/service-manager-provisions:
    post:
      tags:
        - Service Manager Provision
      summary: Provision a service manager in a given region
      description: >-
        Provision a service manager deployed in a region. Provisioning of a
        service manager is an async process and you can monitor the `
        provisionStatus` field to know the current status.
      operationId: create_service_manager_provision
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceManagerProvisionCreateBase'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              $ref: '#/components/headers/Location'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceManagerProvisionCreateResponse'
        '400':
          description: Bad request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                missing region:
                  summary: Missing region
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: Field required for field region
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                invalid service id:
                  summary: Invalid service manager id
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Unable to provision service-manager for given
                      service-manager-id: 5aa0d7b7-5896-4a24-9090-71334a95db38
                      in region: us-west.
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                invalid uuid:
                  summary: Invalid UUID
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: Value is not a valid uuid for field serviceManagerId
                    debugId: 61140ba0-c0b2-4b43-9972-28c5cb6e3a2c
                missing service id:
                  summary: Missing service manager id
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: Field required for field serviceManagerId
                    debugId: 61140ba0-c0b2-4b43-9972-28c5cb6e3a2c
        '401':
          description: Unauthorized error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                InvalidToken:
                  summary: Invalid token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: >-
                      JWT verification failed, Cannot find valid KID in JWT
                      token..
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Forbidden:
                  summary: Forbidden
                  value:
                    httpStatusCode: 403
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: Not authorized.
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
        '409':
          description: Conflict error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Conflict:
                  summary: Conflict
                  value:
                    httpStatusCode: 409
                    errorCode: HPE_GLCP_SERVICE_CATALOG_CONFLICT
                    message: >-
                      Provision of the application is not allowed as application
                      is already provisioned.
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequest1:
                  summary: Internal server error 1
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Internal server error
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
                BadRequest2:
                  summary: Internal server error 2
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Fatal error during provision request
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
    get:
      tags:
        - Service Manager Provision
      summary: Get service manager provisions
      description: Retrieve a list of all service manager provision entries.
      operationId: get_service_manager_provisions_v1
      parameters:
        - description: Zero-based resource offset to start the response from.
          required: false
          schema:
            title: offset
            minimum: 0
            type: integer
            description: Zero-based resource offset to start the response from.
            default: 0
          name: offset
          in: query
          example: 0
        - description: The maximum number of records to return.
          required: false
          schema:
            title: limit
            maximum: 2000
            minimum: 1
            type: integer
            description: The maximum number of records to return.
            default: 2000
          name: limit
          in: query
          example: 10
        - in: query
          name: filter
          style: deepObject
          allowReserved: true
          required: false
          examples:
            provision-filter-example1:
              $ref: '#/components/examples/provision-filter-example1'
            provision-filter-example2:
              $ref: '#/components/examples/provision-filter-example2'
            provision-filter-example3:
              $ref: '#/components/examples/provision-filter-example3'
            provision-filter-example4:
              $ref: '#/components/examples/provision-filter-example4'
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceManagerProvisionReadList'
        '401':
          description: Unauthorized error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                InvalidToken:
                  summary: Invalid token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: >-
                      JWT verification failed, Cannot find valid KID in JWT
                      token..
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Forbidden:
                  summary: Forbidden
                  value:
                    httpStatusCode: 403
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: Not authorized.
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequest:
                  summary: Internal server error
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Internal server error
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
  /service-catalog/v1/service-manager-provisions/{id}:
    get:
      tags:
        - Service Manager Provision
      summary: Get a specific service manager provision entry
      description: >-
        Retrieve details for a specific service manager provision entry using
        the ID for the entry.
      operationId: get_service_manager_provision_v1
      parameters:
        - name: id
          description: Service manager provision ID
          required: true
          schema:
            title: ID
            type: string
            description: Service manager provision ID
          in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceManagerProvisionRead'
        '401':
          description: Unauthorized error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                InvalidToken:
                  summary: Invalid token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: >-
                      JWT verification failed, Cannot find valid KID in JWT
                      token..
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Forbidden:
                  summary: Forbidden
                  value:
                    httpStatusCode: 403
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: Not authorized.
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                NotFound:
                  summary: Service manager not found
                  value:
                    httpStatusCode: 404
                    errorCode: HPE_GL_SERVICE_CATALOG_NOT_FOUND
                    message: >-
                      The provision details doesn't exists for
                      application_customer_id: da9fd386ca5c11ee84dffa088147ac1b.
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequest:
                  summary: Internal server error
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Internal server error
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
    delete:
      tags:
        - Service Manager Provision
      summary: Delete a service manager provision entry
      description: Delete a service manager provision entry.
      operationId: delete_service_manager_provision_v1
      parameters:
        - name: id
          description: Service manager provision ID
          required: true
          in: path
          schema:
            title: ID
            type: string
            description: Service manager provision ID
      responses:
        '204':
          description: Successful response when delete was triggered.
        '400':
          description: Bad request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                missing region:
                  summary: Missing region
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: Field required for field region
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                invalid service id:
                  summary: Invalid service manager id
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: >-
                      Unable to provision service-manager for given
                      service-manager-id: 5aa0d7b7-5896-4a24-9090-71334a95db38
                      in region: us-west.
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
                invalid uuid:
                  summary: Invalid uuid
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: Value is not a valid uuid for field serviceManagerId
                    debugId: 61140ba0-c0b2-4b43-9972-28c5cb6e3a2c
                missing service id:
                  summary: Missing service manager id
                  value:
                    httpStatusCode: 400
                    errorCode: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
                    message: Field required for field serviceManagerId
                    debugId: 61140ba0-c0b2-4b43-9972-28c5cb6e3a2c
        '401':
          description: Unauthorized error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                InvalidToken:
                  summary: Invalid token
                  value:
                    httpStatusCode: 401
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: >-
                      JWT verification failed, Cannot find valid KID in JWT
                      token..
                    debugId: vjf4Vd27fnIA4jPmn_w4F3AsOrz9z3aB3bpvcl6AescakhonHCxE5g==
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                Forbidden:
                  summary: Forbidden
                  value:
                    httpStatusCode: 403
                    errorCode: HPE_GL_ERROR_FORBIDDEN
                    message: Not authorized.
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                NotFound:
                  summary: Service manager not found
                  value:
                    httpStatusCode: 404
                    errorCode: HPE_GL_SERVICE_CATALOG_NOT_FOUND
                    message: >-
                      The provision details doesn't exists for
                      application_customer_id: da9fd386ca5c11ee84dffa088147ac1b.
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '412':
          description: PreCondition Failed error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                PreConditionFailed:
                  summary: Pre-condition failed
                  value:
                    httpStatusCode: 412
                    errorCode: HPE_GL_SERVICE_CATALOG_PRECONDITION_FAILED
                    message: >-
                      service-manager-provision has devices associated with it
                      in the user's workspace.
                    debugId: 935779c2-467f-46f2-a501-8cf908b6a36d
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
              examples:
                BadRequest1:
                  summary: Internal server error 1
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Internal server error
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
                BadRequest2:
                  summary: Internal server error 2
                  value:
                    httpStatusCode: 500
                    errorCode: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
                    message: Fatal error during provision request
                    debugId: 02dc7fdc-33c6-4e9f-9811-c2c76dba9113
components:
  examples:
    filter-example1:
      summary: Filter by mspSupported Service managers
      description: Return service managers when msp supported equals true
      value: mspSupported eq true
    filter-example2:
      summary: Filter by mspSupported Service managers
      description: Return service managers when msp supported equals false
      value: mspSupported eq false
    provision-filter-example1:
      summary: Filter by serviceManagerId
      description: Returns service managers with a specific service manager ID.
      value: serviceManagerId eq '767c0c92-5ecc-4952-85d6-06d2bcaaf050'
    provision-filter-example2:
      summary: Filter by status equals PROVISIONED.
      description: Returns service managers that are provisioned.
      value: status eq 'PROVISIONED'
    provision-filter-example3:
      summary: Filter by status equals UNPROVISIONED.
      description: Returns service managers that are not provisioned.
      value: status eq 'UNPROVISIONED'
    provision-filter-example4:
      summary: Filter by region
      description: Returns service managers in a specified region.
      value: region eq 'us-west'
    region-example1:
      summary: US West
      value: us-west
    region-example2:
      summary: US East
      value: us-east
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  responses:
    NotFound:
      description: 404 Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFoundError'
    Unauthorized:
      description: 401 Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
    Forbidden:
      description: 403 Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ForbiddenError'
    InternalServerError:
      description: 500 Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalError'
  headers:
    Location:
      required: true
      schema:
        type: string
        format: url
        examples:
          - >-
            /service-catalog/v1/service-manager-provisions/2fa85f64-5717-4562-b3fc-2c963f66afa1
  schemas:
    BaseError:
      type: object
      required:
        - httpStatusCode
        - errorCode
        - message
        - debugId
      properties:
        httpStatusCode:
          type: integer
          description: The HTTP equivalent status code.
          examples:
            - 401
        errorCode:
          type: string
          description: >-
            A unique machine-friendly, but human-readable identifier for the
            error.
          examples:
            - HPE_GLCP_ERROR_EXPIRED_TOKEN
        message:
          type: string
          description: A user-friendly error message.
          examples:
            - Authentication error - token expired
        debugId:
          type: string
          description: A unique identifier for the instance of this error.
          examples:
            - 12312-123123-123123-1231212
    Error:
      allOf:
        - $ref: '#/components/schemas/BaseError'
    UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/Error'
    ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/Error'
    NotFoundError:
      allOf:
        - $ref: '#/components/schemas/Error'
    ConflictError:
      allOf:
        - $ref: '#/components/schemas/Error'
    PreConditionFailedError:
      allOf:
        - $ref: '#/components/schemas/Error'
    ValidationError:
      allOf:
        - $ref: '#/components/schemas/Error'
    BadRequestError:
      allOf:
        - $ref: '#/components/schemas/BaseError'
    InternalError:
      allOf:
        - $ref: '#/components/schemas/BaseError'
    ServiceManagerRead:
      title: ServiceManagerRead
      description: Service manager details
      required:
        - id
        - resourceUri
        - name
        - standaloneSupported
        - mspSupported
        - honorUnprovisionResponse
        - tenantOnlySupported
        - createdAt
        - updatedAt
        - generation
        - type
      type: object
      properties:
        id:
          title: Service manager ID
          type: string
          description: The unique ID of the service manager.
          format: uuid
          examples:
            - 3fa85f64-5717-4562-b3fc-2c963f66afa6
        resourceUri:
          title: Resource URI
          type: string
          description: URI to the service manager resource
          examples:
            - >-
              /service-catalog/v1/service-managers/3fa85f64-5717-4562-b3fc-2c963f66afa6
        name:
          title: Name
          maxLength: 64
          type: string
          description: Name of the service manager
          examples:
            - Aruba Central
        standaloneSupported:
          title: Standalone Supported
          type: boolean
          description: Service manager supports Standalone or not
          examples:
            - true
        mspSupported:
          title: MSP Supported
          type: boolean
          description: Service manager supports Managed Service Provider (MSP) or not
          examples:
            - true
        honorUnprovisionResponse:
          title: Honor Unprovision Response
          type: boolean
          description: Honor Unprovision or not
          examples:
            - true
        tenantOnlySupported:
          title: Tenant Only Supported
          type: boolean
          description: Service manager supports Tenant only Supported or not
          examples:
            - false
        mspOnlySupported:
          title: MSP only Supported
          type: boolean
          description: Service Manager supports only Managed Service Provider (MSP) or not
          examples:
            - false
        workspaceTransferSupported:
          title: Workspace Transfer Supported
          type: boolean
          description: Service Manager supports Workspace Transfer or not
          examples:
            - false
        workspaceOpModesSupported:
          title: Workspace Ops Mode Supported
          type: string
          description: Types of tenants supported by the service manager
          examples:
            - ALL
        description:
          title: Description
          maxLength: 1024
          type: string
          description: Description of the service manager.
          examples:
            - Manage your wired, wireless, and WAN infrastructure
        createdAt:
          title: Created At
          type: string
          description: Date and time the service was created.
          format: date-time
          examples:
            - '2021-04-23T07:50:30.400Z'
        updatedAt:
          title: Updated At
          type: string
          description: Date and time the service manager metadata was updated.
          format: date-time
          examples:
            - '2021-04-29T07:50:30.400Z'
        generation:
          title: generation
          type: integer
          description: Monotonically increasing update counter.
          examples:
            - 1
        type:
          title: type
          type: string
          description: Type of resource
          examples:
            - /service-catalog/service-manager
    ServiceManagerReadList:
      title: ServiceManagerReadList
      description: List of service managers
      required:
        - items
        - count
        - offset
      type: object
      properties:
        items:
          title: Service manager list
          type: array
          items:
            $ref: '#/components/schemas/ServiceManagerRead'
        offset:
          title: Offset
          description: Zero-based resource offset
          examples:
            - 0
          type: integer
        count:
          title: Count per page
          description: Number of items returned
          examples:
            - 1
          type: integer
        total:
          title: Total count
          description: >-
            Total count of items in the collection after applying the provided
            query parameters.
          examples:
            - 10
          type: integer
    ServiceManagersForARegion:
      title: ServiceManagersForARegion
      description: List of service managers for a specified region.
      required:
        - id
        - regionName
        - serviceManagers
        - generation
        - type
      type: object
      properties:
        id:
          title: Region code
          type: string
          description: >-
            HPE GreenLake platform defined region where the service manager is
            available.
          examples:
            - us-west
        regionName:
          title: Region name
          type: string
          description: >-
            The name of geographical region where the service manager is
            available.
          examples:
            - US West
        serviceManagers:
          title: Service managers
          type: array
          items:
            $ref: '#/components/schemas/ServiceManagerRead'
        generation:
          title: generation
          type: integer
          description: Monotonically increasing update counter.
          examples:
            - 1
        type:
          title: type
          type: string
          description: Type of resource
          examples:
            - /service-catalog/service-manager
    ServiceManagersPerRegion:
      title: ServiceManagersPerRegion
      description: List of service managers grouped by region.
      required:
        - items
        - count
        - offset
      type: object
      properties:
        items:
          title: Service managers per region
          type: array
          items:
            $ref: '#/components/schemas/ServiceManagersForARegion'
        offset:
          title: Offset
          description: Zero-based resource offset
          examples:
            - 0
          type: integer
        count:
          title: Count per page
          description: Number of items returned
          examples:
            - 1
          type: integer
        total:
          title: Total count
          description: >-
            Total number of items  that match the filter query, if one was
            provided in the request
          examples:
            - 10
          type: integer
    ServiceManagerResourceLink:
      title: ServiceManagerResourceLink
      description: A reference to a service manager resource.
      type: object
      properties:
        id:
          examples:
            - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          title: ServiceManagerId
          type: string
          format: uuid
        resourceUri:
          title: Resource URI
          type: string
          description: URI to the service manager resource
          examples:
            - >-
              /service-catalog/v1/service-managers/3fa85f64-5717-4562-b3fc-2c963f66afa6
    ProvisionStatus:
      title: ProvisionStatus
      description: The current provisioning status.
      enum:
        - PROVISION_INITIATED
        - PROVISIONED
        - PROVISION_FAILED
        - UNPROVISION_INITIATED
        - UNPROVISIONED
        - UNPROVISION_FAILED
      allOf:
        - type: string
    MSPConversionStatus:
      title: MSPConversionStatus
      description: The current status of Managed Service Provider conversion.
      enum:
        - MSP_CONVERSION_INITIATED
        - MSP_CONVERTED
        - MSP_CONVERSION_FAILED
      allOf:
        - type: string
    ServiceManagerProvisionCreateBase:
      title: ServiceManagerProvisionCreateBase
      description: Service manager provision request details
      required:
        - serviceManagerId
        - region
      type: object
      properties:
        serviceManagerId:
          title: Service manager ID
          type: string
          format: uuid
          description: The unique identifier of the service manager.
          examples:
            - 3fa85f64-5717-4562-b3fc-2c963f66afa6
        region:
          title: Region code
          description: HPE GreenLake platform defined region code.
          type: string
          examples:
            - us-west
    ServiceManagerProvisionCreateResponse:
      title: ServiceManagerProvisionCreateResponse
      description: Service manager provision details when provision is initiated.
      required:
        - id
        - resourceUri
        - serviceManager
        - region
        - createdBy
        - generation
        - type
      type: object
      properties:
        id:
          examples:
            - 2fa85f64571745627b3fc2c963f66afa1
          title: Service manager provisioned ID
          type: string
        resourceUri:
          title: Resource URI
          type: string
          description: URI to the service manager provision resource
          examples:
            - >-
              /service-catalog/v1/service-manager-provisions/2fa85f64571745627b3fc2c963f66afa1
        serviceManager:
          $ref: '#/components/schemas/ServiceManagerResourceLink'
        region:
          examples:
            - us-west
          title: Region
          type: string
        createdBy:
          title: username
          description: >-
            The HPE GreenLake platform username that provisioned the service
            manager.
          type: string
          examples:
            - john@acme.com
        generation:
          title: generation
          type: integer
          description: Monotonically increasing update
          examples:
            - 1
        type:
          title: type
          type: string
          description: Type of resource
          examples:
            - /service-catalog/service-manager-provision
    ServiceManagerProvisionRead:
      title: ServiceManagerProvisionRead
      description: Service manager provisioned details
      required:
        - id
        - resourceUri
        - serviceManager
        - region
        - provisionStatus
        - createdBy
        - createdAt
        - updatedAt
        - generation
        - type
      type: object
      properties:
        id:
          examples:
            - 2fa85f6457174562b3fc2c963f66afa1
          title: Service manager provisioned ID
          type: string
        resourceUri:
          title: Resource URI
          type: string
          description: URI to the service manager provision resource
          examples:
            - >-
              /service-catalog/v1/service-manager-provisions/2fa85f6457174562b3fc2c963f66afa1
        serviceManager:
          $ref: '#/components/schemas/ServiceManagerResourceLink'
        region:
          examples:
            - us-west
          title: Region
          type: string
        provisionStatus:
          allOf:
            - $ref: '#/components/schemas/ProvisionStatus'
        createdBy:
          title: username
          description: >-
            The HPE GreenLake platform username that provisioned the service
            manager.
          type: string
          examples:
            - john@acme.com
        createdAt:
          title: createdAt
          type: string
          description: Date and time the service offer was created or upgraded.
          examples:
            - '2021-04-23T07:50:30.400Z'
        updatedAt:
          title: updatedAt
          type: string
          description: Date and time the service offer was updated.
          examples:
            - '2021-04-29T07:50:30.400Z'
        generation:
          title: generation
          type: integer
          description: Monotonically increasing update counter.
          examples:
            - 1
        type:
          title: type
          type: string
          description: Type of resource
          examples:
            - /service-catalog/service-manager-provision
    ServiceManagerProvisionReadList:
      title: ServiceManagerProvisionReadList
      description: List of service managers provisioned details.
      required:
        - items
        - count
        - offset
      type: object
      properties:
        items:
          title: Service manager provision list
          type: array
          items:
            $ref: '#/components/schemas/ServiceManagerProvisionRead'
        offset:
          title: Offset
          description: Zero-based resource offset
          examples:
            - 0
          type: integer
        count:
          title: Count per page
          description: Number of items returned
          examples:
            - 1
          type: integer
        total:
          title: Total count
          description: >-
            Total count of items in the collection after applying the provided
            query parameters.
          examples:
            - 10
          type: integer
tags:
  - name: Service Manager
    description: APIs to get service managers for the user's workspace.
    x-displayName: Service Manager
  - name: Service Manager Provision
    description: APIs to provision, un-provision and get the service manager provisioned.
    x-displayName: Service Manager Provision
