openapi: 3.0.1
info:
contact:
name: Polarion REST API Support
url: https://support.sw.siemens.com/
description:
About
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.
For a detailed description of the REST API and how to use it, see the REST API User Guide (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