openapi: 3.1.0
info:
  title: Service offer management
  description: >-
    The API reference documentation for endpoints related to service offer
    management.
  version: v1beta1
  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/v1beta1/service-offers:
    get:
      tags:
        - Service offers
      summary: Get service offers
      operationId: getServiceOffers
      description: >
        Retrieve a list of service offers by applying filters. 

        A service offer provides a distinct set of functionality that can be
        independently identified and assigned access.

        <br><br>**Pagination:** This API supports cursor-based pagination.
        Provide the cursor in the `next` query parameter to retrieve the next
        page.
      parameters:
        - name: next
          description: Specifies the pagination cursor for the next page of service offers.
          required: false
          in: query
          example: 64136af7-cd64-4b4e-88a8-150ab51a920d
          schema:
            title: Pagination cursor
            type: string
            description: >-
              Specifies the pagination cursor for the next page of service
              offers.
        - name: limit
          description: Specifies the number of results to be returned.
          required: false
          in: query
          schema:
            title: Pagination limit
            maximum: 2000
            minimum: 1
            type: integer
            description: Number of entries per page
            default: 2000
        - name: filter
          in: query
          required: false
          description: >-
            The `filter` query parameter is used to filter the set of resources
            returned in a `GET` request. The returned set of resources must
            match the criteria in the filter query parameter.<br><br> The value
            of the `filter` query parameter is a subset of [OData
            4.0](https://www.odata.org/documentation/) filter expressions
            consisting of simple comparison operations joined by logical
            operators.<br><br>**Supported fields**: `category`,
            `serviceManagerId`, `status`, `isDefault`, `slug`, and
            `staticLaunchUrl`.<br>**Supported operand**: `eq`<br>**Supported
            operations**: `and`
          style: deepObject
          examples:
            filter-serviceManagerId:
              $ref: '#/components/examples/filter-serviceManagerId'
            filter-category:
              $ref: '#/components/examples/filter-category'
            filter-isDefault:
              $ref: '#/components/examples/filter-isDefault'
            filter-staticLaunchUrl:
              $ref: '#/components/examples/filter-staticLaunchUrl'
            filter-status:
              $ref: '#/components/examples/filter-status'
            filter-slug:
              $ref: '#/components/examples/filter-slug'
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceOfferList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /service-catalog/v1beta1/service-offers/{id}:
    get:
      tags:
        - Service offers
      summary: Get a service offer
      description: >
        Retrieve detailed information about a specific service offer by
        supplying its unique identifier in the request path.

        To obtain valid service offer IDs, use the `Get service offers` endpoint
        to list available offers.
      operationId: getServiceOffer
      parameters:
        - name: id
          description: The unique identifier of the service offer.
          required: true
          in: path
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          schema:
            title: id
            type: string
            description: The unique identifier for the service offer.
            format: uuid
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceOfferRead'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /service-catalog/v1beta1/service-offer-regions:
    get:
      tags:
        - Service offer regions
      summary: Get service offer regions
      operationId: getServiceOfferRegions
      description: >
        Retrieve a list of service offer regions by applying filters.

        Each service offer region represents a service offer provisioned in a
        specific region.

        <br><br>**Pagination:** This API supports cursor-based pagination.
        Provide the cursor in the `next` query parameter to retrieve the next
        page.
      parameters:
        - name: next
          description: >-
            Specifies the pagination cursor for the next page of service offer
            regions.
          required: false
          in: query
          schema:
            title: Pagination Cursor
            type: string
            example: 64136af7-cd64-4b4e-88a8-150ab51a920d
            description: >-
              Specifies the pagination cursor for the next page of service offer
              regions.
        - name: limit
          description: Specifies the number of results to be returned.
          required: false
          in: query
          schema:
            title: Pagination Limit
            maximum: 2000
            minimum: 1
            type: integer
            description: Specifies the number of results to be returned.
            default: 2000
        - name: filter
          in: query
          required: false
          description: >-
            The `filter` query parameter is used to filter the set of resources
            returned in a `GET` request. The returned set of resources must
            match the criteria in the filter query parameter.<br><br> The value
            of the `filter` query parameter is a subset of [OData
            4.0](https://www.odata.org/documentation/) filter expressions
            consisting of simple comparison operations joined by logical
            operators.<br><br>**Supported fields**: `serviceOfferId`, `status`,
            and `region`.<br>**Supported operand**: `eq`<br>**Supported
            operations**: `and`
          style: deepObject
          examples:
            filter-serviceOfferId:
              $ref: '#/components/examples/filter-serviceOfferId'
            filter-ServiceOfferRegion-by-region:
              $ref: '#/components/examples/filter-ServiceOfferRegion-by-region'
            filter-ServiceOfferRegion-by-status:
              $ref: '#/components/examples/filter-ServiceOfferRegion-by-status'
            filter-ServiceOfferId-and-region:
              $ref: '#/components/examples/filter-serviceOfferId-and-region'
            filter-ServiceOfferId-and-status:
              $ref: '#/components/examples/filter-serviceOfferId-and-status'
            filter-ServiceOfferId-and-status-and-region:
              $ref: >-
                #/components/examples/filter-serviceOfferId-and-status-and-region
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceOfferRegionsList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /service-catalog/v1beta1/service-offer-regions/{id}:
    get:
      tags:
        - Service offer regions
      summary: Get service offer region
      operationId: getServiceOfferRegion
      description: >
        Retrieve detailed information about a specific service offer region by
        providing its unique identifier in the request path.

        To obtain valid service offer region IDs, use the `Get service offer
        regions` endpoint to list available regions.
      parameters:
        - name: id
          description: The unique service offer region ID.
          required: true
          in: path
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          schema:
            title: id
            type: string
            description: The unique service offer region ID.
            format: uuid
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceOfferRegionRead'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /service-catalog/v1beta1/service-catalog:
    get:
      tags:
        - UI Management
      description: Get Service Offers for Catalog View
      operationId: getServiceCatalog
      parameters:
        - name: next
          description: Specifies the category for the next page of service catalog.
          required: false
          in: query
          example: STORAGE
          schema:
            title: Pagination Cursor
            type: string
            description: Specifies the category for the next page of service catalog.
        - name: limit
          description: Number of entries per page
          required: false
          in: query
          schema:
            title: Pagination Limit
            maximum: 2000
            minimum: 1
            type: integer
            description: Number of entries per page
            default: 2000
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceOfferCatalog'
          description: Successful Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get Service Offers for Catalog
  /service-catalog/v1beta1/featured-services:
    get:
      tags:
        - UI Management
      description: Get Featured Service Offers
      operationId: getFeaturedServices
      parameters:
        - name: next
          description: Specifies the category for the next page of featured services.
          required: false
          in: query
          example: STORAGE
          schema:
            title: Pagination Cursor
            type: string
            description: Specifies the category for the next page of featured services.
        - name: limit
          description: Number of entries per page
          required: false
          in: query
          schema:
            title: Pagination Limit
            maximum: 2000
            minimum: 1
            type: integer
            description: Number of entries per page
            default: 2000
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeaturedServiceOffers'
          description: Successful Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get Featured Service Offers
  /service-catalog/v1beta1/detailed-service-offers/{id}:
    get:
      description: Get Detailed Service Offer
      operationId: getDetailedServiceOffer
      parameters:
        - name: id
          description: Service Offer ID
          required: true
          in: path
          schema:
            title: id
            type: string
            format: string
            example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedServiceOffer'
          description: Successful Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get Service Offer Details
      tags:
        - UI Management
  /service-catalog/v1beta1/my-services:
    get:
      description: Get data to populate My Services
      operationId: getMyServices
      parameters:
        - name: next
          description: Specifies the start-id for the next page of my services.
          required: false
          in: query
          example: us-west
          schema:
            title: Pagination Cursor
            type: string
            description: Specifies the start-id for the next page of my services.
        - name: limit
          description: Number of entries per page
          required: false
          in: query
          schema:
            title: Pagination Limit
            maximum: 2000
            minimum: 1
            type: integer
            description: Number of entries per page
            default: 2000
        - name: include-omnipresent
          description: Specifies whether to include omnipresent service offers in response
          required: false
          in: query
          schema:
            title: Include Omnipresent
            type: boolean
            description: >-
              Request omnipresent service offers to be included along with other
              provisioned service offers
            example: true
            default: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MyServices'
          description: Successful Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get My Services
      tags:
        - UI Management
  /service-catalog/v1beta1/recent-services:
    get:
      description: Get data to populate Recent Services
      operationId: getRecentServices
      parameters:
        - name: next
          description: Specifies the start-id for the next page of recent services.
          required: false
          in: query
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          schema:
            title: Pagination Cursor
            type: string
            description: Specifies the start-id for the next page of recent services.
        - name: limit
          description: Number of entries per page
          required: false
          in: query
          schema:
            title: Pagination Limit
            maximum: 2000
            minimum: 1
            type: integer
            description: Number of entries per page
            default: 100
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecentServices'
          description: Successful Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get Recent Services
      tags:
        - UI Management
  /service-catalog/v1beta2/recent-services:
    get:
      description: Get data to populate Recent Services V2
      operationId: getRecentServicesV2
      parameters:
        - name: next
          description: Specifies the start-id for the next page of recent services.
          required: false
          in: query
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          schema:
            title: Pagination Cursor
            type: string
            description: Specifies the start-id for the next page of recent services.
        - name: limit
          description: Number of entries per page
          required: false
          in: query
          schema:
            title: Pagination Limit
            maximum: 2000
            minimum: 1
            type: integer
            description: Number of entries per page
            default: 100
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecentServicesV2'
          description: Successful Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get Recent Services
      tags:
        - UI Management
components:
  examples:
    filter-serviceManagerId:
      summary: Filter by serviceManagerId
      description: Return service offers for given service manager ID
      value: serviceManagerId eq '767c0c92-5ecc-4952-85d6-06d2bcaaf050'
    filter-category:
      summary: Filter by category
      description: Return service offers for a given category
      value: category eq 'COMPUTE'
    filter-isDefault:
      summary: Filter by isDefault
      description: Return service offers that are service managers
      value: isDefault eq true
    filter-staticLaunchUrl:
      summary: Filter by staticLaunchUrl
      description: Return service offers for a given static launch URL
      value: staticLaunchUrl eq '/Organization'
    filter-status:
      summary: Filter by status
      description: Return service offers with a given status
      value: status eq 'ONBOARDED'
    filter-slug:
      summary: Filter by slug
      description: Return service offers with a given slug
      value: slug eq 'GLP'
    filter-serviceOfferId:
      summary: Filter by serviceOfferId
      description: Return service offer regions with a given service offer ID
      value: serviceOfferId eq '767c0c92-5ecc-4952-85d6-06d2bcaaf050'
    filter-ServiceOfferRegion-by-region:
      summary: Filter by region
      description: Return service offer regions with a given region
      value: region eq 'us-east'
    filter-ServiceOfferRegion-by-status:
      summary: Filter by status
      description: Return service offer regions with a given status
      value: status eq 'ONBOARDED'
    filter-serviceOfferId-and-region:
      summary: Filter by serviceOfferId and region
      description: Return service offer regions with a given service offer ID and region
      value: >-
        serviceOfferId eq '767c0c92-5ecc-4952-85d6-06d2bcaaf050' and region eq
        'us-east'
    filter-serviceOfferId-and-status:
      summary: Filter by serviceOfferId and status
      description: Return service offer regions with a given service offer ID and status
      value: >-
        serviceOfferId eq '767c0c92-5ecc-4952-85d6-06d2bcaaf050' and status eq
        'ONBOARDED'
    filter-serviceOfferId-and-status-and-region:
      summary: Filter by serviceOfferId and status and region
      description: >-
        Return service offer regions with a given service offer ID and status
        and region
      value: >-
        serviceOfferId eq '767c0c92-5ecc-4952-85d6-06d2bcaaf050' and status eq
        'ONBOARDED' and region eq 'us-east'
  securitySchemes:
    bearerAuth:
      name: Authorization
      in: header
      type: apiKey
  responses:
    NotFound:
      description: 404 Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFoundError'
    NoContent:
      description: NoContent
    BadRequest:
      description: 400 Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequestError'
    Unauthorized:
      description: 401 Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
    Forbidden:
      description: 403 Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ForbiddenError'
    Conflict:
      description: 409 Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ConflictError'
    PreConditionFailed:
      description: 412 PreConditionFailed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PreConditionFailedError'
    TooManyRequests:
      description: 429 TooManyRequests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TooManyRequestsError'
    InternalServerError:
      description: 500 Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalError'
    ValidationError:
      description: 422 Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationError'
    ServiceOfferPublished:
      description: 201 Service Offer Published Response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceOfferRead'
      headers:
        Location:
          description: URL of the created Workspace
          schema:
            type: string
    ServiceOfferOnboarded:
      description: 201 Service Offer Created Response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceOfferReadOnboarded'
      headers:
        Location:
          description: URL of the created Workspace
          schema:
            type: string
    ServiceOfferRegionCreated:
      description: 201 Service Offer Region Created Response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceOfferRegionRead'
      headers:
        Location:
          description: URL of the created Workspace
          schema:
            type: string
  schemas:
    UnauthorizedError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 401
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_UNAUTHORIZED
            message:
              type: string
              description: A user-friendly error message.
              example: Authentication error - token expired
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: 64136af7-cd64-4b4e-88a8-150ab51a920d
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - source
                  - metadata
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.metadata
                  source:
                    type: string
                    description: Source of the error.
                    example: hpe.greenlake.iam
                  metadata:
                    type: object
                    description: Any additional key value pairs that the service defines.
                    properties:
                      accessToken:
                        type: string
                        description: Status of the access token.
                        example: Expired
    ForbiddenError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 403
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_FORBIDDEN
            message:
              type: string
              description: A user-friendly error message.
              example: The user is not authorized to perform the request
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: 8567e466-7322-414a-b7d4-6832c3ce8f47
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - source
                  - metadata
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.metadata
                  source:
                    type: string
                    description: Source of the error.
                    example: hpe.greenlake.iam
                  metadata:
                    type: object
                    description: Any additional key value pairs that the service defines.
                    properties:
                      uiAuthorization:
                        type: string
                        description: Status of the access token.
                        example: Failed
    NotFoundError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 404
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_NOT_FOUND
            message:
              type: string
              description: A user-friendly error message.
              example: >-
                No service provision found for ID:
                64136af7-cd64-4b4e-88a8-150ab51a920d
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: 64136af7-cd64-4b4e-88a8-150ab51a920d
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - source
                  - metadata
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.metadata
                  source:
                    type: string
                    description: Source of the error.
                    example: hpe.greenlake.service-catalog
                  metadata:
                    type: object
                    description: Any additional key value pairs that the service defines.
                    properties:
                      requestedItem:
                        type: string
                        description: Status of the access token.
                        example: Not Found
    ConflictError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 409
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_CONFLICT
            message:
              type: string
              description: A user-friendly error message.
              example: Duplicate Service Provision.
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: 64136af7-cd64-4b4e-88a8-150ab51a920d
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - source
                  - metadata
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.metadata
                  source:
                    type: string
                    description: Source of the error.
                    example: hpe.greenlake.service-catalog
                  metadata:
                    type: object
                    description: Any additional key value pairs that the service defines.
                    properties:
                      conflictType:
                        type: string
                        description: Status of the access token.
                        example: Duplicate
    ValidationError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 422
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_UNPROCESSABLE_ENTITY
            message:
              type: string
              description: A user-friendly error message.
              example: 'Invalid UUID: 5221850a-dae8-4bdf-ae69-021e3bbf80a'
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: 64136af7-cd64-4b4e-88a8-150ab51a920d
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - source
                  - metadata
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.metadata
                  source:
                    type: string
                    description: Source of the error.
                    example: hpe.greenlake.service-catalog
                  metadata:
                    type: object
                    description: Any additional key value pairs that the service defines.
                    properties:
                      invalidInput:
                        type: string
                        description: Status of the access token.
                        example: id
    BadRequestError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
            - errorDetails
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 400
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_BAD_REQUEST
            message:
              type: string
              description: A user-friendly error message.
              example: >-
                Service Offer 6c4ec6df-1c23-460f-aece-34573e88de19 does not
                exist
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: 64136af7-cd64-4b4e-88a8-150ab51a920d
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - issues
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.bad_request
                  issues:
                    type: array
                    description: Array of bad request issues.
                    items:
                      type: object
                      required:
                        - source
                        - subject
                        - description
                      properties:
                        source:
                          type: string
                          description: The part of the request with an issue.
                          enum:
                            - field
                            - header
                            - query.parameter
                          example: field
                        subject:
                          type: string
                          description: The specific issue key.
                          example: id
                        description:
                          type: string
                          description: >-
                            An elaborate description of issue. This can be used
                            by developers to understand how the failure can be
                            addressed.
                          example: Invalid format.
    PreConditionFailedError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
            - errorDetails
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 412
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_PRECONDITION_FAILED
            message:
              type: string
              description: A user-friendly error message.
              example: Precondition Failed
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: 64136af7-cd64-4b4e-88a8-150ab51a969d
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - issues
                  - source
                  - metadata
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.precondition_failed
                  issues:
                    type: array
                    description: Array of precondition issues.
                    items:
                      type: object
                      required:
                        - source
                        - subject
                      properties:
                        source:
                          type: string
                          description: Source of the error.
                          example: hpe.greenlake.organizations.verification
                        subject:
                          type: string
                          description: The specific issue.
                          example: TXT Record with key _hpe-greenlake-validation
                        description:
                          type: string
                          description: >-
                            An elaborate description of how the precondition
                            failed. This can be used by developers to understand
                            how the failure can be fixed.
                          example: >-
                            The TXT record with the domain ownership
                            verification did not exist.
    TooManyRequestsError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 429
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_ERROR_TOO_MANY_REQUESTS
            message:
              type: string
              description: A user-friendly error message.
              example: Current request can not be processed due to unknown issue.
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: 64136af7-cd64-4b4e-88a8-150ab51a969d
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - source
                  - metadata
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.metadata
                  source:
                    type: string
                    description: Source of the error.
                    example: hpe.greenlake.service-catalog
                  metadata:
                    type: object
                    description: Any additional key value pairs that the service defines.
                    properties:
                      issue:
                        type: string
                        description: Status of the access token.
                        example: Unknown
    InternalError:
      allOf:
        - type: object
          required:
            - httpStatusCode
            - errorCode
            - message
            - debugId
            - errorDetails
          properties:
            httpStatusCode:
              type: integer
              description: The HTTP equivalent status code
              example: 500
            errorCode:
              type: string
              description: A unique machine-friendly identifier for the error.
              example: HPE_GL_SERVICE_CATALOG_INTERNAL_SERVER_ERROR
            message:
              type: string
              description: A user-friendly error message.
              example: Internal Server Error
            debugId:
              type: string
              description: A unique identifier for the instance of this error.
              example: e0a0d57d-30cb-45f8-90cb-d6ea3501f70b
            errorDetails:
              type: array
              description: Additional detailed information about the error
              items:
                type: object
                required:
                  - type
                  - retryAfterSeconds
                properties:
                  type:
                    type: string
                    description: The type of error details.
                    example: hpe.greenlake.retry_info
                  retryAfterSeconds:
                    type: integer
                    description: Seconds to wait before retrying.
                    example: 30
    ServiceOfferStatus:
      title: ServiceOfferStatus
      enum:
        - ONBOARDING
        - ONBOARDED
        - PUBLISHED
      type: string
      description: The current status of the service offer.
      example: PUBLISHED
    ServiceOfferWithAvailableRegions:
      title: ServiceOfferWithAvailableRegions
      type: object
      properties:
        id:
          format: uuid
          example: 1
          title: id
          description: The unique identifier for the service offer with available regions.
          type: string
        type:
          title: type
          type: string
          description: The resource type for this object.
          example: /service-catalog/service-with-regions
        serviceOffer:
          description: >-
            A service offer represents a specific set of features or
            capabilities that can be independently identified and assigned
            access. Service offers are typically associated with roles and
            permissions, commerce, metering, quote-to-cash, or trial
            evaluations.
          $ref: '#/components/schemas/ServiceOfferRead'
        availableRegions:
          title: availableRegions
          description: >-
            The list of regions where this service offer is available to the
            current user or customer.
          type: array
          items:
            $ref: '#/components/schemas/Region'
      required:
        - serviceOffer
        - availableRegions
    SupportedFeature:
      title: SupportedFeature
      enum:
        - DEEP_LINKING
        - EVALUATION
        - SERVICE_PROVISIONING
        - ORG_SINGLETON_SERVICE_PROVISIONING
        - SKIP_SERVICE_MGR_PROVISIONING
        - SKIP_SERVICE_UNPROVISIONING
        - RBAC
        - UI_DISABLE_PROVISIONING
        - HONOR_UNPROVISION_RESPONSE
      type: string
      description: >
        Indicates a feature supported by the service offer. 

        Examples include deep linking, evaluation, provisioning, and RBAC
        support.
      example: DEEP_LINKING
    AccountType:
      title: AccountType
      enum:
        - BASIC_ORGANIZATION
        - STANDALONE
        - MSP
        - TENANT
      type: string
      description: The type of account associated with the service offer.
      example: MSP
    Category:
      title: Category
      enum:
        - COMPUTE
        - NETWORKING
        - STORAGE
        - PRIVATE_CLOUD
        - MGMT_GOV
        - WORKLOADS
        - AI_ML_ANALYTICS
      type: string
      description: >-
        The category to which a service offer belongs, such as compute,
        networking, or storage.
      example: COMPUTE
    MediaCategory:
      title: MediaCategory
      enum:
        - LOGO
        - SCREENSHOT
      type: string
      description: The type of media asset associated with the service offer.
      example: SCREENSHOT
    MSPConversionStatus:
      title: MSPConversionStatus
      description: The status of a MSP conversion process.
      enum:
        - MSP_CONVERSION_INITIATED
        - MSP_CONVERTED
        - MSP_CONVERSION_FAILED
      allOf:
        - type: string
      example: MSP_CONVERTED
    OperationalMode:
      title: OperationalMode
      enum:
        - DEFAULT
        - MSP_OWNED_INVENTORY
        - CUSTOMER_OWNED_INVENTORY
      allOf:
        - type: string
      description: The operational mode of the service offer.
      example: MSP_OWNED_INVENTORY
    ProvisionStatus:
      title: ProvisionStatus
      description: >-
        The current provisioning status of the service, such as provisioned or
        failed.
      enum:
        - PROVISION_INITIATED
        - PROVISIONED
        - PROVISION_FAILED
        - UNPROVISION_INITIATED
        - UNPROVISIONED
        - UNPROVISION_FAILED
      allOf:
        - type: string
      example: PROVISIONED
    Region:
      title: Region
      properties:
        id:
          title: id
          description: >-
            The code name for a geographical region supported by the HPE
            GreenLake cloud.
          type: string
          example: us-east
        type:
          title: type
          type: string
          description: The resource type identifier for the region.
          example: /service-catalog/region
        name:
          title: name
          description: The human-readable name for the geographical region.
          type: string
          example: US East
    RegionWithLocations:
      title: RegionWithLocations
      allOf:
        - $ref: '#/components/schemas/Region'
        - type: object
          properties:
            locations:
              title: location
              description: >-
                A list of physical locations within the region where the
                application instance is available.
              type: array
              items:
                type: string
              example:
                - Virginia
                - California
    ServiceOfferType:
      title: ServiceOfferType
      enum:
        - FREE
        - COMMON_TOOLS
        - SAAS
        - DEVICE_SAAS
        - IAAS
        - ORGANIZATION
      type: string
      description: The type of service offer.
      example: SAAS
    ServiceManagerResourceLink:
      title: ServiceManagerResourceLink
      type: object
      properties:
        id:
          example: 7267b0e0-013c-4181-8c27-01b395ed0b61
          title: id
          description: The unique identifier for the service manager.
          type: string
          format: uuid
        resourceUri:
          title: resourceUri
          type: string
          description: The URI reference to the service manager resource.
          example: >-
            /service-catalog/v1beta1/service-managers/7267b0e0-013c-4181-8c27-01b395ed0b61
    ServiceManagerProvisionResourceLink:
      title: ServiceManagerProvisionResourceLink
      type: object
      properties:
        id:
          example: 2fb85f6457174562b3fc2c963f66afa2
          title: id
          description: The unique identifier for the service manager provision.
          type: string
        resourceUri:
          title: resourceUri
          type: string
          description: The URI reference to the service manager provision resource.
          example: >-
            /service-catalog/v1beta1/service-manager-provisions/2fb85f64-5717-4562-b3fc-2c963f66afa2
    DetailedServiceManagerResourceLink:
      title: ServiceManagerResourceLink
      type: object
      properties:
        id:
          example: 7267b0e0-013c-4181-8c27-01b395ed0b61
          title: id
          description: Service Manager ID
          type: string
          format: uuid
        resourceUri:
          title: resourceUri
          type: string
          description: Resource URI
          example: >-
            /service-catalog/v1beta1/service-managers/7267b0e0-013c-4181-8c27-01b395ed0b61
        serviceOfferId:
          title: serviceOfferId
          type: string
          description: Service offer ID
          format: uuid
          example: 8e22512f-da36-43f7-8141-83c6fc4b025b
        name:
          title: name
          type: string
          description: >-
            service-offer belonging to the same application that has isDefault
            true
          example: Aruba Central
    ServiceOfferResourceLink:
      title: ServiceOfferResourceLink
      type: object
      properties:
        id:
          format: uuid
          example: 4ab85f64-5717-4562-b3fc-2c963f66afa6
          title: id
          description: The unique identifier for the service offer.
          type: string
        resourceUri:
          title: resourceUri
          type: string
          description: The URI reference to the service offer resource.
          example: >-
            /service-catalog/v1beta1/service-offers/4ab85f64-5717-4562-b3fc-2c963f66afa6
    WorkspaceResourceLink:
      title: WorkspaceResourceLink
      type: object
      properties:
        id:
          format: uuid
          example: 4ab85f64-5717-4562-b3fc-2c963f66afa6
          title: id
          description: The unique identifier for the workspace.
          type: string
        resourceUri:
          title: resourceUri
          type: string
          description: The URI reference to this resource.
          example: /workspaces/v1/workspaces/4ab85f64-5717-4562-b3fc-2c963f66afa6
        name:
          title: name
          type: string
          description: The display name of the workspace.
          example: Hewlett Packard Enterprise
        organizationId:
          format: uuid
          example: 5ab85f64-6717-5562-c3fc-3c963f66afa6
          description: The unique identifier of the organization.
          title: organizationId
          type: string
        workspaceTransferStatus:
          allOf:
            - $ref: '#/components/schemas/WorkspaceTransferStatus'
    WorkspaceTypes:
      title: WorkspaceTypes
      enum:
        - BASIC_ORGANIZATION
        - STANDALONE
        - MSP
        - TENANT
      type: string
      description: >-
        The type of workspace. For example, a managed service provider (MSP) or
        standalone workspace.
      example: MSP
    WorkspaceOpMode:
      title: WorkspaceOpMode
      enum:
        - CUSTOMER_OWNED_INVENTORY
        - MSP_OWNED_INVENTORY
        - ALL
        - NONE
      type: string
      description: >-
        The operational mode of the workspace, indicating where the service
        offer is visible or provisionable.
      example: CUSTOMER_OWNED_INVENTORY
    WorkspaceTransferStatus:
      title: WorkspaceTransferStatus
      enum:
        - TRANSFER_INITIATED
        - TRANSFER_COMPLETED
        - TRANSFER_FAILED
      type: string
      description: >-
        The status of a workspace transfer, indicating the progress of moving a
        workspace from one type to another.
      example: TRANSFER_COMPLETED
    ServiceOfferRead:
      title: ServiceOfferRead
      required:
        - id
        - resourceUri
        - name
        - slug
        - overview
        - capabilities
        - categories
        - serviceOfferType
        - serviceManager
        - featuresSupported
        - languagesSupported
        - documentationUrl
        - termsOfServiceUrl
        - testDriveUrl
        - contactSalesUrl
        - status
        - createdAt
        - generatedAt
        - shortDescription
        - staticLaunchUrl
        - evalUrl
        - brokerUri
        - preProvisionMessage
      type: object
      properties:
        id:
          title: id
          type: string
          description: The unique identifier for the service offer.
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          format: uuid
        resourceUri:
          title: resourceUri
          description: The URI reference to this resource.
          type: string
          example: >-
            /service-catalog/v1beta1/service-offers/3fa85f64-5717-4562-b3fc-2c963f66afa6
        name:
          title: name
          allOf:
            - type: string
          description: The name of the service offer.
          example: Aruba Central
        slug:
          title: slug
          maxLength: 8
          minLength: 2
          pattern: ^[A-Z-]+$
          allOf:
            - type: string
          description: A short identifier for the service offer.
          example: AC
        overview:
          title: overview
          maxLength: 128
          allOf:
            - type: string
          description: A brief overview of the service offer.
          example: Aruba Central overview
        capabilities:
          type: array
          items:
            type: string
          example:
            - Capability 1
            - Capability 2
          description: >-
            A list of key features or functionalities provided by the service
            offer.
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Category'
          example:
            - COMPUTE
            - NETWORKING
          description: The categories to which the service offer belongs.
        serviceOfferType:
          allOf:
            - $ref: '#/components/schemas/ServiceOfferType'
        serviceManager:
          description: >-
            The associated service manager application for this service offer,
            including its ID and resource URI.
          $ref: '#/components/schemas/ServiceManagerResourceLink'
        isDefault:
          title: isDefault
          allOf:
            - type: boolean
          default: false
          description: >-
            Indicates whether this service offer is the default for its service
            manager.
          example: true
        featuresSupported:
          type: array
          description: >-
            The features supported by this service offer, such as deep linking
            or RBAC.
          items:
            $ref: '#/components/schemas/SupportedFeature'
          example:
            - DEEP_LINKING
            - SERVICE_PROVISIONING
            - HONOR_UNPROVISION_RESPONSE
        languagesSupported:
          title: languagesSupported
          description: The ISO codes for languages supported by this service offer.
          type: array
          items:
            type: string
          example:
            - en-US
            - de-DE
        documentationUrl:
          title: documentationURL
          allOf:
            - type: string
          description: An HTTPS URL to the documentation.
          example: >-
            https://www.arubanetworks.com/techdocs/central/latest/content/home.htm
        termsOfServiceUrl:
          title: termsOfServiceURL
          allOf:
            - type: string
          description: An HTTPS URL to the terms of service.
          example: https://www.hpe.com/us/en/about/legal/ccs-terms.html#Storage
        testDriveUrl:
          title: testDriveURL
          allOf:
            - type: string
          description: An HTTPS URL to test drive.
          example: https://testdrive.greenlake.hpe.com
        contactSalesUrl:
          title: contactSalesURL
          allOf:
            - type: string
          description: The HTTPS URL for contacting the sales team.
          example: https://contact-sales.hpe.com/
        status:
          allOf:
            - $ref: '#/components/schemas/ServiceOfferStatus'
        createdAt:
          title: createdAt
          allOf:
            - type: string
          description: Date and time at which the service offer was created.
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        updatedAt:
          title: updatedAt
          allOf:
            - type: string
          description: Date and time at which the service offer was last updated.
          format: date-time
          example: '2021-04-29T10:20:30.400+02:30'
        generation:
          title: generation
          allOf:
            - type: integer
          description: A monotonically increasing update counter.
          example: 1
        shortDescription:
          title: shortDescription
          allOf:
            - type: string
          description: A short description or tagline for the service offer.
          example: description
        staticLaunchUrl:
          title: staticLaunchUrl
          allOf:
            - type: string
          description: The relative URL used to launch the service offer.
          example: https://${sub-domain}/infosight.hpe.com
        evalUrl:
          title: evalUrl
          allOf:
            - type: string
          description: >-
            The URL to sign up for a time-limited evaluation or trial of the
            service offer.
          example: https://connect.hpe.com/HPE_Backup_and_Recovery_Trial
        brokerUri:
          title: brokerUri
          allOf:
            - type: string
          description: >-
            HPE Internal. Applies only to internal service offers. It is the
            relative path starting with API group (the API group is sufficient).
            The base URI is the API gateway for the HPE GreenLake cloud cluster.
            This is the application API endpoint exposed by application to be
            called from HPE GreenLake cloud.
          example: /igc
        preProvisionMessage:
          title: preProvisionMessage
          allOf:
            - type: string
          description: >-
            A message displayed to users before provisioning the service offer,
            such as warnings or important information.
          example: Users will be logged out during provisioning.
    ServiceOfferReadOnboarded:
      title: ServiceOfferReadOnboarded
      required:
        - id
        - type
        - name
        - resourceUri
        - slug
        - overview
        - capabilities
        - categories
        - serviceOfferType
        - serviceManager
        - featuresSupported
        - languagesSupported
        - documentationUrl
        - termsOfServiceUrl
        - testDriveUrl
        - contactSalesUrl
        - status
        - createdAt
        - generatedAt
        - shortDescription
        - staticLaunchUrl
        - evalUrl
        - brokerUri
        - preProvisionMessage
      type: object
      properties:
        id:
          title: id
          type: string
          description: The unique identifier for a service offer.
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          format: uuid
        type:
          title: type
          type: string
          description: The type of resource.
          example: /service-catalog/service-offer
        name:
          title: name
          allOf:
            - type: string
          description: The name of the service offer.
          example: Aruba Central
        resourceUri:
          title: resourceUri
          type: string
          description: The URI reference to this resource.
          example: >-
            /service-catalog/v1beta1/service-offers/3fa85f64-5717-4562-b3fc-2c963f66afa6
        slug:
          title: slug
          maxLength: 8
          minLength: 2
          pattern: ^[A-Z-]+$
          allOf:
            - type: string
          description: A short identifier for the service offer.
          example: AC
        overview:
          title: overview
          maxLength: 128
          allOf:
            - type: string
          description: An overview of the service offer.
          example: Aruba Central overview
        capabilities:
          type: array
          items:
            type: string
          example:
            - Capability 1
            - Capability 2
          description: A list of the service offer capabilities.
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Category'
          example:
            - COMPUTE
            - NETWORKING
          description: The category to which the service offer belongs.
        serviceOfferType:
          allOf:
            - $ref: '#/components/schemas/ServiceOfferType'
        serviceManager:
          $ref: '#/components/schemas/ServiceManagerResourceLink'
        isDefault:
          title: isDefault
          allOf:
            - type: boolean
          default: false
          description: A boolean that indicates if a service offer is a service manager.
          example: true
        featuresSupported:
          type: array
          description: A list of supported features.
          items:
            $ref: '#/components/schemas/SupportedFeature'
          example:
            - DEEP_LINKING
            - SERVICE_PROVISIONING
            - HONOR_UNPROVISION_RESPONSE
        languagesSupported:
          title: languagesSupported
          description: ISO code for the supported languages
          type: array
          items:
            type: string
          example:
            - en-US
            - de-DE
        documentationUrl:
          title: documentationURL
          allOf:
            - type: string
          description: The HTTPS URL to the documentation.
          example: >-
            https://www.arubanetworks.com/techdocs/central/latest/content/home.htm
        termsOfServiceUrl:
          title: termsOfServiceURL
          allOf:
            - type: string
          description: The HTTPS URL to the terms of service.
          example: https://www.hpe.com/us/en/about/legal/ccs-terms.html#Storage
        testDriveUrl:
          title: testDriveURL
          allOf:
            - type: string
          description: The HTTPS URL to the test drive
          example: https://testdrive.greenlake.hpe.com
        contactSalesUrl:
          title: contactSalesURL
          allOf:
            - type: string
          description: The HTTPS URL for contacting the sales team.
          example: https://contact-sales.hpe.com/
        status:
          title: ServiceOfferStatus
          enum:
            - ONBOARDING
            - ONBOARDED
            - PUBLISHED
          type: string
          description: The current status of the service offer.
          example: ONBOARDED
        createdAt:
          title: createdAt
          allOf:
            - type: string
          description: Date and time at which the service offer was created.
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        updatedAt:
          title: updatedAt
          allOf:
            - type: string
          description: Date and time at which the service offer was last updated.
          format: date-time
          example: '2021-04-29T10:20:30.400+02:30'
        generation:
          title: generation
          allOf:
            - type: integer
          description: A monotonically increasing update counter.
          example: 1
        shortDescription:
          title: shortDescription
          allOf:
            - type: string
          description: A short description or tagline for the service offer.
          example: description
        staticLaunchUrl:
          title: staticLaunchUrl
          allOf:
            - type: string
          description: The relative URL used to launch the service offer.
          example: https://${sub-domain}/infosight.hpe.com
        evalUrl:
          title: evalUrl
          allOf:
            - type: string
          description: >-
            The URL to sign up for a time-limited evaluation or trial of the
            service offer.
          example: https://connect.hpe.com/HPE_Backup_and_Recovery_Trial
        brokerUri:
          title: brokerUri
          allOf:
            - type: string
          description: >-
            HPE Internal. Applies only to internal service offers. It is the
            relative path starting with API group (the API group is sufficient).
            The base URI is the API gateway for the HPE GreenLake cloud cluster.
            This is the application API endpoint exposed by application to be
            called from HPE GreenLake cloud.
          example: /igc
        preProvisionMessage:
          title: preProvisionMessage
          allOf:
            - type: string
          description: A short message displayed in the service provision dialog box.
          example: Users will be logged out during provisioning.
    ServiceOfferList:
      title: ServiceOfferList
      required:
        - items
        - next
        - count
        - total
      type: object
      properties:
        items:
          title: ServiceOfferList
          type: array
          items:
            $ref: '#/components/schemas/ServiceOfferRead'
        next:
          title: next
          description: Cursor for the next page of resources.
          type: string
          example: 64136af7-cd64-4b4e-88a8-150ab51a920d
        count:
          title: count
          default: 1
          type: integer
          description: The number of returned items per page.
        total:
          title: total
          default: 10
          type: integer
          description: The total number of items in the result set.
    ServiceOfferRegionRead:
      title: ServiceOfferRegionRead
      required:
        - id
        - type
        - serviceOfferId
        - region
        - status
        - createdAt
        - updatedAt
        - generation
      type: object
      properties:
        id:
          title: id
          type: string
          description: The unique identifier for the service offer region.
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          format: uuid
        type:
          title: type
          type: string
          description: The type of the resource.
          example: /service-catalog/service-offer-region
        resourceUri:
          title: resourceUri
          type: string
          description: The URI reference to this resource.
          example: >-
            /service-catalog/v1beta1/service-offer-regions/3fa85f64-5717-4562-b3fc-2c963f66afa6
        serviceOffer:
          description: >-
            A service offer represents a specific set of features or
            capabilities that can be independently identified and assigned
            access. Service offers are typically associated with roles and
            permissions, commerce, metering, quote-to-cash, or trial
            evaluations.
          $ref: '#/components/schemas/ServiceOfferResourceLink'
        region:
          title: region
          type: string
          example: us-east
          description: The code name of the region where this service offer is available.
        status:
          title: ServiceOfferStatus
          enum:
            - ONBOARDING
            - ONBOARDED
            - PUBLISHED
          type: string
          description: The current status of the service offer.
          example: ONBOARDED
        createdAt:
          title: createdAt
          type: string
          description: Date and time at which the service offer was created.
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        updatedAt:
          title: updatedAt
          type: string
          description: Date and time at which the service offer was updated.
          format: date-time
          example: '2021-04-29T10:20:30.400+02:30'
        generation:
          title: generation
          type: integer
          description: A monotonically increasing update counter.
          example: '1'
          format: int64
    ServiceOfferRegionsList:
      title: ServiceOfferRegionsList
      required:
        - items
        - next
        - count
        - total
      type: object
      properties:
        items:
          title: ServiceOfferRegionsList
          type: array
          items:
            $ref: '#/components/schemas/ServiceOfferRegionRead'
        next:
          title: next
          type: string
          description: Cursor for the next page of resources.
          example: 64136af7-cd64-4b4e-88a8-150ab51a920d
        count:
          title: count
          default: 1
          type: integer
          description: The number of returned items per page.
        total:
          title: total
          default: 10
          type: integer
          description: Total number of items in the result set.
    CategoryWithServiceOffers:
      title: CategoryWithServiceOffers
      type: object
      required:
        - id
        - type
        - servicesWithRegions
      properties:
        id:
          $ref: '#/components/schemas/Category'
        type:
          title: type
          type: string
          description: Type of resource
          example: /service-catalog/categorywise-services
        servicesWithRegions:
          type: array
          items:
            $ref: '#/components/schemas/ServiceOfferWithAvailableRegions'
    ServiceOfferCatalog:
      title: ServiceOfferCatalog
      description: List of Service Offers and available-regions grouped by Category
      type: object
      required:
        - items
        - next
        - count
        - total
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/CategoryWithServiceOffers'
        next:
          title: next
          type: string
          example: STORAGE
        count:
          title: count
          description: Count Per Page
          default: 1
          type: integer
        total:
          title: total
          description: Total Count
          default: 10
          type: integer
    CategoryWithFeaturedServiceOffers:
      title: CategoryWithFeaturedServiceOffers
      type: object
      required:
        - id
        - resourceUri
        - type
        - services
      properties:
        id:
          $ref: '#/components/schemas/Category'
        type:
          title: type
          type: string
          description: Type of resource
          example: /service-catalog/featured-service
        servicesWithRegions:
          type: array
          items:
            $ref: '#/components/schemas/ServiceOfferWithAvailableRegions'
    FeaturedServiceOffers:
      title: FeaturedServiceOffers
      description: Featured Services Offers list grouped by Category
      type: object
      required:
        - items
        - next
        - count
        - total
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/CategoryWithFeaturedServiceOffers'
        next:
          title: next
          type: string
          example: STORAGE
        count:
          title: count
          description: Count Per Page
          default: 1
          type: integer
        total:
          title: total
          description: Total Count
          default: 10
          type: integer
    ServiceOfferMediaImageDetails:
      title: ServiceOfferMediaImageDetails
      required:
        - image
        - description
      type: object
      properties:
        image:
          title: image
          type: string
          description: S3/minio URL
          format: string
          example: >-
            https://test-url.com/3fa85f64-5717-4562-b3fc-2c963f66afa6/logo/cia85f64-5717-4562-b3fc-2c963f66afa6.png
        description:
          title: description
          type: string
          description: summary about the media
          format: string
          example: This is sample description
    ServiceOfferMediaVideoDetails:
      title: ServiceOfferMediaVideoDetails
      required:
        - video
        - description
      type: object
      properties:
        video:
          title: video
          type: string
          description: S3/minio URL
          format: string
          example: >-
            https://test-url.com/3fa85f64-5717-4562-b3fc-2c963f66afa6/logo/cia85f64-5717-4562-b3fc-2c963f66afa6.mp4
        description:
          title: description
          type: string
          description: summary about the media
          format: string
          example: This is sample description
    ServiceOfferReadWithMedia:
      title: ServiceOfferReadWithMedia
      required:
        - workspaceTypes
        - logo
        - screenshots
        - videos
      allOf:
        - $ref: '#/components/schemas/ServiceOfferRead'
        - type: object
          properties:
            workspaceTypes:
              allOf:
                - $ref: '#/components/schemas/WorkspaceTypes'
              example:
                - MSP
                - TENANT
              x-oapi-codegen-extra-tags:
                validate: omitempty,workspacetype-validation
            logo:
              title: logo
              allOf:
                - $ref: '#/components/schemas/ServiceOfferMediaImageDetails'
              description: S3/minio URL
            screenshots:
              title: screenshots
              type: array
              items:
                $ref: '#/components/schemas/ServiceOfferMediaImageDetails'
              description: S3/minio URLs for the screenshots
            videos:
              title: videos
              type: array
              items:
                $ref: '#/components/schemas/ServiceOfferMediaVideoDetails'
              description: S3/minio URLs for the videos
    ServiceOfferPartialDetails:
      title: ServiceOfferPartialDetails
      description: Partial details for a service offer
      required:
        - id
        - resourceUri
        - name
        - categories
        - slug
        - staticLaunchUrl
        - workspaceTypes
        - workspaceOpModes
      type: object
      properties:
        id:
          title: serviceOfferId
          description: Identifier of service offer
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        resourceUri:
          title: resourceUri
          type: string
          description: Resource URI
          example: >-
            /service-catalog/v1beta1/service-offers/7267b0e0-013c-4181-8c27-01b395ed0b61
        name:
          title: name
          description: >-
            Name of the Service Offer. In case of an app-provision, name of
            service-manager will be picked. If absent, name of app will be
            picked.
          allOf:
            - type: string
          example: Aruba Central
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Category'
          example:
            - NETWORKING
          description: Types of categories
        slug:
          title: slug
          allOf:
            - type: string
          description: >-
            Short identifier for a service offer. In case of an app-provision,
            slug will be picked from service-manager. If absent, slug will be
            picked from application.
          example: CENTRAL
        staticLaunchUrl:
          title: staticLaunchUrl
          description: Relative URLs to launch
          x-omitempty: false
          allOf:
            - type: string
          example: https://${sub-domain}/infosight.hpe.com
        workspaceTypes:
          title: workspaceTypes
          type: array
          items:
            $ref: '#/components/schemas/WorkspaceTypes'
          example:
            - STANDALONE
            - MSP
          description: Workspace Types supported
          x-oapi-codegen-extra-tags:
            validate: omitempty,workspacetype-validation
        workspaceOpModes:
          type: array
          title: workspaceOpModes
          items:
            $ref: '#/components/schemas/WorkspaceOpMode'
          example:
            - MSP_OWNED_INVENTORY
          description: Types of Workspace Operational Modes for Tenant Workspaces
          x-oapi-codegen-extra-tags:
            validate: omitempty,workspaceopmodes-validation
    ServiceManagerProvision:
      title: ServiceManagerProvision
      description: Service manager provision details
      required:
        - id
        - resourceUri
        - serviceManager
        - region
        - provisionStatus
        - serviceManagerInstanceId
        - createdAt
        - updatedAt
        - generation
      type: object
      properties:
        id:
          example: 2fa85f6457174562b3fc2c963f66afa1
          title: Service manager provisioned ID
          type: string
        resourceUri:
          title: Resource URI
          type: string
          description: URI to the service manager provision resource
          example: >-
            /service-catalog/v1beta1/service-manager-provisions/2fa85f6457174562b3fc2c963f66afa1
        serviceManager:
          $ref: '#/components/schemas/ServiceManagerResourceLink'
        region:
          example: us-east
          title: Region
          type: string
        provisionStatus:
          allOf:
            - $ref: '#/components/schemas/ProvisionStatus'
        workspaceTransferStatus:
          allOf:
            - $ref: '#/components/schemas/WorkspaceTransferStatus'
          x-omitempty: false
        serviceManagerInstanceId:
          title: ServiceManagerInstanceId
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        createdAt:
          title: createdAt
          allOf:
            - type: string
          description: Date and time at which the service offer was created or upgraded.
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        updatedAt:
          title: updatedAt
          allOf:
            - type: string
          description: Date and time at which the service offer was updated.
          format: date-time
          example: '2021-04-29T10:20:30.400+02:30'
        generation:
          title: generation
          type: integer
          description: Monotonically increasing update counter.
          example: 1
    ServiceProvision:
      title: ServiceProvision
      required:
        - id
        - resourceUri
        - serviceOffer
        - region
        - workspace
        - generation
      properties:
        id:
          title: id
          format: uuid
          description: Service provision identifier
          type: string
          example: 2fa85f64-5717-4562-b3fc-2c963f66afa9
        resourceUri:
          title: resourceUri
          type: string
          example: >-
            /service-catalog/v1beta1/service-provisions/2fa85f64-5717-4562-b3fc-2c963f66afa9
        serviceOffer:
          $ref: '#/components/schemas/ServiceOfferResourceLink'
        region:
          $ref: '#/components/schemas/Region'
        serviceManager:
          $ref: '#/components/schemas/ServiceManagerResourceLink'
        serviceManagerProvision:
          $ref: '#/components/schemas/ServiceManagerProvisionResourceLink'
        workspace:
          $ref: '#/components/schemas/WorkspaceResourceLink'
        serviceManagerInstanceId:
          title: ServiceManagerInstanceId
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        provisionStatus:
          $ref: '#/components/schemas/ProvisionStatus'
        reason:
          title: Reason
          type: string
          example: Failed to configure IDP.
        createdBy:
          title: CreatedBy
          type: string
          example: user@company.com
        createdAt:
          title: CreatedAt
          type: string
          description: Date and time at which the service offer was created or upgraded.
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        updatedAt:
          title: UpdatedAt
          type: string
          description: Date and time at which the service offer was updated.
          format: date-time
          example: '2021-04-29T10:20:30.400+02:30'
        generation:
          title: Generation
          type: integer
          description: Generated/updated version
          example: 1
    DetailedProvision:
      title: DetailedProvision
      properties:
        serviceOffer:
          allOf:
            - $ref: '#/components/schemas/ServiceOfferPartialDetails'
        serviceManagerProvision:
          allOf:
            - $ref: '#/components/schemas/ServiceManagerProvision'
          x-omitempty: false
        serviceProvision:
          allOf:
            - $ref: '#/components/schemas/ServiceProvision'
          x-omitempty: false
    DetailedServiceOffer:
      title: DetailedServiceOffer
      required:
        - id
        - type
        - availableRegions
        - provisions
        - orgSingletonServiceProvisions
      type: object
      properties:
        id:
          title: id
          description: Region with Detailed Provisions identifier
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        type:
          title: type
          type: string
          description: Type of resource
          example: /service-catalog/detailed-service-offer
        serviceOffer:
          allOf:
            - $ref: '#/components/schemas/ServiceOfferReadWithMedia'
          x-omitempty: false
        availableRegions:
          title: availableRegions
          description: >-
            Names of the regions where the Service Offer is available for the
            logged in user/customer.
          type: array
          items:
            $ref: '#/components/schemas/RegionWithLocations'
        serviceManager:
          $ref: '#/components/schemas/DetailedServiceManagerResourceLink'
        provisions:
          title: provisions
          description: Data pertaining to service and app provisions
          x-omitempty: false
          type: array
          items:
            $ref: '#/components/schemas/DetailedProvision'
        orgSingletonServiceProvisions:
          title: orgSingletonServiceProvision
          description: >-
            Service-provision entry for the organization that the current
            workspace belongs to.
          type: array
          items:
            $ref: '#/components/schemas/DetailedProvision'
    RegionWithDetailedProvisions:
      title: RegionWithDetailedProvisions
      type: object
      required:
        - id
        - type
        - provisions
      properties:
        id:
          title: id
          description: Region with Detailed Provisions identifier
          type: string
          example: us-east
        type:
          title: type
          description: Resource Type
          type: string
          example: /service-catalog/my-service
        provisions:
          title: provisions
          type: array
          items:
            $ref: '#/components/schemas/DetailedProvision'
    MyServices:
      title: MyServices
      type: object
      required:
        - items
        - next
        - count
        - total
      properties:
        items:
          title: Provisions
          description: Data pertaining to service and app provisions
          type: array
          items:
            $ref: '#/components/schemas/RegionWithDetailedProvisions'
        next:
          title: next
          type: string
          example: us-west
        count:
          title: count
          description: Count Per Page
          default: 1
          type: integer
        total:
          title: total
          description: Total Count
          default: 10
          type: integer
    RegionalProvision:
      title: RegionalProvision
      properties:
        id:
          title: id
          description: Region as provision identifier
          type: string
          example: us-east
        type:
          title: type
          description: Resource Type
          type: string
          example: /service-catalog/regional-provision
        serviceManagerProvision:
          allOf:
            - $ref: '#/components/schemas/ServiceManagerProvision'
          x-omitempty: false
        serviceProvision:
          allOf:
            - $ref: '#/components/schemas/ServiceProvision'
          x-omitempty: false
    RecentService:
      title: RecentService
      type: object
      required:
        - id
        - type
        - lastAccessed
        - serviceOffer
        - provisions
      properties:
        id:
          title: id
          description: Service Offer identifier
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        type:
          title: type
          description: Resource Type
          type: string
          example: /service-catalog/recent-service
        lastAccessedTime:
          title: lastAccessedTime
          description: Most recent date and time at which service offer was launched
          allOf:
            - type: string
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        serviceOffer:
          allOf:
            - $ref: '#/components/schemas/ServiceOfferPartialDetails'
        regionalProvisions:
          title: regionalProvisions
          type: array
          items:
            $ref: '#/components/schemas/RegionalProvision'
    RecentServices:
      title: RecentServices
      type: object
      required:
        - items
        - next
        - count
        - total
      properties:
        items:
          title: RecentService
          description: Service offer with provisions and last accessed timestamp
          type: array
          items:
            $ref: '#/components/schemas/RecentService'
        next:
          title: next
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        count:
          title: count
          description: Count Per Page
          default: 1
          type: integer
        total:
          title: total
          description: Total Count
          default: 10
          type: integer
    ServiceOfferPartialInfo:
      title: ServiceOfferPartialInfo
      description: >-
        Service offer abraged information. Typically used when only available
        service-offers in a workspace are to be reported.
      required:
        - id
        - resourceUri
        - name
        - categories
        - slug
        - staticLaunchUrl
      type: object
      properties:
        id:
          title: serviceOfferId
          description: Identifier of service offer
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        resourceUri:
          title: resourceUri
          type: string
          description: Resource URI
          example: >-
            /service-catalog/v1beta1/service-offers/7267b0e0-013c-4181-8c27-01b395ed0b61
        name:
          title: name
          description: >-
            Name of the Service Offer. In case of an app-provision, name of
            service-manager will be picked. If absent, name of app will be
            picked.
          allOf:
            - type: string
          example: Aruba Central
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Category'
          example:
            - NETWORKING
          description: Types of categories
        slug:
          title: slug
          allOf:
            - type: string
          description: >-
            Short identifier for a service offer. In case of an app-provision,
            slug will be picked from service-manager. If absent, slug will be
            picked from application.
          example: CENTRAL
        staticLaunchUrl:
          title: staticLaunchUrl
          description: Relative URLs to launch
          x-omitempty: false
          allOf:
            - type: string
          example: https://${sub-domain}/infosight.hpe.com
        serviceManager:
          $ref: '#/components/schemas/ServiceManagerResourceLink'
    ServiceManagerProvisionPartialInfo:
      title: ServiceManagerProvisionPartialInfo
      description: >-
        Service manager provision abraged information. Typically used when only
        fully provisioned entries are needed.
      required:
        - id
        - resourceUri
        - serviceManager
        - region
        - serviceManagerInstanceId
        - generation
      type: object
      properties:
        id:
          example: 2fa85f6457174562b3fc2c963f66afa1
          title: Service manager provisioned ID
          type: string
        resourceUri:
          title: Resource URI
          type: string
          description: URI to the service manager provision resource
          example: >-
            /service-catalog/v1beta1/service-manager-provisions/2fa85f6457174562b3fc2c963f66afa1
        region:
          example: us-east
          title: Region
          type: string
        serviceManagerInstanceId:
          title: ServiceManagerInstanceId
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        createdBy:
          title: CreatedBy
          type: string
          example: user@company.com
        createdAt:
          title: createdAt
          allOf:
            - type: string
          description: Date and time at which the service offer was created or upgraded.
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        updatedAt:
          title: updatedAt
          allOf:
            - type: string
          description: Date and time at which the service offer was updated.
          format: date-time
          example: '2021-04-29T10:20:30.400+02:30'
        generation:
          title: generation
          type: integer
          description: Monotonically increasing update counter.
          example: 1
    ServiceProvisionPartialInfo:
      title: ServiceProvisionPartialInfo
      description: >-
        Service provision abraged information. Typically used when only fully
        provisioned entries are needed.
      required:
        - id
        - resourceUri
        - serviceOffer
        - region
        - serviceManagerInstanceId
        - generation
      properties:
        id:
          title: id
          format: uuid
          description: Service provision identifier
          type: string
          example: 2fa85f64-5717-4562-b3fc-2c963f66afa9
        resourceUri:
          title: resourceUri
          type: string
          example: >-
            /service-catalog/v1beta1/service-provisions/2fa85f64-5717-4562-b3fc-2c963f66afa9
        region:
          example: us-east
          title: Region
          type: string
        serviceManagerInstanceId:
          title: ServiceManagerInstanceId
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        createdBy:
          title: CreatedBy
          type: string
          example: user@company.com
        createdAt:
          title: CreatedAt
          type: string
          description: Date and time at which the service offer was created or upgraded.
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        updatedAt:
          title: UpdatedAt
          type: string
          description: Date and time at which the service offer was updated.
          format: date-time
          example: '2021-04-29T10:20:30.400+02:30'
        generation:
          title: Generation
          type: integer
          description: Generated/updated version
          example: 1
    RecentServiceV2:
      title: RecentServiceV2
      type: object
      required:
        - id
        - type
        - region
        - lastAccessedTime
        - serviceOffer
        - provisions
      properties:
        id:
          title: id
          description: Id of service-manager-provision entry or service-provision entry
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        type:
          title: type
          description: Resource Type
          type: string
          example: /service-catalog/recent-service
        region:
          $ref: '#/components/schemas/Region'
        lastAccessedTime:
          title: lastAccessedTime
          description: Most recent date and time at which service was launched
          allOf:
            - type: string
          format: date-time
          example: '2021-04-23T10:20:30.400+02:30'
        serviceOffer:
          allOf:
            - $ref: '#/components/schemas/ServiceOfferPartialInfo'
        serviceManagerProvision:
          allOf:
            - $ref: '#/components/schemas/ServiceManagerProvisionPartialInfo'
          x-omitempty: false
        serviceProvision:
          allOf:
            - $ref: '#/components/schemas/ServiceProvisionPartialInfo'
          x-omitempty: false
    RecentServicesV2:
      title: RecentServicesV2
      type: object
      required:
        - items
        - next
        - count
        - total
      properties:
        items:
          title: RecentService
          description: Service offer with provisions and last accessed timestamp
          type: array
          items:
            $ref: '#/components/schemas/RecentServiceV2'
        next:
          title: next
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        count:
          title: count
          description: Count Per Page
          default: 1
          type: integer
        total:
          title: total
          description: Total Count
          default: 10
          type: integer
