Cosmo Tech solution API

Solution Management

OpenAPI Specification

cosmo-tech-solution-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cosmo Tech Manager dataset solution API
  description: Cosmo Tech Dataset Manager API
  version: 1.0.0-SNAPSHOT
servers:
- url: http://localhost:8080
security:
- oAuth2AuthCode: []
tags:
- name: solution
  description: Solution Management
paths:
  /organizations/{organization_id}/solutions:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    post:
      operationId: createSolution
      tags:
      - solution
      description: Create a new solution with optional run templates and parameter definitions.
      summary: Create a new solution
      requestBody:
        description: The Solution to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SolutionCreateRequest'
            examples:
              BreweryCreate:
                $ref: '#/components/examples/BreweryCreate'
          application/yaml:
            schema:
              $ref: '#/components/schemas/SolutionCreateRequest'
            examples:
              BreweryCreate:
                $ref: '#/components/examples/BreweryCreate'
      responses:
        '201':
          description: Solution successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solution'
              examples:
                Brewery:
                  $ref: '#/components/examples/Brewery'
            application/yaml:
              schema:
                $ref: '#/components/schemas/Solution'
              examples:
                Brewery:
                  $ref: '#/components/examples/Brewery'
        '400':
          description: Bad request
    get:
      operationId: listSolutions
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/size'
      tags:
      - solution
      description: Retrieve a paginated list of all solutions in an organization that the user has permission to view.
      summary: List all Solutions
      responses:
        '200':
          description: List of solutions successfully retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solution'
              examples:
                SolutionList:
                  $ref: '#/components/examples/SolutionList'
            application/yaml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solution'
              examples:
                SolutionList:
                  $ref: '#/components/examples/SolutionList'
  /organizations/{organization_id}/solutions/{solution_id}:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    get:
      operationId: getSolution
      tags:
      - solution
      description: Retrieve detailed information about a solution.
      summary: Get the details of a solution
      responses:
        '200':
          description: Solution details successfully retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solution'
              examples:
                Brewery:
                  $ref: '#/components/examples/Brewery'
            application/yaml:
              schema:
                $ref: '#/components/schemas/Solution'
              examples:
                Brewery:
                  $ref: '#/components/examples/Brewery'
        '404':
          description: Solution not found or insufficient access rights
    patch:
      operationId: updateSolution
      tags:
      - solution
      summary: Update a solution
      requestBody:
        description: The new Solution details. This endpoint can't be used to update security
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SolutionUpdateRequest'
            examples:
              BreweryUpdate:
                $ref: '#/components/examples/BreweryUpdate'
          application/yaml:
            schema:
              $ref: '#/components/schemas/SolutionUpdateRequest'
            examples:
              BreweryUpdate:
                $ref: '#/components/examples/BreweryUpdate'
      responses:
        '200':
          description: Solution successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solution'
              examples:
                BreweryUpdated:
                  $ref: '#/components/examples/BreweryUpdated'
            application/yaml:
              schema:
                $ref: '#/components/schemas/Solution'
              examples:
                BreweryUpdated:
                  $ref: '#/components/examples/BreweryUpdated'
        '400':
          description: Bad request - Invalid update parameters
        '404':
          description: Solution not found or insufficient access rights
    delete:
      operationId: deleteSolution
      tags:
      - solution
      summary: Delete a solution
      responses:
        '204':
          description: Solution successfully deleted
        '404':
          description: Solution not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/parameters:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    get:
      operationId: listSolutionParameters
      tags:
      - solution
      summary: List all solution parameters
      responses:
        '200':
          description: Parameters successfully retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunTemplateParameter'
              examples:
                ParameterList:
                  $ref: '#/components/examples/ParameterList'
            application/yaml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunTemplateParameter'
              examples:
                ParameterList:
                  $ref: '#/components/examples/ParameterList'
        '400':
          description: Bad Request
        '404':
          description: Solution not found or insufficient access rights
    post:
      operationId: createSolutionParameter
      tags:
      - solution
      summary: Create solution parameter for a solution
      requestBody:
        description: Parameter to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunTemplateParameterCreateRequest'
            examples:
              ParameterCreate:
                $ref: '#/components/examples/ParameterCreate'
          application/yaml:
            schema:
              $ref: '#/components/schemas/RunTemplateParameterCreateRequest'
            examples:
              ParameterCreate:
                $ref: '#/components/examples/ParameterCreate'
      responses:
        '200':
          description: Parameters successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplateParameter'
              examples:
                ParameterCreate:
                  $ref: '#/components/examples/ParameterCreate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplateParameter'
              examples:
                ParameterCreate:
                  $ref: '#/components/examples/ParameterCreate'
        '400':
          description: Bad request
        '404':
          description: Solution not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/parameters/{parameter_id}:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    - $ref: '#/components/parameters/parameterId'
    get:
      operationId: getSolutionParameter
      tags:
      - solution
      summary: Get the details of a solution parameter
      responses:
        '200':
          description: Parameters successfully retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplateParameter'
              examples:
                ParameterCreate:
                  $ref: '#/components/examples/ParameterCreate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplateParameter'
              examples:
                ParameterCreate:
                  $ref: '#/components/examples/ParameterCreate'
        '400':
          description: Bad Request
        '404':
          description: Solution or parameter not found or insufficient access rights
    patch:
      operationId: updateSolutionParameter
      tags:
      - solution
      summary: Update solution parameter
      requestBody:
        description: Parameter to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunTemplateParameterUpdateRequest'
            examples:
              ParameterUpdate:
                $ref: '#/components/examples/ParameterUpdate'
          application/yaml:
            schema:
              $ref: '#/components/schemas/RunTemplateParameterUpdateRequest'
            examples:
              ParameterUpdate:
                $ref: '#/components/examples/ParameterUpdate'
      responses:
        '201':
          description: Parameters successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplateParameter'
              examples:
                ParameterCreate:
                  $ref: '#/components/examples/ParameterCreate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplateParameter'
              examples:
                ParameterCreate:
                  $ref: '#/components/examples/ParameterCreate'
        '400':
          description: Bad request
        '404':
          description: Solution or parameter not found or insufficient access rights
    delete:
      operationId: deleteSolutionParameter
      tags:
      - solution
      summary: Delete specific parameter from the solution
      responses:
        '204':
          description: Parameter successfully deleted
        '404':
          description: Solution or parameter not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/parameterGroups:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    post:
      operationId: createSolutionParameterGroup
      tags:
      - solution
      summary: Create a solution parameter group
      requestBody:
        description: Parameter group to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunTemplateParameterGroupCreateRequest'
            examples:
              ParameterGroupCreate:
                $ref: '#/components/examples/ParameterGroupCreate'
          application/yaml:
            schema:
              $ref: '#/components/schemas/RunTemplateParameterGroupCreateRequest'
            examples:
              ParameterGroupCreate:
                $ref: '#/components/examples/ParameterGroupCreate'
      responses:
        '201':
          description: Parameter group successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplateParameterGroup'
              examples:
                ParameterGroupCreate:
                  $ref: '#/components/examples/ParameterGroupCreate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplateParameterGroup'
              examples:
                ParameterGroupCreate:
                  $ref: '#/components/examples/ParameterGroupCreate'
        '400':
          description: Bad request - Invalid parameter group
        '404':
          description: Solution not found or insufficient access rights
    get:
      operationId: listSolutionParameterGroups
      tags:
      - solution
      summary: List all solution parameter groups
      responses:
        '200':
          description: Parameter groups successfully listed
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunTemplateParameterGroup'
              examples:
                ParameterGroupList:
                  $ref: '#/components/examples/ParameterGroupList'
            application/yaml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunTemplateParameterGroup'
              examples:
                ParameterGroupList:
                  $ref: '#/components/examples/ParameterGroupList'
        '404':
          description: Solution not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/parameterGroups/{parameter_group_id}:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    - $ref: '#/components/parameters/parameterGroupId'
    patch:
      operationId: updateSolutionParameterGroup
      tags:
      - solution
      summary: Update a solution parameter group
      requestBody:
        description: Parameter groups to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunTemplateParameterGroupUpdateRequest'
            examples:
              ParameterGroupUpdate:
                $ref: '#/components/examples/ParameterGroupUpdate'
          application/yaml:
            schema:
              $ref: '#/components/schemas/RunTemplateParameterGroupUpdateRequest'
            examples:
              ParameterGroupUpdate:
                $ref: '#/components/examples/ParameterGroupUpdate'
      responses:
        '200':
          description: Parameter groups successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplateParameterGroup'
              examples:
                ParameterGroupCreate:
                  $ref: '#/components/examples/ParameterGroupCreate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplateParameterGroup'
              examples:
                ParameterGroupCreate:
                  $ref: '#/components/examples/ParameterGroupCreate'
        '400':
          description: Bad request - Invalid parameter group
        '404':
          description: Solution or parameter group not found or insufficient access rights
    get:
      operationId: getSolutionParameterGroup
      tags:
      - solution
      summary: Get details of a solution parameter group
      responses:
        '200':
          description: Parameter groups successfully retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplateParameterGroup'
              examples:
                ParameterGroupCreate:
                  $ref: '#/components/examples/ParameterGroupCreate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplateParameterGroup'
              examples:
                ParameterGroupCreate:
                  $ref: '#/components/examples/ParameterGroupCreate'
        '404':
          description: Solution or parameter group not found or insufficient access rights
    delete:
      operationId: deleteSolutionParameterGroup
      tags:
      - solution
      summary: Delete a parameter group from the solution
      responses:
        '204':
          description: Parameter group successfully deleted
        '404':
          description: Solution or parameter group not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/runTemplates:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    get:
      operationId: listRunTemplates
      tags:
      - solution
      summary: List all solution run templates
      responses:
        '200':
          description: Run templates successfully listed
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunTemplate'
              examples:
                RunTemplateList:
                  $ref: '#/components/examples/RunTemplateList'
            application/yaml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunTemplate'
              examples:
                RunTemplateList:
                  $ref: '#/components/examples/RunTemplateList'
        '404':
          description: Solution not found or insufficient access rights
    post:
      operationId: createSolutionRunTemplate
      tags:
      - solution
      summary: Create a solution run template
      requestBody:
        description: Run template to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunTemplateCreateRequest'
            examples:
              RunTemplateCreate:
                $ref: '#/components/examples/RunTemplateCreate'
          application/yaml:
            schema:
              $ref: '#/components/schemas/RunTemplateCreateRequest'
            examples:
              RunTemplateCreate:
                $ref: '#/components/examples/RunTemplateCreate'
      responses:
        '201':
          description: Run template successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplate'
              examples:
                RunTemplate:
                  $ref: '#/components/examples/RunTemplate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplate'
              examples:
                RunTemplate:
                  $ref: '#/components/examples/RunTemplate'
        '400':
          description: Bad request - Invalid run template
        '404':
          description: Solution not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/runTemplates/{run_template_id}:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    - $ref: '#/components/parameters/runTemplateId'
    get:
      operationId: getRunTemplate
      tags:
      - solution
      summary: Retrieve a solution run templates
      responses:
        '200':
          description: Run template successfully retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplate'
              examples:
                RunTemplate:
                  $ref: '#/components/examples/RunTemplate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplate'
              examples:
                RunTemplate:
                  $ref: '#/components/examples/RunTemplate'
        '404':
          description: Solution not found or insufficient access rights
    patch:
      operationId: updateSolutionRunTemplate
      tags:
      - solution
      summary: Update a specific run template
      requestBody:
        description: Run template updates
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunTemplateUpdateRequest'
            examples:
              RunTemplateUpdate:
                $ref: '#/components/examples/RunTemplateUpdate'
          application/yaml:
            schema:
              $ref: '#/components/schemas/RunTemplateUpdateRequest'
            examples:
              RunTemplateUpdate:
                $ref: '#/components/examples/RunTemplateUpdate'
      responses:
        '200':
          description: Run template successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunTemplate'
              examples:
                RunTemplate:
                  $ref: '#/components/examples/RunTemplate'
            application/yaml:
              schema:
                $ref: '#/components/schemas/RunTemplate'
              examples:
                RunTemplate:
                  $ref: '#/components/examples/RunTemplate'
        '400':
          description: Bad request - Invalid run template updates
        '404':
          description: Solution or run template not found or insufficient access rights
    delete:
      operationId: deleteSolutionRunTemplate
      tags:
      - solution
      summary: Delete a specific run template
      responses:
        '204':
          description: Run template successfully deleted
        '404':
          description: Solution or run template not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/security:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    get:
      operationId: getSolutionSecurity
      tags:
      - solution
      summary: Get solution security information
      responses:
        '200':
          description: Solution security information successfully retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolutionSecurity'
              examples:
                SolutionSecurity:
                  $ref: '#/components/examples/SolutionSecurity'
            application/yaml:
              schema:
                $ref: '#/components/schemas/SolutionSecurity'
              examples:
                SolutionSecurity:
                  $ref: '#/components/examples/SolutionSecurity'
        '404':
          description: Solution not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/security/default:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    patch:
      operationId: updateSolutionDefaultSecurity
      tags:
      - solution
      summary: Update solution default security
      requestBody:
        description: This changes the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SolutionRole'
            examples:
              BrewerySolutionRole:
                $ref: '#/components/examples/BrewerySolutionRole'
          application/yaml:
            schema:
              $ref: '#/components/schemas/SolutionRole'
            examples:
              BrewerySolutionRole:
                $ref: '#/components/examples/BrewerySolutionRole'
      responses:
        '200':
          description: Solution default security successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolutionSecurity'
              examples:
                SolutionSecurity:
                  $ref: '#/components/examples/SolutionSecurity'
            application/yaml:
              schema:
                $ref: '#/components/schemas/SolutionSecurity'
              examples:
                SolutionSecurity:
                  $ref: '#/components/examples/SolutionSecurity'
        '404':
          description: Solution not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/security/users:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    get:
      operationId: listSolutionSecurityUsers
      tags:
      - solution
      summary: List solution security users
      responses:
        '200':
          description: Solution security users list successfully retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example:
                - alice@mycompany.com
                - bob@mycompany.com
            application/yaml:
              schema:
                type: array
                items:
                  type: string
                example:
                - alice@mycompany.com
                - bob@mycompany.com
        '404':
          description: Solution not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/security/access:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    post:
      operationId: createSolutionAccessControl
      tags:
      - solution
      description: Grant access to a solution for a user or group.
      summary: Create solution access control
      requestBody:
        description: Access control to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SolutionAccessControl'
            examples:
              SolutionAccess:
                $ref: '#/components/examples/BrewerySolutionAccessControl'
          application/yaml:
            schema:
              $ref: '#/components/schemas/SolutionAccessControl'
            examples:
              SolutionAccess:
                $ref: '#/components/examples/BrewerySolutionAccessControl'
      responses:
        '201':
          description: Solution access control successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolutionAccessControl'
              examples:
                SolutionAccessControl:
                  $ref: '#/components/examples/BrewerySolutionAccessControl'
            application/yaml:
              schema:
                $ref: '#/components/schemas/SolutionAccessControl'
              examples:
                SolutionAccessControl:
                  $ref: '#/components/examples/BrewerySolutionAccessControl'
        '404':
          description: Solution not found or insufficient access rights
  /organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}:
    parameters:
    - $ref: '#/components/parameters/organizationId'
    - $ref: '#/components/parameters/solutionId'
    - name: identity_id
      in: path
      description: The User identifier
      required: true
      schema:
        type: string
    get:
      operationId: getSolutionAccessControl
      tags:
      - solution
      summary: Get solution access control
      responses:
        '200':
          description: Solution access control successfully retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolutionAccessControl'
              examples:
                SolutionAccessControl:
                  $ref: '#/components/examples/BrewerySolutionAccessControl'
            application/yaml:
              schema:
                $ref: '#/components/schemas/SolutionAccessControl'
              examples:
                SolutionAccessControl:
                  $ref: '#/components/examples/BrewerySolutionAccessControl'
        '404':
          description: Solution or user not found or insufficient access rights
    patch:
      operationId: updateSolutionAccessControl
      tags:
      - solution
      summary: Update solution access control
      requestBody:
        description: Access control updates
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SolutionRole'
            examples:
              BrewerySolutionRole:
                $ref: '#/components/examples/BrewerySolutionRole'
          application/yaml:
            schema:
              $ref: '#/components/schemas/SolutionRole'
            examples:
              BrewerySolutionRole:
                $ref: '#/components/examples/BrewerySolutionRole'
      responses:
        '200':
          description: Solution access control successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolutionAccessControl'
              examples:
                SolutionAccessControl:
                  $ref: '#/components/examples/BrewerySolutionAccessControl'
            application/yaml:
              schema:
                $ref: '#/components/schemas/SolutionAccessControl'
              examples:
                SolutionAccessControl:
                  $ref: '#/components/examples/BrewerySolutionAccessControl'
        '404':
          description: Solution not found or insufficient access rights
    delete:
      operationId: deleteSolutionAccessControl
      tags:
      - solution
      summary: Delete solution access control
      responses:
        '204':
          description: Solution access control successfully deleted
        '404':
          description: Solution or user not found or insufficient access rights
