Siemens PLM Project API

The Project API from Siemens PLM — 2 operation(s) for project.

OpenAPI Specification

siemens-plm-project-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  contact:
    name: Polarion REST API Support
    url: https://support.sw.siemens.com/
  description: <h5>About</h5>The Polarion REST API lets you interact with Polarion programmatically. Use this API to integrate Polarion with your applications. This page documents the REST resources, including the HTTP response codes and example requests and responses. <br/><br/>For a detailed description of the REST API and how to use it, see the <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> (available on Support Center).
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Polarion REST Account Project API
  version: v1
servers:
- url: https://example.com/polarion/rest/v1
security:
- bearerAuth: []
tags:
- name: Project
paths:
  /api/v1/projects/{id}:
    parameters:
    - in: path
      name: id
      description: Id of the project
      schema:
        type: integer
      required: true
    get:
      tags:
      - Project
      summary: Get single project information. Available since version 2512.
      description: ''
      operationId: ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProjectModel'
                    description: Requested project
                required:
                - data
              examples:
                Example:
                  value:
                    data:
                      id: 20
                      name: Electric Vehicle Platform
                      startOfProductionDate: '2025-03-01'
                      endOfProductionDate: '2030-09-30'
                      yearsBeforeSOP: 3
                      yearsAfterSOP: 6
                      lifetimeYears:
                      - 2025
                      - 2026
                      - 2027
                      - 2028
                      - 2029
                      - 2030
                      links:
                        self: https://myServer.com/api/v1/projects/20
            application/xml:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ProjectModel'
                    description: Requested project
                required:
                - data
        '400':
          $ref: '#/components/responses/ErrorBadRequest'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/ErrorNotAcceptable'
        '408':
          $ref: '#/components/responses/ErrorRequestTimeout'
        '500':
          $ref: '#/components/responses/ErrorInternalServerError'
      security:
      - bearerHttpAuthentication: []
    delete:
      tags:
      - Project
      summary: Delete a project by Id. Available since version 2512.2602.
      description: The project with the given Id will be moved to the recycle bin (including all related data).
      operationId: ''
      responses:
        '204':
          description: No Content. Project successfully deleted.
        '400':
          $ref: '#/components/responses/ErrorBadRequest'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '409':
          $ref: '#/components/responses/ErrorConflict'
        '500':
          $ref: '#/components/responses/ErrorInternalServerError'
      security:
      - bearerHttpAuthentication: []
  /api/v1/projects/{id}/project-assumptions:
    get:
      tags:
      - Project
      summary: Get all project assumptions of the given project. Available since version 2512.
      description: This endpoint supports field filtering.
      operationId: ''
      parameters:
      - in: path
        name: id
        description: Id of the project
        schema:
          type: integer
        required: true
      - in: query
        name: fields
        description: Optional field filtering. Can be used to reduce the amount of data. See the [Sparse Fieldsets](https://developer.siemens.com/guidelines/api-guidelines/rest/sparse-fieldsets.html) guidelines for more information. By default, all fields will be returned.
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProjectAssumptionModel'
                  links:
                    $ref: '#/components/schemas/SelfLink'
                required:
                - links
                - data
              examples:
                Example:
                  value:
                    data:
                    - id: 5001
                      materialHeaders:
                      - name: Battery Cell
                        itemNumber: BAT-2024-001
                        revisionNumber: R1.2
                        classification: Battery Components
                        listProperty1: High Voltage
                        listProperty2: Lithium-Ion
                        listProperty3: Grade A
                        validityParameters:
                        - currency: EUR
                          unit: pcs
                          mode: MasterData
                          supplier: BatteryTech GmbH
                          customer: Auto OEM Corp
                          region: Germany
                          plant: Munich Plant
                          procurementType: Purchase
                          materialPriceTag: Siemens.TCPCM.MasterData.Tag.Material.StandardPrice
                          listProperty1Value: 600V
                          listProperty2Value: NCM811
                          listProperty3Value: Premium
                          selectedValidFrom: '2024-01-15'
                          materialPrices:
                          - materialDetailGuid: 697a6eca-6276-4993-bfeb-53cb65ba6f08
                            year: 2024
                            masterDataPrice: 85.5
                            manualPrice: 85.5
                            increaseRate: 0.03
                            forecastedPrice: 88.07
                            priceLayering:
                            - calculationElement: Raw Material
                              masterDataValue: 45.2
                              manualValue: 45.2
                              forecastedValue: 46.56
                            - calculationElement: Transport Cost
                              masterDataValue: 25.24
                              manualValue: 145.55
                              forecastedValue: 1.56
                          - materialDetailGuid: b311cec5-6a76-4f93-5212-53cb65ba7791
                            year: 2025
                            masterDataPrice: 65.5
                            manualPrice: 822.8
                            increaseRate: 0.02
                            forecastedPrice: 188.07
                            priceLayering:
                            - calculationElement: Raw Material
                              masterDataValue: 45.2
                              manualValue: 45.2
                              forecastedValue: 46.56
                    - id: 5002
                      materialHeaders:
                      - name: Electric Motor Housing
                        itemNumber: MTR-HSG-2024
                        revisionNumber: R2.0
                        classification: Motor Components
                        listProperty1: Aluminum
                        listProperty2: Cast
                        listProperty3: IP67
                        validityParameters:
                        - currency: USD
                          unit: kg
                          mode: Manual
                          supplier: MetalCast Industries
                          customer: EV Manufacturer
                          region: North America
                          plant: Detroit Plant
                          procurementType: Purchase
                          materialPriceTag: Siemens.TCPCM.MasterData.Tag.Material.StandardPrice
                          listProperty1Value: Al6061-T6
                          listProperty2Value: Die Cast
                          listProperty3Value: Protected
                          selectedValidFrom: '2022-03-01'
                          materialPrices:
                          - materialDetailGuid: aac36eca-6ab6-4593-62b5-53cb65ba614b
                            year: 2022
                            masterDataPrice: 17.75
                            manualPrice: 13.2
                            increaseRate: 0.025
                            forecastedPrice: 13.53
                            priceLayering:
                            - calculationElement: Raw Material
                              masterDataValue: 8.5
                              manualValue: 8.8
                              forecastedValue: 9.02
                    links:
                      self: https://myServer.com/api/v1/projects/1001/project-assumptions
            application/xml:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProjectAssumptionModel'
                  links:
                    $ref: '#/components/schemas/SelfLink'
                required:
                - links
                - data
        '400':
          $ref: '#/components/responses/ErrorBadRequest'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/ErrorNotAcceptable'
        '408':
          $ref: '#/components/responses/ErrorRequestTimeout'
        '500':
          $ref: '#/components/responses/ErrorInternalServerError'
      security:
      - bearerHttpAuthentication: []
components:
  responses:
    ErrorNotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            Example:
              value:
                errors:
                - detail: Resource with id '5' was not found
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorInternalServerError:
      description: An unexpected error occurred and the server is not fulfilling the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            Example:
              value:
                errors:
                - detail: Internal error
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorUnauthorized:
      description: The client is not providing valid authentication credentials for the target resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            Example:
              value:
                errors:
                - detail: Invalid user or password
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorBadRequest:
      description: The request could not be processed by the server because the request is perceived as client error (such as, malformed request syntax, invalid request message framing, or deceptive request routing).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            Example:
              value:
                errors:
                - detail: Invalid JSON format
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorRequestTimeout:
      description: The request timed out because a server did not respond within the expected waiting time
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            Example:
              value:
                errors:
                - detail: Request timed out
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorConflict:
      description: The request could not be completed due to a conflict with the current state of the target resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            Example:
              value:
                errors:
                - detail: Conflict with current state of the resource
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorNotAcceptable:
      description: The service is not able to respond using the request media-type or representation asked by the client in the Accept header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            Example:
              value:
                errors:
                - detail: Media type not accepted
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorForbidden:
      description: The client is not allowed to access the resource. The client SHOULD not repeat the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            Example:
              value:
                errors:
                - detail: Not allowed to access calculation with id '271'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ProjectAssumptionModel:
      type: object
      properties:
        id:
          type: integer
          description: Id of the project assumption
        materialHeaders:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Name of the material
              itemNumber:
                type: string
                description: Item number of the material
              revisionNumber:
                type: string
                description: Number of the material revision
              classification:
                type: string
                description: Name of the classification
              listProperty1:
                type: string
                description: Name of the list property 1
              listProperty2:
                type: string
                description: Name of the list property 2
              listProperty3:
                type: string
                description: Name of the list property 3
              validityParameters:
                type: array
                items:
                  type: object
                  properties:
                    currency:
                      $ref: '#/components/schemas/Currency'
                      description: Currency of the material prices
                    unit:
                      $ref: '#/components/schemas/MeasurementUnit'
                      description: Unit of the material prices
                    mode:
                      type: string
                      enum:
                      - MasterData
                      - Manual
                      description: Mode whether the material is linked with master data or entered manually
                    supplier:
                      type: string
                      description: Supplier validity of the material prices
                    customer:
                      type: string
                      description: Customer validity of the material prices
                    region:
                      type: string
                      description: Region validity of the material prices
                    plant:
                      type: string
                      description: Plant validity of the material prices
                    procurementType:
                      type: string
                      description: Procurement type validity of the material prices
                    materialPriceTag:
                      type: string
                      description: Tag of the material price
                    listProperty1Value:
                      type: string
                      description: Value of the list property 1
                    listProperty2Value:
                      type: string
                      description: Value of the list property 2
                    listProperty3Value:
                      type: string
                      description: Value of the list property 3
                    selectedValidFrom:
                      $ref: '#/components/schemas/Date'
                      description: Date of the fallback master data lookup match
                    materialPrices:
                      type: array
                      items:
                        type: object
                        properties:
                          materialDetailGuid:
                            $ref: '#/components/schemas/Guid'
                            description: Database instance independent material detail identifier
                          year:
                            type: integer
                            description: Year of the material price (4 digit year)
                            minimum: 1900
                            maximum: 9999
                          masterDataPrice:
                            type: number
                            description: Material price from master data
                            format: double
                          manualPrice:
                            type: number
                            format: double
                            description: Manual price
                          increaseRate:
                            type: number
                            format: double
                            description: Increase rate applied for that period
                          forecastedPrice:
                            type: number
                            format: double
                            description: Forecasted material price
                          priceLayering:
                            type: array
                            items:
                              type: object
                              properties:
                                calculationElement:
                                  type: string
                                  description: Calculation element of the price layering
                                masterDataValue:
                                  type: number
                                  format: double
                                  description: Master data value of the price layering
                                manualValue:
                                  type: number
                                  format: double
                                  description: Manual value of the price layering
                                forecastedValue:
                                  type: number
                                  format: double
                                  description: Forecasted value of the price layering
                              required:
                              - calculationElement
                              - masterDataValue
                              - manualValue
                              - forecastedValue
                            description: Price layering of the material price
                        required:
                        - masterDataPrice
                        - year
                        - manualPrice
                        - increaseRate
                        - forecastedPrice
                        - priceLayering
                      description: Material prices per period
                  required:
                  - currency
                  - unit
                  - mode
                  - procurementType
                  - materialPrices
                description: List of validity parameters
            required:
            - itemNumber
            - revisionNumber
            - name
            - validityParameters
      required:
      - id
    Date:
      type: string
      description: Date
      format: date
    IntArray:
      type: array
      items:
        type: integer
    SelfLink:
      type: object
      properties:
        self:
          type: string
          description: Link to the current resource
      required:
      - self
    Currency:
      type: string
      description: Currency in ISO format
      pattern: ^[A-Z]{3}$
      example: EUR
    Guid:
      title: GUID
      type: string
      format: uuid
      maxLength: 36
      description: Global unique identifier
      example: 497f6eca-6276-4993-bfeb-53cbbbba6f08
    ErrorResponse:
      type: object
      properties:
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
          readOnly: true
    ProjectModel:
      type: object
      properties:
        id:
          type: integer
          description: Id of the project
        name:
          type: string
          description: Name of the project
        startOfProductionDate:
          $ref: '#/components/schemas/Date'
          description: Start of production date
        endOfProductionDate:
          $ref: '#/components/schemas/Date'
          description: End of production date
        yearsBeforeSOP:
          type: integer
          description: Number of years before start of production date
        yearsAfterSOP:
          type: integer
          description: Number of years after start of production date
        lifetimeYears:
          $ref: '#/components/schemas/IntArray'
          description: List of years (4 digits) of the lifetime of the project
        links:
          $ref: '#/components/schemas/SelfLink'
          description: Link to the current project
      required:
      - id
      - name
      - lifetimeYears
      - startOfProductionDate
      - endOfProductionDate
      - yearsBeforeSOP
      - yearsAfterSOP
      - links
      description: Project
    Error:
      type: object
      properties:
        detail:
          type: string
          readOnly: true
    MeasurementUnit:
      type: string
      description: Measurement unit
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http