Siemens PLM Projects API

The Projects API from Siemens PLM — 8 operation(s) for projects.

OpenAPI Specification

siemens-plm-projects-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 Projects API
  version: v1
servers:
- url: https://example.com/polarion/rest/v1
security:
- bearerAuth: []
tags:
- name: Projects
paths:
  /projects:
    get:
      operationId: getProjects
      parameters:
      - name: page[size]
        in: query
        description: Limit the number of entities returned in a single response. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        schema:
          type: integer
          format: int32
      - name: page[number]
        in: query
        description: Specify the page number to be returned. Counting starts from 1. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        schema:
          type: integer
          format: int32
      - name: fields
        in: query
        description: Filter returned resource fields. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        style: deepObject
        schema:
          $ref: '#/components/schemas/sparseFields'
      - name: include
        in: query
        description: Include related entities. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        schema:
          type: string
      - name: query
        in: query
        description: The query string.
        schema:
          type: string
      - name: sort
        in: query
        description: The sort string.
        schema:
          type: string
      - name: revision
        in: query
        description: The revision ID.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/projectsListGetResponse'
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Returns a list of Projects.
      tags:
      - Projects
  /projects/{projectId}:
    delete:
      operationId: deleteProject
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobsSinglePostResponse'
          description: Accepted
        '401':
          description: Unauthorized
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Deletes the specified Project.
      tags:
      - Projects
    get:
      operationId: getProject
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: fields
        in: query
        description: Filter returned resource fields. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        style: deepObject
        schema:
          $ref: '#/components/schemas/sparseFields'
      - name: include
        in: query
        description: Include related entities. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        schema:
          type: string
      - name: revision
        in: query
        description: The revision ID.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/projectsSingleGetResponse'
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Returns the specified Project.
      tags:
      - Projects
    patch:
      operationId: patchProject
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/projectsSinglePatchRequest'
        description: The Project body.
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '413':
          description: Request Entity Too Large
        '415':
          description: Unsupported Media Type
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Updates the specified Project.
      tags:
      - Projects
  /projects/{projectId}/actions/moveProject:
    post:
      operationId: moveProjectAction
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/moveProjectRequestBody'
        description: Move project parameters.
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobsSinglePostResponse'
          description: Accepted
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '406':
          description: Not Acceptable
        '413':
          description: Request Entity Too Large
        '415':
          description: Unsupported Media Type
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Moves project to a different location
      tags:
      - Projects
  /projects/{projectId}/actions/unmarkProject:
    post:
      operationId: unmarkProject
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobsSinglePostResponse'
          description: Accepted
        '401':
          description: Unauthorized
        '406':
          description: Not Acceptable
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Unmarks the Project.
      tags:
      - Projects
  /projects/{projectId}/testparameterdefinitions:
    delete:
      operationId: deleteProjectTestParameterDefinitions
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/testparameter_definitionsListDeleteRequest'
        description: The Test Parameter Definition(s) body.
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '413':
          description: Request Entity Too Large
        '415':
          description: Unsupported Media Type
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Deletes a list of Test Parameter Definitions for the specified Project.
      tags:
      - Projects
    get:
      operationId: getProjectTestParameterDefinitions
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: page[size]
        in: query
        description: Limit the number of entities returned in a single response. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        schema:
          type: integer
          format: int32
      - name: page[number]
        in: query
        description: Specify the page number to be returned. Counting starts from 1. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        schema:
          type: integer
          format: int32
      - name: fields
        in: query
        description: Filter returned resource fields. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        style: deepObject
        schema:
          $ref: '#/components/schemas/sparseFields'
      - name: include
        in: query
        description: Include related entities. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/testparameter_definitionsListGetResponse'
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Returns a list of Test Parameter Definitions for the specified Project.
      tags:
      - Projects
    post:
      operationId: postProjectTestParameterDefinitions
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/testparameter_definitionsListPostRequest'
        description: The Test Parameter Definition(s) body.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/testparameter_definitionsListPostResponse'
          description: Created
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        '409':
          description: Conflict
        '413':
          description: Request Entity Too Large
        '415':
          description: Unsupported Media Type
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Creates a list of Test Parameter Definitions for the specified Project.
      tags:
      - Projects
  /projects/{projectId}/testparameterdefinitions/{testParamId}:
    delete:
      operationId: deleteProjectTestParameterDefinition
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: testParamId
        in: path
        description: The Test Parameter.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Deletes the specified Test Parameter Definition for the specified Project.
      tags:
      - Projects
    get:
      operationId: getProjectTestParameterDefinition
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: testParamId
        in: path
        description: The Test Parameter.
        required: true
        schema:
          type: string
      - name: fields
        in: query
        description: Filter returned resource fields. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        style: deepObject
        schema:
          $ref: '#/components/schemas/sparseFields'
      - name: include
        in: query
        description: Include related entities. See <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a> for details.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/testparameter_definitionsSingleGetResponse'
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Returns the specified Test Parameter Definition for the specified Project.
      tags:
      - Projects
  /projects/actions/createProject:
    post:
      operationId: createProject
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createProjectRequestBody'
        description: Create project parameters.
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobsSinglePostResponse'
          description: Accepted
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '406':
          description: Not Acceptable
        '413':
          description: Request Entity Too Large
        '415':
          description: Unsupported Media Type
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Creates a new Project
      tags:
      - Projects
  /projects/actions/markProject:
    post:
      operationId: markProject
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createProjectRequestBody'
        description: Create project parameters.
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobsSinglePostResponse'
          description: Accepted
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '406':
          description: Not Acceptable
        '413':
          description: Request Entity Too Large
        '415':
          description: Unsupported Media Type
        4XX-5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
          description: 'Error responses have the following structure:'
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      summary: Marks the Project.
      tags:
      - Projects
