Siemens PLM Users API

The Users API from Siemens PLM — 6 operation(s) for users.

OpenAPI Specification

siemens-plm-users-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 Users API
  version: v1
servers:
- url: https://example.com/polarion/rest/v1
security:
- bearerAuth: []
tags:
- name: Users
paths:
  /user:
    get:
      operationId: getCurrentUser
      parameters:
      - 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/usersSingleGetResponse'
          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 current User.
      tags:
      - Users
  /users:
    get:
      operationId: getUsers
      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/usersListGetResponse'
          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 Users.
      tags:
      - Users
    post:
      operationId: postUsers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/usersListPostRequest'
        description: The User(s) body.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usersListPostResponse'
          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 Users.
      tags:
      - Users
  /users/{userId}:
    get:
      operationId: getUser
      parameters:
      - name: userId
        in: path
        description: The User 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/usersSingleGetResponse'
          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 User.
      tags:
      - Users
    patch:
      operationId: patchUser
      parameters:
      - name: userId
        in: path
        description: The User ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/usersSinglePatchRequest'
        description: The User 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 User.
      tags:
      - Users
  /users/{userId}/actions/getAvatar:
    get:
      operationId: getAvatar
      parameters:
      - name: userId
        in: path
        description: The User ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/octet-stream: {}
          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 User Avatar.
      tags:
      - Users
  /users/{userId}/actions/setLicense:
    post:
      operationId: setLicense
      parameters:
      - name: userId
        in: path
        description: The User ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/setLicenseRequestBody'
        description: The user license 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: Sets the User's license.
      tags:
      - Users
  /users/{userId}/actions/updateAvatar:
    post:
      operationId: updateAvatar
      parameters:
      - name: userId
        in: path
        description: The User ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/updateAvatarRequestBody'
        description: Avatar file data.
      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 User Avatar.
      tags:
      - Users
