Flowable Privileges API

The Privileges API from Flowable — 6 operation(s) for privileges.

OpenAPI Specification

flowable-privileges-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: "# flowable / flowəb(ə)l /\r\n\r\n- a compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.\r\n- a lightning fast, tried and tested BPMN 2 process engine written in Java. It is Apache 2.0 licensed open source, with a committed community.\r\n- can run embedded in a Java application, or as a service on a server, a cluster, and in the cloud. It integrates perfectly with Spring. With a rich Java and REST API, it is the ideal engine for orchestrating human or system activities."
  version: v1
  title: Flowable REST Access Tokens Privileges API
  contact:
    name: Flowable
    url: http://www.flowable.org/
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: /flowable-rest/service
tags:
- name: Privileges
paths:
  /privileges:
    get:
      tags:
      - Privileges
      summary: List privileges
      description: ''
      operationId: listPrivileges
      parameters:
      - name: groupId
        in: query
        description: Only return privileges for the given group.
        required: false
        schema:
          type: string
      - name: id
        in: query
        description: Only return privileges with the given id.
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Only return privileges with the given name.
        required: false
        schema:
          type: string
      - name: order
        in: query
        description: From the paginate request.  The sort order, either 'asc' or 'desc'. Defaults to 'asc'.
        required: false
        schema:
          type: string
      - name: size
        in: query
        description: From the paginate request. Number of rows to fetch, starting from start. Defaults to 10.
        required: false
        schema:
          type: integer
          format: int32
      - name: sort
        in: query
        description: Property to sort the results on
        required: false
        schema:
          type: string
      - name: start
        in: query
        description: From the paginate request. Index of the first row to fetch. Defaults to 0.
        required: false
        schema:
          type: integer
          format: int32
      - name: userId
        in: query
        description: Only return privileges for the given user.
        required: false
        schema:
          type: string
      - name: id
        in: query
        description: Only return privileges with the given id
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Only return privileges with the given name
        required: false
        schema:
          type: string
      - name: userId
        in: query
        description: Only return privileges with the given userId
        required: false
        schema:
          type: string
      - name: groupId
        in: query
        description: Only return privileges with the given groupId
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Indicates the requested privileges were returned.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DataResponsePrivilegeResponse'
      security:
      - basicAuth: []
  /privileges/{privilegeId}:
    get:
      tags:
      - Privileges
      summary: Get a single privilege
      description: ''
      operationId: getPrivilege
      parameters:
      - name: privilegeId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the privilege exists and is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivilegeResponse'
        '404':
          description: Indicates the requested privilege does not exist.
      security:
      - basicAuth: []
  /privileges/{privilegeId}/group/{groupId}:
    delete:
      tags:
      - Privileges
      summary: Deletes a privilege for a group
      description: ''
      operationId: deleteGroupPrivilege
      parameters:
      - name: privilegeId
        in: path
        description: unique identifier of a privilege
        required: true
        schema:
          type: string
      - name: groupId
        in: path
        description: unique identifier of a group
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Indicates the group privilege has been deleted
      security:
      - basicAuth: []
  /privileges/{privilegeId}/groups:
    get:
      tags:
      - Privileges
      summary: List all groups for a given privilege
      description: ''
      operationId: listPrivilegeGroups
      parameters:
      - name: privilegeId
        in: path
        description: unique identifier of a privilege
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the privilege exists and its groups are returned.
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupResponse'
      security:
      - basicAuth: []
    post:
      tags:
      - Privileges
      summary: Adds a privilege for a group
      description: ''
      operationId: addGroupPrivilege
      parameters:
      - name: privilegeId
        in: path
        description: unique identifier of a privilege
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddGroupPrivilegeRequest'
        description: group privileges payload
      responses:
        '200':
          description: Indicates the group privilege has been added
      security:
      - basicAuth: []
  /privileges/{privilegeId}/users:
    get:
      tags:
      - Privileges
      summary: List all users for a given privilege
      description: ''
      operationId: listPrivilegeUsers
      parameters:
      - name: privilegeId
        in: path
        description: unique identifier of a privilege
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Indicates the privilege exists and its users are returned.
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserResponse'
      security:
      - basicAuth: []
    post:
      tags:
      - Privileges
      summary: Adds a privilege for a user
      description: ''
      operationId: addUserPrivilege
      parameters:
      - name: privilegeId
        in: path
        description: unique identifier of a privilege
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUserPrivilegeRequest'
        description: add user privilege payload
      responses:
        '200':
          description: Indicates the user privilege has been added
      security:
      - basicAuth: []
  /privileges/{privilegeId}/users/{userId}:
    delete:
      tags:
      - Privileges
      summary: Deletes a privilege for a user
      description: ''
      operationId: deleteUserPrivilege
      parameters:
      - name: privilegeId
        in: path
        description: unique identifier of a privilege
        required: true
        schema:
          type: string
      - name: userId
        in: path
        description: unique identifier of a user
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Indicates the user privilege has been deleted
      security:
      - basicAuth: []
components:
  schemas:
    BasicPrivilegeResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    PrivilegeResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserResponse'
        groups:
          type: array
          items:
            $ref: '#/components/schemas/GroupResponse'
    AddUserPrivilegeRequest:
      type: object
      properties:
        userId:
          type: string
    GroupResponse:
      type: object
      properties:
        id:
          type: string
          example: testgroup
        url:
          type: string
          example: http://localhost:8182/groups/groupId
        name:
          type: string
          example: Test group
        type:
          type: string
          example: Test type
        key:
          type: string
          example: testgroup
        tenantId:
          type: string
          example: testtenant
        users:
          type: array
          description: Collection of all users that have a membership with the group
          items:
            $ref: '#/components/schemas/UserResponse'
        privileges:
          type: array
          description: Collection of all privileges for this group
          items:
            $ref: '#/components/schemas/BasicPrivilegeResponse'
        identityInfo:
          type: array
          description: Collection of all identity infos for the group
          items:
            $ref: '#/components/schemas/EngineRestVariable'
    DataResponsePrivilegeResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PrivilegeResponse'
        total:
          type: integer
          format: int64
        start:
          type: integer
          format: int32
        sort:
          type: string
        order:
          type: string
        size:
          type: integer
          format: int32
    UserResponse:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          example: john.doe
          description: The id of the user
        firstName:
          type: string
          example: John
          description: The first name if the user
        lastName:
          type: string
          example: Doe
          description: The last name of the user
        displayName:
          type: string
          example: John Doe
          description: The display name of the user
        email:
          type: string
          example: no-reply@flowable.org
          description: The email of the user
        tenantId:
          type: string
          description: The tenant id of the user
      description: The response for the OSS User
    AddGroupPrivilegeRequest:
      type: object
      properties:
        groupId:
          type: string
    EngineRestVariable:
      type: object
      properties:
        name:
          type: string
          example: myVariable
          description: Name of the variable
        type:
          type: string
          example: string
          description: Type of the variable.
        value:
          type: object
          example: test
          description: Value of the variable.
        valueUrl:
          type: string
          example: http://....
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic