openapi: 3.0.4
info:
  title: Workflow Engine API
  description: A Workflow Engine Web API
  version: '1.0'
paths:
  '/workflow-api/data/processes/{processId}/approvals/{id}':
    delete:
      tags:
        - Approvals
      summary: Delete a single approval history entry for a specific process instance ID and entry ID.
      operationId: workflow-api.data.processes.approvals.delete
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - Approvals
      summary: Retrieve a single approval history entry for a specific process instance ID and entry ID.
      operationId: workflow-api.data.processes.approvals.get
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/approvals':
    delete:
      tags:
        - Approvals
      summary: 'Delete multiple approval history entries for a specific process instance ID, with optional filters.'
      operationId: workflow-api.data.processes.approvals.delete-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ApprovalFieldFilter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - Approvals
      summary: 'Retrieve approval history entries collection and total count for a specific process instance ID, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.processes.approvals.get-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ApprovalFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ApprovalFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/processes/approvals:
    post:
      tags:
        - Approvals
      summary: 'Retrieve approval history entries collection and total count across all process instances, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.processes.approvals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/designer:
    post:
      tags:
        - Designer
      operationId: workflow-api.designer
      responses:
        '200':
          description: OK
      security:
        - Bearer: [ ]
    get:
      tags:
        - Designer
      operationId: workflow-api.designer.get
      responses:
        '200':
          description: OK
      security:
        - Bearer: [ ]
  /workflow-api/data/global-parameters:
    post:
      tags:
        - GlobalParameters
      summary: Create multiple global parameters from an array of creation requests.
      operationId: workflow-api.data.global-parameters.create-collection
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/GlobalParameterCreateRequestWithTypeName'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - GlobalParameters
      summary: 'Retrieve global parameters collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.global-parameters.get-collection
      parameters:
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/GlobalParameterFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/GlobalParameterFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalParameterModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    delete:
      tags:
        - GlobalParameters
      summary: Delete multiple global parameters based on optional filters.
      operationId: workflow-api.data.global-parameters.delete-collection
      parameters:
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/GlobalParameterFieldFilter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/global-parameters/{type}/{name}':
    post:
      tags:
        - GlobalParameters
      summary: 'Create a single global parameter using type, name and creation request.'
      operationId: workflow-api.data.global-parameters.create
      parameters:
        - name: type
          in: path
          required: true
          schema:
            type: string
        - name: name
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalParameterCreateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - GlobalParameters
      summary: Retrieve a single global parameter by type and name.
      operationId: workflow-api.data.global-parameters.get
      parameters:
        - name: type
          in: path
          required: true
          schema:
            type: string
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalParameterModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    delete:
      tags:
        - GlobalParameters
      summary: Delete a single global parameter by type and name.
      operationId: workflow-api.data.global-parameters.delete
      parameters:
        - name: type
          in: path
          required: true
          schema:
            type: string
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    put:
      tags:
        - GlobalParameters
      summary: 'Update a single global parameter by type and name, using an update request.'
      operationId: workflow-api.data.global-parameters.update
      parameters:
        - name: type
          in: path
          required: true
          schema:
            type: string
        - name: name
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalParameterUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/global-parameters:
    post:
      tags:
        - GlobalParameters
      summary: 'Retrieve global parameters collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.global-parameters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalParameterFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalParameterModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/inbox-entries':
    delete:
      tags:
        - InboxEntries
      summary: 'Delete multiple inbox entries for a specific process instance ID, with optional filters.'
      operationId: workflow-api.data.processes.inbox-entries.delete-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/InboxEntryFieldFilter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - InboxEntries
      summary: 'Retrieve inbox entries collection and total count for a specific process instance ID, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.processes.inbox-entries.get-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/InboxEntryFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/InboxEntryFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboxEntryModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/inbox-entries/{identityId}':
    get:
      tags:
        - InboxEntries
      summary: Retrieve a single inbox entry for a specific process instance ID and identity ID.
      operationId: workflow-api.data.processes.inbox-entries.get
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: identityId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboxEntryModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    delete:
      tags:
        - InboxEntries
      summary: Delete a single inbox entry for a specific process instance ID and identity ID.
      operationId: workflow-api.data.processes.inbox-entries.delete
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: identityId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/processes/inbox-entries:
    post:
      tags:
        - InboxEntries
      summary: 'Retrieve inbox entries collection and total count across all process instances, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.processes.inbox-entries
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InboxEntryFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboxEntryModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/parameters/{name}':
    delete:
      tags:
        - Parameters
      summary: Delete a single parameter for a specific process instance ID and parameter name.
      operationId: workflow-api.data.processes.parameters.delete
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    put:
      tags:
        - Parameters
      summary: 'Update a single parameter for a specific process instance ID and parameter name, using an update request.'
      operationId: workflow-api.data.processes.parameters.update
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: name
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ParameterUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - Parameters
      summary: Retrieve a single parameter for a specific process instance ID and parameter name.
      operationId: workflow-api.data.processes.parameters.get
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParameterModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    post:
      tags:
        - Parameters
      summary: Create a single parameter for a specific process instance ID using parameter name and creation request.
      operationId: workflow-api.data.processes.parameters.create
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: name
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ParameterCreateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/parameters':
    get:
      tags:
        - Parameters
      summary: 'Retrieve parameters collection and total count for a specific process instance ID, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.processes.parameters.get-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ParameterFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ParameterFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParameterModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    delete:
      tags:
        - Parameters
      summary: 'Delete multiple parameters for a specific process instance ID, with optional filters.'
      operationId: workflow-api.data.processes.parameters.delete-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ParameterFieldFilter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    post:
      tags:
        - Parameters
      summary: Create multiple parameters for a specific process instance ID from an array of creation requests.
      operationId: workflow-api.data.processes.parameters.create-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ParameterCreateRequestWithName'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/processes/parameters:
    post:
      tags:
        - Parameters
      summary: 'Retrieve parameters collection and total count across all process instances, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.processes.parameters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ParameterFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParameterModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{id}':
    put:
      tags:
        - Processes
      summary: Update a single process by ID.
      operationId: workflow-api.data.processes.update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - Processes
      summary: Retrieve a single process by ID.
      operationId: workflow-api.data.processes.get
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/processes:
    post:
      tags:
        - Processes
      summary: 'Retrieve processes collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.processes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/data/processes:
    get:
      tags:
        - Processes
      summary: 'Retrieve processes collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.processes.get-collection
      parameters:
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ProcessFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ProcessFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/readiness:
    get:
      tags:
        - Root
      summary: Check all tenants is ready to accept requests
      operationId: workflow-api.readiness
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadinessResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/tenant-readiness:
    get:
      tags:
        - Root
      summary: Check specific tenant is ready to accept requests
      operationId: workflow-api.tenant-readiness
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantReadinessResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/liveness:
    get:
      tags:
        - Root
      summary: Check service is running
      operationId: workflow-api.liveness
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/bulk-create-instance:
    post:
      tags:
        - RpcBulk
      summary: Create multiple process instances.
      operationId: workflow-api.rpc.bulk-create-instance
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkCreateInstanceRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ObjectBulkTaskResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/bulk-get-process-instance-tree:
    post:
      tags:
        - RpcBulk
      summary: Get multiple root process instances with all subprocesses as trees.
      operationId: workflow-api.rpc.bulk-get-process-instances-tree
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkGetProcessInstancesTreeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ProcessInstancesTreeBulkTaskResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/bulk-get-process-instance:
    post:
      tags:
        - RpcBulk
      summary: Get multiple process instances with parameters.
      operationId: workflow-api.rpc.bulk-get-process-instance
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkGetProcessInstanceRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ProcessInstanceBulkTaskResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/bulk-update-scheme-if-obsolete:
    post:
      tags:
        - RpcBulk
      summary: Update multiple schemes of process instances if they are obsolete.
      operationId: workflow-api.rpc.bulk-update-scheme-if-obsolete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpdateSchemeIfObsoleteRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ObjectBulkTaskResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/bulk-execute-command:
    post:
      tags:
        - RpcBulk
      summary: Execute multiple commands with specified identity.
      operationId: workflow-api.rpc.bulk-execute-command
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkExecuteCommandRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/CommandExecutionResultBulkTaskResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/bulk-get-available-commands:
    post:
      tags:
        - RpcBulk
      summary: Get multiple lists of commands available for current activities and identities.
      operationId: workflow-api.rpc.bulk-get-available-commands
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkGetAvailableCommandsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/WorkflowCommandListBulkTaskResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/bulk-is-process-exists:
    post:
      tags:
        - RpcBulk
      summary: Check existence of multiple process instances.
      operationId: workflow-api.rpc.bulk-is-process-exists
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkIsProcessExistsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/BooleanNullableBulkTaskResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/bulk-delete-instance:
    post:
      tags:
        - RpcBulk
      summary: Delete multiple process instances with all their subprocesses.
      operationId: workflow-api.rpc.bulk-delete-instance
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDeleteInstanceRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ObjectBulkTaskResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-available-commands:
    post:
      tags:
        - RpcCommands
      summary: Get the list of commands available for current activity and identities.
      operationId: workflow-api.rpc.get-available-commands
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAvailableCommandsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableCommandsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-initial-commands:
    post:
      tags:
        - RpcCommands
      summary: Get the list of commands available for initial activity and identities.
      operationId: workflow-api.rpc.get-initial-commands
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetInitialCommandsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInitialCommandsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/execute-command:
    post:
      tags:
        - RpcCommands
      summary: Execute command with specified identity.
      operationId: workflow-api.rpc.execute-command
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteCommandRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteCommandResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-process-instance-tree:
    post:
      tags:
        - RpcInstance
      summary: Get the root process instance and all subprocesses as a tree.
      operationId: workflow-api.rpc.get-process-instance-tree
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetProcessInstancesTreeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProcessInstancesTreeResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-process-parameter:
    post:
      tags:
        - RpcInstance
      summary: Get the value of a process parameter.
      operationId: workflow-api.rpc.get-process-parameter
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetProcessParameterRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProcessParameterResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/delete-instance:
    post:
      tags:
        - RpcInstance
      summary: Delete process instance and all child subprocesses.
      operationId: workflow-api.rpc.delete-instance
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteInstanceRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteInstanceResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/set-process-new-status:
    post:
      tags:
        - RpcInstance
      summary: Set a new status for the process instance.
      operationId: workflow-api.rpc.set-process-new-status
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetProcessNewStatusRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetProcessNewStatusResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/check-all-subprocesses-completed:
    post:
      tags:
        - RpcInstance
      summary: Check if all subprocesses of the process instance are completed.
      operationId: workflow-api.rpc.check-all-subprocesses-completed
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckAllSubprocessesCompletedRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckAllSubprocessesCompletedResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-process-status:
    post:
      tags:
        - RpcInstance
      summary: Get the status of the process instance.
      operationId: workflow-api.rpc.get-process-status
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetProcessStatusRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProcessStatusResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-process-instance:
    post:
      tags:
        - RpcInstance
      summary: Get the process instance with all parameters.
      operationId: workflow-api.rpc.get-process-instance
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetProcessInstanceRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProcessInstanceResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/delete-all-subprocesses:
    post:
      tags:
        - RpcInstance
      summary: Delete all subprocesses of the process instance.
      operationId: workflow-api.rpc.delete-all-subprocesses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAllSubprocessesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteAllSubprocessesResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/set-process-parameter:
    post:
      tags:
        - RpcInstance
      summary: Set the value of a process parameter with persistence purpose.
      operationId: workflow-api.rpc.set-process-parameter
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetProcessParameterRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetProcessParameterResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-process-history:
    post:
      tags:
        - RpcInstance
      summary: Get the history records for the process instance.
      operationId: workflow-api.rpc.get-process-history
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetProcessHistoryRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProcessHistoryResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/create-instance:
    post:
      tags:
        - RpcInstance
      summary: Create instance of the process.
      operationId: workflow-api.rpc.create-instance
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstanceRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateInstanceResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/is-process-exists:
    post:
      tags:
        - RpcInstance
      summary: Check existence of the process instance.
      operationId: workflow-api.rpc.is-process-exists
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IsProcessExistsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IsProcessExistsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-process-history-count:
    post:
      tags:
        - RpcInstance
      summary: Get the count of history records for the process instance.
      operationId: workflow-api.rpc.get-process-history-count
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetProcessHistoryCountRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProcessHistoryCountResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/log-debug:
    post:
      tags:
        - RpcLog
      summary: Logs a debug message with parameters.
      operationId: workflow-api.rpc.log-debug
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogDebugRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogDebugResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/log-debug-if-logger-exists:
    post:
      tags:
        - RpcLog
      summary: Logs a debug message with parameters if the logger exists.
      operationId: workflow-api.rpc.log-debug-if-logger-exists
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogDebugIfLoggerExistsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogDebugIfLoggerExistsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/log-error-if-logger-exists:
    post:
      tags:
        - RpcLog
      summary: Logs an error message with parameters if the logger exists.
      operationId: workflow-api.rpc.log-error-if-logger-exists
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogErrorIfLoggerExistsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogErrorIfLoggerExistsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/log-error:
    post:
      tags:
        - RpcLog
      summary: Logs an error message with parameters.
      operationId: workflow-api.rpc.log-error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogErrorRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogErrorResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/log-info-if-logger-exists:
    post:
      tags:
        - RpcLog
      summary: Logs an info message with parameters if the logger exists.
      operationId: workflow-api.rpc.log-info-if-logger-exists
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogInfoIfLoggerExistsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogInfoIfLoggerExistsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/log-info:
    post:
      tags:
        - RpcLog
      summary: Logs an info message with parameters.
      operationId: workflow-api.rpc.log-info
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogInfoRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogInfoResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/pre-execute-from-initial-activity:
    post:
      tags:
        - RpcPreExecution
      summary: Pre-execute from the initial activity of the process instance.
      operationId: workflow-api.rpc.pre-execute-from-initial-activity
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreExecuteFromInitialActivityRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreExecuteFromInitialActivityResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/pre-execute-from-current-activity:
    post:
      tags:
        - RpcPreExecution
      summary: Pre-execute from the current activity of the process instance.
      operationId: workflow-api.rpc.pre-execute-from-current-activity
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreExecuteFromCurrentActivityRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreExecuteFromCurrentActivityResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/pre-execute:
    post:
      tags:
        - RpcPreExecution
      summary: Pre-execute from the specified activity of the process instance.
      operationId: workflow-api.rpc.pre-execute
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreExecuteRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreExecuteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/runtime-cold-start:
    post:
      tags:
        - RpcRuntime
      summary: Starts the workflow runtime in cold start mode.
      operationId: workflow-api.rpc.runtime-cold-start
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuntimeColdStartRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeColdStartResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/runtime-get-running-status:
    post:
      tags:
        - RpcRuntime
      summary: Gets the status of the workflow runtime.
      operationId: workflow-api.rpc.runtime-get-running-status
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuntimeGetStatusRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeGetStatusResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/runtime-shut-down:
    post:
      tags:
        - RpcRuntime
      summary: Shuts down the workflow runtime.
      operationId: workflow-api.rpc.runtime-shut-down
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuntimeShutDownRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeShutDownResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/runtime-start:
    post:
      tags:
        - RpcRuntime
      summary: Starts the workflow runtime.
      operationId: workflow-api.rpc.runtime-start
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuntimeStartRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeStartResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/update-scheme-if-obsolete:
    post:
      tags:
        - RpcScheme
      summary: Update scheme of the process instance if it is obsolete.
      operationId: workflow-api.rpc.update-scheme-if-obsolete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSchemeIfObsoleteRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSchemeIfObsoleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-process-scheme:
    post:
      tags:
        - RpcScheme
      summary: Get the scheme of the process instance.
      operationId: workflow-api.rpc.get-process-scheme
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RpcGetProcessSchemeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RpcGetProcessSchemeResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-scheme-codes:
    post:
      tags:
        - RpcScheme
      summary: Get scheme codes with optional filtering by tags.
      operationId: workflow-api.rpc.get-scheme-codes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetSchemeCodesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSchemeCodesResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/set-scheme-is-obsolete:
    post:
      tags:
        - RpcScheme
      summary: Set all process schemes with the specified scheme code as obsolete.
      operationId: workflow-api.rpc.set-scheme-is-obsolete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetSchemeIsObsoleteRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetSchemeIsObsoleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-current-state-name:
    post:
      tags:
        - RpcState
      summary: Get the current state name of the process instance.
      operationId: workflow-api.rpc.get-current-state-name
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCurrentStateNameRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCurrentStateNameResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/set-activity-without-execution:
    post:
      tags:
        - RpcState
      summary: Set activity for the process instance without execution.
      operationId: workflow-api.rpc.set-activity-without-execution
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetActivityWithoutExecutionRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetActivityWithoutExecutionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/set-state-with-execution:
    post:
      tags:
        - RpcState
      summary: Set state for the process instance with execution.
      operationId: workflow-api.rpc.set-state-with-execution
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetStateWithExecutionRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetStateWithExecutionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-current-state:
    post:
      tags:
        - RpcState
      summary: Get the current state of the process instance.
      operationId: workflow-api.rpc.get-current-state
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCurrentStateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCurrentStateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/set-activity-with-execution:
    post:
      tags:
        - RpcState
      summary: Set activity for the process instance with execution.
      operationId: workflow-api.rpc.set-activity-with-execution
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetActivityWithExecutionRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetActivityWithExecutionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-available-states-to-set:
    post:
      tags:
        - RpcState
      summary: Get the list of all available to set states for the process instance.
      operationId: workflow-api.rpc.get-available-states-to-set
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAvailableStatesToSetRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableStatesToSetResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/set-state-without-execution:
    post:
      tags:
        - RpcState
      summary: Set state for the process instance without execution.
      operationId: workflow-api.rpc.set-state-without-execution
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetStateWithoutExecutionRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetStateWithoutExecutionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/resume:
    post:
      tags:
        - RpcState
      summary: Resumes the process instance execution.
      operationId: workflow-api.rpc.resume
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-available-states-to-set-by-scheme-code:
    post:
      tags:
        - RpcState
      summary: Get the list of all available to set states for the scheme.
      operationId: workflow-api.rpc.get-available-states-to-set-by-scheme-code
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAvailableStatesToSetBySchemeCodeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAvailableStatesToSetBySchemeCodeResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-initial-state:
    post:
      tags:
        - RpcState
      summary: Get the initial state of the scheme.
      operationId: workflow-api.rpc.get-initial-state
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetInitialStateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInitialStateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/rpc/get-current-activity-name:
    post:
      tags:
        - RpcState
      summary: Get the current activity name of the process instance.
      operationId: workflow-api.rpc.get-current-activity-name
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCurrentActivityNameRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCurrentActivityNameResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/runtimes/{id}':
    get:
      tags:
        - Runtimes
      summary: Retrieve a single runtime by ID.
      operationId: workflow-api.data.runtimes.get
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/data/runtimes:
    get:
      tags:
        - Runtimes
      summary: 'Retrieve runtimes collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.runtimes.get-collection
      parameters:
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/RuntimeFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/RuntimeFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/runtimes:
    post:
      tags:
        - Runtimes
      summary: 'Retrieve runtimes collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.runtimes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuntimeFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/schemes/{code}':
    get:
      tags:
        - Schemes
      summary: Retrieve a single scheme by code.
      operationId: workflow-api.data.schemes.get
      parameters:
        - name: code
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemeModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    post:
      tags:
        - Schemes
      summary: Create a single scheme using code and creation request.
      operationId: workflow-api.data.schemes.create
      parameters:
        - name: code
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchemeCreateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    put:
      tags:
        - Schemes
      summary: 'Update a single scheme by code, using an update request.'
      operationId: workflow-api.data.schemes.update
      parameters:
        - name: code
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchemeUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    delete:
      tags:
        - Schemes
      summary: Delete a single scheme by code.
      operationId: workflow-api.data.schemes.delete
      parameters:
        - name: code
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/data/schemes:
    get:
      tags:
        - Schemes
      summary: 'Retrieve schemes collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.schemes.get-collection
      parameters:
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/SchemeFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/SchemeFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemeModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    delete:
      tags:
        - Schemes
      summary: Delete multiple schemes based on optional filters.
      operationId: workflow-api.data.schemes.delete-collection
      parameters:
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/SchemeFieldFilter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    post:
      tags:
        - Schemes
      summary: Create multiple schemes from an array of creation requests.
      operationId: workflow-api.data.schemes.create-collection
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SchemeCreateRequestWithCode'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/schemes:
    post:
      tags:
        - Schemes
      summary: 'Retrieve schemes collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.schemes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchemeFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemeModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/data/statuses:
    get:
      tags:
        - Statuses
      summary: 'Retrieve process statuses collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.statuses.get-collection
      parameters:
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/StatusFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/StatusFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/statuses/{processId}':
    get:
      tags:
        - Statuses
      summary: Retrieve a single process status by process ID.
      operationId: workflow-api.data.statuses.get
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/statuses:
    post:
      tags:
        - Statuses
      summary: 'Retrieve process statuses collection and total count, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.statuses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/processes/timers:
    post:
      tags:
        - Timers
      summary: 'Retrieve timers collection and total count across all process instances, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.processes.timers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimerFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/timers/{name}':
    put:
      tags:
        - Timers
      summary: 'Update a single timer for a specific process instance ID and timer name, using an update request.'
      operationId: workflow-api.data.processes.timers.update
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: name
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimerUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - Timers
      summary: Retrieve a single timer for a specific process instance ID and timer name.
      operationId: workflow-api.data.processes.timers.get
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    delete:
      tags:
        - Timers
      summary: Delete a single timer for a specific process instance ID and timer name.
      operationId: workflow-api.data.processes.timers.delete
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    post:
      tags:
        - Timers
      summary: 'Create a single timer for a specific process instance ID, using timer name and creation request.'
      operationId: workflow-api.data.processes.timers.create
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: name
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimerCreateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/timers':
    delete:
      tags:
        - Timers
      summary: 'Delete multiple timers for a specific process instance ID, with optional filters.'
      operationId: workflow-api.data.processes.timers.delete-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/TimerFieldFilter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - Timers
      summary: 'Retrieve timers collection and total count for a specific process instance ID, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.processes.timers.get-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/TimerFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/TimerFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    post:
      tags:
        - Timers
      summary: Create multiple timers for a specific process instance ID from an array of creation requests.
      operationId: workflow-api.data.processes.timers.create-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/TimerCreateRequestWithName'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/transitions':
    delete:
      tags:
        - Transitions
      summary: 'Delete multiple transitions for a specific process instance ID, with optional filters.'
      operationId: workflow-api.data.processes.transitions.delete-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/TransitionFieldFilter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    get:
      tags:
        - Transitions
      summary: 'Retrieve transitions collection and total count for a specific process instance ID, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.data.processes.transitions.get-collection
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: search
          in: query
          schema:
            type: string
        - name: filters
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/TransitionFieldFilter'
        - name: sorts
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/TransitionFieldSort'
        - name: skip
          in: query
          schema:
            type: integer
            format: int64
            default: 0
        - name: take
          in: query
          schema:
            type: integer
            format: int64
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransitionModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  '/workflow-api/data/processes/{processId}/transitions/{id}':
    get:
      tags:
        - Transitions
      summary: Retrieve a single transition for a specific process instance ID and transition ID.
      operationId: workflow-api.data.processes.transitions.get
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransitionModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
    delete:
      tags:
        - Transitions
      summary: Delete a single transition for a specific process instance ID and transition ID.
      operationId: workflow-api.data.processes.transitions.delete
      parameters:
        - name: processId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
  /workflow-api/search/processes/transitions:
    post:
      tags:
        - Transitions
      summary: 'Retrieve transitions collection and total count across all process instances, with optional search, filters, sorting, and paging.'
      operationId: workflow-api.search.processes.transitions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransitionFieldQuery'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransitionModelGetCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer: [ ]