components:
  schemas:
    usersSinglePatchRequest:
      properties:
        data:
          properties:
            type:
              enum:
              - users
              type: string
            id:
              example: MyUserId
              type: string
            attributes:
              properties:
                description:
                  properties:
                    type:
                      enum:
                      - text/plain
                      type: string
                    value:
                      example: My text value
                      type: string
                  type: object
                disabledNotifications:
                  type: boolean
                email:
                  example: Email
                  type: string
                initials:
                  example: Initials
                  type: string
                name:
                  example: Name
                  type: string
              type: object
            relationships:
              properties:
                globalRoles:
                  properties:
                    data:
                      items:
                        properties:
                          id:
                            example: MyRoleId
                            type: string
                          type:
                            enum:
                            - globalroles
                            type: string
                        type: object
                      type: array
                  type: object
                projectRoles:
                  properties:
                    data:
                      items:
                        properties:
                          id:
                            example: MyProjectId/MyRoleId
                            type: string
                          type:
                            enum:
                            - projectroles
                            type: string
                        type: object
                      type: array
                  type: object
                userGroups:
                  properties:
                    data:
                      items:
                        properties:
                          id:
                            example: MyUserGroupId
                            type: string
                          type:
                            enum:
                            - usergroups
                            type: string
                        type: object
                      type: array
                  type: object
              type: object
          type: object
      type: object
    setLicenseRequestBody:
      properties:
        concurrent:
          description: Is concurrent user
          example: true
          type: boolean
        group:
          description: License group
          example: Department
          type: string
        license:
          description: User's license type
          enum:
          - REVIEWER
          - XReviewer
          - XBase
          - XEssentials
          - XPro
          - XStandard
          - XEnterprise
          - XAdvanced
          - XExtended
          - XPremium
          - XAutomotive
          - PRO
          - REQUIREMENTS
          - QA
          - ALM
          type: string
      type: object
    usersListGetResponse:
      properties:
        data:
          items:
            properties:
              type:
                enum:
                - users
                type: string
              id:
                example: MyUserId
                type: string
              revision:
                example: '1234'
                type: string
              attributes:
                properties:
                  avatarUrl:
                    example: http://server-host-name/application-path/icons/avatar/MyUserId/avatar.png?revision=1234
                    type: string
                  description:
                    properties:
                      type:
                        enum:
                        - text/plain
                        type: string
                      value:
                        example: My text value
                        type: string
                    type: object
                  disabledNotifications:
                    type: boolean
                  email:
                    example: Email
                    type: string
                  id:
                    example: MyUserId
                    type: string
                  initials:
                    example: Initials
                    type: string
                  name:
                    example: Name
                    type: string
                type: object
              relationships:
                properties:
                  addOnLicenseSlots:
                    properties:
                      data:
                        items:
                          properties:
                            id:
                              example: LicenseType/ModelType/GroupId
                              type: string
                            type:
                              enum:
                              - license_slots
                              type: string
                          type: object
                        type: array
                      meta:
                        properties:
                          totalCount:
                            format: int32
                            type: integer
                        type: object
                    type: object
                  baseLicenseSlot:
                    properties:
                      data:
                        properties:
                          id:
                            example: LicenseType/ModelType/GroupId
                            type: string
                          type:
                            enum:
                            - license_slots
                            type: string
                        type: object
                    type: object
                  globalRoles:
                    properties:
                      data:
                        items:
                          properties:
                            id:
                              example: MyRoleId
                              type: string
                            type:
                              enum:
                              - globalroles
                              type: string
                          type: object
                        type: array
                      meta:
                        properties:
                          totalCount:
                            format: int32
                            type: integer
                        type: object
                    type: object
                  projectRoles:
                    properties:
                      data:
                        items:
                          properties:
                            id:
                              example: MyProjectId/MyRoleId
                              type: string
                            type:
                              enum:
                              - projectroles
                              type: string
                          type: object
                        type: array
                      meta:
                        properties:
                          totalCount:
                            format: int32
                            type: integer
                        type: object
                    type: object
                  userGroups:
                    properties:
                      data:
                        items:
                          properties:
                            id:
                              example: MyUserGroupId
                              type: string
                            revision:
                              example: '1234'
                              type: string
                            type:
                              enum:
                              - usergroups
                              type: string
                          type: object
                        type: array
                      meta:
                        properties:
                          totalCount:
                            format: int32
                            type: integer
                        type: object
                    type: object
                type: object
              links:
                properties:
                  self:
                    example: server-host-name/application-path/users/MyUserId
                    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/users?page%5Bsize%5D=10&page%5Bnumber%5D=1
              type: string
            last:
              example: server-host-name/application-path/users?page%5Bsize%5D=10&page%5Bnumber%5D=9
              type: string
            next:
              example: server-host-name/application-path/users?page%5Bsize%5D=10&page%5Bnumber%5D=6
              type: string
            prev:
              example: server-host-name/application-path/users?page%5Bsize%5D=10&page%5Bnumber%5D=4
              type: string
            self:
              example: server-host-name/application-path/users?page%5Bsize%5D=10&page%5Bnumber%5D=5
              type: string
          type: object
        meta:
          properties:
            totalCount:
              format: int32
              type: integer
          type: object
      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
    updateAvatarRequestBody:
      properties:
        content:
          description: avatar content
          format: binary
          type: string
      title: UpdateAvatarRequestBody
      type: object
    usersListPostRequest:
      properties:
        data:
          items:
            properties:
              type:
                enum:
                - users
                type: string
              attributes:
                properties:
                  description:
                    properties:
                      type:
                        enum:
                        - text/plain
                        type: string
                      value:
                        example: My text value
                        type: string
                    type: object
                  disabledNotifications:
                    type: boolean
                  email:
                    example: Email
                    type: string
                  id:
                    example: MyUserId
                    type: string
                  initials:
                    example: Initials
                    type: string
                  name:
                    example: Name
                    type: string
                required:
                - id
                type: object
              relationships:
                properties:
                  globalRoles:
                    properties:
                      data:
                        items:
                          properties:
                            id:
                              example: MyRoleId
                              type: string
                            type:
                              enum:
                              - globalroles
                              type: string
                          type: object
                        type: array
                    type: object
                  projectRoles:
                    properties:
                      data:
                        items:
                          properties:
                            id:
                              example: MyProjectId/MyRoleId
                              type: string
                            type:
                              enum:
                              - projectroles
                              type: string
                          type: object
                        type:

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