components:
  schemas:
    testparameter_definitionsListGetResponse:
      properties:
        data:
          items:
            properties:
              type:
                enum:
                - testparameter_definitions
                type: string
              id:
                example: MyProjectId/MyTestParamDefinition
                type: string
              revision:
                example: '1234'
                type: string
              attributes:
                properties:
                  name:
                    example: Test Parameter Definition example
                    type: string
                type: object
              links:
                properties:
                  self:
                    example: server-host-name/application-path/projects/MyProjectId/testparameterdefinitions/MyTestParamDefinition
                    type: string
                type: object
              meta:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          description: Human-readable explanation specific to this occurrence of the problem.
                          example: 'Unexpected token, BEGIN_ARRAY expected, but was : BEGIN_OBJECT (at $.data)'
                          type: string
                        source:
                          properties:
                            parameter:
                              description: String indicating which URI query parameter caused the error.
                              example: revision
                              type: string
                            pointer:
                              description: JSON Pointer to the associated entity in the request document.
                              example: $.data
                              type: string
                            resource:
                              description: Resource causing the error.
                              properties:
                                id:
                                  example: MyProjectId/id
                                  type: string
                                type:
                                  example: type
                                  type: string
                              type: object
                          type: object
                        status:
                          description: HTTP status code applicable to this problem.
                          example: '400'
                          type: string
                        title:
                          description: Short, human-readable summary of the problem.
                          example: Bad Request
                          type: string
                      type: object
                    type: array
                type: object
            type: object
          type: array
        included:
          description: Related entities might be returned, see <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871" target="_blank">REST API User Guide</a>.
          items:
            type: object
          type: array
        links:
          properties:
            first:
              example: server-host-name/application-path/projects/MyProjectId/testparameterdefinitions?page%5Bsize%5D=10&page%5Bnumber%5D=1
              type: string
            last:
              example: server-host-name/application-path/projects/MyProjectId/testparameterdefinitions?page%5Bsize%5D=10&page%5Bnumber%5D=9
              type: string
            next:
              example: server-host-name/application-path/projects/MyProjectId/testparameterdefinitions?page%5Bsize%5D=10&page%5Bnumber%5D=6
              type: string
            prev:
              example: server-host-name/application-path/projects/MyProjectId/testparameterdefinitions?page%5Bsize%5D=10&page%5Bnumber%5D=4
              type: string
            self:
              example: server-host-name/application-path/projects/MyProjectId/testparameterdefinitions?page%5Bsize%5D=10&page%5Bnumber%5D=5
              type: string
          type: object
        meta:
          properties:
            totalCount:
              format: int32
              type: integer
          type: object
      type: object
    projectsSinglePatchRequest:
      properties:
        data:
          properties:
            type:
              enum:
              - projects
              type: string
            id:
              example: MyProjectId
              type: string
            attributes:
              properties:
                active:
                  type: boolean
                color:
                  example: Color
                  type: string
                description:
                  properties:
                    type:
                      enum:
                      - text/plain
                      type: string
                    value:
                      example: My text value
                      type: string
                  type: object
                finish:
                  example: '1970-01-01'
                  format: date
                  type: string
                icon:
                  example: Icon
                  type: string
                lockWorkRecordsDate:
                  example: '1970-01-01'
                  format: date
                  type: string
                name:
                  example: Name
                  type: string
                start:
                  example: '1970-01-01'
                  format: date
                  type: string
                trackerPrefix:
                  example: Tracker Prefix
                  type: string
              type: object
            relationships:
              properties:
                lead:
                  properties:
                    data:
                      properties:
                        id:
                          example: MyUserId
                          type: string
                        type:
                          enum:
                          - users
                          type: string
                      type: object
                  type: object
              type: object
          type: object
      type: object
    jobsSinglePostResponse:
      properties:
        data:
          properties:
            type:
              enum:
              - jobs
              type: string
            id:
              example: MyJobId
              type: string
            attributes:
              properties:
                jobId:
                  example: example
                  type: string
                name:
                  example: example
                  type: string
                state:
                  example: example
                  type: string
                status:
                  properties:
                    message:
                      example: message
                      type: string
                    type:
                      enum:
                      - OK
                      - CANCELLED
                      - FAILED
                      - UNKNOWN
                      type: string
                  type: object
              type: object
            relationships:
              properties:
                document:
                  properties:
                    data:
                      properties:
                        id:
                          example: MyProjectId/MySpaceId/MyDocumentId
                          type: string
                        type:
                          enum:
                          - documents
                          type: string
                      type: object
                  type: object
                documents:
                  properties:
                    data:
                      items:
                        properties:
                          id:
                            example: MyProjectId/MySpaceId/MyDocumentId
                            type: string
                          type:
                            enum:
                            - documents
                            type: string
                        type: object
                      type: array
                  type: object
                project:
                  properties:
                    data:
                      properties:
                        id:
                          example: MyProjectId
                          type: string
                        type:
                          enum:
                          - projects
                          type: string
                      type: object
                  type: object
              type: object
            links:
              properties:
                downloads:
                  example:
                  - https://example.com/polarion/download/filename1
                  - https://example.com/polarion/download/filename2
                  type: array
                log:
                  example: server-host-name/application-path/polarion/job-report?jobId=MyJobId
                  type: string
                self:
                  example: server-host-name/application-path/jobs/MyJobId
                  type: string
              type: object
          type: object
      type: object
    createProjectRequestBody:
      properties:
        location:
          description: Location of the new Project to be created.
          example: MyLocation
          nullable: false
          type: string
        params:
          description: Parameters of new Project to be created.
          nullable: true
          type: object
        projectId:
          description: Id of the new Project to be created.
          example: MyProjectId
          nullable: false
          type: string
        templateId:
          description: Id of the template to create the new Project from.
          example: MyProjectTemplateId
          nullable: true
          type: string
        trackerPrefix:
          description: Tracker prefix of the new Project to be created.
          example: MyTrackerPrefix
          nullable: false
          type: string
      type: object
    testparameter_definitionsListPostResponse:
      properties:
        data:
          items:
            properties:
              type:
                enum:
                - testparameter_definitions
                type: string
              id:
                example: MyProjectId/MyTestParamDefinition
                type: string
              links:
                properties:
                  self:
                    example: server-host-name/application-path/projects/MyProjectId/testparameterdefinitions/MyTestParamDefinition
                    type: string
                type: object
            type: object
          type: array
      type: object
    sparseFields:
      properties:
        categories:
          description: Requested fields
          example: '@all'
          type: string
        collections:
          description: Requested fields
          example: '@all'
          type: string
        customfields:
          description: Requested fields
          example: '@all'
          type: string
        document_attachments:
          description: Requested fields
          example: '@all'
          type: string
        document_comments:
          description: Requested fields
          example: '@all'
          type: string
        document_parts:
          description: Requested fields
          example: '@all'
          type: string
        documents:
          description: Requested fields
          example: '@all'
          type: string
        enumerations:
          description: Requested fields
          example: '@all'
  

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/siemens-plm/refs/heads/main/openapi/siemens-plm-projects-api-openapi.yml