components:
  schemas:
    ActionReference:
      type: object
      properties:
        actionName:
          type: string
          nullable: true
        order:
          type: integer
          format: int32
        actionParameter:
          type: string
          nullable: true
      additionalProperties: false
    Activity:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        originalName:
          type: string
          nullable: true
        originalSchemeCode:
          type: string
          nullable: true
        lastTimeInlineName:
          type: string
          nullable: true
        firstTimeInlineName:
          type: string
          nullable: true
        wasInlined:
          type: boolean
        activityType:
          type: string
          nullable: true
        schemeCode:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        isInitial:
          type: boolean
        isFinal:
          type: boolean
        isForSetState:
          type: boolean
        isAutoSchemeUpdate:
          type: boolean
        inlinedSchemeCode:
          type: string
          nullable: true
        disablePersistState:
          type: boolean
        disablePersistTransitionHistory:
          type: boolean
        disablePersistParameters:
          type: boolean
        userComment:
          type: string
          nullable: true
        haveImplementation:
          type: boolean
        havePreExecutionImplementation:
          type: boolean
        implementation:
          type: array
          items:
            $ref: '#/components/schemas/ActionReference'
          nullable: true
        preExecutionImplementation:
          type: array
          items:
            $ref: '#/components/schemas/ActionReference'
          nullable: true
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
          nullable: true
        executionTimeout:
          $ref: '#/components/schemas/ActivityTimeout'
        idleTimeout:
          $ref: '#/components/schemas/ActivityTimeout'
        exceptionsHandlers:
          type: array
          items:
            $ref: '#/components/schemas/ExceptionsHandler'
          nullable: true
        isState:
          type: boolean
        nestingLevel:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    ActivityTimeout:
      type: object
      properties:
        type:
          type: string
          nullable: true
        timer:
          type: string
          nullable: true
        nameForSet:
          type: string
          nullable: true
        retryCount:
          type: integer
          format: int32
      additionalProperties: false
    Actor:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        originalName:
          type: string
          nullable: true
        originalSchemeCode:
          type: string
          nullable: true
        wasInlined:
          type: boolean
        rule:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
        isPredefined:
          type: boolean
      additionalProperties: false
    Annotation:
      type: object
      properties:
        name:
          type: string
          nullable: true
        jsonValue:
          type: string
          nullable: true
      additionalProperties: false
    ApprovalField:
      enum:
        - Id
        - ProcessId
        - IdentityId
        - AllowedTo
        - TransitionTime
        - Sort
        - InitialState
        - DestinationState
        - TriggerName
        - Commentary
      type: string
    ApprovalFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/ApprovalField'
        value:
          nullable: true
      additionalProperties: false
    ApprovalFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    ApprovalFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/ApprovalField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    ApprovalModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        processId:
          type: string
          format: uuid
        identityId:
          type: string
          nullable: true
        allowedTo:
          type: array
          items:
            type: string
          nullable: true
        transitionTime:
          type: string
          format: date-time
          nullable: true
        sort:
          type: integer
          format: int64
        initialState:
          type: string
          nullable: true
        destinationState:
          type: string
          nullable: true
        triggerName:
          type: string
          nullable: true
        commentary:
          type: string
          nullable: true
      additionalProperties: false
    ApprovalModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    BooleanNullableBulkTaskResult:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/BulkTaskState'
        result:
          type: boolean
          nullable: true
        exception:
          $ref: '#/components/schemas/ExceptionModel'
        startedAt:
          type: string
          format: date-time
          nullable: true
        finalizedAt:
          type: string
          format: date-time
          nullable: true
        duration:
          type: string
          format: date-span
          nullable: true
      additionalProperties: false
    BulkCreateInstanceRequest:
      type: object
      properties:
        createInstanceParamsList:
          type: array
          items:
            $ref: '#/components/schemas/CreateInstanceParamsItem'
          nullable: true
        maxDegreeOfParallelism:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    BulkDeleteInstanceRequest:
      type: object
      properties:
        processIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        maxDegreeOfParallelism:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    BulkExecuteCommandRequest:
      type: object
      properties:
        commands:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowCommand'
          nullable: true
        identityId:
          type: string
          nullable: true
        impersonatedIdentityId:
          type: string
          nullable: true
        checkRestrictions:
          type: boolean
        maxDegreeOfParallelism:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    BulkGetAvailableCommandsRequest:
      type: object
      properties:
        processIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        identityIds:
          type: array
          items:
            type: string
          nullable: true
        commandNameFilter:
          type: string
          nullable: true
        culture:
          type: string
          nullable: true
        conditionCheck:
          type: boolean
        maxDegreeOfParallelism:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    BulkGetProcessInstanceRequest:
      type: object
      properties:
        processIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        maxDegreeOfParallelism:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    BulkGetProcessInstancesTreeRequest:
      type: object
      properties:
        rootProcessIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        maxDegreeOfParallelism:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    BulkIsProcessExistsRequest:
      type: object
      properties:
        processIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        maxDegreeOfParallelism:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    BulkTaskState:
      enum:
        - Created
        - Running
        - Completed
        - Failed
      type: string
    BulkUpdateSchemeIfObsoleteRequest:
      type: object
      properties:
        processIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        ignoreAutoSchemeUpdate:
          type: boolean
        maxDegreeOfParallelism:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    CheckAllSubprocessesCompletedRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    CheckAllSubprocessesCompletedResponse:
      type: object
      properties:
        isAllSubprocessesCompleted:
          type: boolean
      additionalProperties: false
    CodeAction:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        originalName:
          type: string
          nullable: true
        originalSchemeCode:
          type: string
          nullable: true
        wasInlined:
          type: boolean
        actionCode:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        isGlobal:
          type: boolean
        isAsync:
          type: boolean
        usings:
          type: string
          nullable: true
        excludedUsings:
          type: string
          nullable: true
        parameterDefinitions:
          type: array
          items:
            $ref: '#/components/schemas/CodeActionParameter'
          nullable: true
      additionalProperties: false
    CodeActionParameter:
      type: object
      properties:
        title:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        isRequired:
          type: boolean
        dropdownValues:
          type: array
          items:
            $ref: '#/components/schemas/DropdownValue'
          nullable: true
        defaultValue:
          type: string
          nullable: true
        comment:
          type: string
          nullable: true
        customName:
          type: string
          nullable: true
      additionalProperties: false
    Command:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        inputParameters:
          type: array
          items:
            $ref: '#/components/schemas/ParameterReference'
          nullable: true
        comment:
          type: string
          nullable: true
      additionalProperties: false
    CommandExecutionResult:
      type: object
      properties:
        commandName:
          type: string
          nullable: true
        wasExecuted:
          type: boolean
        processInstance:
          $ref: '#/components/schemas/ProcessInstance'
        message:
          type: string
          nullable: true
      additionalProperties: false
    CommandExecutionResultBulkTaskResult:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/BulkTaskState'
        result:
          $ref: '#/components/schemas/CommandExecutionResult'
        exception:
          $ref: '#/components/schemas/ExceptionModel'
        startedAt:
          type: string
          format: date-time
          nullable: true
        finalizedAt:
          type: string
          format: date-time
          nullable: true
        duration:
          type: string
          format: date-span
          nullable: true
      additionalProperties: false
    CommandParameter:
      type: object
      properties:
        name:
          type: string
          nullable: true
        localizedName:
          type: string
          nullable: true
        isRequired:
          type: boolean
        value:
          nullable: true
        defaultValue:
          nullable: true
        typeName:
          type: string
          nullable: true
        purpose:
          $ref: '#/components/schemas/ParameterPurposeWithoutSystem'
      additionalProperties: false
    Comment:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        value:
          type: string
          nullable: true
        boldText:
          type: boolean
        italicText:
          type: boolean
        underlineText:
          type: boolean
        lineThroughText:
          type: boolean
        fontSize:
          type: integer
          format: int32
        rotation:
          type: number
          format: double
        width:
          type: number
          format: double
        alignment:
          type: string
          nullable: true
      additionalProperties: false
    Condition:
      type: object
      properties:
        type:
          type: string
          nullable: true
        action:
          $ref: '#/components/schemas/ActionReference'
        expression:
          type: string
          nullable: true
        resultOnPreExecution:
          type: boolean
          nullable: true
        conditionInversion:
          type: boolean
      additionalProperties: false
    CreateCollectionResponse:
      type: object
      properties:
        createdCount:
          type: integer
          format: int64
      additionalProperties: false
    CreateInstanceParamsItem:
      type: object
      properties:
        schemeCode:
          type: string
          nullable: true
        processId:
          type: string
          format: uuid
        identityId:
          type: string
          nullable: true
        impersonatedIdentityId:
          type: string
          nullable: true
        calendarName:
          type: string
          nullable: true
        initialProcessParameters:
          type: array
          items:
            $ref: '#/components/schemas/ProcessParameter'
          nullable: true
      additionalProperties: false
    CreateInstanceRequest:
      type: object
      properties:
        schemeCode:
          type: string
          nullable: true
        processId:
          type: string
          format: uuid
        identityId:
          type: string
          nullable: true
        impersonatedIdentityId:
          type: string
          nullable: true
        calendarName:
          type: string
          nullable: true
        initialProcessParameters:
          type: array
          items:
            $ref: '#/components/schemas/ProcessParameter'
          nullable: true
      additionalProperties: false
    CreateInstanceResponse:
      type: object
      additionalProperties: false
    CreateResponse:
      type: object
      additionalProperties: false
    DatabaseStatus:
      enum:
        - Connected
        - ConnectionFailed
      type: string
    DeleteAllSubprocessesRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    DeleteAllSubprocessesResponse:
      type: object
      properties:
        deletedSubprocessesCount:
          type: integer
          format: int32
      additionalProperties: false
    DeleteCollectionResponse:
      type: object
      properties:
        deletedCount:
          type: integer
          format: int64
      additionalProperties: false
    DeleteInstanceRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    DeleteInstanceResponse:
      type: object
      additionalProperties: false
    DeleteResponse:
      type: object
      properties:
        deletedCount:
          type: integer
          format: int64
      additionalProperties: false
    Designer:
      type: object
      properties:
        x:
          type: string
          nullable: true
        y:
          type: string
          nullable: true
        bending:
          type: string
          nullable: true
        scale:
          type: string
          nullable: true
        color:
          type: string
          nullable: true
        autoTextContrast:
          type: boolean
        group:
          type: string
          nullable: true
        hidden:
          type: boolean
        overwriteActivityTo:
          type: string
          nullable: true
        inlineElementSettings:
          $ref: '#/components/schemas/Designer'
      additionalProperties: false
    Direction:
      enum:
        - Asc
        - Desc
      type: string
    DropdownValue:
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
      additionalProperties: false
    Error:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
        message:
          type: string
          nullable: true
      additionalProperties: false
    ErrorCode:
      enum:
        - Unknown
        - NotFound
        - InsertFailed
        - BadRequest
      type: string
    ExceptionModel:
      type: object
      properties:
        type:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
        data:
          type: object
          additionalProperties: { }
          nullable: true
        stackTrace:
          type: string
          nullable: true
        source:
          type: string
          nullable: true
        helpLink:
          type: string
          nullable: true
        hResult:
          type: integer
          format: int32
        innerException:
          $ref: '#/components/schemas/ExceptionModel'
      additionalProperties: false
    ExceptionsHandler:
      type: object
      properties:
        type:
          type: string
          nullable: true
        nameForSet:
          type: string
          nullable: true
        retryCount:
          type: integer
          format: int32
        exceptions:
          type: array
          items:
            type: string
          nullable: true
        order:
          type: integer
          format: int32
      additionalProperties: false
    ExecuteCommandRequest:
      type: object
      properties:
        command:
          $ref: '#/components/schemas/WorkflowCommand'
        identityId:
          type: string
          nullable: true
        impersonatedIdentityId:
          type: string
          nullable: true
        checkRestrictions:
          type: boolean
      additionalProperties: false
    ExecuteCommandResponse:
      type: object
      properties:
        commandName:
          type: string
          nullable: true
        wasExecuted:
          type: boolean
        processInstance:
          $ref: '#/components/schemas/ProcessInstance'
        message:
          type: string
          nullable: true
      additionalProperties: false
    FilterType:
      enum:
        - And
        - Or
        - Not
        - Equal
        - NotEqual
        - Greater
        - GreaterEqual
        - Less
        - LessEqual
        - Contains
        - StartsWith
        - EndsWith
        - In
      type: string
    GetAvailableCommandsRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        identityIds:
          type: array
          items:
            type: string
          nullable: true
        commandNameFilter:
          type: string
          nullable: true
        culture:
          type: string
          nullable: true
        conditionCheck:
          type: boolean
      additionalProperties: false
    GetAvailableCommandsResponse:
      type: object
      properties:
        availableCommands:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowCommand'
          nullable: true
      additionalProperties: false
    GetAvailableStatesToSetBySchemeCodeRequest:
      type: object
      properties:
        schemeCode:
          type: string
          nullable: true
        culture:
          type: string
          nullable: true
      additionalProperties: false
    GetAvailableStatesToSetBySchemeCodeResponse:
      type: object
      properties:
        availableStates:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowState'
          nullable: true
      additionalProperties: false
    GetAvailableStatesToSetRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        culture:
          type: string
          nullable: true
      additionalProperties: false
    GetAvailableStatesToSetResponse:
      type: object
      properties:
        availableStates:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowState'
          nullable: true
      additionalProperties: false
    GetCurrentActivityNameRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    GetCurrentActivityNameResponse:
      type: object
      properties:
        currentActivityName:
          type: string
          nullable: true
      additionalProperties: false
    GetCurrentStateNameRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    GetCurrentStateNameResult:
      type: object
      properties:
        currentStateName:
          type: string
          nullable: true
      additionalProperties: false
    GetCurrentStateRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        culture:
          type: string
          nullable: true
      additionalProperties: false
    GetCurrentStateResponse:
      type: object
      properties:
        currentState:
          $ref: '#/components/schemas/WorkflowState'
      additionalProperties: false
    GetInitialCommandsRequest:
      type: object
      properties:
        schemeCode:
          type: string
          nullable: true
        commandNameFilter:
          type: string
          nullable: true
        culture:
          type: string
          nullable: true
      additionalProperties: false
    GetInitialCommandsResponse:
      type: object
      properties:
        initialCommands:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowCommand'
          nullable: true
      additionalProperties: false
    GetInitialStateRequest:
      type: object
      properties:
        schemeCode:
          type: string
          nullable: true
        culture:
          type: string
          nullable: true
      additionalProperties: false
    GetInitialStateResponse:
      type: object
      properties:
        initialState:
          $ref: '#/components/schemas/WorkflowState'
      additionalProperties: false
    GetProcessHistoryCountRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    GetProcessHistoryCountResponse:
      type: object
      properties:
        processHistoryCount:
          type: integer
          format: int32
      additionalProperties: false
    GetProcessHistoryRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        paging:
          $ref: '#/components/schemas/Paging'
      additionalProperties: false
    GetProcessHistoryResponse:
      type: object
      properties:
        history:
          type: array
          items:
            $ref: '#/components/schemas/ProcessHistoryItem'
          nullable: true
      additionalProperties: false
    GetProcessInstanceRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    GetProcessInstanceResponse:
      type: object
      properties:
        processInstance:
          $ref: '#/components/schemas/ProcessInstance'
      additionalProperties: false
    GetProcessInstancesTreeRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    GetProcessInstancesTreeResponse:
      type: object
      properties:
        processInstanceTree:
          $ref: '#/components/schemas/ProcessInstancesTree'
      additionalProperties: false
    GetProcessParameterRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
      additionalProperties: false
    GetProcessParameterResponse:
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    GetProcessStatusRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    GetProcessStatusResponse:
      type: object
      properties:
        processStatus:
          $ref: '#/components/schemas/ProcessStatus'
      additionalProperties: false
    GetSchemeCodesRequest:
      type: object
      properties:
        tags:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    GetSchemeCodesResponse:
      type: object
      properties:
        schemeCodes:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    GlobalParameterCreateRequest:
      type: object
      properties:
        value:
          nullable: true
      additionalProperties: false
    GlobalParameterCreateRequestWithTypeName:
      type: object
      properties:
        type:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    GlobalParameterField:
      enum:
        - Id
        - Type
        - Name
        - Value
      type: string
    GlobalParameterFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/GlobalParameterFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/GlobalParameterField'
        value:
          nullable: true
      additionalProperties: false
    GlobalParameterFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/GlobalParameterFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/GlobalParameterFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    GlobalParameterFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/GlobalParameterField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    GlobalParameterModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        value:
          nullable: true
        tenantId:
          type: string
          nullable: true
      additionalProperties: false
    GlobalParameterModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/GlobalParameterModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    GlobalParameterUpdateRequest:
      type: object
      properties:
        type:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    InboxEntryField:
      enum:
        - Id
        - ProcessId
        - IdentityId
        - AddingDate
        - AvailableCommands
      type: string
    InboxEntryFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/InboxEntryFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/InboxEntryField'
        value:
          nullable: true
      additionalProperties: false
    InboxEntryFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/InboxEntryFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/InboxEntryFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    InboxEntryFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/InboxEntryField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    InboxEntryModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        processId:
          type: string
          format: uuid
        identityId:
          type: string
          nullable: true
        addingDate:
          type: string
          format: date-time
        availableCommands:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    InboxEntryModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/InboxEntryModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    IsProcessExistsRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    IsProcessExistsResponse:
      type: object
      properties:
        isExists:
          type: boolean
      additionalProperties: false
    LogDebugIfLoggerExistsRequest:
      type: object
      properties:
        message:
          type: string
          nullable: true
        parameters:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    LogDebugIfLoggerExistsResponse:
      type: object
      additionalProperties: false
    LogDebugRequest:
      type: object
      properties:
        message:
          type: string
          nullable: true
        parameters:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    LogDebugResponse:
      type: object
      additionalProperties: false
    LogErrorIfLoggerExistsRequest:
      type: object
      properties:
        message:
          type: string
          nullable: true
        parameters:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    LogErrorIfLoggerExistsResponse:
      type: object
      additionalProperties: false
    LogErrorRequest:
      type: object
      properties:
        message:
          type: string
          nullable: true
        parameters:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    LogErrorResponse:
      type: object
      additionalProperties: false
    LogInfoIfLoggerExistsRequest:
      type: object
      properties:
        message:
          type: string
          nullable: true
        parameters:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    LogInfoIfLoggerExistsResponse:
      type: object
      additionalProperties: false
    LogInfoRequest:
      type: object
      properties:
        message:
          type: string
          nullable: true
        parameters:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    LogInfoResponse:
      type: object
      additionalProperties: false
    ObjectBulkTaskResult:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/BulkTaskState'
        result:
          nullable: true
        exception:
          $ref: '#/components/schemas/ExceptionModel'
        startedAt:
          type: string
          format: date-time
          nullable: true
        finalizedAt:
          type: string
          format: date-time
          nullable: true
        duration:
          type: string
          format: date-span
          nullable: true
      additionalProperties: false
    Paging:
      type: object
      properties:
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
      additionalProperties: false
    Parameter:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        type:
          type: string
          nullable: true
        purpose:
          type: string
          nullable: true
        initialValue:
          type: string
          nullable: true
      additionalProperties: false
    ParameterCreateRequest:
      type: object
      properties:
        value:
          nullable: true
      additionalProperties: false
    ParameterCreateRequestWithName:
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    ParameterDefinitionWithValue:
      type: object
      properties:
        name:
          type: string
          nullable: true
        purpose:
          $ref: '#/components/schemas/ParameterPurpose'
        type:
          type: string
          nullable: true
        value:
          nullable: true
        isImplicit:
          type: boolean
      additionalProperties: false
    ParameterField:
      enum:
        - Id
        - ProcessId
        - ParameterName
        - Value
      type: string
    ParameterFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ParameterFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/ParameterField'
        value:
          nullable: true
      additionalProperties: false
    ParameterFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ParameterFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/ParameterFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    ParameterFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/ParameterField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    ParameterModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        processId:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    ParameterModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/ParameterModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    ParameterPurpose:
      enum:
        - Temporary
        - Persistence
        - System
      type: string
    ParameterPurposeWithoutSystem:
      enum:
        - Temporary
        - Persistence
      type: string
    ParameterReference:
      type: object
      properties:
        name:
          type: string
          nullable: true
        isRequired:
          type: boolean
        defaultValue:
          type: string
          nullable: true
        parameter:
          $ref: '#/components/schemas/Parameter'
        comment:
          type: string
          nullable: true
      additionalProperties: false
    ParameterUpdateRequest:
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    PreExecuteFromCurrentActivityRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    PreExecuteFromCurrentActivityResponse:
      type: object
      properties:
        activitiesSequence:
          type: array
          items:
            $ref: '#/components/schemas/PreExecutionActivity'
          nullable: true
      additionalProperties: false
    PreExecuteFromInitialActivityRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    PreExecuteFromInitialActivityResponse:
      type: object
      properties:
        activitiesSequence:
          type: array
          items:
            $ref: '#/components/schemas/PreExecutionActivity'
          nullable: true
      additionalProperties: false
    PreExecuteRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        fromActivityName:
          type: string
          nullable: true
      additionalProperties: false
    PreExecuteResponse:
      type: object
      properties:
        activitiesSequence:
          type: array
          items:
            $ref: '#/components/schemas/PreExecutionActivity'
          nullable: true
      additionalProperties: false
    PreExecutionActivity:
      type: object
      properties:
        name:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        isCurrent:
          type: boolean
        isFinal:
          type: boolean
        isInitial:
          type: boolean
        subprocessLevel:
          type: integer
          format: int32
          nullable: true
        localizedState:
          type: string
          nullable: true
        transitions:
          type: array
          items:
            $ref: '#/components/schemas/PreExecutionTransition'
          nullable: true
      additionalProperties: false
    PreExecutionTransition:
      type: object
      properties:
        commandName:
          type: string
          nullable: true
        nextActivityName:
          type: string
          nullable: true
        triggerType:
          type: string
          nullable: true
        classifier:
          $ref: '#/components/schemas/TransitionClassifier'
        localizedCommandName:
          type: string
          nullable: true
      additionalProperties: false
    ProcessField:
      enum:
        - Id
        - StateName
        - ActivityName
        - SchemeId
        - PreviousState
        - PreviousStateForDirect
        - PreviousStateForReverse
        - PreviousActivity
        - PreviousActivityForDirect
        - PreviousActivityForReverse
        - ParentProcessId
        - RootProcessId
        - StartingTransition
        - SubprocessName
        - CreationDate
        - LastTransitionDate
        - CalendarName
      type: string
    ProcessFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ProcessFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/ProcessField'
        value:
          nullable: true
      additionalProperties: false
    ProcessFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ProcessFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/ProcessFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    ProcessFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/ProcessField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    ProcessHistoryItem:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        actorIdentityId:
          type: string
          nullable: true
        executorName:
          type: string
          nullable: true
        actorName:
          type: string
          nullable: true
        executorIdentityId:
          type: string
          nullable: true
        fromActivityName:
          type: string
          nullable: true
        fromStateName:
          type: string
          nullable: true
        isFinalised:
          type: boolean
        toActivityName:
          type: string
          nullable: true
        toStateName:
          type: string
          nullable: true
        transitionClassifier:
          $ref: '#/components/schemas/TransitionClassifier'
        transitionTime:
          type: string
          format: date-time
        triggerName:
          type: string
          nullable: true
        startTransitionTime:
          type: string
          format: date-time
          nullable: true
        transitionDuration:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    ProcessInstance:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        parentProcessId:
          type: string
          format: uuid
          nullable: true
        rootProcessId:
          type: string
          format: uuid
        schemeId:
          type: string
          format: uuid
        previousState:
          type: string
          nullable: true
        previousStateForDirect:
          type: string
          nullable: true
        previousStateForReverse:
          type: string
          nullable: true
        previousActivityName:
          type: string
          nullable: true
        previousActivityForDirectName:
          type: string
          nullable: true
        previousActivityForReverseName:
          type: string
          nullable: true
        currentActivityName:
          type: string
          nullable: true
        schemeCode:
          type: string
          nullable: true
        currentState:
          type: string
          nullable: true
        tenantId:
          type: string
          nullable: true
        identityId:
          type: string
          nullable: true
        impersonatedIdentityId:
          type: string
          nullable: true
        subprocessName:
          type: string
          nullable: true
        creationDate:
          type: string
          format: date-time
        lastTransitionDate:
          type: string
          format: date-time
          nullable: true
        logEnabled:
          type: boolean
        calendarName:
          type: string
          nullable: true
        isSchemeObsolete:
          type: boolean
        isSubprocess:
          type: boolean
        processParameters:
          type: array
          items:
            $ref: '#/components/schemas/ParameterDefinitionWithValue'
          nullable: true
      additionalProperties: false
    ProcessInstanceBulkTaskResult:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/BulkTaskState'
        result:
          $ref: '#/components/schemas/ProcessInstance'
        exception:
          $ref: '#/components/schemas/ExceptionModel'
        startedAt:
          type: string
          format: date-time
          nullable: true
        finalizedAt:
          type: string
          format: date-time
          nullable: true
        duration:
          type: string
          format: date-span
          nullable: true
      additionalProperties: false
    ProcessInstancesTree:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
        startingTransitionName:
          type: string
          nullable: true
        isRoot:
          type: boolean
        children:
          type: array
          items:
            $ref: '#/components/schemas/ProcessInstancesTree'
          nullable: true
      additionalProperties: false
    ProcessInstancesTreeBulkTaskResult:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/BulkTaskState'
        result:
          $ref: '#/components/schemas/ProcessInstancesTree'
        exception:
          $ref: '#/components/schemas/ExceptionModel'
        startedAt:
          type: string
          format: date-time
          nullable: true
        finalizedAt:
          type: string
          format: date-time
          nullable: true
        duration:
          type: string
          format: date-span
          nullable: true
      additionalProperties: false
    ProcessModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        stateName:
          type: string
          nullable: true
        activityName:
          type: string
          nullable: true
        schemeId:
          type: string
          format: uuid
          nullable: true
        previousState:
          type: string
          nullable: true
        previousStateForDirect:
          type: string
          nullable: true
        previousStateForReverse:
          type: string
          nullable: true
        previousActivity:
          type: string
          nullable: true
        previousActivityForDirect:
          type: string
          nullable: true
        previousActivityForReverse:
          type: string
          nullable: true
        parentProcessId:
          type: string
          format: uuid
          nullable: true
        rootProcessId:
          type: string
          format: uuid
        tenantId:
          type: string
          nullable: true
        startingTransition:
          type: string
          nullable: true
        subprocessName:
          type: string
          nullable: true
        creationDate:
          type: string
          format: date-time
        lastTransitionDate:
          type: string
          format: date-time
          nullable: true
        calendarName:
          type: string
          nullable: true
      additionalProperties: false
    ProcessModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/ProcessModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    ProcessParameter:
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          nullable: true
        purpose:
          $ref: '#/components/schemas/ParameterPurposeWithoutSystem'
      additionalProperties: false
    ProcessStatus:
      enum:
        - Initialized
        - Running
        - Idled
        - Finalized
        - Terminated
        - Error
        - Unknown
        - NotFound
      type: string
    ProcessStatusAvailableToSet:
      enum:
        - Initialized
        - Running
        - Idled
        - Finalized
        - Terminated
        - Error
      type: string
    ProcessUpdateRequest:
      type: object
      properties:
        calendarName:
          type: string
          nullable: true
      additionalProperties: false
    ReadinessResponse:
      type: object
      properties:
        isHealthy:
          type: boolean
        message:
          type: string
          nullable: true
        tenantStatuses:
          type: array
          items:
            $ref: '#/components/schemas/TenantStatus'
          nullable: true
      additionalProperties: false
    Restriction:
      type: object
      properties:
        type:
          type: string
          nullable: true
        actor:
          $ref: '#/components/schemas/Actor'
      additionalProperties: false
    ResumeRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        activityName:
          type: string
          nullable: true
        identityId:
          type: string
          nullable: true
        impersonatedIdentityId:
          type: string
          nullable: true
        processParameters:
          type: array
          items:
            $ref: '#/components/schemas/ProcessParameter'
          nullable: true
      additionalProperties: false
    ResumeResult:
      type: object
      properties:
        wasResumed:
          type: boolean
        processInstance:
          $ref: '#/components/schemas/ProcessInstance'
      additionalProperties: false
    RpcGetProcessSchemeRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
      additionalProperties: false
    RpcGetProcessSchemeResponse:
      type: object
      properties:
        processScheme:
          $ref: '#/components/schemas/Scheme'
      additionalProperties: false
    RuntimeColdStartRequest:
      type: object
      additionalProperties: false
    RuntimeColdStartResponse:
      type: object
      additionalProperties: false
    RuntimeField:
      enum:
        - RuntimeId
        - Lock
        - Status
        - RestorerId
        - NextTimerTime
        - NextServiceTimerTime
        - LastAliveSignal
      type: string
    RuntimeFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/RuntimeFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/RuntimeField'
        value:
          nullable: true
      additionalProperties: false
    RuntimeFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/RuntimeFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/RuntimeFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    RuntimeFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/RuntimeField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    RuntimeGetStatusRequest:
      type: object
      additionalProperties: false
    RuntimeGetStatusResponse:
      type: object
      properties:
        runningStatus:
          $ref: '#/components/schemas/RuntimeRunningStatus'
      additionalProperties: false
    RuntimeModel:
      type: object
      properties:
        id:
          type: string
          nullable: true
        lock:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/RuntimeStatus'
        restorerId:
          type: string
          nullable: true
        nextTimerTime:
          type: string
          format: date-time
          nullable: true
        nextServiceTimerTime:
          type: string
          format: date-time
          nullable: true
        lastAliveSignal:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    RuntimeModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/RuntimeModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    RuntimeRunningStatus:
      enum:
        - Stopped
        - Running
        - RunningCold
      type: string
    RuntimeShutDownRequest:
      type: object
      properties:
        timeout:
          type: integer
          format: int32
      additionalProperties: false
    RuntimeShutDownResponse:
      type: object
      additionalProperties: false
    RuntimeStartRequest:
      type: object
      additionalProperties: false
    RuntimeStartResponse:
      type: object
      additionalProperties: false
    RuntimeStatus:
      enum:
        - Alive
        - Restore
        - SelfRestore
        - Dead
        - Terminated
        - Single
      type: string
    Scheme:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Actor'
          nullable: true
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/Parameter'
          nullable: true
        commands:
          type: array
          items:
            $ref: '#/components/schemas/Command'
          nullable: true
        timers:
          type: array
          items:
            $ref: '#/components/schemas/Timer'
          nullable: true
        comments:
          type: array
          items:
            $ref: '#/components/schemas/Comment'
          nullable: true
        activities:
          type: array
          items:
            $ref: '#/components/schemas/Activity'
          nullable: true
        transitions:
          type: array
          items:
            $ref: '#/components/schemas/Transition'
          nullable: true
        localization:
          type: array
          items:
            $ref: '#/components/schemas/Translation'
          nullable: true
        codeActions:
          type: array
          items:
            $ref: '#/components/schemas/CodeAction'
          nullable: true
        codeActionsCommonUsings:
          type: string
          nullable: true
        additionalParams:
          type: object
          additionalProperties: { }
          nullable: true
        canBeInlined:
          type: boolean
        logEnabled:
          type: boolean
        inlinedSchemes:
          type: array
          items:
            type: string
          nullable: true
        tags:
          type: array
          items:
            type: string
          nullable: true
        rootSchemeCode:
          type: string
          nullable: true
        rootSchemeId:
          type: string
          format: uuid
          nullable: true
        isObsolete:
          type: boolean
        id:
          type: string
          format: uuid
        allowedActivities:
          type: array
          items:
            type: string
          nullable: true
        calendarName:
          type: string
          nullable: true
      additionalProperties: false
    SchemeCreateRequest:
      type: object
      properties:
        scheme:
          $ref: '#/components/schemas/Scheme'
        canBeInlined:
          type: boolean
        inlinedSchemes:
          type: array
          items:
            type: string
          nullable: true
        tags:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    SchemeCreateRequestWithCode:
      type: object
      properties:
        code:
          type: string
          nullable: true
        scheme:
          $ref: '#/components/schemas/Scheme'
        canBeInlined:
          type: boolean
        inlinedSchemes:
          type: array
          items:
            type: string
          nullable: true
        tags:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    SchemeField:
      enum:
        - Code
        - Scheme
        - CanBeInlined
        - InlinedSchemes
        - Tags
      type: string
    SchemeFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SchemeFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/SchemeField'
        value:
          nullable: true
      additionalProperties: false
    SchemeFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SchemeFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/SchemeFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    SchemeFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/SchemeField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    SchemeModel:
      type: object
      properties:
        code:
          type: string
          nullable: true
        scheme:
          $ref: '#/components/schemas/Scheme'
        canBeInlined:
          type: boolean
        inlinedSchemes:
          type: array
          items:
            type: string
          nullable: true
        tags:
          type: array
          items:
            type: string
          nullable: true
        tenantId:
          type: string
          nullable: true
      additionalProperties: false
    SchemeModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/SchemeModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    SchemeUpdateRequest:
      type: object
      properties:
        code:
          type: string
          nullable: true
        scheme:
          $ref: '#/components/schemas/Scheme'
        canBeInlined:
          type: boolean
          nullable: true
        inlinedSchemes:
          type: array
          items:
            type: string
          nullable: true
        tags:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    SetActivityWithExecutionRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        activityName:
          type: string
          nullable: true
        processParameters:
          type: array
          items:
            $ref: '#/components/schemas/ProcessParameter'
          nullable: true
        identityId:
          type: string
          nullable: true
        impersonatedIdentityId:
          type: string
          nullable: true
        doNotSetRunningStatus:
          type: boolean
      additionalProperties: false
    SetActivityWithExecutionResponse:
      type: object
      additionalProperties: false
    SetActivityWithoutExecutionRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        activityName:
          type: string
          nullable: true
        doNotSetRunningStatus:
          type: boolean
      additionalProperties: false
    SetActivityWithoutExecutionResponse:
      type: object
      additionalProperties: false
    SetProcessNewStatusRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        processStatus:
          $ref: '#/components/schemas/ProcessStatusAvailableToSet'
        suppressEvent:
          type: boolean
      additionalProperties: false
    SetProcessNewStatusResponse:
      type: object
      additionalProperties: false
    SetProcessParameterRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    SetProcessParameterResponse:
      type: object
      additionalProperties: false
    SetSchemeIsObsoleteRequest:
      type: object
      properties:
        schemeCode:
          type: string
          nullable: true
      additionalProperties: false
    SetSchemeIsObsoleteResponse:
      type: object
      additionalProperties: false
    SetStateWithExecutionRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        identityId:
          type: string
          nullable: true
        impersonatedIdentityId:
          type: string
          nullable: true
        stateName:
          type: string
          nullable: true
        processParameters:
          type: array
          items:
            $ref: '#/components/schemas/ProcessParameter'
          nullable: true
      additionalProperties: false
    SetStateWithExecutionResponse:
      type: object
      additionalProperties: false
    SetStateWithoutExecutionRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        stateName:
          type: string
          nullable: true
      additionalProperties: false
    SetStateWithoutExecutionResponse:
      type: object
      additionalProperties: false
    StatusField:
      enum:
        - Id
        - Status
        - Lock
        - RuntimeId
        - SetTime
      type: string
    StatusFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/StatusFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/StatusField'
        value:
          nullable: true
      additionalProperties: false
    StatusFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/StatusFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/StatusFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    StatusFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/StatusField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    StatusModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        statusCode:
          type: integer
          format: int32
        lock:
          type: string
          format: uuid
        runtimeId:
          type: string
          nullable: true
        setTime:
          type: string
          format: date-time
      additionalProperties: false
    StatusModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/StatusModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    TenantReadinessResponse:
      type: object
      properties:
        tenantStatus:
          $ref: '#/components/schemas/TenantStatus'
      additionalProperties: false
    TenantStatus:
      type: object
      properties:
        tenantId:
          type: string
          nullable: true
        isHealthy:
          type: boolean
          readOnly: true
        databaseStatus:
          $ref: '#/components/schemas/DatabaseStatus'
        databaseException:
          $ref: '#/components/schemas/ExceptionModel'
        workflowRuntimeRunningStatus:
          $ref: '#/components/schemas/RuntimeRunningStatus'
        workflowRuntimeException:
          $ref: '#/components/schemas/ExceptionModel'
      additionalProperties: false
    Timer:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        type:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
        notOverrideIfExists:
          type: boolean
      additionalProperties: false
    TimerCreateRequest:
      type: object
      properties:
        rootProcessId:
          type: string
          format: uuid
        nextExecutionDateTime:
          type: string
          format: date-time
        ignore:
          type: boolean
      additionalProperties: false
    TimerCreateRequestWithName:
      type: object
      properties:
        name:
          type: string
          nullable: true
        rootProcessId:
          type: string
          format: uuid
        nextExecutionDateTime:
          type: string
          format: date-time
        ignore:
          type: boolean
      additionalProperties: false
    TimerField:
      enum:
        - Id
        - ProcessId
        - RootProcessId
        - Name
        - NextExecutionDateTime
        - Ignore
      type: string
    TimerFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/TimerFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/TimerField'
        value:
          nullable: true
      additionalProperties: false
    TimerFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/TimerFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/TimerFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    TimerFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/TimerField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    TimerModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        processId:
          type: string
          format: uuid
        rootProcessId:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
        nextExecutionDateTime:
          type: string
          format: date-time
        ignore:
          type: boolean
      additionalProperties: false
    TimerModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/TimerModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    TimerUpdateRequest:
      type: object
      properties:
        name:
          type: string
          nullable: true
        nextExecutionDateTime:
          type: string
          format: date-time
          nullable: true
        ignore:
          type: boolean
          nullable: true
      additionalProperties: false
    Transition:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        inlinedFinalActivityName:
          type: string
          nullable: true
        originalName:
          type: string
          nullable: true
        originalSchemeCode:
          type: string
          nullable: true
        lastTimeInlineName:
          type: string
          nullable: true
        firstTimeInlineName:
          type: string
          nullable: true
        userComment:
          type: string
          nullable: true
        wasInlined:
          type: boolean
        from:
          $ref: '#/components/schemas/Activity'
        to:
          $ref: '#/components/schemas/Activity'
        classifier:
          type: string
          nullable: true
        trigger:
          $ref: '#/components/schemas/Trigger'
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/Condition'
          nullable: true
        restrictions:
          type: array
          items:
            $ref: '#/components/schemas/Restriction'
          nullable: true
        allowConcatenationType:
          type: string
          nullable: true
        restrictConcatenationType:
          type: string
          nullable: true
        conditionsConcatenationType:
          type: string
          nullable: true
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
          nullable: true
        isFork:
          type: boolean
        mergeViaSetState:
          type: boolean
        disableParentStateControl:
          type: boolean
        subprocessStartupType:
          type: string
          nullable: true
        subprocessInOutDefinition:
          type: string
          nullable: true
        subprocessName:
          type: string
          nullable: true
        subprocessId:
          type: string
          nullable: true
        subprocessStartupParameterCopyStrategy:
          type: string
          nullable: true
        subprocessFinalizeParameterMergeStrategy:
          type: string
          nullable: true
        subprocessSpecifiedParameters:
          type: string
          nullable: true
        isAlwaysTransition:
          type: boolean
        isOtherwiseTransition:
          type: boolean
        isConditionTransition:
          type: boolean
      additionalProperties: false
    TransitionClassifier:
      enum:
        - NotSpecified
        - Direct
        - Reverse
      type: string
    TransitionField:
      enum:
        - Id
        - ProcessId
        - ExecutorIdentityId
        - ActorIdentityId
        - ExecutorName
        - ActorName
        - FromActivityName
        - ToActivityName
        - ToStateName
        - TransitionTime
        - TransitionClassifier
        - IsFinalised
        - FromStateName
        - TriggerName
        - StartTransitionTime
        - TransitionDuration
      type: string
    TransitionFieldFilter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FilterType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/TransitionFieldFilter'
          nullable: true
        field:
          $ref: '#/components/schemas/TransitionField'
        value:
          nullable: true
      additionalProperties: false
    TransitionFieldQuery:
      type: object
      properties:
        search:
          type: string
          nullable: true
        filters:
          type: array
          items:
            $ref: '#/components/schemas/TransitionFieldFilter'
          nullable: true
        sorts:
          type: array
          items:
            $ref: '#/components/schemas/TransitionFieldSort'
          nullable: true
        skip:
          type: integer
          format: int64
        take:
          type: integer
          format: int64
      additionalProperties: false
    TransitionFieldSort:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/TransitionField'
        direction:
          $ref: '#/components/schemas/Direction'
      additionalProperties: false
    TransitionModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        processId:
          type: string
          format: uuid
        executorIdentityId:
          type: string
          nullable: true
        actorIdentityId:
          type: string
          nullable: true
        executorName:
          type: string
          nullable: true
        actorName:
          type: string
          nullable: true
        fromActivityName:
          type: string
          nullable: true
        toActivityName:
          type: string
          nullable: true
        toStateName:
          type: string
          nullable: true
        transitionTime:
          type: string
          format: date-time
        transitionClassifier:
          type: string
          nullable: true
        isFinalised:
          type: boolean
        fromStateName:
          type: string
          nullable: true
        triggerName:
          type: string
          nullable: true
        startTransitionTime:
          type: string
          format: date-time
          nullable: true
        transitionDuration:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    TransitionModelGetCollectionResponse:
      type: object
      properties:
        collection:
          type: array
          items:
            $ref: '#/components/schemas/TransitionModel'
          nullable: true
        total:
          type: integer
          format: int64
      additionalProperties: false
    Translation:
      type: object
      properties:
        name:
          type: string
          nullable: true
        designerSettings:
          $ref: '#/components/schemas/Designer'
        objectName:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        culture:
          type: string
          nullable: true
        isDefault:
          type: boolean
      additionalProperties: false
    Trigger:
      type: object
      properties:
        type:
          type: string
          nullable: true
        command:
          $ref: '#/components/schemas/Command'
        timer:
          $ref: '#/components/schemas/Timer'
      additionalProperties: false
    UpdateResponse:
      type: object
      properties:
        updatedCount:
          type: integer
          format: int64
      additionalProperties: false
    UpdateSchemeIfObsoleteRequest:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        ignoreAutoSchemeUpdate:
          type: boolean
      additionalProperties: false
    UpdateSchemeIfObsoleteResponse:
      type: object
      additionalProperties: false
    WorkflowCommand:
      type: object
      properties:
        processId:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
        localizedName:
          type: string
          nullable: true
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/CommandParameter'
          nullable: true
        validForActivityName:
          type: string
          nullable: true
        validForStateName:
          type: string
          nullable: true
        isForSubprocess:
          type: boolean
        classifier:
          $ref: '#/components/schemas/TransitionClassifier'
        identities:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    WorkflowCommandListBulkTaskResult:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/BulkTaskState'
        result:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowCommand'
          nullable: true
        exception:
          $ref: '#/components/schemas/ExceptionModel'
        startedAt:
          type: string
          format: date-time
          nullable: true
        finalizedAt:
          type: string
          format: date-time
          nullable: true
        duration:
          type: string
          format: date-span
          nullable: true
      additionalProperties: false
    WorkflowState:
      type: object
      properties:
        name:
          type: string
          nullable: true
        localizedName:
          type: string
          nullable: true
        schemeCode:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: http
      description: Please insert JWT Bearer token into field
      scheme: bearer
      bearerFormat: JWT
tags:
  - name: Approvals
  - name: Designer
  - name: GlobalParameters
  - name: InboxEntries
  - name: Parameters
  - name: Processes
  - name: Root
  - name: RpcBulk
  - name: RpcCommands
  - name: RpcInstance
  - name: RpcLog
  - name: RpcPreExecution
  - name: RpcRuntime
  - name: RpcScheme
  - name: RpcState
  - name: Runtimes
  - name: Schemes
  - name: Statuses
  - name: Timers
  - name: Transitions