openapi: 3.0.1
info:
  title: PRODUCT-DATA-SERVICE
  description: This API specification serves as reference within product-data-service project for how to design and specify HTTPs-based APIs.
  contact:
    name: SiGREEN API Support
    url: https://api.sigreen-dev.siemens.cloud/
    email: sigreensupport.industry@siemens.com
  version: 1.16.9
servers:
  - url: https://app.sigreen.siemens.com/api
    description: SiGREEN Production Server
  - url: https://app-uat.sigreen-playground.siemens.cloud/api
    description: SiGREEN User Acceptance Test (UAT) Server
security:
  - bearerAuth: []
tags:
  - name: Products
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Product APIs'
  - name: Bill of Materials Version
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Bill of Material Version APIs'
  - name: Products Identifier Type
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Product Identifier Type APIs'
  - name: Factories
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Factory APIs'
  - name: Product families API
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Product families APIs'
  - name: Bill of Material
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Bill of Material APIs'
  - name: JOB
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Job APIs'
  - name: Factory Emissions
    description: '![shopfloor](https://developer.siemens.com/sigreen/images/api-package-shopfloor-blue.svg) Factory emissions APIs'
  - name: Get Own Products' PCF
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Get Own Products'' PCF APIs'
paths:
  /products/{id}:
    get:
      tags:
        - Products
      summary: Get product details by id.
      description: Get details of a specific product present in a company which is part of  SiGREEN.
      operationId: getProductBySystemId
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
      responses:
        '200':
          description: The request was successful and received single product data.
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ProductResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Name is allowed only 50 characters
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    put:
      tags:
        - Products
      summary: Update a product in SiGREEN.
      description: Replaces existing content with new data and updates the product details. Update will be full, not in part.
      operationId: updateProduct
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
      requestBody:
        description: Product details for update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductRequest'
        required: true
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Name is allowed only 50 characters
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    delete:
      tags:
        - Products
      summary: Delete a product in SiGREEN.
      description: Delete an existing product in SiGREEN company.
      operationId: deleteProduct
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Invalid product id (UUID).
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /productfamilies/{id}:
    get:
      tags:
        - Product families API
      summary: Get data for a specific product family available within a company in SiGREEN.
      description: Get data for a specific product family available within a company in SiGREEN.
      operationId: getProductFamilyById
      parameters:
        - name: id
          in: path
          description: UUID to identify the product family present in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
      responses:
        '200':
          description: The request was successful and received list of product family data available in the company.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedroductFamily'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: 'Invalid id '
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    put:
      tags:
        - Product families API
      summary: Update a specific product family data for a company in SiGREEN.
      description: Update a specific product family data for a company in SiGREEN.
      operationId: updateProductFamilyDetails
      parameters:
        - name: id
          in: path
          description: UUID to identify the product family present in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
      requestBody:
        description: Product family details for update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductFamilyRequestDTO'
        required: true
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: 'Invalid id '
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    delete:
      tags:
        - Product families API
      summary: Delete product family details for a company in SiGREEN.
      description: Delete product family details for a company in SiGREEN.Product which are linked to product family would be in uncategorized (It doesn't belong to any category)
      operationId: deleteProductFamilyById
      parameters:
        - name: id
          in: path
          description: UUID to identify the product family of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: d7e420c2-5a49-4a34-8ead-9c52a8f91577
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: 'Invalid Id '
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/productfamilies/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/{id}/factoryEmissions:
    post:
      tags:
        - Factory Emissions
      summary: Upload factory emissions for a product in SiGREEN. Please note that this API endpoint is marked as deprecated and will be removed soon.
      description: Upload factory emissions for a product in SiGREEN.
      operationId: uploadFactoryEmissionData
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN
          required: true
          schema:
            type: string
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
      requestBody:
        description: New factory emission details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductFactoryEmissionRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/{id}/factoryEmissions
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid product id
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/{id}/factoryEmissions
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/{id}/factoryEmissions
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/{id}/factoryEmissions
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/{id}/bomVersions:
    post:
      tags:
        - Bill of Materials Version
      summary: Create Bill of Material versions for a product in SiGREEN.
      description: Create Bill of Material versions for a product in SiGREEN.
      operationId: createProductBOMVersion
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BOMVersionRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMVersionResponseId'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/{id}/bomVersions
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Invalid Product ID
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/{id}/bomVersions
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/{id}/bomVersions
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/{id}/bomVersions
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/identifierTypes:
    get:
      tags:
        - Products Identifier Type
      summary: Get product identifier types for a company in SiGREEN.
      description: API to get product identifier types in a company in SiGREEN.
      operationId: getProductIdentifierTypes
      parameters:
        - name: page
          in: query
          description: Page Number, usually starts with 0
          required: false
          schema:
            type: integer
            default: 0
        - name: size
          in: query
          description: Size of the page default value is 10
          required: false
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: List of product identifier types.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductIdentifierTypesResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/identifierTypes
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid error message
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/identifierTypes
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/identifierTypes
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/identifierTypes
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    post:
      tags:
        - Products Identifier Type
      summary: Create a product identifier type for a company in SiGREEN.
      description: API to create product identifier type of a company in SiGREEN.
      operationId: createProductIdentifierType
      requestBody:
        description: First created identifier type will be treated as main identifier type. Request for creating a new product identifier type of a company in SiGREEN.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentifierTypeRequest'
        required: true
      responses:
        '201':
          description: Created. Response will return the UUID of the created product identifier type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentifierTypeResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/identifierTypes
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid error message
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/identifierTypes
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/identifierTypes
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/identifierTypes
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products:
    get:
      tags:
        - Products
      summary: Get all products of a company in SiGREEN.
      description: Get all products under a specific company which is part of SiGREEN.
      operationId: getAllProductsByCompany
      parameters:
        - name: from
          in: query
          description: The start date of the date range when the product was created in SiGREEN.
          required: false
          schema:
            type: string
          example: '2022-11-20T08:30:00.000Z'
        - name: to
          in: query
          description: The end date of the date range when the product was created in SiGREEN.
          required: false
          schema:
            type: string
          example: '2022-11-20T08:30:00.000Z'
        - name: searchText
          in: query
          description: |
            Partial text search on following attributes  name , identifiers.
            Minimum 3 characters required to search
            Partial text match would be either name or identifers or both
          required: false
          schema:
            type: string
            maxLength: 100
            minLength: 1
          example: Simatics PL7
        - name: name
          in: query
          description: Filter products by name
          required: false
          schema:
            type: string
            maxLength: 100
            minLength: 0
          example: Simatics PL7
        - name: family
          in: query
          description: Filter products by product family
          required: false
          schema:
            type: string
            maxLength: 100
            minLength: 0
          example: Controls E1456
        - name: idType
          in: query
          description: Product identifier type in SiGREEN. idType filter is applicable only when user is searching with idValue filter. Idea here is to find products with idType and value combination.
          required: false
          schema:
            type: string
            maxLength: 100
            minLength: 0
          example: ProductId1
        - name: idValue
          in: query
          description: Filter products based on either main or additional identifier value in SiGREEN.
          required: false
          schema:
            type: string
            maxLength: 100
            minLength: 0
          example: TEST-1
        - name: factoryId
          in: query
          description: UUID to identify the factory of the company in SiGREEN
          required: false
          schema:
            type: string
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: sort
          in: query
          description: Sorting fields supported (name, createdOn, updatedOn). Example - Assending order '+name' , Descending order '-name'. Default order is createdOn ascending order.
          required: false
          schema:
            type: string
          example: +createdOn
        - name: page
          in: query
          description: Page that you would like to fetch
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
          example: 1
        - name: size
          in: query
          description: Number of records in a page
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            minimum: 1
          example: 25
      responses:
        '200':
          description: The request was successful and received list of product data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPaginatedResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid product id
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    post:
      tags:
        - Products
      summary: Upload a product to SiGREEN.
      description: Create a new product in a company which is part of  SiGREEN.
      operationId: createProduct
      requestBody:
        description: Product details for create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ProductResponseData'
              example:
                id: C98BE31E-3698-412D-91E3-8270102CC7D5
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid product id
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /productfamilies:
    get:
      tags:
        - Product families API
      summary: Get all product families for a company in SiGREEN.
      description: Get all product families for a company in SiGREEN.
      operationId: getProductFamiliesByCompany
      parameters:
        - name: from
          in: query
          description: The start date of the date range when the product family was created in SiGREEN.
          required: false
          schema:
            type: string
          example: '2022-11-20T08:30:00.000Z'
        - name: to
          in: query
          description: The end date of the date range when the product family was created in SiGREEN.
          required: false
          schema:
            type: string
          example: '2022-11-20T08:30:00.000Z'
        - name: name
          in: query
          description: 'Product family name '
          required: false
          schema:
            type: string
            maxLength: 100
            minLength: 0
          example: Product1
        - name: page
          in: query
          description: Page that you would like to fetch
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
          example: 1
        - name: size
          in: query
          description: Number of records in a page
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            minimum: 1
          example: 25
      responses:
        '200':
          description: The request was successful and received list of product families available in the company.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedroductFamily'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/productfamilies
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid from date
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/productfamilies
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/productfamilies
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/productfamilies
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    post:
      tags:
        - Product families API
      summary: Create product family in SiGREEN.
      description: Create product family in SiGREEN. It's unique per company.
      operationId: createProductFamily
      requestBody:
        description: 'Product family details. '
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductFamilyRequestDTO'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ProductFamily'
              example:
                id: C98BE31E-3698-412D-91E3-8270102CC7D5
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/productfamilies
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Product family already exists
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/productfamilies
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/productfamilies
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/productfamilies
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /factories:
    get:
      tags:
        - Factories
      summary: Get factories for a company in SiGREEN.
      description: API to get list of factories in a company in SiGREEN.
      operationId: getCompanyFactories
      parameters:
        - name: page
          in: query
          description: Page Number, usually starts with 0
          required: false
          schema:
            type: integer
            default: 0
        - name: size
          in: query
          description: Size of the page default value is 10
          required: false
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: List of factories belongs to a specific company.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFactoryResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/factories
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid error message
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/factories
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/factories
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/factories
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    post:
      tags:
        - Factories
      summary: Create a factory for a company in SiGREEN.
      description: API to create a factory in a company in SiGREEN.
      operationId: createCompanyFactory
      requestBody:
        description: Create a factory for a company in SiGREEN.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FactoryRequest'
        required: true
      responses:
        '201':
          description: Created. Response will return the UUID of the factory.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/factories
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid error message
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/factories
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/factories
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/factories
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/{id}/bomVersions/{bomVersionId}:
    delete:
      tags:
        - Bill of Materials Version
      summary: Delete a BOM version of a product in SiGREEN.
      description: Delete a BOM version of a product by id
      operationId: deleteProductBOMVersion
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomVersionId
          in: path
          description: UUID to identify the BOM version id of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Provide valid Id
                    code: SIG-BUS-0001
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: unauthorized
                status: 401
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Invalid Authentication
                    code: SIG-BUS-0001
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Invalid Authorization
                    code: SIG-BUS-0001
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Internal service error
                    code: SIG-BUS-0001
    patch:
      tags:
        - Bill of Materials Version
      summary: Update the BOM version of a product in SiGREEN.
      description: Updates the existing content with new data and modifies the BOM version details accordingly.
      operationId: updateProductBOMVersion
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomVersionId
          in: path
          description: UUID to identify the BOM version id of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      requestBody:
        description: Update a BOM Version in SiGREEN
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BOMVersionRequest'
        required: true
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Invalid BOM Version Id
                    code: SIG-BUS-0001
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: unauthorized
                status: 401
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Invalid Authentication
                    code: SIG-BUS-0001
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Invalid Authorization
                    code: SIG-BUS-0001
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Internal service error
                    code: SIG-BUS-0001
  /products/{id}/bom/{bomVersionId}:
    get:
      tags:
        - Bill of Material
      summary: Get a list of Bill of Material entries for a product in SiGREEN.
      description: Get a list of Bill of Material entries for a product in SiGREEN. Only the first level of BOM items will be returned, with pagination support.
      operationId: getPaginatedBOMItems
      parameters:
        - name: id
          in: path
          description: UUID of the product of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomVersionId
          in: path
          description: UUID of the product BOM version id of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomItemId
          in: query
          description: UUID of the BOM item id of the company in SiGREEN.BOM can be retrieved by passing the group item Id.
          required: false
          schema:
            type: string
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
        - name: size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            minimum: 1
      responses:
        '200':
          description: The request was successful and received Bill of material items.
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/BOMItemPaginatedResponseExt'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /product/{id}/bom/{bomVersionId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Invalid Product ID
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /product/{id}/bom/{bomVersionId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /product/{id}/bom/{bomVersionId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /product/{id}/bom/{bomVersionId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    patch:
      tags:
        - Bill of Material
      summary: Add Groups, Components, and Products to product BOM version in SiGREEN, and return the job Id. Job Status API can be used to retrieve the status of operations. This API performs tasks such as adding BOM items, synchronizing components, and executing calculations.
      description: Add Groups, Components, and Products to product BOM version in SiGREEN, and return the job Id. Job Status API can be used to retrieve the status of operations. This API performs tasks such as adding BOM items, synchronizing components, and executing calculations.
      operationId: patchBOMItem
      parameters:
        - name: id
          in: path
          description: UUID of the product of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomVersionId
          in: path
          description: UUID of the product BOM version id of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomItemId
          in: query
          description: UUID of the BOM item id of the company in SiGREEN.
          required: false
          schema:
            type: string
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      requestBody:
        description: List of BOM items
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                anyOf:
                  - $ref: '#/components/schemas/BOMGroupAddItem'
                  - $ref: '#/components/schemas/BOMProductAddItem'
                  - $ref: '#/components/schemas/BOMComponentAddItem'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/JobID'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Invalid Product ID
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/{id}/bom/{bomVersionId}/saveUpstreamEmissions:
    patch:
      tags:
        - Bill of Material
      summary: Save the current state of the upstream emission data for a product BOM version in SiGREEN. Once saved, the upstream emissions BOM will be locked, and no further changes will be allowed.
      description: Save the current state of the upstream emission data for a product BOM version in SiGREEN. Once saved, the upstream emissions BOM will be locked, and no further changes will be allowed.
      operationId: saveBomUpstreamEmissions
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomVersionId
          in: path
          description: UUID to identify the BOM version id of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: includeDistributionStage
          in: query
          description: IncludeDistributionStage is a boolean flag that defaults to false. When set to false, the distribution stage values of all BOM (Bill of Materials) items are ignored. To include and process these values, set the flag to true
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '201':
          description: Created
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: 'Invalid product bom '
                    code: SIG-BUS-0001
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: unauthorized
                status: 401
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Invalid Authentication
                    code: SIG-BUS-0001
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Invalid Authorization
                    code: SIG-BUS-0001
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/{id}/bomVersions/{bomVersionId}
                errors:
                  - detail: Internal service error
                    code: SIG-BUS-0001
  /products/{id}/bom/{bomVersionId}/items/{bomItemId}:
    delete:
      tags:
        - Bill of Material
      summary: Delete BOM item (Groups,Components and Products)) to product BOM version in SiGREEN.
      description: Delete BOM item (Groups,Components and Products)) to product BOM version in SiGREEN.
      operationId: deleteBOMItem
      parameters:
        - name: id
          in: path
          description: UUID of the product of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomVersionId
          in: path
          description: UUID of the product BOM version id of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomItemId
          in: path
          description: UUID of the BOM item id of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Invalid Product ID
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    patch:
      tags:
        - Bill of Material
      summary: Update meta data of Groups,Components and Products to product BOM version in SiGREEN.
      description: Update meta data of Groups,Components and Products to product BOM version in SiGREEN.
      operationId: patchBOMItemMetadata
      parameters:
        - name: id
          in: path
          description: UUID of the product of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomVersionId
          in: path
          description: UUID of the product BOM version id of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: bomItemId
          in: path
          description: UUID of the BOM item id of the company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      requestBody:
        description: Meta data to be updated in BOM item.
        content:
          application/json:
            schema:
              type: object
              anyOf:
                - $ref: '#/components/schemas/BOMProductUpdateItem'
                - $ref: '#/components/schemas/BOMComponentUpdateItem'
                - $ref: '#/components/schemas/BOMGroupUpdateItem'
        required: true
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Invalid Product ID
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /product/{id}/bom/{bomVersionId}/items/{bomItemId}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/identifierTypes/{id}:
    delete:
      tags:
        - Products Identifier Type
      summary: Delete an unused product identifier type for a company in SiGREEN.
      description: Delete only one record, it is only a soft delete.
      operationId: deleteProductIdentifierType
      parameters:
        - name: id
          in: path
          description: UUID to identify the product identifier type of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      responses:
        '204':
          description: No Content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid error message
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        '404':
          description: Not found.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Not found
                status: 404
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0007
                    detail: The identifier type is invalid. Please verify and provide a valid identifier type.
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    patch:
      tags:
        - Products Identifier Type
      summary: Update a product identifier type for a company in SiGREEN.
      description: API to update product identifier type for a company in SiGREEN.
      operationId: updateProductIdentifierTypeBySystemId
      parameters:
        - name: id
          in: path
          description: UUID to identify the identifier type present in a company in SiGREEN
          required: true
          schema:
            type: string
            minLength: 1
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      requestBody:
        description: Update a product identifier type in SiGREEN.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentifierTypeUpdateRequest'
        required: true
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid error message
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        '404':
          description: Not found.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Not found
                status: 404
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0007
                    detail: The identifier type is invalid. Please verify and provide a valid identifier type.
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/identifierTypes/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /factories/{id}:
    delete:
      tags:
        - Factories
      summary: Delete an unused factory for a company in SiGREEN.
      description: Delete only one record, it is only a soft delete.
      operationId: deleteCompanyFactory
      parameters:
        - name: id
          in: path
          description: UUID to identify the factory of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: UR78D-HFJ89-JF7HD-Y98TH
      responses:
        '204':
          description: No Content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid error message
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        '404':
          description: Not found.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Not found
                status: 404
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG_BUS_0002
                    detail: The factory is invalid. Please verify and provide a valid factory.
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
    patch:
      tags:
        - Factories
      summary: Update a factory for a company in SiGREEN.
      description: API to update factory for a company in SiGREEN.
      operationId: updateCompanyFactory
      parameters:
        - name: id
          in: path
          description: UUID to identify the factory of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: UR78D-HFJ89-JF7HD-Y98TH
      requestBody:
        description: Update a specific factory of a company in SiGREEN.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FactoryRequest'
        required: true
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid error message
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        '404':
          description: Not found.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Not found
                status: 404
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG_BUS_0002
                    detail: The factory is invalid. Please verify and provide a valid factory.
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/factories/{id}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/{id}/pcf:
    get:
      tags:
        - Get Own Products' PCF
      summary: Get product PCF details by id.
      description: Get an export of a product carbon footprint without cryptographic material. If you need cryptographic verifiability of this information please use DIDComm APIs.
      operationId: getProductCarbonFootPrint
      parameters:
        - name: id
          in: path
          description: UUID to identify the product of the company in SiGREEN.
          required: true
          schema:
            type: string
            minLength: 1
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
        - name: filter
          in: query
          description: Here you can provide a filter on the request, e.g pcf information out of active or latest credential.
          required: false
          schema:
            type: string
            enum:
              - active
              - latest
      responses:
        '200':
          description: Product carbon footprint of a product in a SiGREEN company
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductCarbonFootprint'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/{id}/pcf/{filter}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: Invalid Product Id
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/{id}/pcf/{filter}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/{id}/pcf/{filter}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/{id}/pcf/{filter}
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/pcfData:
    get:
      tags:
        - Get Own Products' PCF
      summary: Get the PCF data for products in SiGREEN.
      description: Get the PCF data for products in SiGREEN.
      operationId: getProductPCFData
      parameters:
        - name: productId
          in: query
          description: UUID to identify the product of the Product in SiGREEN
          required: false
          schema:
            type: string
        - name: pcfId
          in: query
          description: UUID for identifying the pcf data of the company in SiGREEN
          required: false
          schema:
            type: string
        - name: active
          in: query
          description: Include PCF's which are active
          required: false
          schema:
            type: boolean
            example: false
        - name: valid
          in: query
          description: Include PCF's which are valid. When the PCF is revoked PCF data then PCF is not valid.
          required: false
          schema:
            type: boolean
            example: false
        - name: expired
          in: query
          description: Include PCF's which are expired
          required: false
          schema:
            type: boolean
            example: false
        - name: specVersion
          in: query
          description: Spec version or data model standard
          required: false
          schema:
            type: string
            enum:
              - TFS V2
              - TFS V1
              - PACT V1.0.1
              - PACT V2.0.0
              - Catena-X V1
              - Catena-X V2
              - Catena-X V2.2
              - EPD Style
              - ISO 14067
              - WBCSD Pathfinder v2
            example:
              - TFS V2
        - name: from
          in: query
          description: PCF createdOn from DateTime.DateTime (ISO 8601; UTC Timezone)
          required: false
          schema:
            type: string
            example: '2022-11-20T08:30:00.000Z'
        - name: to
          in: query
          description: PCF createdOn to DateTime.DateTime (ISO 8601; UTC Timezone)
          required: false
          schema:
            type: string
            example: '2022-11-20T08:30:00.000Z'
        - name: page
          in: query
          description: Page number
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
        - name: size
          in: query
          description: Page size
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            minimum: 1
        - name: sort
          in: query
          description: Sorting fields supported (createdOn). Example - Ascending order '+createdOn', Descending order '-createdOn'. Default order is createdOn ascending order.
          required: false
          schema:
            type: string
            example: +createdOn
      responses:
        '200':
          description: The request was successful and received single product data.
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/GetPcfDataResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/pcfData
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid Component id
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: UNAUTHORIZED
                status: 401
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/pcfData
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: FORBIDDEN
                status: 403
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/pcfData
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: INTERNAL_SERVER_ERROR
                status: 500
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/pcfData
                errors:
                  - code: SIG-BUS-0001
                    detail: Internal service error
  /products/jobs/{id}/status:
    get:
      tags:
        - JOB
      summary: This API is used to fetch the status of a job.
      description: This API can be used to check whether a job has been completed or not.
      operationId: getProductJobStatus
      parameters:
        - name: id
          in: path
          description: UUID to fetch job status in SiGREEN
          required: true
          schema:
            type: string
          example: 098QA0-UK9099-HJH98275-LML891
      responses:
        '200':
          description: A specific job details, whether job completed or not.
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/JobStatusResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                instance: /api/products/jobs/{id}/status
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-VLD-0001
                    detail: 'Invalid Job Id '
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Unauthorized
                status: 401
                instance: /api/products/jobs/{id}/status
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0003
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Forbidden
                status: 403
                instance: /api/products/jobs/{id}/status
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0005
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Internal Server Error
                status: 500
                instance: /api/products/jobs/{id}/status
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                errors:
                  - code: SIG-TEC-0002
                    detail: Internal service error
  /products/bomVersions:
    get:
      tags:
        - Bill of Materials Version
      summary: Get a list of BOM versions
      description: Get a list of BOM versions
      operationId: getProductsBomVersions
      parameters:
        - name: version
          in: query
          description: Filter by BOM version
          required: false
          schema:
            type: string
            maxLength: 50
            minLength: 0
          example: 3.1.1
        - name: productId
          in: query
          description: Filter by product id (UUID to identify the product of the company in SiGREEN).
          required: false
          schema:
            type: string
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: componentId
          in: query
          description: Filter BOM's which are using component id (UUID to identify the procurement component of the company in SiGREEN)
          required: false
          schema:
            type: string
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        - name: locked
          in: query
          description: BOM version locked or not (true/false)
          required: false
          schema:
            type: boolean
          example: true
        - name: page
          in: query
          description: Page number, usually starts with 0
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
          example: 0
        - name: size
          in: query
          description: Size of the page default value is 10
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            minimum: 1
        - name: sort
          in: query
          description: Sorting fields supported (createdOn, updatedOn,upstreamEmissionCreatedOn). Example - Ascending order '+createdOn' , Descending order '-createdOn'. Default order is createdOn ascending order.
          required: false
          schema:
            type: string
            default: +createdOn
      responses:
        '200':
          description: Bill of Materials metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMVersionPaginatedResponse'
              example:
                items:
                  - id: C98BE31E-3698-412D-91E3-8270102CC7D5
                    version: 3.1.1
                    locked: false
                    comment: Bill of Material Version 1
                    revision: '1.9'
                    productId: C98BE31E-3698-412D-91E3-8270102CC7D5
                    productName: Simatics PL7
                    latestSync: '2022-11-20T08:30:00.000Z'
                    upstreamEmission:
                      pcfIncludingBiogenic: '159.73603125824'
                      pcfExcludingBiogenic: '159.73603125824'
                    productionStage:
                      pcfIncludingBiogenic: '79.868015629124'
                      pcfExcludingBiogenic: '56.668015629125'
                    distributionStage:
                      pcfIncludingBiogenic: '79.868015629124'
                      pcfExcludingBiogenic: '56.668015629125'
                    upstreamEmissionCreatedOn: '2022-11-20T08:30:00.000Z'
                    createdOn: '2024-04-19T00:00:00.000Z'
                    updatedOn: '2024-04-19T00:00:00.000Z'
                hasNext: true
                hasPrev: false
                page: 0
                pageNumber: 1
                size: 10
                totalPages: 120
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: Bad request
                status: 400
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/bomVersions
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalid request
        '401':
          description: Unauthorized.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: UNAUTHORIZED
                status: 401
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/bomVersions
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalidate Authentication
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: FORBIDDEN
                status: 403
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/bomVersions
                errors:
                  - code: SIG-BUS-0001
                    detail: Invalidate Authorization
        5XX:
          description: Unexpected error.
          content:
            application/problem+json:
              schema:
                type: object
                $ref: '#/components/schemas/Problem'
              example:
                type: https://developer.siemens.com/sigreen/validation-error.html
                title: INTERNAL_SERVER_ERROR
                status: 500
                traceId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                instance: /products/bomVersions
                errors:
                  - code: SIG-BUS-0001
                    detail: Internal service error
components:
  schemas:
    ProductIdentifier:
      type: object
      description: Product identifier request data.
      properties:
        value:
          type: string
          description: Value of the identifier
          example: TEST-1
          maxLength: 100
          minLength: 1
        idType:
          type: string
          description: Type of the identifier
          example: ProductId1
          maxLength: 100
          minLength: 0
        default:
          type: boolean
          description: Indicates if this is the main identifier or not, Product can have multiple additional identifiers.
          example: true
      required:
        - default
        - idType
        - value
    ProductRequest:
      type: object
      description: Product request data.
      properties:
        name:
          type: string
          description: Name of the product
          example: Simatics PL7
          maxLength: 100
          minLength: 0
        family:
          type: string
          description: Family of the product
          example: Controls E1456
          maxLength: 100
        identifiers:
          type: array
          description: There must be one identifier with the default parameter set to true, as it represents the main identifier for this entity
          items:
            $ref: '#/components/schemas/ProductIdentifier'
          maxItems: 100
          minItems: 1
        description:
          type: string
          description: Description of the product
          example: Your product description
          maxLength: 500
          minLength: 0
        weight:
          type: string
          description: Weight of the product
          example: 1.533
          maxLength: 15
          minLength: 0
        quantity:
          type: string
          description: Quantity of the product
          example: 5
          maxLength: 15
          minLength: 0
        unitType:
          type: string
          description: Unit type of the product
          enum:
            - piece
            - kg
            - m2
            - m3
            - kWh
            - tkm
            - MJ
            - L
          example: kg
        factoryIds:
          type: array
          description: Factory IDs associated with the product
          example:
            - C98BE31E-3698-412D-91E3-8270102CC7D5
          items:
            type: string
          uniqueItems: true
      required:
        - identifiers
        - name
    Errors:
      type: object
      description: Extended error array to include descriptions about errors like validation errors.
      properties:
        code:
          type: string
          description: An application-specific error code, expressed as a string value, mostly is this used for validation errors. The format and type of code representation MUST be harmonized across all services within SiGREEN. The code focuses on programs and doesn’t have to be human-readable.
          example: SIG_VLD-092
        detail:
          type: string
          description: Developer friendly, human-readable, detailed description specific to the occurrence of the problem.
          example: 'Invalid Date Format. Please send valid date format (for eg: yyyy-MM-dd''T''HH:mm:ss''Z'')'
        pointer:
          type: string
          description: String with a generated pointer to the wrong value; Collections integrated as an integer, starts with 0
          example: /data/0/from
    Problem:
      type: object
      properties:
        type:
          type: string
          description: A URI reference that identifies the problem type. This should be a human-redable documentation for the problem type (e.g. list of SiGREEN Validation errors). When this member is not present, its value is assumed to be 'about:blank'.
          example: https://developer.siemens.com/sigreen/validation-error.html
        title:
          type: string
          description: 'Developer friendly, human-readable description or summary that SHOULD NOT change from occurrence to occurrence of the problem. In case of using a custom HTTP status codes in the status field of the error object, the title MUST provide a concise description of the HTTP error code (for example: status: ''599'', title: ''Network Connection Timeout'').'
          example: Bad request
        status:
          type: integer
          format: int32
          description: Numeric HTTP status code for the specific error.
          example: 400
        instance:
          type: string
          description: 'A URI reference that points to the specific resource where the problem was identified (for example: points to the api resource /api/v1/products/{productId}).'
          example: /api/v1/products/{productId}
        traceId:
          type: string
          description: A unique string identifier (UUID), representing a flow through the system.
          example: UUID
        errors:
          type: array
          description: List of detailed error objects
          items:
            $ref: '#/components/schemas/Errors'
    ProductFamilyRequestDTO:
      type: object
      properties:
        name:
          type: string
          description: Product family name.
          example: Product family
          maxLength: 100
          minLength: 0
      required:
        - name
    Batch:
      type: object
      description: Details of a batch including its number, quantity, assessment year, data source, and additional comments.
      properties:
        batchNumber:
          type: string
          description: The batch number
          example: BATCH12345
          maxLength: 100
          minLength: 0
        quantity:
          type: number
          description: Quantity of the batch
          example: 100
          minimum: 1
        assessmentYear:
          type: integer
          format: int32
          description: Assessment year for the batch
          example: 2023
        dataSource:
          type: string
          description: Data source for the batch information
          example: Internal System
          maxLength: 100
          minLength: 0
        comment:
          type: string
          description: Additional comments about the batch
          example: First batch of the year
          maxLength: 100
          minLength: 0
      required:
        - batchNumber
        - dataSource
        - quantity
    FactoryEmissionActivity:
      type: object
      properties:
        typeOfActivity:
          type: string
          description: Type of activity causing the emission
          example: Electricity
          maxLength: 50
          minLength: 0
        total:
          type: number
          description: Total emissions
          example: 1000.9
        primaryDataShare:
          type: number
          description: Share of primary data in the total calculation
          example: 75.8
        shareOnTotal:
          type: number
          description: Share of total emissions
          example: 25.8
        emissionUnit:
          type: string
          description: Unit of the emission measurement
          enum:
            - kgCO2e/piece
            - kgCO2e/Piece
            - kgCO2e/kg
            - kgCO2e/L
            - kgCO2e/m²
            - kgCO2e/m³
            - kgCO2e/kWh
            - kgCO2e/tkm
            - kgCO2e/MJ
            - kgCO2e/m2
            - kgCO2e/m3
          example: kgCO2e/piece
        comment:
          type: string
          description: Additional comments about the emission
          example: Estimated values
          maxLength: 250
          minLength: 0
        fossil:
          type: number
          description: Fossil emissions
          example: 500.8
        biogenic:
          type: number
          description: Biogenic emissions
          example: 300.5
        dLuc:
          type: number
          description: Direct Land Use Change emissions
          example: 200.7
        landUse:
          type: number
          description: Land use emissions
          example: 100.2
        aircraft:
          type: number
          description: Aircraft emissions
          example: 50.1
      required:
        - emissionUnit
        - primaryDataShare
        - shareOnTotal
        - total
        - typeOfActivity
    ProductFactoryEmissionRequest:
      type: object
      description: Product Factory emission request data.
      properties:
        revision:
          type: string
          description: Revision number of the emission data
          example: 1
          maxLength: 100
          minLength: 0
        factoryId:
          type: string
          description: Unique identifier of the factory
          example: 123e4567-e89b-12d3-a456-426614174000
        from:
          type: string
          description: Start date in ISO 8601 format
          example: '2023-01-01T00:00:00.000Z'
          minLength: 1
        to:
          type: string
          description: End date in ISO 8601 format
          example: '2023-01-31T23:59:59.590Z'
          minLength: 1
        batch:
          $ref: '#/components/schemas/Batch'
          description: Batch details associated with the emissions
        productCarbonFootprint:
          type: number
          description: Product carbon footprint value
          example: 100.5
        emissions:
          type: array
          description: List of factory emissions
          items:
            $ref: '#/components/schemas/FactoryEmissionActivity'
        comment:
          type: string
          description: Additional comments
          example: Emission data collected manually
          maxLength: 200
          minLength: 0
        sourceSystem:
          type: string
          description: Source system of the emission data
          example: API
          maxLength: 200
          minLength: 0
      required:
        - factoryId
        - from
        - productCarbonFootprint
        - to
    FactoryResponse:
      type: object
      properties:
        id:
          type: string
          description: UUID to identify the factory of a company in SiGREEN.
          example: 098MS0-IN9099-HJH98275-LML892
    BOMVersionRequest:
      type: object
      description: BOM version request data.
      properties:
        version:
          type: string
          description: Bill of material version
          example: 3.1.1
          maxLength: 50
          minLength: 0
        comment:
          type: string
          description: Bill of material comment
          example: Bill of material Version 1
          maxLength: 200
          minLength: 0
        revision:
          type: string
          description: Bill of material revision
          example: 1.9
          maxLength: 200
          minLength: 0
      required:
        - version
    BOMVersionResponseId:
      type: object
      description: BOM version response
      properties:
        id:
          type: string
          description: Unique identifier of the BOM version
          example: B98BE31E-3698-412D-91E3-8270102CC7D4
    IdentifierTypeRequest:
      type: object
      properties:
        idType:
          type: string
          description: Type of product identifier of a company in SiGREEN. First created identifier type will always be treated as main identifier type of a company in SiGREEN.
          example: C23523-233
          maxLength: 100
          minLength: 0
        mandatory:
          type: boolean
          description: Whether this identifier must be filled when creating products
      required:
        - idType
        - mandatory
    IdentifierTypeResponse:
      type: object
      properties:
        id:
          type: string
          description: UUID to identify the identifier type of the company in SiGREEN.
          example: 098QA0-UK9099-HJH98275-LML891
        identifierType:
          type: string
        mandatory:
          type: boolean
          description: Whether this identifier must be filled when creating products
    ProductResponseData:
      type: object
      description: Product Response
      properties:
        id:
          type: string
          description: Unique identifier of the product
          example: B98BE31E-3698-412D-91E3-8270102CC7D4
    ProductFamily:
      type: object
      description: Product family response data.
      properties:
        id:
          type: string
        name:
          type: string
        productCount:
          type: integer
          format: int64
        createdOn:
          type: string
        updatedOn:
          type: string
    FactoryRequest:
      type: object
      properties:
        factory:
          type: string
          description: Name of the factory for a company in SiGREEN.
          example: Munich Data Center
          maxLength: 100
          minLength: 0
      required:
        - factory
    BOMComponentAddItem:
      type: object
      description: BOM Component request data.
      properties:
        componentId:
          type: string
          description: UUID of the component that you wish to add.
          example: D7E420C2-5A49-4A34-8EAD-9C52A8F91578
          maxLength: 36
          minLength: 0
        quantity:
          type: string
          description: Quantity of item.
          example: 3.5
          maxLength: 15
          minLength: 0
      required:
        - componentId
        - quantity
    BOMGroupAddItem:
      type: object
      description: BOM Group request data.
      properties:
        groupIdentifier:
          type: string
          description: Identifier to uniquely distinguish a group in system.
          example: 3434AABDACC1
          maxLength: 100
          minLength: 0
        groupName:
          type: string
          description: Name of the group.
          example: Group1
          maxLength: 100
          minLength: 0
        quantity:
          type: string
          description: Quantity of item.
          example: 3.5
          maxLength: 15
          minLength: 0
        includeDistributionStage:
          type: boolean
          description: Specifies whether to include distribution stage values in upstream Product Carbon Footprint (PCF) calculations.When true (default), emissions and related data from the distribution stage of each BOM item are included for a more accurate footprint.When false, these values are excluded, which can be useful when data is missing or a simpler analysis is preferred.
          example: true
        items:
          type: array
          anyOf:
            - $ref: '#/components/schemas/BOMGroupAddItem'
            - $ref: '#/components/schemas/BOMProductAddItem'
            - $ref: '#/components/schemas/BOMComponentAddItem'
          description: List of BOM items
          example:
            - groupIdentifier: 3434AABDACC1
              groupName: Group1
              quantity: '3.5'
              includeDistributionStage: true
              items:
                - groupIdentifier: 3434AABDACC2
                  groupName: Group1
                  quantity: '3.5'
                  includeDistributionStage: true
                  items: []
                - quantity: '3.5'
                  productId: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
                  pcfId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
                  includeDistributionStage: false
                - componentId: D7E420C2-5A49-4A34-8EAD-9C52A8F91578
                  quantity: '3.5'
            - quantity: '5'
              productId: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
              pcfId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
              includeDistributionStage: false
            - componentId: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
              quantity: '3.5'
          items:
            $ref: '#/components/schemas/BOMItem'
      required:
        - groupIdentifier
        - groupName
        - quantity
    BOMItem:
      type: object
      anyOf:
        - $ref: '#/components/schemas/BOMGroupAddItem'
        - $ref: '#/components/schemas/BOMProductAddItem'
        - $ref: '#/components/schemas/BOMComponentAddItem'
      description: BOM Item data.
      example:
        - groupIdentifier: 3434AABDACC1
          groupName: Group1
          quantity: '3.5'
          includeDistributionStage: true
          items:
            - groupIdentifier: 3434AABDACC2
              groupName: Group1
              quantity: '3.5'
              includeDistributionStage: true
              items: []
            - quantity: '3.5'
              productId: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
              pcfId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
              includeDistributionStage: false
            - componentId: D7E420C2-5A49-4A34-8EAD-9C52A8F91578
              quantity: '3.5'
        - quantity: '5'
          productId: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
          pcfId: d7e420c2-5a49-4a34-8ead-9c52a8f91577
          includeDistributionStage: false
        - componentId: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
          quantity: '3.5'
      properties:
        quantity:
          type: string
          description: Quantity of item.
          example: 3.5
          maxLength: 15
          minLength: 0
      required:
        - quantity
    BOMProductAddItem:
      type: object
      description: BOM Product request data.
      properties:
        quantity:
          type: string
          description: Quantity of item.
          example: 3.5
          maxLength: 15
          minLength: 0
        productId:
          type: string
          description: UUID of the product that you wish to add.
          example: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
          maxLength: 36
          minLength: 0
        pcfId:
          type: string
          description: PCF ID.Id will represent like UUID v4.
          example: d7e420c2-5a49-4a34-8ead-9c52a8f91577
          maxLength: 36
          minLength: 0
        includeDistributionStage:
          type: boolean
          description: Include Distribution Stage value. By default, it won't include DistributionStage
          example: true
      required:
        - productId
        - quantity
    JobID:
      type: object
      description: JobID response for export products
      properties:
        jobId:
          type: string
          description: Job Id for export
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
          maxLength: 36
    BOMProductUpdateItem:
      type: object
      description: BOM Product update request data.
      properties:
        pcfId:
          type: string
          description: PCF ID.Id will represent like UUID v4.
          example: d7e420c2-5a49-4a34-8ead-9c52a8f91577
          maxLength: 36
          minLength: 0
        includeDistributionStage:
          type: boolean
          description: Include Distribution Stage value. By default, it won't include DistributionStage
          example: true
        quantity:
          type: string
          description: Quantity of item.
          example: 3.5
    BOMComponentUpdateItem:
      type: object
      description: BOM Component update request data
      properties:
        quantity:
          type: string
          description: Quantity of item.
          example: 3.5
        pcfDataType:
          type: string
          description: Choose pcf data type for component bom item.Default is AVG_PCF.
          example: AVG_PCF
    BOMGroupUpdateItem:
      type: object
      description: BOM Group update request data.
      properties:
        groupName:
          type: string
          description: Name of the group.
          example: Group1
          maxLength: 100
          minLength: 0
        quantity:
          type: string
          description: Quantity of item.
          example: 3.5
        includeDistributionStage:
          type: boolean
          description: Include Distribution Stage value. By default, it won't include DistributionStage
          example: true
    IdentifierTypeUpdateRequest:
      type: object
      properties:
        idType:
          type: string
          description: Type of identifier for a company in SiGREEN.
          example: C23523-233
          maxLength: 100
          minLength: 0
        mandatory:
          type: boolean
          description: Whether this identifier must be filled when creating products
      required:
        - idType
        - mandatory
    ProductResponse:
      type: object
      description: Product response data.
      properties:
        id:
          type: string
          description: UUID to identify the product of the company in SiGREEN
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
          maxLength: 36
        name:
          type: string
          description: Name of the product
          example: Simatics PL7
          maxLength: 100
        family:
          type: string
          description: Family name of the product
          example: Controls E1456
          maxLength: 100
        identifiers:
          type: array
          description: There should be one identifier where default parameter is set to true. That will act as main identifier for this entity.
          items:
            $ref: '#/components/schemas/ProductIdentifier'
          uniqueItems: true
        description:
          type: string
          description: Description of the product
          example: Your product description
          maxLength: 500
        weight:
          type: string
          description: Weight of the product
          example: 1.533
          maxLength: 15
        quantity:
          type: string
          description: Quantity of the product
          example: 5
          maxLength: 15
        unitType:
          type: string
          description: Unit type of the product
          enum:
            - piece
            - kg
            - m2
            - m3
            - kWh
            - tkm
            - MJ
            - L
          example: kg
        factoryIds:
          type: array
          description: Factory IDs associated with the product(UUIDs)
          example:
            - C98BE31E-3698-412D-91E3-8270102CC7D5
            - C99BE31E-3698-412D-99E3-8270102CC7D5
          items:
            type: string
          uniqueItems: true
        createdOn:
          type: string
          description: Created on (ISO 8601; UTC Timezone)
          example: '2024-04-19T00:00:00.000Z'
          maxLength: 30
        updatedOn:
          type: string
          description: Updated on (ISO 8601; UTC Timezone)
          example: '2024-04-19T00:00:00.000Z'
          maxLength: 30
      required:
        - id
        - identifiers
        - name
    DistributionStage:
      type: object
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Production stage GWP total (incl. bio.).  kg CO2e/declared unit
          example: 79.868015629124
        pcfExcludingBiogenic:
          type: string
          description: Production stage GWP total (excl. bio.). kg CO2e/declared unit
          example: 56.868015629124
        fossilGhgEmissions:
          type: string
          description: Distribution stage GWP fossil. kg CO2e/declared unit
          example: '79.86801562912497'
        biogenic:
          type: string
          description: Distribution stage GWP biogenic
          example: '79.86801562912497'
        biogenicCarbonEmissionsOtherThanCO2:
          type: string
          description: Distribution stage GWP biogenic CO2e-emissions (only other GHG emissions than CO2 – excludes biogenic CO2). kg CO2e/declared unit
          example: '79.86801562912497'
        biogenicCarbonWithdrawal:
          type: string
          description: Distribution stage GWP biogenic CO2-withdrawal (biogenic CO2 contained in the product). kg CO2e/declared unit
          example: '79.86801562912497'
        dLucAndLuGhgEmissions:
          type: string
          description: Distribution stage GWP direct land use change (dLUC) and land use (LU). kg CO2e/declared unit
          example: '79.86801562912497'
        dLucGhgEmissions:
          type: string
          description: Distribution stage GWP land use (LU). kg CO2e/declared unit
          example: '79.86801562912497'
        luGhgEmissions:
          type: string
          description: Distribution stage GWP land use (LU). kg CO2e/declared unit
          example: '79.86801562912497'
        aircraftGhgEmissions:
          type: string
          description: Distribution stage GWP aircraft emissions). kg CO2e/declared unit
          example: '79.86801562912497'
        ilucGhgEmissions:
          type: string
          description: Distribution stage GWP indirect land use change emissions
          example: '79.86801562912497'
        landManagementGhgEmissions:
          type: string
          description: Distribution stage GWP land management GHG emissions or Removals (incl. non-CO2 sources). kg CO2e/declared unit
          example: '79.86801562912497'
        otherBiogenicGhgEmissions:
          type: string
          description: Distribution stage GWP biogenic CO2e-emissions other biogenic (excluding LUC and Land management). kg CO2e/declared unit
          example: '79.86801562912497'
        gwpLandManagementFossil:
          type: string
          description: Distribution stage GWP land management fossil emissions. kg CO2e/declared unit
          example: '79.86801562912497'
        gwpLandManagementBioGhgEmissions:
          type: string
          description: Distribution stage land management biogenic CO₂ emissions from soil. kg CO2e/declared unit
          example: '79.86801562912497'
        gwpLandManagementBioRemovals:
          type: string
          description: Distribution stage GWP land management biogenic CO₂ removals stored in soil. kg CO2e/declared unit
          example: '79.86801562912497'
        gwpCcsRemovalsExclFossil:
          type: string
          description: Distribution stage GWP technological CO₂ removals/BECCS (excl. fossil). kg CO2e/declared unit
          example: '79.86801562912497'
        transportAToDistributorSubStage:
          $ref: '#/components/schemas/ReuseRecoveryRecyclingPotentialStage'
        reconditioningAToDistributorSubStage:
          $ref: '#/components/schemas/ReuseRecoveryRecyclingPotentialStage'
        transportBToPlaceOfUseSubStage:
          $ref: '#/components/schemas/ReuseRecoveryRecyclingPotentialStage'
    FactoryEmission:
      type: object
      description: Details about the factory emission.
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Factory emission GWP total (incl. bio.). kg CO2e/declared unit
          example: 170.73603125824
        pcfExcludingBiogenic:
          type: string
          description: Factory emission GWP total (excl. bio.). kg CO2e/declared unit
          example: 170.73603125824
    ProductCarbonFootprint:
      type: object
      description: Details about the Product Carbon Footprint
      properties:
        pcfId:
          type: string
          description: The unique PCF Id of a credential
          example: DA13069E-AFEF-4E8A-B5AE-17F35F773B0D
        productionStage:
          $ref: '#/components/schemas/ProductionStage'
        distributionStage:
          $ref: '#/components/schemas/DistributionStage'
        upstream:
          $ref: '#/components/schemas/Upstream'
        factoryEmission:
          $ref: '#/components/schemas/FactoryEmission'
        active:
          type: boolean
          description: The active status of the product
          example: true
        creationDate:
          type: string
          description: The creation date of the product
          example: '2021-06-01T12:00:00Z'
        validityPeriodStart:
          type: string
          description: The start of the validity period of the product
          example: '2021-06-01T12:00:00Z'
        validityPeriodEnd:
          type: string
          description: The end of the validity period of the product
          example: '2021-06-01T12:00:00Z'
        certifier:
          type: string
          description: The certifier of the product
          example: Siemens
        revision:
          type: string
          description: The revision of the product
          example: 1
        bomVersion:
          type: string
          description: The BOM version of the product
          example: 1
        emissionUnit:
          type: string
          description: The emission unit of the product
          example: kg
        quantity:
          type: number
          format: double
          description: The quantity of the product
          example: 5
    ProductionStage:
      type: object
      description: Production stage details
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Production stage GWP total (incl. bio.).  kg CO2e/declared unit
          example: 79.868015629124
        pcfExcludingBiogenic:
          type: string
          description: Production stage GWP total (excl. bio.). kg CO2e/declared unit
          example: 56.868015629124
        fossilGhgEmissions:
          type: string
          description: Production stage GWP total (incl. bio.). kg CO2e/functional unit
          example: '79.86801562912497'
        biogenic:
          type: string
          description: Production stage GWP biogenic
          example: '79.86801562912497'
        biogenicCarbonEmissionsOtherThanCO2:
          type: string
          description: Production stage GWP biogenic CO2e-emissions (only other GHG emissions than CO2 – excludes biogenic CO2). kg CO2e/declared unit
          example: '79.86801562912497'
        biogenicCarbonWithdrawal:
          type: string
          description: Production stage GWP biogenic CO2-withdrawal (biogenic CO2 contained in the product). kg CO2e/declared unit
          example: '79.86801562912497'
        dlucAndLuGhgEmissions:
          type: string
          description: Production stage GWP direct land use change (dLUC) and land use (LU)
          example: '79.86801562912497'
        dLucGhgEmissions:
          type: string
          description: GWP direct land use change (dLUC)
          example: '79.86801562912497'
        luGhgEmissions:
          type: string
          description: Production stage GWP land use (LU). kg CO2e/declared unit
          example: '79.86801562912497'
        aircraftGhgEmissions:
          type: string
          description: Production stage GWP aircraft emissions. kg CO2e/declared unit
          example: '79.86801562912497'
        ilucGhgEmissions:
          type: string
          description: Production stage GWP indirect land use change emissions
          example: '79.86801562912497'
        landManagementGhgEmissions:
          type: string
          description: Production stage GWP land management GHG emissions or Removals (incl. non-CO2 sources). kg CO2e/declared unit
          example: '79.86801562912497'
        otherBiogenicGhgEmissions:
          type: string
          description: Production stage GWP biogenic CO2e-emissions other biogenic (excluding LUC and Land management). kg CO2e/declared unitP
          example: '79.86801562912497'
        gwpLandManagementFossil:
          type: string
          description: Production stage GWP land management fossil emissions
          example: '79.86801562912'
        gwpLandManagementBioGhgEmissions:
          type: string
          description: Production stage GWP land management biogenic CO₂ emissions from soil
          example: '79.86801562912'
        gwpLandManagementBioRemovals:
          type: string
          description: Production stage GWP land management biogenic CO₂ removals stored in soil
          example: '79.86801562912'
        gwpCcsCapturesInclFossil:
          type: string
          description: Production stage GWP CCS capturing (incl. fossil)
          example: '79.86801562912'
        gwpCcsRemovalsExclFossil:
          type: string
          description: Production stage GWP technological CO₂ removals/BECCS (excl. fossil)
          example: '79.86801562912'
        gwpUseCredit:
          type: string
          description: Production stage GWP USE Credit
          example: '79.86801562912'
        materialAcquisitionAndPreProcessingSubStage:
          $ref: '#/components/schemas/MaterialAcquisitionAndPreProcessingSubStage'
        productionManufacturingSubStage:
          $ref: '#/components/schemas/ProductionManufacturingSubStage'
    Upstream:
      type: object
      description: Details about the upstream emission details.
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Upstream GWP total (incl. bio). kg CO2e/declared unit
          example: 159.73603125824
        pcfExcludingBiogenic:
          type: string
          description: Upstream GWP total (excl. bio). kg CO2e/declared unit
          example: 15.73603125824
    BOMComponent:
      allOf:
        - $ref: '#/components/schemas/BOMResponseItem'
        - type: object
          properties:
            id:
              type: string
              description: UUID of item present in the BOM.
              example: C98BE31E-3698-412D-91E3-8270102CC7D5
              maxLength: 36
            componentId:
              type: string
              description: UUID of the component that you wish to add.
              example: D7E420C2-5A49-4A34-8EAD-9C52A8F91578
              maxLength: 36
              minLength: 0
            quantity:
              type: string
              description: Quantity of item.
              example: 3.5
              maxLength: 15
      description: BOM Component request data.
    BOMGroup:
      type: object
      allOf:
        - $ref: '#/components/schemas/BOMResponseItem'
        - type: object
          properties:
            id:
              type: string
              description: UUID of item present in the BOM.
              example: C98BE31E-3698-412D-91E3-8270102CC7D5
              maxLength: 36
            groupIdentifier:
              type: string
              description: Identifier to uniquely distinguish a group in system.
              example: 3434AABDACC1
              maxLength: 100
              minLength: 0
            quantity:
              type: string
              description: Quantity of item.
              example: 3.5
              maxLength: 15
            groupName:
              type: string
              description: Name of the group.
              example: Group1
              maxLength: 100
              minLength: 0
      description: BOM Group request data.
      required:
        - groupIdentifier
        - groupName
    BOMItemPaginatedResponseExt:
      type: object
      description: Paginated Bill of material versions response
      properties:
        items:
          type: array
          anyOf:
            - $ref: '#/components/schemas/BOMGroup'
            - $ref: '#/components/schemas/BOMComponent'
            - $ref: '#/components/schemas/BOMProduct'
          description: List of BOM items
          items:
            anyOf:
              - $ref: '#/components/schemas/BOMGroup'
              - $ref: '#/components/schemas/BOMComponent'
              - $ref: '#/components/schemas/BOMProduct'
            description: List of BOM items
        hasNext:
          type: boolean
          description: true if next page exists (page < totalPages)
          example: true
        hasPrev:
          type: boolean
          description: true if previous page exists (page > 0)
          example: false
        page:
          type: integer
          format: int32
          description: The current page-number (starts with 0)
          example: 0
        pageNumber:
          type: integer
          format: int32
          description: The current page-number (starts with 1)
          example: 1
        size:
          type: integer
          format: int32
          description: The size of elements in the response
          example: 10
        totalPages:
          type: integer
          format: int32
          description: The total available pages
          example: 120
    BOMProduct:
      allOf:
        - $ref: '#/components/schemas/BOMResponseItem'
        - type: object
          properties:
            id:
              type: string
              description: UUID of item present in the BOM.
              example: C98BE31E-3698-412D-91E3-8270102CC7D5
              maxLength: 36
            productId:
              type: string
              description: UUID of the product that you wish to add.
              example: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
              maxLength: 36
              minLength: 0
            quantity:
              type: string
              description: Quantity of item.
              example: 3.5
              maxLength: 15
            pcfId:
              type: string
              description: PCF ID.Id will represent like UUID v4.
              example: d7e420c2-5a49-4a34-8ead-9c52a8f91577
              maxLength: 36
              minLength: 0
      description: BOM Product request data.
    BOMResponseItem:
      type: object
      description: Response data for BOM item.
      properties:
        id:
          type: string
          description: UUID of item present in the BOM.
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
          maxLength: 36
        quantity:
          type: string
          description: Quantity of item.
          example: 3.5
          maxLength: 15
    Assurance:
      type: object
      description: Assurance details
      properties:
        verificationType:
          type: string
          description: Assurance type.
          enum:
            - self-declared PCF
            - third party verified PCF
          example: third party verified PCF
        providerName:
          type: string
          description: Certifier name (for 3rd party verification only).
          example: Certifier name
        certificationNumber:
          type: string
          description: Certification number (for 3rd party verification only).
          example: Certification number
        completedAt:
          type: string
          description: Issue date of verification statement.DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        standardName:
          type: string
          description: Standards or product category rules covered by verification
          example: Standards
        coverage:
          type: string
          description: Assurance coverage.
          enum:
            - corporate level
            - product line
            - PCF system
            - product level
          example: product line
        level:
          type: string
          description: Assurance level.
          enum:
            - limited
            - reasonable
          example: limited
        boundary:
          type: string
          description: Assurance boundary
          enum:
            - Gate-to-gate
            - Cradle-to-gate
          example: Gate-to-gate
        assuranceStatement:
          type: string
          description: Assurance statement
          example: free text
        comments:
          type: string
          description: Assurance Comments
          example: free text
        linkToAttestation:
          type: string
          description: Assurance linkToAttestation
          example: linkToAttestation
        attestationSchemeStandard:
          type: string
          description: Assurance attestationSchemeStandard
          example: attestationSchemeStandard
        attestationType:
          type: string
          description: Assurance attestationType
          example: attestationType
        attestationId:
          type: string
          description: Assurance attestationId
          example: attestationId
    CarbonAssesment:
      type: object
      description: Carbon Assesment details
      properties:
        pcfIncludingBiogenic:
          type: string
          description: GWP total (incl. bio.). kg CO2e/declared unit
          example: 79.868015629124
        pcfExcludingBiogenic:
          type: string
          description: GWP total (excl. bio.). kg CO2e/declared unit
          example: 79.868015629124
    Company:
      type: object
      description: Company Details
      properties:
        companyName:
          type: string
          description: Company name.
          example: Company name
        companyIds:
          type: array
          description: PCF createdOn DateTime.DateTime (ISO 8601; UTC Timezone)
          example: List["companyID1"]
          items:
            type: string
          maxLength: 20
        companyProducer:
          type: string
          description: Name of producer, if it differs from the supplier of product.
          example: 14
        companyContactEmail:
          type: string
          description: Contact email address.
          example: Controls E1456
        companyContactPhone:
          type: string
          example: Contact phone.
    Dqi:
      type: object
      description: DQI details
      properties:
        coveragePercent:
          type: string
          description: Coverage of data quality assessment
          example: 100
          maximum: 100
          minimum: 0
        technologicalDQR:
          type: string
          description: Technological representativeness
          example: 1.2
          maximum: 3
          minimum: 1
        temporalDQR:
          type: string
          description: Temporal representativeness
          example: 1.3
          maximum: 3
          minimum: 1
        geographicalDQR:
          type: string
          description: Geographical representativeness
          example: 1.8
          maximum: 3
          minimum: 1
        completenessDQR:
          type: string
          description: Completeness
          example: 2.5
          maximum: 3
          minimum: 1
        reliabilityDQR:
          type: string
          description: Reliability
          example: 2.5
          maximum: 3
          minimum: 1
        uncertaintyAssessmentDescription:
          type: string
          description: Qualitative uncertainty description
          example: free text
        massBalancesChecked:
          type: string
          description: Decision type details
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
    EolStage:
      type: object
      description: Eol Stage details
      properties:
        pcfIncludingBiogenic:
          type: string
          description: End-of-life stage GWP total (incl. bio.). kg CO2e/declared unit
          example: 79.868015629124
        pcfExcludingBiogenic:
          type: string
          description: End-of-life stage GWP total (excl. bio.). kg CO2e/declared unit
          example: 79.868015629124
        demolitionSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        transportSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        wasteProcessingSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        disposalSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
    GetPcfDataResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PCFDataResponse'
        hasNext:
          type: boolean
          description: true if next page exists (page < totalPages)
          example: true
        hasPrev:
          type: boolean
          description: true if previous page exists (page > 0)
          example: false
        page:
          type: integer
          format: int32
          description: The current page-number (starts with 0)
          example: 0
        pageNumber:
          type: integer
          format: int32
          description: The current page-number (starts with 1)
          example: 1
        size:
          type: integer
          format: int32
          description: The size of elements in the response
          example: 10
        totalPages:
          type: integer
          format: int32
          description: The total available pages
          example: 120
    InstallationAndAssemblyStage:
      type: object
      description: Installation And Assembly Stage details
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Installation/assembly stage GWP total (incl. bio.). kg CO2e/declared unit
          example: '79.86801562912497'
        pcfExcludingBiogenic:
          type: string
          description: Installation/assembly stage GWP total (excl. bio.). kg CO2e/declared unit
          example: '79.86801562912497'
        installationSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        eolTreatmentOfGeneratedWasteInstallationSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
    PCFDataResponse:
      type: object
      properties:
        productId:
          type: string
          description: UUID to identify the product of the company in SiGREEN
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
          maxLength: 36
        name:
          type: string
          description: Identifier type value.
          example: Simatics PL7
          maxLength: 100
        pcfId:
          type: string
          description: PCF ID.Id will represent like UUID v4.
          example: d7e420c2-5a49-4a34-8ead-9c52a8f91577
        expired:
          type: boolean
          description: PCF which is expired
          example: true
        active:
          type: boolean
          description: true - Active PCF
          example: true
        valid:
          type: boolean
          description: true - Valid PCF
          example: true
        createdOn:
          type: string
          description: PCF createdOn DateTime.DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        pcfState:
          type: string
          description: State of the pcf to say if it self certified or certified by a 3rd party certifier
          example: Certified,Self published,Draft
        pcfData:
          $ref: '#/components/schemas/VerifiedData'
    PCFProductDetails:
      type: object
      description: Product details.
      properties:
        productNameCompany:
          type: string
          description: Stating the (legal) name of the company supplying the product and reporting the PCF (data owner).
          example: TestCompany
          maxLength: 100
        productIds:
          type: array
          description: All relevant product identifiers, e.g. supplier part number, GTIN, article number, CPC classification, CAS Number, BOM Version, batch number etc.
          example: List [ "401765", "4303F98A-785F" ]
          items:
            type: string
        bomVersion:
          type: string
          description: Bill of material for corresponding PCF. Bom version created for a specific product.
          example: No BOM selected
        productClassification:
          type: string
          description: Product classification.
          example: "CAS:58-08-2; CPC:12345"
        productCodeCpc:
          type: string
          description: The corresponding CPC number to your product (unique identification number assigned to chemical substances).
          example: 58-08-2
        productCodeCas:
          type: string
          description: The corresponding CAS number to your product (unique identification number assigned to chemical substances).
          example: 58-08-2
          maxLength: 20
        productDescription:
          type: string
          description: Brief description of the product (for example functions and technical parameters).
          example: Ethanol, 95% solution
          maxLength: 2000
      required:
        - productIds
    PcfData:
      type: object
      properties:
        scopePcf:
          $ref: '#/components/schemas/ScopePcf'
          description: Scope of PCF
        declaredUnit:
          type: string
          description: Unit Types Enum
          enum:
            - piece
            - kg
            - L
            - m²
            - m³
            - kWh
            - km
            - TEU
            - pkm
            - tkm
            - MJ
            - m2
            - m3
          example: kg
        unitaryProductAmount:
          type: string
          description: Quantity (of declared unit)
          example: 1.5
        productMassPerDeclaredUnit:
          type: string
          description: Product mass [kg] per declared unit
          example: 1.5
        id:
          type: string
          description: PCF ID. Id will represent like UUID v4
          example: id
        precedingPCFIds:
          type: array
          items:
            description: Previous PCF IDs. Id will represent like UUID v4
            example: List [ "id1", "id2" ]
        version:
          type: string
          description: PCF version, the value can be in decimals
          example: 1.2
        pfStatus:
          type: string
          description: PCF status
          enum:
            - Active
            - Deprecated
          example: Active
        pfStatusComment:
          type: string
          description: PCF status comment
          example: PCF status comment
        exemptedEmissionsPercent:
          type: string
          description: Cut-off rule %
          example: 1
          maximum: 10
          minimum: 0
        exemptedEmissionsDescription:
          type: string
          description: Cut-off and exemption rules explanation
          example: exemptedEmissionsDescription
        boundaryProcessesDescription:
          type: string
          description: Important unit processes and used technologies
          example: boundaryProcessesDescription
        typeRecycledContent:
          type: string
          description: Type of recycled content
          enum:
            - post-industrial
            - post-consumer
          example: post-industrial
        ccuCo2Origin:
          type: string
          description: CCU CO2-origin
          example: ccuCo2Origin
        geographyCountrySubdivision:
          type: string
          description: City/state as country subdivision according to ISO 3166-2 alpha-2 subdivision code
          example: BY
        geographyCountry:
          type: string
          description: Geography country according to ISO 3166-2 alpha-2 country code
          example: DE
        geographyRegionOrSubregion:
          type: string
          description: Geography with region or subregion
          enum:
            - Africa
            - Americas
            - Asia
            - Europe
            - Oceania
            - Australia and New Zealand
            - Central Asia
            - Eastern Asia
            - Eastern Europe
            - Latin America and the Caribbean
            - Melanesia
            - Micronesia
            - Northern Africa
            - Northern America
            - Northern Europe
            - Polynesia
            - South-eastern Asia
            - Southern Asia
            - Southern Europe
            - Sub-Saharan Africa
            - Western Asia
            - Western Europe
            - Global
          example: Europe
        locationProductHandover:
          type: string
          description: Location of product handover
          enum:
            - Own factory gate
            - Customer gate
            - other
          example: Own factory gate
        referencePeriodStart:
          type: string
          description: Reference period start. DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        referencePeriodEnd:
          type: string
          description: Reference period end. DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        created:
          type: string
          description: Date of issue. DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        updated:
          type: string
          description: Date update. DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        validityPeriodStart:
          type: string
          description: Validity period start. DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        validityPeriodEnd:
          type: string
          description: Validity period end. DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-21T08:30:00.000Z'
        crossSectoralStandardsUsed:
          type: array
          items:
            description: Cross-sectoral standards applied
            enum:
              - ISO 14067
              - Pathfinder v1
              - Pathfinder v2
              - GHG Protocol Product
              - PAS 2050
              - ISO 14040-44
              - PEF
              - Other
            example: ISO 14067
        productOrSectorSpecificRules:
          type: array
          items:
            description: Product or sector rules applied
            enum:
              - Catena-X Rulebook v1
              - Catena-X Rulebook v2
              - TFS Guideline v2
              - EN 50693
              - EN 15804
              - BPX 30-323
              - Not specified
            example: Catena-X Rulebook v1
        operator:
          type: string
          description: Select other
          enum:
            - PEF
            - EPD International
            - Other
          example: PEF
        otherOperatorName:
          type: string
          description: Publisher's URN of product or sector specific guidance
          example: otherOperatorName
        biogenicAccountingMethodology:
          type: string
          description: Methodology used to account for biogenic emissions and removals applied
          enum:
            - PEF
            - GHGP
            - Quantis
          example: PEF
        characterizationFactorsTimeHorizon:
          type: string
          description: Time horizon of GWP values
          enum:
            - GWP100
            - GWP20
            - GWP500
            - GWP1000
            - Unspecified
          example: GWP100
        characterizationFactors:
          type: string
          description: IPCC report version of GWP values
          enum:
            - AR1
            - AR2
            - AR3
            - AR4
            - AR5
            - AR6
            - Unspecified
          example: AR1
        characterizationFactorsClimateCarbonFeedback:
          type: string
          description: Are climate-carbon feedbacks included in the GWP?
          enum:
            - 'yes'
            - 'no'
            - partly
            - Unspecified
          example: 'yes'
        characterizationFactorsClimateCarbonFeedbackLciaMethod:
          type: string
          description: LCIA method applied in assessment
          enum:
            - Greenhouse Gas Protocol
            - PEF
            - IPCC 2013 GWP100a
            - IPCC 2013 GWP20a
            - IPCC 2007 GWP100a
            - IPCC 2007 GWP20a
            - IPCC 2001 GWP100a
            - IPCC 2001 GWP20a
            - ReCiPe 2016 Midpoint (E)
            - ReCiPe 2016 Midpoint (I)
            - ReCiPe 2016 Midpoint (H)
            - CML-IA baseline
            - CML 1992
            - CML 2 baseline 2000
            - CML 2001 (all impact categories)
            - EDIP 2003
            - EPD (2008)
            - EPD (2013)
            - ILCD 2011 Midpoint+
            - IMPACT 2002+
            - TRACI 2.1
            - BEES+
            - other
            - unspecified
          example: Greenhouse Gas Protocol
        characterizationFactorsGhgExclusions:
          type: string
          description: Exclusion of greenhouse gases
          example: characterizationFactorsGhgExclusions
        allocationRulesDescription:
          type: string
          description: Allocation rules applied
          example: allocationRulesDescription
        recycledMaterialAllocationApproach:
          type: string
          description: Recycled material allocation approach
          enum:
            - Recycled content method
            - Closed loop approximation method
          example: Recycled content method
        allocationWasteIncineration:
          type: string
          description: Allocation approach used for waste incineration with energy recovery
          enum:
            - cut-off
            - reverse cut-off
            - system expansion
          example: cut-off
        allocationRecycledCarbon:
          type: string
          description: Allocation approach used for recycled material & c-content
          enum:
            - upstream system expansion
            - cut-off
          example: upstream system expansion
        allocationCcuCarbon:
          type: string
          description: Allocation approach used for CCU
          enum:
            - upstream system expansion
            - cut-off
          example: cut-off
        tfsPcrUsedForAllocation:
          type: string
          description: Was the TFS PCR used for allocation
          example: PCF steam cracker (Plastics EU)
        systemExpansionSubstitutionUsed:
          type: string
          description: Was system expansion or substitution used
          example: not used
        massBalancingInformation:
          $ref: '#/components/schemas/MassBalancingInformation'
        creditInformation:
          $ref: '#/components/schemas/CreditInformation'
        primaryDataShare:
          type: string
          description: Primary Data Share (PDS)
          example: primaryDataShare
          maximum: 100
          minimum: 0
        sourceOfPrimaryData:
          type: string
          description: Source of primary data
          example: sourceOfPrimaryData
        secondaryEmissionFactorSources:
          type: array
          items:
            type: string
        secondaryEmissionFactorSourcesVersion:
          type: string
          description: Secondary data source version
          example: secondaryEmissionFactorSourcesVersion
        dqi:
          $ref: '#/components/schemas/Dqi'
        verificationAndCertificationShares:
          $ref: '#/components/schemas/VerificationAndCertificationShares'
        assurance:
          $ref: '#/components/schemas/Assurance'
        comment:
          type: string
          description: Comments
          example: comment
        pcfLegalStatement:
          type: string
          description: Legal statement
          example: pcfLegalStatement
        totalInBio:
          type: string
          description: GWP total (incl. bio)
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        totalExBio:
          type: string
          description: GWP total (excl. bio)
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        fossilEmissions:
          type: string
          description: GWP fossil
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        biogenic:
          type: string
        biogenicEmissionsNonCo2Only:
          type: string
          description: GWP biogenic CO2e-emissions (only other GHG emissions than CO2 – excludes biogenic CO2)
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        biogenicEmissionsCo2Only:
          type: string
          description: GWP biogenic CO2e-withdrawal (biogenic CO2 contained in the product)
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        dluc:
          type: string
          description: GWP direct land use change (dLUC)
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        lu:
          type: string
          description: GWP land use (LU)
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        ilucGhgEmissions:
          type: string
          description: GWP indirect land use change emissions
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        landManagementGhgEmissions:
          type: string
          description: GWP land management GHG emissions or Removals (incl. non-CO2 sources)
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        landManagementFossilEmissions:
          type: string
          description: GWP land management fossil emissions
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        landManagementBiogenicCo2eEmissions:
          type: string
          description: GWP land management biogenic CO₂ emissions from soil
          enum:
            - 'yes'
            - 'no'
          example: 'yes'

        landManagementBiogenicCo2eRemovals:
          type: string
          description: GWP land management biogenic CO₂ removals stored in soil
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        dlucAndLu:
          type: string
          description: GWP land use (LU) and direct land use change (dLUC)
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
        aircraft:
          type: string
          description: GWP aircraft emissions
          enum:
            - 'yes'
            - 'no'
          example: 'yes'

        ccsRemovalsExclFossil:
          type: string
          description: "CCS rem. excl. fossil: GWP technological CO₂ removals/BECCS (excl. fossil)"
          enum:
            - 'yes'
            - 'no'
          example: 'yes'

        ccsCapturesInclFossil:
          type: string
          description: "CCS capt. incl. fossil: GWP CCS capturing (incl. fossil)"
          enum:
            - 'yes'
            - 'no'
          example: 'yes'

        useCredit:
          type: string
          description: "GWP USE Credit"
          enum:
            - 'yes'
            - 'no'
          example: 'yes'

        landOccupation:
          type: string
          description: "Land occupation"
          enum:
            - 'yes'
            - 'no'
          example: 'yes'
          otherBiogenicGhgEmissions:
            type: string
            description: GWP biogenic CO2e-emissions other biogenic (excluding LUC and Land management)
            enum:
              - 'yes'
              - 'no'
            example: 'yes'
        productionStage:
          $ref: '#/components/schemas/ProductionStage'
        distributionStage:
          $ref: '#/components/schemas/DistributionStage'
        installationAndAssemblyStage:
          $ref: '#/components/schemas/InstallationAndAssemblyStage'
        useStage:
          $ref: '#/components/schemas/UseStage'
        eolStage:
          $ref: '#/components/schemas/EolStage'
        reuseRecoveryRecyclingPotentialStage:
          $ref: '#/components/schemas/CarbonAssesment'
        productCarbonContent:
          $ref: '#/components/schemas/ProductCarbonContent'
          description: Product carbon content details.
    ProductCarbonContent:
      type: object
      properties:
        carbonContentTotal:
          type: string
          description: Total carbon content accounts for the embodied mass of carbon (kg C) per declared unit of product.
          example: 79.86801562912
          maxLength: 15
        fossilCarbonContent:
          type: string
          description: Fossil carbon content accounts for the embodied mass of carbon (kg C) per declared unit of product.
          example: 79.86801562912
          maxLength: 15
        carbonContentBiogenic:
          type: string
          description: Biogenic carbon content accounts for the embodied mass of biogenic carbon (kg C) per declared unit of product.
          example: 79.86801562912
          maxLength: 15
        carbonContentRecycled:
          type: string
          description: Recycled carbon content accounts for the embodied mass of recycled (physically or biomass balance-based) carbon (kg C) per declared unit of product.
          example: 79.86801562912
          maxLength: 15
        carbonContentCcuBased:
          type: string
          description: CCU-based carbon content accounts for the embodied mass of carbon (kg C) per declared unit of product resulting from the use of carbon capture and utilization technologies.
          example: 79.86801562912
          maxLength: 15
        packagingCarbonContent:
          type: string
          description: Packaging carbon content accounts for the embodied mass of carbon (kg C) per declared unit of product resulting from the use of carbon capture and utilization technologies.
          example: 79.86801562912
          maxLength: 15
    ScopePcf:
      type: object
      properties:
        specVersion:
          description: Data model and version.
          example: List [ "TFS V2", "Catena-X V2", "Tfs V3.0.1", "PACT V3.0.1" ]
        limitedOrFullDec:
          type: string
          description: Limited or full declaration.
          enum:
            - Mandatory inputs only
            - Mandatory and optional inputs
          example: Mandatory inputs only
        partialFullPcf:
          type: string
          description: Partial or a full PCF.
          enum:
            - Cradle-to-gate
            - Cradle-to-grave
          example: Cradle-to-gate
        biogenicLandSectorEmissionsIncluded:
          type: string
          description: biogenicLandSectorEmissionsIncluded
          example: 'Applicable'
        ccuApplied:
          type: string
          description: ccu Applied or not
          example: 'True'
        ccsApplied:
          type: string
          description: ccs Applied or not
          example: 'True'
        productionStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        materialAcquisitionAndPreProcessingSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        rawMaterialAcquistionSub2Stage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        preprocessingSub2Stage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        transportToManufacturingSiteSub2Stage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        manufacturingSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        assemblySub2Stage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        packagingEmissionsIncluded:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        eolTreatmentOfGeneratedWasteMfgSub2Stage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        distributionStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        transportAToDistributerSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        reconditioningAtDistributorSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        transportBToPlaceOfUseSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        installationAndAssemblyStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        installationSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        eolTreatmentOfGeneratedWasteInstallationSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        useStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        useSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        maintenanceSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        repairSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        replacementSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        eolTreatmentOfGeneratedWasteUseSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        refurbishmentSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        operationalEnergyUseSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        operationalWaterUseSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        eolStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        demolitionSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        transportSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        wasteProcessingSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        disposalSubStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
        reuseRecoveryRecyclingPotentialStage:
          type: string
          description: Scope Pcf Type
          enum:
            - INCLUDED
            - EXCLUDED
          example: included
    UseStage:
      type: object
      description: Use Stage details
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Use stage GWP total (incl. bio.). kg CO2e/declared unit
          example: 79.868015629124
        pcfExcludingBiogenic:
          type: string
          description: Use stage GWP total (excl. bio.). kg CO2e/declared unit
          example: 79.868015629124
        useSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
          description: Carbon Assessment details for use sub-stage
        maintenanceSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
          description: Carbon Assessment details for maintenance sub-stage
        repairSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
          description: Carbon Assessment details for repair sub-stage
        replacementSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
          description: Carbon Assessment details for replacement sub-stage
        eolTreatmentOfGeneratedWasteUseSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
          description: Carbon Assessment details for end-of-life treatment of generated waste use sub-stage
        refurbishmentSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
          description: Carbon Assessment details for refurbishment sub-stage
        operationalEnergyUseSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
          description: Carbon Assessment details for operational energy use sub-stage
        operationalWaterUseSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
          description: Carbon Assessment details for operational water use sub-stage
    VerifiedData:
      type: object
      description: Verified Data
      properties:
        company:
          $ref: '#/components/schemas/Company'
          description: Company
        product:
          $ref: '#/components/schemas/PCFProductDetails'
          description: PCFProductDetails
        pcf:
          $ref: '#/components/schemas/PcfData'
    JobStatusResponse:
      type: object
      description: Response data for a job status.
      properties:
        status:
          type: string
          description: Status of the job
          enum:
            - PENDING
            - IN_PROGRESS
            - COMPLETED
            - FAILED
          example: COMPLETED
        jobId:
          type: string
          description: Unique identifier of the job
          example: B98BE31E-3698-412D-91E3-8270102CC7D4
        message:
          type: string
          description: Meaningful job status message
          example: Job is successfully completed
        name:
          type: string
          description: Job Name
          example: BOM Sync
    IdentifierType:
      type: object
      description: Details about the Identifier Type
      properties:
        id:
          type: string
          format: uuid
          description: UUID to identify the identifier type present in a company in SiGREEN
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        idType:
          type: string
          description: Identifier type value.
          example: SAP-NO
        isMainIdentifierType:
          type: boolean
          description: Whether it is main identifier type or not.
          example: true
        isMandatory:
          type: boolean
          description: Whether it is main identifier type is required to defined for products.
          example: true
    ProductIdentifierTypesResponse:
      type: object
      properties:
        items:
          type: array
          description: List of product identifiers
          items:
            $ref: '#/components/schemas/IdentifierType'
        hasNext:
          type: boolean
          description: true if next page exists (page < totalPages)
          example: true
        hasPrev:
          type: boolean
          description: true if previous page exists (page > 0)
          example: false
        page:
          type: integer
          format: int32
          description: The current page-number (starts with 0)
          example: 0
        pageNumber:
          type: integer
          format: int32
          description: The current page-number (starts with 1)
          example: 1
        size:
          type: integer
          format: int32
          description: The size of elements in the response
          example: 10
        totalPages:
          type: integer
          format: int32
          description: The total available pages
          example: 120
        totalRecords:
          type: integer
          format: int64
          description: Total number of records.
          example: 100
    BOMVersionPaginatedResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BillOfMaterialVersion'
        hasNext:
          type: boolean
          description: true if next page exists (page < totalPages)
          example: true
        hasPrev:
          type: boolean
          description: true if previous page exists (page > 0)
          example: false
        page:
          type: integer
          format: int32
          description: The current page-number (starts with 0)
          example: 0
        pageNumber:
          type: integer
          format: int32
          description: The current page-number (starts with 1)
          example: 1
        size:
          type: integer
          format: int32
          description: The size of elements in the response
          example: 10
        totalPages:
          type: integer
          format: int32
          description: The total available pages
          example: 120
    BillOfMaterialVersion:
      type: object
      properties:
        id:
          type: string
          description: UUID to identify the Bill of Material Version in SiGREEN
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        version:
          type: string
          description: Version of the Bill of Material
          example: 3.1.1
          maxLength: 50
        locked:
          type: boolean
          description: Whether BOM is locked or not
          example: false
        comment:
          type: string
          description: Comments
          example: Bill of Material Version 1
          maxLength: 200
        revision:
          type: string
          description: Revision of the BOM
          example: 1.9
          maxLength: 200
        productId:
          type: string
          description: UUID to identify the product of the company in SiGREEN
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
          maxLength: 36
        productName:
          type: string
          description: Name of Product
          example: Simatics PL7
          maxLength: 100
        latestSync:
          type: string
          description: Last BOM sync DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        upstreamEmission:
          $ref: '#/components/schemas/UpstreamEmission'
          description: Details about the upstream emission details.
        productionStage:
          $ref: '#/components/schemas/ProductionStage'
          description: Production stage details
        distributionStage:
          $ref: '#/components/schemas/DistributionStage'
          description: Distribution stage details
        createdOn:
          type: string
          description: Created date of BOM version in UTC format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')
          example: '2023-10-01T12:00:00.000Z'
          maxLength: 30
        updatedOn:
          type: string
          description: Updated date of BOM version in UTC format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')
          example: '2023-11-01T12:00:00.000Z'
          maxLength: 30
        upstreamEmissionCreatedOn:
          type: string
          description: Upstream emission creation date in UTC format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')
          example: '2023-11-01T12:00:00.000Z'
    UpstreamEmission:
      type: object
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Upstream GWP total (incl. bio.). kg CO2e/declared unit
          example: 79.868015629124
        pcfExcludingBiogenic:
          type: string
          description: Upstream GWP total (excl. bio.). kg CO2e/declared unit
          example: 56.868015629124
    ProductPaginatedResponse:
      type: object
      description: Paginated product response
      properties:
        items:
          type: array
          description: List of products
          items:
            $ref: '#/components/schemas/ProductResponse'
        hasNext:
          type: boolean
          description: true if next page exists (page < totalPages)
          example: true
        hasPrev:
          type: boolean
          description: true if previous page exists (page > 0)
          example: false
        page:
          type: integer
          format: int32
          description: The current page-number (starts with 0)
          example: 0
        pageNumber:
          type: integer
          format: int32
          description: The current page-number (starts with 1)
          example: 1
        size:
          type: integer
          format: int32
          description: The size of elements in the response
          example: 10
        totalPages:
          type: integer
          format: int32
          description: The total available pages
          example: 120
        totalRecords:
          type: integer
          format: int64
          description: Total number of records.
          example: 100
    PaginatedroductFamily:
      type: object
      description: Paginated product families data response.
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProductFamily'
        hasNext:
          type: boolean
          description: true if next page exists (page < totalPages)
          example: true
        hasPrev:
          type: boolean
          description: true if previous page exists (page > 0)
          example: false
        page:
          type: integer
          format: int32
          description: The current page-number (starts with 0)
          example: 0
        pageNumber:
          type: integer
          format: int32
          description: The current page-number (starts with 1)
          example: 1
        size:
          type: integer
          format: int32
          description: The size of elements in the response
          example: 10
        totalPages:
          type: integer
          format: int32
          description: The total available pages
          example: 120
    FactoryDetails:
      type: object
      properties:
        id:
          type: string
          description: A Unique identifier to identify a Factory for a company in SiGREEN.
          example: 098MS0-IN9099-HJH98275-LML892
        factory:
          type: string
          description: Factory name present in SiGREEN for a company.
          example: Munich Factory
    PaginatedFactoryResponse:
      type: object
      properties:
        items:
          type: array
          description: List of Factories
          items:
            $ref: '#/components/schemas/FactoryDetails'
        hasNext:
          type: boolean
          description: true if next page exists (page < totalPages)
          example: true
        hasPrev:
          type: boolean
          description: true if previous page exists (page > 0)
          example: false
        page:
          type: integer
          format: int32
          description: The current page-number (starts with 0)
          example: 0
        pageNumber:
          type: integer
          format: int32
          description: The current page-number (starts with 1)
          example: 1
        size:
          type: integer
          format: int32
          description: The size of elements in the response
          example: 10
        totalPages:
          type: integer
          format: int32
          description: The total available pages
          example: 120
        totalRecords:
          type: integer
          format: int64
          description: Total number of records.
          example: 100
    MassBalancingInformation:
      type: object
      properties:
        massBalancingUsed:
          type: string
          description: Mass balancing used or not
          example: 'true'
        freeAttributionInMassBalancing:
          type: string
          description: Free Attribute in mass balancing used or not
          example: 'true'
        massBalanceCalculationApproach:
          type: string
          description: Mass balance calculation approach
          example: Both conventional reference and inventory
        massBalancingCertificateScheme:
          type: string
          description: Mass balancing certificate scheme
          example: ISCC+
    CreditInformation:
      type: object
      properties:
        ccuCreditCertificateLink:
          type: string
        useCreditCertificateScheme:
          type: string
        ccuCreditCertificateScheme:
          type: string
    VerificationAndCertificationShares:
      type: object
      properties:
        pcs:
          type: "50.5"
        pvs_1:
          type: 2
        pvs_2:
          type: 1
        pvs_3:
          type: 0
    PackagingCarbonStage:
      type: object
      properties:
        pcfIncludingBiogenic:
          type: string
          description: GWP total (incl. bio.). kg CO2e/declared unit
          example: 79.868015629124
        pcfExcludingBiogenic:
          type: string
          description: GWP total (excl. bio.). kg CO2e/declared unit
          example: 79.868015629124
        fossilEmissions:
          type: string
        biogenicEmissionsAndRemovals:
          type: string
          example: '79.86801562912497'
        biogenicCo2Emissions:
          type: string
          example: '79.86801562912497'
        biogenicCo2Uptake:
          type: string
          example: '79.86801562912497'
        directLandUseChangeAndLandUseEmissions:
          type: string
          example: '79.86801562912497'
        landUseChangeEmissions:
          type: string
          example: '79.86801562912497'
        landManagementFossilEmissions:
          type: string
          example: '79.86801562912497'
        landManagementBiogenicCo2Emissions:
          type: string
          example: '79.86801562912497'
        landManagementBiogenicEmissionsAndRemovals:
          type: string
          example: '79.86801562912497'
        aviationEmissions:
          type: string
          example: '79.86801562912497'
        technologicalCo2RemovalsEmissions:
          type: string
          example: '79.86801562912497'
    MaterialAcquisitionAndPreProcessingSubStage:
      type: object
      description: Material Acquisition And PreProcessing SubStage details
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Material acquisition and pre-processing stage GWP total (incl. bio.). kg CO2e/declared unit
          example: '79.86801562912497'
        pcfExcludingBiogenic:
          type: string
          description: Material acquisition and pre-processing stage GWP total (excl. bio.). kg CO2e/declared unit
          example: '79.86801562912497'
        rawMaterialAcquisition2SubStage:
          $ref: '#/components/schemas/ReuseRecoveryRecyclingPotentialStage'
        preprocessing2SubStage:
          $ref: '#/components/schemas/ReuseRecoveryRecyclingPotentialStage'
        transportToManufacturingSite2SubStage:
          $ref: '#/components/schemas/ReuseRecoveryRecyclingPotentialStage'
    ProductionManufacturingSubStage:
      type: object
      description: Production Manufacturing SubStage details
      properties:
        pcfIncludingBiogenic:
          type: string
          description: Manufacturing stage GWP total (incl. bio.). kg CO2e/declared unit
          example: '79.86801562912497'
        pcfExcludingBiogenic:
          type: string
          description: Manufacturing stage GWP total (excl. bio.). kg CO2e/declared unit
          example: '79.86801562912497'
        assembly2SubStage:
          $ref: '#/components/schemas/ReuseRecoveryRecyclingPotentialStage'
        packaging2SubStage:
          $ref: '#/components/schemas/PackagingCarbonStage'
        eolTreatmentOfGeneratedWasteMfg2SubStage:
          $ref: '#/components/schemas/ReuseRecoveryRecyclingPotentialStage'
    ReuseRecoveryRecyclingPotentialStage:
      type: object
      description: Carbon Assessment details
      properties:
        pcfIncludingBiogenic:
          type: string
          description: GWP total (incl. bio.). kg CO2e/declared unit
          example: '79.86801562912497'
        pcfExcludingBiogenic:
          type: string
          description: GWP total (excl. bio.). kg CO2e/declared unit
          example: '79.86801562912497'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
