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.15.0-v1
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: Get Own Products' PCF
    description: Product PCF APIs
  - name: Factories
    description: '![basic](https://developer.siemens.com/sigreen/images/api-package-basic-green.svg) Factory 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'
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
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
      responses:
        '200':
          description: The request was successful and received single product data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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
          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:
                $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:
                $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:
                $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:
                $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
          example: C99BE31E-3698-422D-91E3-8270102CC7D5
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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
  /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:
                $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:
                $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:
                $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:
                $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
          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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
            maxLength: 50
            minLength: 3
            type: string
          example: Simatics PL7
        - name: name
          in: query
          description: Filter products by name
          required: false
          schema:
            maxLength: 100
            minLength: 0
            type: string
          example: Simatics PL7
        - name: family
          in: query
          description: Filter products by product family
          required: false
          schema:
            maxLength: 100
            minLength: 0
            type: string
          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:
            maxLength: 100
            minLength: 0
            type: string
          example: ProductId1
        - name: idValue
          in: query
          description: Filter products based on either main or additional identifier value in SiGREEN.
          required: false
          schema:
            maxLength: 100
            minLength: 0
            type: string
          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 - Ascending 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:
            minimum: 0
            type: integer
            format: int32
            default: 0
          example: 1
        - name: size
          in: query
          description: Number of records in a page
          required: false
          schema:
            minimum: 1
            type: integer
            format: int32
            default: 10
          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:
                $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:
                $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:
                $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:
                $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:
                $ref: '#/components/schemas/ProductResponseData'
              example:
                id: C98BE31E-3698-412D-91E3-8270102CC7D5
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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
  /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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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:
                $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
          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
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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
          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
          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:
                $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:
                $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:
                $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:
                $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
          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
          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:
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: size
          in: query
          required: false
          schema:
            minimum: 1
            type: integer
            format: int32
            default: 10
      responses:
        '200':
          description: The request was successful and received Bill of material items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMItemPaginatedResponseExt'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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
          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
          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:
                $ref: '#/components/schemas/JobID'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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
          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
          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:
                $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:
                $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:
                $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:
                $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
          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
          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
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      responses:
        '204':
          description: No content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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
          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
          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
          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:
                $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:
                $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:
                $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:
                $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
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      responses:
        '204':
          description: No Content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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:
                $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
          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:
                $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:
                $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:
                $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:
                $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:
                $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
          example: UR78D-HFJ89-JF7HD-Y98TH
      responses:
        '204':
          description: No Content
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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:
                $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
          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:
                $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:
                $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:
                $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:
                $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:
                $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
          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
            default: active
            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:
                $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:
                $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:
                $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:
                $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
            example:
              - TFS V2
            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
        - 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:
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: size
          in: query
          description: Page size
          required: false
          schema:
            minimum: 1
            type: integer
            format: int32
            default: 10
        - 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:
                $ref: '#/components/schemas/GetPcfDataResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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:
                $ref: '#/components/schemas/JobStatusResponse'
        '400':
          description: Bad request.
          content:
            application/problem+json:
              schema:
                $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:
                $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:
                $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:
                $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:
            maxLength: 50
            minLength: 0
            type: string
          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:
            minimum: 0
            type: integer
            format: int32
            default: 0
          example: 0
        - name: size
          in: query
          description: Size of the page default value is 10
          required: false
          schema:
            minimum: 1
            type: integer
            format: int32
            default: 10
        - 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:
                $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:
                $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:
                $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:
                $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:
      required:
        - default
        - idType
        - value
      type: object
      properties:
        value:
          maxLength: 100
          type: string
          description: Value of the identifier
          example: TEST-1
        idType:
          maxLength: 100
          minLength: 0
          type: string
          description: Type of the identifier
          example: ProductId1
        default:
          type: boolean
          description: Indicates if this is the main identifier or not, Product can have multiple additional identifiers.
          example: true
      description: Product identifier request data.
    ProductRequest:
      required:
        - identifiers
        - name
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: Name of the product
          example: Simatics PL7
        family:
          maxLength: 100
          type: string
          description: Family of the product
          example: Controls E1456
        identifiers:
          maxItems: 100
          minItems: 1
          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'
        description:
          maxLength: 500
          minLength: 0
          type: string
          description: Description of the product
          example: Your product description
        weight:
          maxLength: 15
          minLength: 0
          type: string
          description: Weight of the product
          example: '1.533'
        quantity:
          maxLength: 15
          minLength: 0
          type: string
          description: Quantity of the product
          example: '5'
        unitType:
          type: string
          description: Unit type of the product
          example: kg
          enum:
            - piece
            - kg
            - m2
            - m3
            - kWh
            - tkm
            - MJ
            - L
        factoryIds:
          uniqueItems: true
          type: array
          description: Factory IDs associated with the product
          example:
            - C98BE31E-3698-412D-91E3-8270102CC7D5
          items:
            type: string
            description: Factory IDs associated with the product
            example: '["C98BE31E-3698-412D-91E3-8270102CC7D5"]'
      description: Product request data.
    Errors:
      type: object
      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
      description: Extended error array to include descriptions about errors like validation errors.
    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
          description: Numeric HTTP status code for the specific error.
          format: int32
          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'
    Batch:
      required:
        - batchNumber
        - dataSource
        - quantity
      type: object
      properties:
        batchNumber:
          maxLength: 100
          minLength: 0
          type: string
          description: The batch number
          example: BATCH12345
        quantity:
          minimum: 1
          type: number
          description: Quantity of the batch
          example: 100
        assessmentYear:
          type: integer
          description: Assessment year for the batch
          format: int32
          example: 2023
        dataSource:
          maxLength: 100
          minLength: 0
          type: string
          description: Data source for the batch information
          example: Internal System
        comment:
          maxLength: 100
          minLength: 0
          type: string
          description: Additional comments about the batch
          example: First batch of the year
      description: Details of a batch including its number, quantity, assessment year, data source, and additional comments.
    FactoryEmissionActivity:
      required:
        - emissionUnit
        - primaryDataShare
        - shareOnTotal
        - total
        - typeOfActivity
      type: object
      properties:
        typeOfActivity:
          maxLength: 50
          minLength: 0
          type: string
          description: Type of activity causing the emission
          example: Electricity
        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
          example: kgCO2e/piece
          enum:
            - kgCO2e/piece
            - kgCO2e/Piece
            - kgCO2e/kg
            - kgCO2e/L
            - kgCO2e/m²
            - kgCO2e/m³
            - kgCO2e/kWh
            - kgCO2e/tkm
            - kgCO2e/MJ
            - kgCO2e/m2
            - kgCO2e/m3
        comment:
          maxLength: 250
          minLength: 0
          type: string
          description: Additional comments about the emission
          example: Estimated values
        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
      description: List of factory emissions
    ProductFactoryEmissionRequest:
      required:
        - factoryId
        - from
        - productCarbonFootprint
        - to
      type: object
      properties:
        revision:
          maxLength: 100
          minLength: 0
          type: string
          description: Revision number of the emission data
          example: '1'
        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'
        to:
          type: string
          description: End date in ISO 8601 format
          example: '2023-01-31T23:59:59.590Z'
        batch:
          $ref: '#/components/schemas/Batch'
        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:
          maxLength: 200
          minLength: 0
          type: string
          description: Additional comments
          example: Emission data collected manually
        sourceSystem:
          maxLength: 200
          minLength: 0
          type: string
          description: Source system of the emission data
          example: API
      description: Product Factory emission request data.
    FactoryResponse:
      type: object
      properties:
        id:
          type: string
          description: UUID to identify the factory of a company in SiGREEN.
          example: 098MS0-IN9099-HJH98275-LML892
    BOMVersionRequest:
      required:
        - version
      type: object
      properties:
        version:
          maxLength: 50
          minLength: 0
          type: string
          description: Bill of material version
          example: 3.1.1
        comment:
          maxLength: 200
          minLength: 0
          type: string
          description: Bill of material comment
          example: Bill of material Version 1
        revision:
          maxLength: 200
          minLength: 0
          type: string
          description: Bill of material revision
          example: '1.9'
      description: BOM version request data.
    BOMVersionResponseId:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the BOM version
          example: B98BE31E-3698-412D-91E3-8270102CC7D4
      description: BOM version response
    IdentifierTypeRequest:
      required:
        - idType
      type: object
      properties:
        idType:
          maxLength: 100
          minLength: 0
          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
        mandatory:
          type: boolean
          description: Whether this identifier must be filled when creating products
    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
      properties:
        id:
          type: string
          description: Unique identifier of the product
          example: B98BE31E-3698-412D-91E3-8270102CC7D4
      description: Product Response
    FactoryRequest:
      required:
        - factory
      type: object
      properties:
        factory:
          maxLength: 100
          minLength: 0
          type: string
          description: Name of the factory for a company in SiGREEN.
          example: Munich Data Center
    BOMComponentAddItem:
      required:
        - componentId
        - quantity
      type: object
      properties:
        componentId:
          maxLength: 36
          minLength: 0
          type: string
          description: UUID of the component that you wish to add.
          example: D7E420C2-5A49-4A34-8EAD-9C52A8F91578
        quantity:
          maxLength: 15
          minLength: 0
          type: string
          description: Quantity of item.
          example: '3.5'
      description: BOM Component request data.
    BOMGroupAddItem:
      required:
        - groupIdentifier
        - groupName
        - quantity
      type: object
      properties:
        groupIdentifier:
          maxLength: 100
          minLength: 0
          type: string
          description: Identifier to uniquely distinguish a group in system.
          example: 3434AABDACC1
        groupName:
          maxLength: 100
          minLength: 0
          type: string
          description: Name of the group.
          example: Group1
        quantity:
          maxLength: 15
          minLength: 0
          type: string
          description: Quantity of item.
          example: '3.5'
        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
          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'
      description: BOM Group request data.
    BOMItem:
      required:
        - quantity
      type: object
      properties:
        quantity:
          maxLength: 15
          minLength: 0
          type: string
          description: Quantity of item.
          example: '3.5'
      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'
      anyOf:
        - $ref: '#/components/schemas/BOMGroupAddItem'
        - $ref: '#/components/schemas/BOMProductAddItem'
        - $ref: '#/components/schemas/BOMComponentAddItem'
    BOMProductAddItem:
      required:
        - productId
        - quantity
      type: object
      properties:
        pcfId:
          maxLength: 36
          minLength: 0
          type: string
          description: PCF ID.Id will represent like UUID v4.
          example: d7e420c2-5a49-4a34-8ead-9c52a8f91577
        quantity:
          maxLength: 15
          minLength: 0
          type: string
          description: Quantity of item.
          example: '3.5'
        productId:
          maxLength: 36
          minLength: 0
          type: string
          description: UUID of the product that you wish to add.
          example: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
        includeDistributionStage:
          type: boolean
          description: Include Distribution Stage value. By default, it won't include DistributionStage
          example: true
      description: BOM Product request data.
    JobID:
      type: object
      properties:
        jobId:
          maxLength: 36
          type: string
          description: Job Id for export
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
      description: JobID response for export products
    BOMProductUpdateItem:
      type: object
      properties:
        pcfId:
          maxLength: 36
          minLength: 0
          type: string
          description: PCF ID.Id will represent like UUID v4.
          example: d7e420c2-5a49-4a34-8ead-9c52a8f91577
        includeDistributionStage:
          type: boolean
          description: Include Distribution Stage value. By default, it won't include DistributionStage
          example: true
        quantity:
          maxLength: 15
          minLength: 0
          type: string
          description: Quantity of item.
          example: '3.5'
      description: BOM Product update request data.
    BOMComponentUpdateItem:
      type: object
      properties:
        quantity:
          maxLength: 15
          minLength: 0
          type: string
          description: Quantity of item.
          example: '3.5'
      description: BOM Component update request data
    BOMGroupUpdateItem:
      type: object
      properties:
        groupName:
          maxLength: 100
          minLength: 0
          type: string
          description: Name of the group.
          example: Group1
        quantity:
          maxLength: 15
          minLength: 0
          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
      description: BOM Group update request data.
    IdentifierTypeUpdateRequest:
      required:
        - idType
      type: object
      properties:
        idType:
          maxLength: 100
          minLength: 0
          type: string
          description: Type of identifier for a company in SiGREEN.
          example: C23523-233
        mandatory:
          type: boolean
          description: Whether this identifier must be filled when creating products
    ProductResponse:
      required:
        - id
        - identifiers
        - name
      type: object
      properties:
        id:
          maxLength: 36
          type: string
          description: UUID to identify the product of the company in SiGREEN
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        name:
          maxLength: 100
          type: string
          description: Name of the product
          example: Simatics PL7
        family:
          maxLength: 100
          type: string
          description: Family name of the product
          example: Controls E1456
        identifiers:
          uniqueItems: true
          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'
        description:
          maxLength: 500
          type: string
          description: Description of the product
          example: Your product description
        weight:
          maxLength: 15
          type: string
          description: Weight of the product
          example: '1.533'
        quantity:
          maxLength: 15
          type: string
          description: Quantity of the product
          example: '5'
        unitType:
          type: string
          description: Unit type of the product
          example: kg
          enum:
            - piece
            - kg
            - m2
            - m3
            - kWh
            - tkm
            - MJ
            - L
        factoryIds:
          uniqueItems: true
          type: array
          description: Factory IDs associated with the product(UUIDs)
          example:
            - C98BE31E-3698-412D-91E3-8270102CC7D5
            - C99BE31E-3698-412D-99E3-8270102CC7D5
          items:
            type: string
            description: Factory IDs associated with the product(UUIDs)
            example: '["C98BE31E-3698-412D-91E3-8270102CC7D5","C99BE31E-3698-412D-99E3-8270102CC7D5"]'
        createdOn:
          maxLength: 30
          type: string
          description: Created on (ISO 8601; UTC Timezone)
          example: '2024-04-19T00:00:00.000Z'
        updatedOn:
          maxLength: 30
          type: string
          description: Updated on (ISO 8601; UTC Timezone)
          example: '2024-04-19T00:00:00.000Z'
      description: Product response data.
    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'
      description: Distribution stage details
    FactoryEmission:
      type: object
      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'
      description: Details about the factory emission.
    ProductCarbonFootprint:
      type: object
      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.0'
        bomVersion:
          type: string
          description: The BOM version of the product
          example: '1.0'
        emissionUnit:
          type: string
          description: The emission unit of the product
          example: kg
        quantity:
          type: number
          description: The quantity of the product
          format: double
          example: 5
      description: Details about the Product Carbon Footprint
    ProductionStage:
      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'
      description: Production stage details
    Upstream:
      type: object
      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'
      description: Details about the upstream emission details.
    BOMComponent:
      type: object
      description: BOM Component request data.
      allOf:
        - $ref: '#/components/schemas/BOMResponseItem'
        - type: object
          properties:
            id:
              maxLength: 36
              type: string
              description: UUID of item present in the BOM.
              example: C98BE31E-3698-412D-91E3-8270102CC7D5
            componentId:
              maxLength: 36
              minLength: 0
              type: string
              description: UUID of the component that you wish to add.
              example: D7E420C2-5A49-4A34-8EAD-9C52A8F91578
            quantity:
              maxLength: 15
              type: string
              description: Quantity of item.
              example: '3.5'
    BOMGroup:
      required:
        - groupIdentifier
        - groupName
      type: object
      description: BOM Group request data.
      allOf:
        - $ref: '#/components/schemas/BOMResponseItem'
        - type: object
          properties:
            id:
              maxLength: 36
              type: string
              description: UUID of item present in the BOM.
              example: C98BE31E-3698-412D-91E3-8270102CC7D5
            groupIdentifier:
              maxLength: 100
              minLength: 0
              type: string
              description: Identifier to uniquely distinguish a group in system.
              example: 3434AABDACC1
            quantity:
              maxLength: 15
              type: string
              description: Quantity of item.
              example: '3.5'
            groupName:
              maxLength: 100
              minLength: 0
              type: string
              description: Name of the group.
              example: Group1
    BOMItemPaginatedResponseExt:
      type: object
      properties:
        items:
          type: array
          description: List of BOM items
          items:
            type: object
            description: List of BOM items
            anyOf:
              - $ref: '#/components/schemas/BOMGroup'
              - $ref: '#/components/schemas/BOMComponent'
              - $ref: '#/components/schemas/BOMProduct'
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        page:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
      description: Paginated Bill of material versions response
    BOMProduct:
      type: object
      description: BOM Product request data.
      allOf:
        - $ref: '#/components/schemas/BOMResponseItem'
        - type: object
          properties:
            id:
              maxLength: 36
              type: string
              description: UUID of item present in the BOM.
              example: C98BE31E-3698-412D-91E3-8270102CC7D5
            productId:
              maxLength: 36
              minLength: 0
              type: string
              description: UUID of the product that you wish to add.
              example: D7E420C2-5A49-4A34-8EAD-9C52A8F91577
            quantity:
              maxLength: 15
              type: string
              description: Quantity of item.
              example: '3.5'
            pcfId:
              maxLength: 36
              minLength: 0
              type: string
              description: PCF ID.Id will represent like UUID v4.
              example: d7e420c2-5a49-4a34-8ead-9c52a8f91577
    BOMResponseItem:
      type: object
      properties:
        id:
          maxLength: 36
          type: string
          description: UUID of item present in the BOM.
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        quantity:
          maxLength: 15
          type: string
          description: Quantity of item.
          example: '3.5'
      description: Response data for BOM item.
    Assurance:
      type: object
      properties:
        verificationType:
          type: string
          description: Assurance type
          example: third party verified PCF
          enum:
            - self-declared PCF
            - 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: Certifier 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
        level:
          type: string
          description: Assurance level
          example: limited
          enum:
            - limited
            - reasonable
        boundary:
          type: string
          description: Assurance boundary
          example: Gate-to-gate
          enum:
            - Gate-to-gate
            - Cradle-to-gate
        assuranceStatement:
          type: string
          description: Assurance Statement
          example: free text
        comments:
          type: string
          description: Assurance Comments
          example: free text
        coverage:
          type: string
      description: Assurance details
    CarbonAssesment:
      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'
      description: Carbon Assesment details
    Company:
      type: object
      properties:
        companyName:
          type: string
          description: Company name.
          example: Company name
        companyIds:
          maxLength: 20
          type: array
          description: PCF createdOn DateTime.DateTime (ISO 8601; UTC Timezone)
          example: List["companyID1"]
          items:
            maxLength: 20
            type: string
            description: PCF createdOn DateTime.DateTime (ISO 8601; UTC Timezone)
            example: List["companyID1"]
        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.
      description: Company Details
    Dqi:
      type: object
      properties:
        coveragePercent:
          maximum: 100
          minimum: 0
          type: string
          description: Coverage of data quality assessment
          example: '100'
        technologicalDQR:
          maximum: 3
          minimum: 1
          type: string
          description: Technological representativeness
          example: '1.2'
        temporalDQR:
          maximum: 3
          minimum: 1
          type: string
          description: Temporal representativeness
          example: '1.3'
        geographicalDQR:
          maximum: 3
          minimum: 1
          type: string
          description: Geographical representativeness
          example: '1.8'
        completenessDQR:
          maximum: 3
          minimum: 1
          type: string
          description: Completeness
          example: '2.5'
        reliabilityDQR:
          maximum: 3
          minimum: 1
          type: string
          description: Reliability
          example: '2.5'
        uncertaintyAssessmentDescription:
          type: string
          description: Qualitative uncertainty description
          example: free text
        massBalancesChecked:
          type: string
          description: Decision type details
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
      description: DQI details
    EolStage:
      type: object
      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'
      description: Eol Stage details
    GetPcfDataResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PCFDataResponse'
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        page:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    InstallationAndAssemblyStage:
      type: object
      properties:
        installationSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        eolTreatmentOfGeneratedWasteInstallationSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        pcfIncludingBiogenic:
          type: string
          description: Installation/assembly stage GWP total (incl. bio.). kg CO2e/declared unit
        pcfExcludingBiogenic:
          type: string
          description: Installation/assembly stage GWP total (excl. bio.). kg CO2e/declared unit
      description: Installation And Assembly Stage details
    PCFDataResponse:
      type: object
      properties:
        productId:
          maxLength: 36
          type: string
          description: UUID to identify the product of the company in SiGREEN
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        name:
          maxLength: 100
          type: string
          description: Identifier type value.
          example: Simatics PL7
        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:
      required:
        - productIds
      type: object
      properties:
        productNameCompany:
          maxLength: 100
          type: string
          description: Stating the (legal) name of the company supplying the product and reporting the PCF (data owner).
          example: TestCompany
        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
            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" ]
        bomVersion:
          type: string
          description: Bill of material for corresponding PCF. Bom version created for a specific product.
          example: No BOM selected
        productCodeCpc:
          type: string
          description: The corresponding CPC number to your product (unique identification number assigned to chemical substances).
          example: 58-08-2
        productCodeCas:
          maxLength: 20
          type: string
          description: The corresponding CAS number to your product (unique identification number assigned to chemical substances).
          example: 58-08-2
        productDescription:
          maxLength: 2000
          type: string
          description: Brief description of the product (for example functions and technical parameters).
          example: Ethanol, 95% solution
      description: Product details.
    PcfData:
      type: object
      properties:
        scopePcf:
          $ref: '#/components/schemas/ScopePcf'
        declaredUnit:
          type: string
          description: Unit Types Enum
          example: kg
          enum:
            - piece
            - kg
            - L
            - m²
            - m³
            - kWh
            - km
            - TEU
            - pkm
            - tkm
            - MJ
            - m2
            - m3
        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:
            type: string
            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
          example: Active
          enum:
            - Active
            - Deprecated
        pfStatusComment:
          type: string
          description: PCF status comment
          example: PCF status comment
        exemptedEmissionsPercent:
          maximum: 10
          minimum: 0
          type: string
          description: Cut-off rule %
          example: '1'
        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
          example: post-industrial
          enum:
            - post-industrial
            - post-consumer
        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
          example: Europe
          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
        locationProductHandover:
          type: string
          description: Location of product handover
          example: Own factory gate
          enum:
            - Own factory gate
            - Customer gate
            - other
        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
          description: List of Cross-sectoral standards applied
          example:
            - ISO 14067
            - Pathfinder v1
          items:
            type: string
            description: Cross-sectoral standards applied
            example: ISO 14067
            enum:
              - ISO 14067
              - Pathfinder v1
              - Pathfinder v2
              - GHG Protocol Product
              - PAS 2050
              - ISO 14040-44
              - PEF
              - Other
        productOrSectorSpecificRules:
          type: array
          items:
            type: string
            description: Product or sector rules applied
            example: Catena-X Rulebook v1
            enum:
              - Catena-X Rulebook v1
              - Catena-X Rulebook v2
              - TFS Guideline v2
              - EN 50693
              - EN 15804
              - BPX 30-323
              - Not specified
        operator:
          type: string
          description: Select other
          example: PEF
          enum:
            - PEF
            - EPD International
            - Other
        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
          example: PEF
          enum:
            - PEF
            - GHGP
            - Quantis
        characterizationFactorsTimeHorizon:
          type: string
          description: Time horizon of GWP values
          example: GWP100
          enum:
            - GWP100
            - GWP20
            - GWP500
            - GWP1000
            - Unspecified
        characterizationFactors:
          type: string
          description: IPCC report version of GWP values
          example: AR1
          enum:
            - AR1
            - AR2
            - AR3
            - AR4
            - AR5
            - AR6
            - Unspecified
        characterizationFactorsClimateCarbonFeedback:
          type: string
          description: Are climate-carbon feedbacks included in the GWP?
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
            - partly
            - Unspecified
        characterizationFactorsClimateCarbonFeedbackLciaMethod:
          type: string
          description: LCIA method applied in assessment
          example: Greenhouse Gas Protocol
          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
        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
          example: Recycled content method
          enum:
            - Recycled content method
            - Closed loop approximation method
        allocationWasteIncineration:
          type: string
          description: Allocation approach used for waste incineration with energy recovery
          example: cut-off
          enum:
            - cut-off
            - reverse cut-off
            - system expansion
        allocationRecycledCarbon:
          type: string
          description: Allocation approach used for recycled material & c-content
          example: upstream system expansion
          enum:
            - upstream system expansion
            - cut-off
        allocationCcuCarbon:
          type: string
          description: Allocation approach used for CCU
          example: cut-off
          enum:
            - upstream system expansion
            - cut-off
        primaryDataShare:
          maximum: 100
          minimum: 0
          type: string
          description: Primary Data Share (PDS)
          example: primaryDataShare
        sourceOfPrimaryData:
          type: string
          description: Source of primary data
          example: sourceOfPrimaryData
        secondaryEmissionFactorSources:
          type: array
          description: Secondary data source & Version
          example:
            - secondaryEmissionFactorSources
          items:
            type: string
        secondaryEmissionFactorSourcesVersion:
          type: string
          description: Secondary data source version
          example: secondaryEmissionFactorSourcesVersion
        dqi:
          $ref: '#/components/schemas/Dqi'
        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)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        totalExBio:
          type: string
          description: GWP total (excl. bio)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        fossilEmissions:
          type: string
          description: GWP fossil
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        biogenic:
          type: string
        biogenicEmissionsNonCo2Only:
          type: string
          description: GWP biogenic CO2e-emissions (only other GHG emissions than CO2 – excludes biogenic CO2)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        biogenicEmissionsCo2Only:
          type: string
          description: GWP biogenic CO2e-withdrawal (biogenic CO2 contained in the product)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        dluc:
          type: string
          description: GWP direct land use change (dLUC)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        lu:
          type: string
          description: GWP land use (LU)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        aircraft:
          type: string
          description: GWP aircraft emissions
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        ilucGhgEmissions:
          type: string
          description: GWP indirect land use change emissions
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        landManagementGhgEmissions:
          type: string
          description: GWP land management GHG emissions or Removals (incl. non-CO2 sources)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        otherBiogenicGhgEmissions:
          type: string
          description: GWP biogenic CO2e-emissions other biogenic (excluding LUC and Land management)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
        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'
        dlucAndLu:
          type: string
          description: GWP land use (LU) and direct land use change (dLUC)
          example: 'yes'
          enum:
            - 'yes'
            - 'no'
    ProductCarbonContent:
      type: object
      properties:
        carbonContentTotal:
          maxLength: 15
          type: string
          description: Total carbon content accounts for the embodied mass of carbon (kg C) per declared unit of product.
          example: '79.86801562912'
        fossilCarbonContent:
          maxLength: 15
          type: string
          description: Fossil carbon content accounts for the embodied mass of carbon (kg C) per declared unit of product.
          example: '79.86801562912'
        carbonContentBiogenic:
          maxLength: 15
          type: string
          description: Biogenic carbon content accounts for the embodied mass of biogenic carbon (kg C) per declared unit of product.
          example: '79.86801562912'
        carbonContentRecycled:
          maxLength: 15
          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'
        carbonContentCcuBased:
          maxLength: 15
          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'
      description: Product carbon content details.
    ScopePcf:
      type: object
      properties:
        specVersion:
          type: object
          description: Data model and version.
          example: List [ "TFS V2", "Catena-X V2" ]
        limitedOrFullDec:
          type: string
          description: Limited or full declaration.
          example: Mandatory inputs only
          enum:
            - Mandatory inputs only
            - Mandatory and optional inputs
        partialFullPcf:
          type: string
          description: Partial or a full PCF.
          example: Cradle-to-gate
          enum:
            - Cradle-to-gate
            - Cradle-to-grave
        productionStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        materialAcquisitionAndPreProcessingSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        rawMaterialAcquistionSub2Stage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        preprocessingSub2Stage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        transportToManufacturingSiteSub2Stage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        manufacturingSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        assemblySub2Stage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        packagingEmissionsIncluded:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        eolTreatmentOfGeneratedWasteMfgSub2Stage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        distributionStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        transportAToDistributerSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        reconditioningAtDistributorSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        transportBToPlaceOfUseSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        installationAndAssemblyStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        installationSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        eolTreatmentOfGeneratedWasteInstallationSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        useStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        useSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        maintenanceSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        repairSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        replacementSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        eolTreatmentOfGeneratedWasteUseSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        refurbishmentSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        operationalEnergyUseSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        operationalWaterUseSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        eolStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        demolitionSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        transportSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        wasteProcessingSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        disposalSubStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
        reuseRecoveryRecyclingPotentialStage:
          type: string
          description: Scope Pcf Type
          example: included
          enum:
            - INCLUDED
            - EXCLUDED
      description: Scope of PCF
    UseStage:
      type: object
      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'
        maintenanceSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        repairSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        replacementSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        eolTreatmentOfGeneratedWasteUseSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        refurbishmentSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        operationalEnergyUseSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
        operationalWaterUseSubStage:
          $ref: '#/components/schemas/CarbonAssesment'
      description: Use Stage details
    VerifiedData:
      type: object
      properties:
        company:
          $ref: '#/components/schemas/Company'
        product:
          $ref: '#/components/schemas/PCFProductDetails'
        pcf:
          $ref: '#/components/schemas/PcfData'
      description: Verified Data
    JobStatusResponse:
      type: object
      properties:
        status:
          type: string
          description: Status of the job
          example: COMPLETED
          enum:
            - PENDING
            - IN_PROGRESS
            - COMPLETED
            - FAILED
        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
      description: Response data for a job status.
    IdentifierType:
      type: object
      properties:
        id:
          type: string
          description: UUID to identify the identifier type present in a company in SiGREEN
          format: uuid
          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
      description: Details about the Identifier Type
    ProductIdentifierTypesResponse:
      type: object
      properties:
        items:
          type: array
          description: List of product identifiers
          items:
            $ref: '#/components/schemas/IdentifierType'
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        page:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
        totalRecords:
          type: integer
          description: Total number of records.
          format: int64
          example: 100
    BOMVersionPaginatedResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BillOfMaterialVersion'
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        page:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    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:
          maxLength: 50
          type: string
          description: Version of the Bill of Material
          example: 3.1.1
        locked:
          type: boolean
          description: Whether BOM is locked or not
          example: false
        comment:
          maxLength: 200
          type: string
          description: Comments
          example: Bill of Material Version 1
        revision:
          maxLength: 200
          type: string
          description: Revision of the BOM
          example: '1.9'
        productId:
          maxLength: 36
          type: string
          description: UUID to identify the product of the company in SiGREEN
          example: C98BE31E-3698-412D-91E3-8270102CC7D5
        productName:
          maxLength: 100
          type: string
          description: Name of Product
          example: Simatics PL7
        latestSync:
          type: string
          description: Last BOM sync DateTime (ISO 8601; UTC Timezone)
          example: '2022-11-20T08:30:00.000Z'
        upstreamEmission:
          $ref: '#/components/schemas/UpstreamEmission'
        productionStage:
          $ref: '#/components/schemas/ProductionStage'
        distributionStage:
          $ref: '#/components/schemas/DistributionStage'
        createdOn:
          maxLength: 30
          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'
        updatedOn:
          maxLength: 30
          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'
        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'
      description: Details about the upstream emission details.
    ProductPaginatedResponse:
      type: object
      properties:
        items:
          type: array
          description: List of products
          items:
            $ref: '#/components/schemas/ProductResponse'
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        page:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
        totalRecords:
          type: integer
          description: Total number of records.
          format: int64
          example: 100
      description: Paginated product response
    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
      description: List of Factories
    PaginatedFactoryResponse:
      type: object
      properties:
        items:
          type: array
          description: List of Factories
          items:
            $ref: '#/components/schemas/FactoryDetails'
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        page:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
        totalRecords:
          type: integer
          description: Total number of records.
          format: int64
          example: 100
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
