Siemens PLM Plans API

The Plans API from Siemens PLM — 3 operation(s) for plans.

OpenAPI Specification

siemens-plm-plans-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 Plans API
  version: v1
servers:
- url: https://example.com/polarion/rest/v1
security:
- bearerAuth: []
tags:
- name: Plans
paths:
  /projects/{projectId}/plans:
    delete:
      operationId: deletePlans
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/plansListDeleteRequest'
        description: The Plan(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 Plans.
      tags:
      - Plans
    get:
      operationId: getPlans
      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
      - 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
      - name: templates
        in: query
        description: If set to true, only templates will be returned, otherwise only actual instances will be returned.
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/plansListGetResponse'
          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 Plans.
      tags:
      - Plans
    post:
      operationId: postPlans
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/plansListPostRequest'
        description: The Plan(s) body.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/plansListPostResponse'
          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 Plans.
      tags:
      - Plans
  /projects/{projectId}/plans/{planId}:
    delete:
      operationId: deletePlan
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        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 Plan.
      tags:
      - Plans
    get:
      operationId: getPlan
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan 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/plansSingleGetResponse'
          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 Plan.
      tags:
      - Plans
    patch:
      operationId: patchPlan
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/plansSinglePatchRequest'
        description: The Plan 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 Plan.
      tags:
      - Plans
  /projects/{projectId}/plans/{planId}/relationships/{relationshipId}:
    delete:
      operationId: deletePlanRelationship
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      - name: relationshipId
        in: path
        description: The Relationship ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/relationshipsListDeleteRequest'
        description: The Relationship body.
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '405':
          description: Not Allowed
        '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: Removes the specific Relationship from the Plan.
      tags:
      - Plans
    get:
      operationId: getPlanRelationship
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      - name: relationshipId
        in: path
        description: The Relationship 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
      - name: revision
        in: query
        description: The revision ID.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipResponseBody'
          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 Plan Relationships.
      tags:
      - Plans
    patch:
      operationId: patchPlanRelationships
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      - name: relationshipId
        in: path
        description: The Relationship ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationshipsRequestBody'
        description: The Work Item(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: Updates a list of Plan Relationships.
      tags:
      - Plans
    post:
      operationId: postPlanRelationships
      parameters:
      - name: projectId
        in: path
        description: The Project ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      - name: relationshipId
        in: path
        description: The Relationship ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationshipsRequestBody'
        description: The Work Item(s) body.
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '405':
          description: Not Allowed
        '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 the specific Relationships for the Plan.
      tags:
      - Plans
components:
  schemas:
    RelationshipDataBody:
      properties:
        id:
          example: MyProjectId/MyResourceId
          type: string
        type:
          enum:
          - collections
          - categories
          - documents
          - document_attachments
          - document_comments
          - document_parts
          - enumerations
          - globalroles
          - icons
          - jobs
          - linkedworkitems
          - externallylinkedworkitems
          - linkedoslcresources
          - pages
          - page_attachments
          - page_comments
          - plans
          - projectroles
          - projectgroups
          - projects
          - projecttemplates
          - spaces
          - testparameters
          - testparameter_definitions
          - testrecords
          - teststep_results
          - testruns
          - testrun_attachments
          - teststepresult_attachments
          - testrun_comments
          - usergroups
          - users
          - workitems
          - workitem_attachments
          - workitem_approvals
          - workitem_comments
          - featureselections
          - teststeps
          - workrecords
          - revisions
          - testrecord_attachments
          - license_slots
          - license_types
          - license
          - metadata
          - license_assignments
          - customfields
          type: string
      type: object
    plansListPostResponse:
      properties:
        data:
          items:
            properties:
              type:
                enum:
                - plans
                type: string
              id:
                example: MyProjectId/MyPlanId
                type: string
              links:
                properties:
                  portal:
                    example: server-host-name/application-path/polarion/redirect/project/MyProjectId/plan?id=MyPlanId&revision=1234
                    type: string
                  self:
                    example: server-host-name/application-path/projects/MyProjectId/plans/MyPlanId?revision=1234
                    type: string
                type: object
            type: object
          type: array
      type: object
    RelationshipDataSingleResponse:
      properties:
        data:
          $ref: '#/components/schemas/RelationshipDataBody'
      type: object
    RelationshipsRequestBody:
      description: List of generic contents
      example:
        data:
        - type: MyResourceType
          id: MyProjectId/MyResourceId
      oneOf:
      - $ref: '#/components/schemas/RelationshipDataSingleRequest'
      - $ref: '#/components/schemas/RelationshipDataListRequest'
      type: object
    RelationshipDataListRequest:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RelationshipDataBody'
          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'
          type: string
        externallylinkedworkitems:
          description: Requested fields
          example: '@all'
          type: string
        featureselections:
          description: Requested fields
          example: '@all'
          type: string
        globalroles:
          description: Requested fields
          example: '@all'
          type: string
        icons:
          description: Requested fields
          example: '@all'
          type: string
        jobs:
          description: Requested fields
          example: '@all'
          type: string
        license:
          description: Requested fields
          example: '@all'
          type: string
        license_assignments:
          description: Requested fields
          example: '@all'
          type: string
        license_slots:
          description: Requested fields
          example: '@all'
          type: string
        license_types:
          description: Requested fields
          example: '@all'
          type: string
        linkedoslcresources:
          description: Requested fields
          example: '@all'
          type: string
        linkedworkitems:
          description: Requested fields
          example: '@all'
          type: string
        metadata:
          description: Requested fields
          example: '@all'
          type: string
        page_attachments:
          description: Requested fields
          example: '@all'
          type: string
        page_comments:
          description: Requested fields
          example: '@all'
          type: string
        pages:
          description: Requested fields
          example: '@all'
          type: string
        plans:
          description: Requested fields
          example: '@all'
          type: string
        projectroles:
          description: Requested fields
          example: '@all'
          type: string
        projects:
          description: Requested fields
          example: '@all'
          type: string
        projecttemplates:
          description: Requested fields
          example: '@all'
          type: string
        revisions:
          description: Requested fields
          example: '@all'
          type: string
        testparameter_definitions:
          description: Requested fields
          example: '@all'
          type: string
        testparameters:
          description: Requested fields
          example: '@all'
          type: string
        testrecord_attachments:
          description: Requested fields
          example: '@all'
          type: string
        testrecords:
          description: Requested fields
          example: '@all'
          type: string
        testrun_attachments:
          description: Requested fields
          example: '@all'
          type: string
        testrun_comments:
          description: Requested fields
          example: '@all'
          type: string
        testruns:
          description: Requested fields
          example: '@all'
          type: string
        teststep_results:
          description: Requested fields
          example: '@all'
          type: string
        teststepresult_attachments:
          description: Requested fields
          example: '@all'
          type: string
        teststeps:
          description: Requested fields
          example: '@all'
          type: string
        usergroups:
          description: Requested fields
          example: '@all'
          type: string
        users:
          description: Requested fields
          example: '@all'
          type: string
        workitem_approvals:
          description: Requested fields
          example: '@all'
          type: string
        workitem_attachments:
          description: Requested fields
          example: '@all'
          type: string
        workitem_comments:
          description: Requested fields
          example: '@all'
          type: string
        workitems:
          description: Requested fields
          example: '@all'
          type: string
        workrecords:
          description: Requested fields
          example: '@all'
          type: string
      type: object
    plansListGetResponse:
      properties:
        data:
          items:
            properties:
              type:
                enum:
                - plans
                type: string
              id:
                example: MyProjectId/MyPlanId
                type: string
              revision:
                example: '1234'
                type: string
              attributes:
                properties:
                  allowedTypes:
                    items:
                      example: optionId
                      type: string
                    type: array
                  calculationType:
                    enum:
                    - timeBased
                    - customFieldBased
                    example: timeBased
                    type: string
                  capacity:
                    type: number
                  color:
                    example: Color
                    type: string
                  created:
                    example: '1970-01-01T00:00:00Z'
                    format: date-time
                    type: string
                  defaultEstimate:
                    type: number
                  description:
                    properties:
                      type:
                        enum:
                        - text/plain
                        type: string
                      value:
                        example: My text value
                        type: string
                    type: object
                  dueDate:
                    example: '1970-01-01'
                    format: date
                    type: string
                  estimationField:
                    example: Estimation Field
                    type: string
                  finishedOn:
                    example: '1970-01-01T00:00:00Z'
                    format: date-time
                    type: string
                  homePageContent:
                    properties:
                      type:
                        enum:
                        - text/html
                        - text/plain
                        type: string
                      value:
                        example: My text value
                        type: string
                    type: object
                  id:
                    example: ID
                    type: string
                  isTemplate:
                    type: boolean
                  name:
                    example: Name
                    type: string
                  previousTimeSpent:
                    example: 5 1/2d
                    type: string
                  prioritizationField:
                    example: Prioritization Field
                    type: string
                  sortOrder:
                    example: 0
                    format: int32
                    type: integer
                  startDate:
                    example: '1970-01-01'
                    format: date
                    type: string
                  startedOn:
                    example: '1970-01-01T00:00:00Z'
                    format: date-time
                    type: string
                  status:
                    type: string
                  updated:
                    example: '1970-01-01T00:00:00Z'
                    format: date-time
                    type: string
                  useReportFromTemplate:
                    type: boolean
                type: object
              relationships:
                properties:
                  author:
                    properties:
                      data:
                        properties:
                          id:
                            example: MyUserId
                            type: string
                          revision:
                            example: '1234'
                            type: string
                          type:
                            enum:
                            - users
                            type: string
                        type: object
                    type: object
                  parent:
                    properties:
                      data:
                        properties:
                          id:
                            example: MyProjectId/MyPlanId
                            type: string
                          revision:
                            example: '1234'
                            type: string
                          type:
                            enum:
                            - plans
                            type: string
                        type: object
                    type: object
                  project:
                    properties:
                      data:
                        properties:
                          id:
                            example: MyProjectId
                            type: string
                          revision:
                            example: '1234'
                            type: string
                          type:
                            enum:
                            - projects
                            type: string
                        type: object
                    type: object
                  projectSpan:
                    properties:
                      data:
                        items:
                          properties:
                            id:
                              example: MyProjectId
                              type: string
                            revision:
                              example: '1234'
                              type: string
                            type:
                              enum:
                              - projects
                              type: string
                          type: object
                        type: array
                      meta:
                        properties:
                          totalCount:
        

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