swagger: '2.0'
info:
  version: 3.1.2
  title: SO Monitoring APIs
tags:
- name: getProcessInstanceId
- name: getSingleProcessInstance
- name: getProcessDefinitionXml
- name: getActivityInstanceDetail
- name: getProcessInstanceVariables
- name: getInfraActiveRequests
schemes:
- http
paths:
  /so/monitoring/process-instance-id/{requestId}:
    get:
      tags:
      - getProcessInstanceId
      summary: Get process instance ID for given request ID
      description: ''
      operationId: getProcessInstanceId
      consumes:
      - application/json
      produces:
      - application/json
      - application/xml
      parameters:
      - name: requestId
        in: path
        required: true
        type: string
        pattern: ^(?!\s*$).+
      responses:
        200:
          description: A ProcessInstanceIdDetail object
          schema:
            type: object
            properties:
              processInstanceId:
                type: string
                description: The process instance ID
        204:
          description: Unable to find process instance id for given request ID.
        400:
          description: Unable to find process instance id for given request ID.
        500:
          description: Unable to find process instance id for given request ID.
  /so/monitoring/process-instance/{processInstanceId}:
    get:
      tags:
      - getSingleProcessInstance
      summary: Get process instance for given process instance ID
      description: ''
      operationId: getSingleProcessInstance
      consumes:
      - application/json
      produces:
      - application/json
      - application/xml
      parameters:
      - name: processInstanceId
        in: path
        required: true
        type: string
        pattern: ^(?!\s*$).+
      responses:
        200:
          description: A ProcessInstanceDetail object
          schema:
            type: object
            properties:
              processInstanceId:
                type: string
                description: The process instance ID
              processDefinitionId:
                type: string
                description: The process definition ID
              processDefinitionName:
                type: string
                description: The process definition name
              superProcessInstanceId:
                type: string
                description: The super process instance ID
        204:
          description: Unable to find process instance for given process instance ID.
        400:
          description: Unable to find process instance for given process instance ID.
        500:
          description: Unable to find process instance  for given process instance ID.
  /so/monitoring/process-definition/{processDefinitionId}:
    get:
      tags:
      - getProcessDefinitionXml
      summary: Get process definition for given process definition ID
      description: ''
      operationId: getProcessDefinitionXml
      consumes:
      - application/json
      produces:
      - application/json
      - application/xml
      parameters:
      - name: processDefinitionId
        in: path
        required: true
        type: string
        pattern: ^(?!\s*$).+
      responses:
        200:
          description: A ProcessDefinitionDetail object
          schema:
            type: object
            properties:
              processDefinitionId:
                type: string
                description: The process definition ID
              processDefinitionXml:
                type: string
                description: The process definition XML
        204:
          description: Unable to find process definition xml for given process definition ID.
        400:
          description: Unable to find process definition xml for given process definition ID.
        500:
          description: Unable to find process definition xml for given process definition ID.
  /so/monitoring/activity-instance/{processInstanceId}:
    get:
      tags:
      - getActivityInstanceDetail
      summary: Get activity instance details for given process instance ID
      description: ''
      operationId: getActivityInstanceDetail
      consumes:
      - application/json
      produces:
      - application/json
      - application/xml
      parameters:
      - name: processInstanceId
        in: path
        required: true
        type: string
        pattern: ^(?!\s*$).+
      responses:
        200:
          description: A ActivityInstanceDetail object
          schema:
            type: array
            items:
              properties:
                activityId:
                  type: string
                  description: The activity ID
                activityName:
                  type: string
                  description: The activity name
                activityType:
                  type: string
                  description: The activity type
                processInstanceId:
                  type: string
                  description: The process instance ID
                calledProcessInstanceId:
                  type: string
                  description: The sub-process instance ID
                startTime:
                  type: string
                  description: The process execution start time
                endTime:
                  type: string
                  description: The process execution end time
                durationInMilliseconds:
                  type: string
                  description: The process execution duration in ms
        204:
          description: Unable to find process instance variables for given process instance ID.
        400:
          description: Unable to find process instance variables for given process instance ID.
        500:
          description: Unable to find process instance variables for given process instance ID.
  /so/monitoring/variable-instance/{processInstanceId}:
    get:
      tags:
      - getProcessInstanceVariables
      summary: Get process instance variables for given process instance ID
      description: ''
      operationId: getProcessInstanceVariables
      consumes:
      - application/json
      produces:
      - application/json
      - application/xml
      parameters:
      - name: processInstanceId
        in: path
        required: true
        type: string
        pattern: ^(?!\s*$).+
      responses:
        200:
          description: A ProcessInstanceVariableDetail object
          schema:
            type: object
            properties:
              name:
                type: string
                description: The variable name
              value:
                type: object
                description: The variable value
              type:
                type: string
                description: The variable type
        204:
          description: Unable to find activity instance for given process instance ID.
        400:
          description: Unable to find activity instance for given process instance ID.
        500:
          description: Unable to find activity instance for given process instance ID.
  /so/monitoring/v1/search:
    post:
      tags:
      - getInfraActiveRequests
      summary: Search infra active request for given parameter map and parameters
      description: ''
      operationId: getInfraActiveRequests
      consumes:
      - application/json
      produces:
      - application/json
      - application/xml
      parameters:
      - in: body
        name: filters
        required: true
        schema:
          type: object
          additionalProperties:
            type: string
      - in: query
        name: from
        required: true
        type: number
      - in: query
        name: to
        required: true
        type: number
      - in: query
        name: maxResult
        required: false
        type: number
      responses:
        200:
          description: A SoInfraRequest object
          schema:
            type: array
            items:
              properties:
                requestId:
                  type: string
                  description: The request ID
                serviceInstanceId:
                  type: string
                  description: The service instance ID
                serviceIstanceName:
                  type: string
                  description: The service instance name
                networkId:
                  type: string
                  description: The network ID
                requestStatus:
                  type: string
                  description: The request status
                serviceType:
                  type: string
                  description: The service type
                startTime:
                  type: string
                  description: The process execution start time
                endTime:
                  type: string
                  description: The process execution send time
        204:
          description: Unable to find search request for given filter and parameters.
        400:
          description: Unable to find search request for given filter and parameters
        500:
          description: Unable to find search request for given filter and parameters