components:
  examples:
    RunTemplateUpdate:
      summary: Run template update example
      description: Example of updating a run template
      value:
        name: Updated Standard Simulation
        description: Run the updated standard simulation
        computeSize: large
    BrewerySolutionRole:
      summary: Set a Solution Role.
      description: Set a Role for a user to a solution.
      value:
        role: editor
    Brewery:
      summary: Brewery Solution
      description: Brewery Solution example
      value:
        id: sol-1AbCdEfGhIj
        organizationId: o-gZVQqV8B4pR7
        key: brewery-solution
        name: Brewery Solution
        description: A Brewery Supplier Solution Model which simulate stock, production, transport and customer satisfaction
        repository: cosmotech/brewery_solution
        alwaysPull: false
        version: 1.0.0
        createInfo:
          timestamp: 1621353329000
          userId: john.doe@cosmotech.com
        updateInfo:
          timestamp: 1621353329000
          userId: john.doe@cosmotech.com
        sdkVersion: 12.0.0-40296.1c163396
        url: https://github.com/Cosmo-Tech/brewery_sample_solution
        tags:
        - brewery
        - optimization
        parameters:
        - id: prefix
          labels:
            fr: Prefix des noms
            en: Names prefix
          varType: string
        parameterGroups:
        - id: consumers
          labels:
            fr: Consommateurs
            en: Consumers
          parameters:
          - prefix
        runTemplates:
        - id: hundred
          name: Full simulation 100 steps
          description: Run a full simulation with 100 steps
          tags:
          - full
          - supply
          computeSize: highcpu
          parameterGroups:
          - consumers
        security:
          default: none
          accessControlList:
          - id: jane.doe@cosmotech.com
            role: admin
          - id: john.doe@cosmotech.com
            role: viewer
    ParameterGroupCreate:
      summary: Parameter group create example
      description: Example of creating a parameter group
      value:
        id: inventory
        description: Inventory parameters
        labels:
          en: Inventory
          fr: Inventaire
        parameters:
        - stock_level
    ParameterUpdate:
      summary: Parameter update example
      description: Example of updating a run template parameter
      value:
        description: Upda

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cosmo-tech/refs/heads/main/openapi/cosmo-tech-solution-api-openapi.yml