Siemens PLM · Schema
TcPCM Gateway API Schemas
JSON Schema definitions for Teamcenter Product Cost Management Gateway API
PLMProduct Lifecycle ManagementTeamcenterNXSolid EdgeSimcenterXceleratorDigital ManufacturingIndustrial IoTCADCAMSustainabilityALM
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://developer.siemens.com/tcpcm/schemas/tcpcm-gateway-api.json",
"title": "TcPCM Gateway API Schemas",
"description": "JSON Schema definitions for Teamcenter Product Cost Management Gateway API",
"definitions": {
"Currency": {
"type": "string",
"description": "Currency in ISO format",
"pattern": "^[A-Z]{3}$",
"example": "EUR"
},
"MeasurementUnit": {
"type": "string",
"description": "Measurement unit"
},
"PaginationLinks": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "Link to this collection"
},
"next": {
"type": "string",
"description": "Link to the next page or null if there is none"
},
"prev": {
"type": "string",
"description": "Link to the previous page or null if there is none"
},
"first": {
"type": "string",
"description": "Link to the first page"
},
"last": {
"type": "string",
"description": "Link to the last page"
}
},
"required": [
"self",
"next",
"prev",
"first",
"last"
]
},
"PaginationMeta": {
"type": "object",
"properties": {
"number": {
"type": "integer",
"description": "Current page number"
},
"totalPages": {
"type": "integer",
"description": "Total number of pages"
},
"size": {
"type": "integer",
"description": "Number of elements per page"
}
},
"required": [
"number",
"size",
"totalPages"
]
},
"SelfLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "Link to the current resource"
}
},
"required": [
"self"
]
},
"IntArray": {
"type": "array",
"items": {
"type": "integer"
}
},
"Date": {
"type": "string",
"description": "Date",
"format": "date"
},
"IdArray": {
"title": "IdArray",
"type": "array",
"description": "Array with object ids",
"uniqueItems": true,
"maxItems": 100000,
"items": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"example": [
1,
5,
11,
3,
2423,
3039,
4521
]
},
"Guid": {
"title": "GUID",
"type": "string",
"format": "uuid",
"maxLength": 36,
"description": "Global unique identifier",
"example": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
},
"DataType": {
"type": "string",
"enum": [
"double",
"integer",
"date",
"string",
"object",
"reference",
"bool",
"url"
],
"example": "double"
},
"Column": {
"title": "Column",
"type": "object",
"required": [
"dataType"
],
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"minLength": 0,
"description": "Name of the data field"
},
"displayName": {
"type": "string",
"maxLength": 255,
"minLength": 0,
"description": "Displayname of the column"
},
"dataType": {
"$ref": "#/components/schemas/DataType"
}
}
},
"DataSet": {
"title": "DataSet",
"type": "object",
"description": "Represents a two-dimensional data set with column descriptions including column data types.",
"required": [
"data",
"columns"
],
"properties": {
"data": {
"type": "array",
"description": "Array of objects defining a two-dimensional array via the property names of the objects. See the 'columns' field for the display names and data types.",
"maxItems": 100000,
"items": {
"type": "object"
}
},
"columns": {
"type": "array",
"description": "Columns of the dataset describing the names and the datatypes",
"maxItems": 100000,
"items": {
"$ref": "#/components/schemas/Column"
}
}
}
},
"ErrorResponse": {
"type": "object",
"properties": {
"Errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Error"
},
"readOnly": true
}
}
},
"Error": {
"type": "object",
"properties": {
"detail": {
"type": "string",
"readOnly": true
}
}
},
"ErrorLegacy": {
"type": "object",
"properties": {
"Detail": {
"type": "string",
"readOnly": true
}
}
},
"ExportCalculationsRequestModel": {
"type": "object",
"properties": {
"ProjectIds": {
"type": "array",
"items": {
"format": "int32",
"type": "integer"
},
"description": "List of requested project ids. All calculation of the projects get exported"
},
"CalculationIds": {
"type": "array",
"items": {
"format": "int32",
"type": "integer",
"example": 2056
},
"description": "List of requested calculation ids"
},
"ConfigurationGuid": {
"type": "string",
"example": "b14473ea-a58c-4d73-afa8-ba7c65613a0e",
"description": "Guid of the export configuration"
},
"Year": {
"type": "integer",
"description": "Year of the project assumptions which are used for the calculation export in case of lifetime projects (4 digit year). Available since version 2512."
}
}
},
"ExportMasterDataRequestModel": {
"type": "object",
"properties": {
"Ids": {
"type": "array",
"items": {
"format": "int32",
"type": "integer"
},
"example": [
52,
60
],
"description": "Database instance specific identifiers"
},
"Guids": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Guid"
},
"description": "Database instance independent identifiers"
},
"ConfigurationGuid": {
"type": "string",
"example": "e1548f26-af8d-4173-9881-7ce1de530911",
"description": "Export configuration Guid"
}
}
},
"ExportToolCalculationCdbRequest": {
"required": [
"ToolCalculationId",
"CostBreakDownConfigurationUniqueKey"
],
"type": "object",
"properties": {
"ToolCalculationId": {
"format": "int32",
"type": "integer",
"example": 1015
},
"CostBreakDownConfigurationUniqueKey": {
"type": "string",
"example": "Siemens.TCPCM.CostBreakdownForTools.StandardCBDforinjecttools.WebApi"
}
}
},
"ExportToolCalculationCbdResponse": {
"type": "object",
"properties": {
"toolCalculationId": {
"format": "int32",
"type": "integer",
"readOnly": true
},
"costBreakDownConfigurationUniqueKey": {
"type": "string",
"readOnly": true
},
"toolProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExportToolCalculationCbdToolProperty"
},
"readOnly": true
},
"materials": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExportToolCalculationCbdMaterial"
},
"readOnly": true
}
}
},
"ExportToolCalculationCbdToolProperty": {
"type": "object",
"properties": {
"name": {
"type": "string",
"readOnly": true
},
"value": {
"type": "string",
"readOnly": true
},
"unit": {
"type": "string",
"readOnly": true
}
}
},
"ExportToolCalculationCbdMaterial": {
"type": "object",
"properties": {
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExportToolCalculationCbdMaterialProperty"
},
"readOnly": true
}
}
},
"ExportToolCalculationCbdMaterialProperty": {
"type": "object",
"properties": {
"name": {
"type": "string",
"readOnly": true
},
"value": {
"type": "string",
"readOnly": true
}
}
},
"UserResponseModel": {
"type": "object",
"properties": {
"type": {
"type": "string",
"readOnly": true
},
"attributes": {
"$ref": "#/components/schemas/UserResponseModelAttributes"
}
}
},
"UserResponseModelAttributes": {
"type": "object",
"properties": {
"userName": {
"type": "string",
"readOnly": true
},
"emailAddress": {
"type": "string",
"readOnly": true
},
"firstName": {
"type": "string",
"readOnly": true
},
"lastName": {
"type": "string",
"readOnly": true
},
"active": {
"type": "boolean",
"readOnly": true
},
"roleAssignments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RoleAssignmentResponseModel"
},
"readOnly": true
}
}
},
"RoleAssignmentResponseModel": {
"type": "object",
"properties": {
"client": {
"type": "string",
"readOnly": true
},
"role": {
"type": "string",
"readOnly": true
}
}
},
"ToggleActivationRequestModel": {
"required": [
"active"
],
"type": "object",
"properties": {
"active": {
"type": "boolean",
"example": false
}
}
},
"ImportCalculationsRequestModel": {
"type": "object",
"properties": {
"Data": {
"type": "array",
"items": {
"type": "object"
},
"description": "Dataset to be imported.",
"example": [
{
"Assembly hierarchy level": 0,
"Quantity": 4,
"Quantity unit": "Pcs",
"Item number": "PNR 24253"
},
{
"Assembly hierarchy level": 1,
"Quantity": 7,
"Quantity unit": "Pcs",
"Item number": "PNR 53221"
}
]
},
"PlantUniqueKey": {
"type": "string",
"description": "Plant key. Client of the given plant is used."
},
"ConfigurationGuid": {
"type": "string",
"description": "GUID of the import configuration.",
"format": "uuid",
"example": "4c43cab9-d9fa-4154-9c41-968654ac05b2"
},
"ExportConfigurationGuid": {
"type": "string",
"description": "GUID of the export configuration. If this is set then the imported data is returned using the given export configuration. Available with version 2412.",
"format": "uuid",
"example": "b14473ea-a58c-4d73-afa8-ba7c65613a0e"
},
"TargetType": {
"type": "string",
"example": "folder"
},
"TargetId": {
"format": "int32",
"type": "integer",
"example": 534
}
},
"required": [
"Data",
"ConfigurationGuid"
]
},
"TcPCMResponseModel": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"ImportMasterDataRequestModel": {
"type": "object",
"properties": {
"Data": {
"type": "array",
"items": {
"type": "object"
},
"example": [
{
"Designation": "Carbon",
"Unique identifier": "Custom.Unique.Carbon",
"Type": "Cost value"
},
{
"Designation": "Reinvestment rate",
"Unique identifier": "Custom.Unique.Reinvestment",
"Type": "Unit"
}
]
},
"PlantUniqueKey": {
"type": "string",
"example": "TcPCM-001"
},
"ConfigurationGuid": {
"type": "string",
"example": "9231ad11-744e-481a-b9ec-bce80979ccbd"
}
}
},
"TcPCMWebApiResponseModel_of_DataTable": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object"
}
},
"success": {
"type": "boolean"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"TcPCMWebApiResponseModel_of_ExportToolCalculationCbdResponse": {
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ExportToolCalculationCbdResponse"
},
"success": {
"type": "boolean"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"Response_of_UserResponseModel": {
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/UserResponseModel"
}
}
},
"ProfitabilityCalculationReportError": {
"title": "ProfitabilityCalculationReportError",
"type": "object",
"description": "Partial error of a profitability calculation report request.",
"required": [
"status",
"detail"
],
"properties": {
"status": {
"type": "integer",
"format": "int32",
"minimum": 0,
"description": "Http status code",
"readOnly": true
},
"detail": {
"type": "string",
"description": "Detail description of the error"
},
"profitabilityCalculationId": {
"type": "integer",
"format": "int32",
"minimum": 0,
"description": "Id of the requested profitability calculation",
"readOnly": true
},
"projectId": {
"type": "integer",
"format": "int32",
"minimum": 0,
"description": "Id of the requested project",
"readOnly": true
}
}
},
"AggregatedProfitabilityCalculationReportError": {
"title": "ProfitabilityCalculationReportError",
"type": "object",
"description": "Partial error of an aggregated profitability calculation report request.",
"required": [
"status",
"detail"
],
"properties": {
"status": {
"type": "integer",
"format": "int32",
"minimum": 0,
"description": "Http status code",
"readOnly": true
},
"detail": {
"type": "string",
"description": "Detail description of the error"
},
"aggregatedProfitabilityCalculationId": {
"type": "integer",
"format": "int32",
"minimum": 0,
"description": "Id of the requested aggregated profitability calculation",
"readOnly": true
},
"folderId": {
"type": "integer",
"format": "int32",
"minimum": 0,
"description": "Id of the requested folder",
"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"
},
"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"
]
}
}
}