swagger: "2.0"
info:
  description: "Qorus Integration Engine(R) REST API"
  version: "8.0"
  title: "Qorus REST API"
  contact:
    email: "info@qoretechnologies.com"
host: "localhost"
basePath: "/api/v8"
schemes:
- "https"
- "http"
produces:
- "text/x-yaml"
- "application/json"
consumes:
- "text/x-yaml"
- "application/json"
paths:
  /slas/{sla}:
    delete:
      summary: "Deletes the SLA"
      description: "Deletes the SLA"
      operationId: "delete-slas-{sla}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-slas-sla-body"
      - in: "path"
        name: "sla"
        description: "path param \"sla\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the SLA that was deleted"
          schema:
            $ref: "#/definitions/SlaDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such SLA"
          schema: {}
    put:
      summary: "Updates the current SLA"
      description: "Updates the current SLA"
      operationId: "put-slas-{sla}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-slas-sla-body"
      - in: "path"
        name: "sla"
        description: "path param \"sla\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new SLA"
          schema:
            $ref: "#/definitions/UpdateSlaInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /slas:
    post:
      summary: "Creates a system SLA according to the arguments"
      description: "Creates a system SLA according to the arguments"
      operationId: "post-slas"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-slas-body"
      responses:
        "200":
          description: "hash of the SLA created or of the existing SLA if all arguments match an existing SLA exactly"
          schema:
            $ref: "#/definitions/SlaInfo"
        "400":
          description: "the given SLA name already exists; invalid or missing argument"
          schema: {}
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled, and the user does not have sufficient privileges for the operation"
          schema: {}
  /jobs/{id_or_name}/run:
    put:
      summary: "Runs a job and returns the results of job execution"
      description: "Runs a job and returns the results of job execution"
      operationId: "put-jobs-{id_or_name}-run"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of job execution"
          schema:
            $ref: "#/definitions/JobExecResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /jobs/{id_or_name}/reset:
    put:
      summary: "Resets and reloads the current job"
      description: "Resets and reloads the current job by reloading its configuration in the metadata cache; if the job is currently running, then the reset will cause the job configuration to be reset as soon as it completes its current run."
      operationId: "put-jobs-{id_or_name}-reset"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a descriptive string for the operation"
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "API-CALL-ERROR: cannot reset a disabled job"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /jobs/{id_or_name}/setExpiry:
    put:
      summary: "Updates the active status of a job"
      description: "Updates the expiry date of a job; if any errors occur an exception is thrown. This API works on all jobs regardless of state; the job does not have to be running or active to be updated. Removing the expiry date or setting a future expiry date from a job that is not started because it has expired will result in the job starting immediately (unless the job is inactive or a member of a disabled group. Setting a past expiry date on a currently-active job will stop the job immediately."
      operationId: "put-jobs-{id_or_name}-setExpiry"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-jobs-id_or_name-setExpiry-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash of information about the update operation"
          schema:
            $ref: "#/definitions/JobExpiryUpdateInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /jobs/{id_or_name}/schedule:
    put:
      summary: "Updates the schedule of a job"
      description: "Updates the schedule of a job; if any errors occur an exception is thrown. This API works on all jobs regardless of state; the job does not have to be running or active to be updated."
      operationId: "put-jobs-{id_or_name}-schedule"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-jobs-id_or_name-schedule-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash of information about the update operation"
          schema:
            $ref: "#/definitions/JobScheduleUpdateInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /jobs/{id_or_name}/enable:
    put:
      summary: "Enables the current job if it is disabled"
      description: "Enables the current job if it is disabled; if the job is already enabled, the action is reported as successful anyway"
      operationId: "put-jobs-{id_or_name}-enable"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/JobUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing the request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /jobs/{id_or_name}/disable:
    put:
      summary: "Disables the current job if it is disabled"
      description: "Disables the current job if it is enabled; if the job is already disabled, the action is reported as successful anyway"
      operationId: "put-jobs-{id_or_name}-disable"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/JobUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing the request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /system/sqlcache:
    get:
      summary: "Returns information about the system cache"
      description: "Returns information about the system cache"
      operationId: "get-system-sqlcache"
      parameters:
      - in: "query"
        name: "system"
        description: "if omq datasource)"
        required: false
        type: "boolean"
        x-nullable: true
      responses:
        "200":
          description: "a hash of cache information keyed by datasource name, values are hashes keyed by SQL object type (ex: \"tables\")"
          schema:
            $ref: "#/definitions/SqlCacheSummaryInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /system/sqlcache/clear:
    put:
      summary: "Clears the SQL cache according to the arguments"
      description: "Clears the SQL cache according to the arguments"
      operationId: "put-system-sqlcache-clear"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-system-sqlcache-clear-body"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
  /system/listeners/{id_or_name}:
    get:
      summary: "Returns a hash of information about the current listener"
      description: "Returns a hash of information about the current listener"
      operationId: "get-system-listeners-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current listener"
          schema:
            $ref: "#/definitions/ListenerInfoHash"
  /system/listeners:
    get:
      summary: "Returns a hash of hashes providing information about HTTP listeners"
      description: "Returns a hash of hashes of information about HTTP listeners"
      operationId: "get-system-listeners"
      parameters: []
      responses:
        "200":
          description: "hash of hashes keyed by listener ID providing information about Qorus listeners"
          schema:
            $ref: "#/definitions/ListenerInfoSet"
  /system/wstoken:
    get:
      summary: "Returns a token for the current user for web socket / HTTP / REST communication with the Qorus server"
      description: "Returns a token for the current user for web socket / HTTP / REST communication with the Qorus server. The token can be used in requests in the Qorus-Token header to provide authentication for future requests up to the lifetime of the token. Tokens are valid only for the current session; to use persistent, long-lived tokens, please use OAuth2 authentication instead. The maximum token duration is 2 days; longer durations will be capped to 2 days."
      operationId: "get-system-wstoken"
      parameters:
      - in: "query"
        name: "ttl"
        description: "duration of validity of the token in seconds; if not present, defaults to 10 minutes"
        required: false
        type: "integer"
        format: "int64"
        x-nullable: true
      responses:
        "200":
          description: "The string token to be used for HTTP or websocket communication in the Qorus-Token header"
          schema:
            type: "string"
  /system/validateWsToken:
    get:
      summary: "Returns the username associated with the given token or nothing if the token is not valid"
      description: "Returns the username associated with the given token or no value if the token is not valid"
      operationId: "get-system-validateWsToken"
      parameters:
      - in: "query"
        name: "token"
        description: "the token string"
        required: true
        type: "string"
      responses:
        "200":
          description: "The username corresponding to the token if the token is valid otherwise no value"
          schema:
            type: "string"
            x-nullable: true
        "400":
          description: "missing \"token\" argument or invalid argument type"
          schema: {}
        "409":
          description: "TOKEN-ERROR: invalid token"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /system/echo:
    put:
      summary: "Echos the argument(s) passed"
      description: "Echos the argument(s) passed"
      operationId: "put-system-echo"
      parameters:
      - in: "body"
        name: "body"
        description: "This API takes any arguments"
        required: false
        schema:
          type: "object"
      responses:
        "200":
          description: "all arguments are returned in the response body"
          schema:
            $ref: "#/definitions/AnyType"
  /system/ping:
    get:
      summary: "Returns \"OK\""
      description: "Returns \"OK\""
      operationId: "get-system-ping"
      parameters: []
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
  /system/rotateLogFiles:
    put:
      summary: "Rotates all system log files"
      description: "Rotates all system log files. The number of old log files kept is controlled by system option max-log-files . It is recommended to use the qorus-log-rotator service to rotate log files instead of calling this API method directly."
      operationId: "put-system-rotateLogFiles"
      parameters: []
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled and the user does not have sufficient privileges for the operation"
          schema: {}
  /system/reloadRbac:
    put:
      summary: "Reloads the all RBAC information (users, permissions, roles, groups) from the system schema"
      description: "Reloads the all RBAC information (users, permissions, roles, groups) from the system schema"
      operationId: "put-system-reloadRbac"
      parameters: []
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled and the user does not have sufficient privileges for the operation"
          schema: {}
  /system/shutdown:
    put:
      summary: "Starts the asynchronous system shutdown process"
      description: "This API will start the asynchronous shutdown process in the Qorus system. The response indicates only that the shutdown process has begun, and not that the system has been fully shut down. Check the log file or the process list to verify that the system has completely stopped."
      operationId: "put-system-shutdown"
      parameters: []
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled and the user does not have sufficient privileges for the operation"
          schema: {}
        "409":
          description: "SHUTDOWN-ALREADY-IN-PROGRESS: system shutdown is already in progress"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /system/shutdownWait:
    put:
      summary: "Shuts down the system and returns when the system shutdown process is complete"
      description: "Shuts down the system and returns when the system shutdown process is complete"
      operationId: "put-system-shutdownWait"
      parameters: []
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled and the user does not have sufficient privileges for the operation"
          schema: {}
  /workflows/{id_or_name}/orders/{id}/cancel:
    put:
      summary: "Cancels the current workflow order data instance"
      description: "Blocks the current workflow order data instance by changing its status to CANCELED. An exception will be thrown if the status is IN-PROGRESS. No further processing can be done on workflow order data instances with a CANCELED status (unless the workflow order instance is recovered back from CANCELED to its original status or the status is first updated to ERROR and then to RETRY). Note that CANCELED and BLOCKED statuses have the same effect, however CANCELED is meant to be a permanent or final status, while BLOCKED is meant to be temporary."
      operationId: "put-workflows-{id_or_name}-orders-{id}-cancel-cancel"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "provides status information about the order processed"
          schema:
            $ref: "#/definitions/WorkflowOrderStatusInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/orders/{id}/uncancel:
    put:
      summary: "Resets the status of a canceled workflow order data instance to its original status"
      description: "Resets the status of a canceled workflow order data instance to its original status before canceling."
      operationId: "put-workflows-{id_or_name}-orders-{id}-uncancel-uncancel"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "provides status information about the order processed"
          schema:
            $ref: "#/definitions/WorkflowOrderStatusInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/orders/{id}/block:
    put:
      summary: "Blocks the current workflow order data instance"
      description: "Blocks the current workflow order data instance by changing its status to BLOCKED. An exception will be thrown if the status is IN-PROGRESS. No further processing can be done on workflow order data instances with a CANCELED status (unless the workflow order instance is recovered back from CANCELED to its original status or the status is first updated to ERROR and then to RETRY). Note that CANCELED and BLOCKED statuses have the same effect, however CANCELED is meant to be a permanent or final status, while BLOCKED is meant to be temporary."
      operationId: "put-workflows-{id_or_name}-orders-{id}-block-block"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "provides status information about the order processed"
          schema:
            $ref: "#/definitions/WorkflowOrderStatusInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/orders/{id}/unblock:
    put:
      summary: "Resets the status of a blocked workflow order data instance to its original status"
      description: "Resets the status of a blocked workflow order data instance to its original status before blocking."
      operationId: "put-workflows-{id_or_name}-orders-{id}-unblock-unblock"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "provides status information about the order processed"
          schema:
            $ref: "#/definitions/WorkflowOrderStatusInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/orders/{id}/notes:
    post:
      summary: "Creates an order note on the current workflow order"
      description: "Creates an order note on the current workflow order"
      operationId: "post-workflows-{id_or_name}-orders-{id}-notes-notes"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-orders-id-notes-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows/{id_or_name}/orders/{id}/staticData:
    put:
      summary: "Replaces the static data for the current order"
      description: "Replaces the static data for the current order"
      operationId: "put-workflows-{id_or_name}-orders-{id}-staticData-staticData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-orders-id-staticData-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "400":
          description: "invalid or missing argument"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows/{id_or_name}/orders/{id}/dynamicData:
    put:
      summary: "Replaces the dynamic data for the current order"
      description: "Replaces the dynamic data for the current order"
      operationId: "put-workflows-{id_or_name}-orders-{id}-dynamicData-dynamicData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-orders-id-dynamicData-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "400":
          description: "invalid or missing argument"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows/{id_or_name}/orders/{id}/updateKeys:
    put:
      summary: "Replace all order keys for the current workflow order"
      description: "Replace all order keys for the current workflow order"
      operationId: "put-workflows-{id_or_name}-orders-{id}-updateKeys-updateKeys"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-orders-id-updateKeys-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "all order keys for the order after updating"
          schema:
            $ref: "#/definitions/OrderKeySet"
        "400":
          description: "invalid orderkeys argument"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows/{id_or_name}/enable:
    put:
      summary: "Enables the current workflow if it is disabled"
      description: "Enables the current workflow if it is disabled; if the workflow is already enabled, the action is reported as successful anyway"
      operationId: "put-workflows-{id_or_name}-enable"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing the request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/disable:
    put:
      summary: "Disables the current workflow if it is enabled"
      description: "Disables the current workflow if it is enabled; if the workflow is already disabled, the action is reported as successful anyway"
      operationId: "put-workflows-{id_or_name}-disable"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows/{id_or_name}/setAutostart:
    put:
      summary: "Sets the autostart attribute for the current workflow"
      description: "Sets the autostart attribute for the current workflow which specifies the targeted numbe of workflow execution instances to be running for the workflow at one time. If the new autostart value is higher than current one, and the workflow is eligible to be started, then new workflow execution instances will be started automatically, while reducing a workflow's autostart value will result in workflow execution instances being stopped immediately."
      operationId: "put-workflows-{id_or_name}-setAutostart"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-workflows-id_or_name-setAutostart-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowSetAutostartResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing the request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/incAutostart:
    put:
      summary: "Increments the autostart value for the current workflow"
      description: "Increments the autostart value for the current workflow; if the workflow is eligible to be started, an additional workflow execution instance is started immediately"
      operationId: "put-workflows-{id_or_name}-incAutostart"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowSetAutostartResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing the request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/decAutostart:
    put:
      summary: "Decrements the autostart value for the current workflow"
      description: "Decrements the autostart value for the current workflow; if the workflow is running, a running workflow execution instance is stopped immediately"
      operationId: "put-workflows-{id_or_name}-decAutostart"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowSetAutostartResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing the request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/reset:
    put:
      summary: "Resets and reloads the current workflow"
      description: "Resets and reloads the current workflow by reloading the configuration for the current workflow in the metadata cache; if there are any running execution instances, then the reset will cause the workflow configuration to be reset on their next iteration."
      operationId: "put-workflows-{id_or_name}-reset"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the value \"OK\""
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows/{id_or_name}/createOrder:
    post:
      summary: "Creates a workflow order data instance"
      description: "Creates a workflow order data instance for the current workflow with the data passed as arguments. To ensure that a given workflow order is only created once for a given unique key value, make sure your workflow defines order keys, and use one of the following options to guarantee the uniqueness of the order: - global_unique_key - workflow_specific_unique_key - workflow_unique_key"
      operationId: "post-workflows-{id_or_name}-createOrder"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-workflows-id_or_name-createOrder-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "201":
          description: "describes the workflow order created"
          schema:
            $ref: "#/definitions/WorkflowOrderCreateInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing create order request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/execSynchronous:
    post:
      summary: "Creates a new order for the current workflow and executes it synchronous mode."
      description: "Creates a new order for the current workflow and executes it synchronous mode. This API call will return only after the workflow order reaches a COMPLETE or ERROR state, unless the system or the workflow order data instance are manually stopped while the workflow order data instance is being processed, in which case other statuses can be returned. To ensure that a given workflow order is only created once for a given unique key value, make sure your workflow defines order keys, and use one of the following options to guarantee the uniqueness of the order: - global_unique_key - workflow_specific_unique_key - workflow_unique_key"
      operationId: "post-workflows-{id_or_name}-execSynchronous"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-workflows-id_or_name-execSynchronous-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "201":
          description: "describes the workflow order created"
          schema:
            $ref: "#/definitions/WorkflowOrderExecutionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing create order request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /orders/{id}/cancel:
    put:
      summary: "Cancels the current workflow order data instance"
      description: "Blocks the current workflow order data instance by changing its status to CANCELED. An exception will be thrown if the status is IN-PROGRESS. No further processing can be done on workflow order data instances with a CANCELED status (unless the workflow order instance is recovered back from CANCELED to its original status or the status is first updated to ERROR and then to RETRY). Note that CANCELED and BLOCKED statuses have the same effect, however CANCELED is meant to be a permanent or final status, while BLOCKED is meant to be temporary."
      operationId: "put-orders-{id}-cancel-cancel"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "provides status information about the order processed"
          schema:
            $ref: "#/definitions/WorkflowOrderStatusInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /orders/{id}/uncancel:
    put:
      summary: "Resets the status of a canceled workflow order data instance to its original status"
      description: "Resets the status of a canceled workflow order data instance to its original status before canceling."
      operationId: "put-orders-{id}-uncancel-uncancel"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "provides status information about the order processed"
          schema:
            $ref: "#/definitions/WorkflowOrderStatusInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /orders/{id}/block:
    put:
      summary: "Blocks the current workflow order data instance"
      description: "Blocks the current workflow order data instance by changing its status to BLOCKED. An exception will be thrown if the status is IN-PROGRESS. No further processing can be done on workflow order data instances with a CANCELED status (unless the workflow order instance is recovered back from CANCELED to its original status or the status is first updated to ERROR and then to RETRY). Note that CANCELED and BLOCKED statuses have the same effect, however CANCELED is meant to be a permanent or final status, while BLOCKED is meant to be temporary."
      operationId: "put-orders-{id}-block-block"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "provides status information about the order processed"
          schema:
            $ref: "#/definitions/WorkflowOrderStatusInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /orders/{id}/unblock:
    put:
      summary: "Resets the status of a blocked workflow order data instance to its original status"
      description: "Resets the status of a blocked workflow order data instance to its original status before blocking."
      operationId: "put-orders-{id}-unblock-unblock"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "provides status information about the order processed"
          schema:
            $ref: "#/definitions/WorkflowOrderStatusInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /orders/{id}/notes:
    post:
      summary: "Creates an order note on the current workflow order"
      description: "Creates an order note on the current workflow order"
      operationId: "post-orders-{id}-notes-notes"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-orders-id-notes-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
  /orders/{id}/staticData:
    put:
      summary: "Replaces the static data for the current order"
      description: "Replaces the static data for the current order"
      operationId: "put-orders-{id}-staticData-staticData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-orders-id-staticData-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "400":
          description: "invalid or missing argument"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /orders/{id}/dynamicData:
    put:
      summary: "Replaces the dynamic data for the current order"
      description: "Replaces the dynamic data for the current order"
      operationId: "put-orders-{id}-dynamicData-dynamicData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-orders-id-dynamicData-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "400":
          description: "invalid or missing argument"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /orders/{id}/updateKeys:
    put:
      summary: "Replace all order keys for the current workflow order"
      description: "Replace all order keys for the current workflow order"
      operationId: "put-orders-{id}-updateKeys-updateKeys"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-orders-id-updateKeys-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "all order keys for the order after updating"
          schema:
            $ref: "#/definitions/OrderKeySet"
        "400":
          description: "invalid orderkeys argument"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /orders/{id}/sensitiveData:
    put:
      summary: "Replaces the sensitive data for the current order"
      description: "Replaces the sensitive data for the current order given the sensitive data key and"
      operationId: "put-orders-{id}-sensitiveData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-orders-id-sensitiveData-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "400":
          description: "invalid arguments or request made over a non-encrypted connection"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /roles/{role}:
    get:
      summary: "Returns a hash describing the current role"
      description: "Returns a hash describing the current role"
      operationId: "get-roles-{role}"
      parameters:
      - in: "path"
        name: "role"
        description: "path param \"role\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash of role attributes"
          schema:
            $ref: "#/definitions/RoleInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "invalid role"
          schema: {}
    put:
      summary: "Modifies the current role"
      description: "Modifies the current role"
      operationId: "put-roles-{role}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-roles-role-body"
      - in: "path"
        name: "role"
        description: "path param \"role\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash with attributes updated in the role"
          schema:
            $ref: "#/definitions/UpdateRoleInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "invalid role"
          schema: {}
    delete:
      summary: "Deletes the current role"
      description: "Deletes the current role"
      operationId: "delete-roles-{role}"
      parameters:
      - in: "path"
        name: "role"
        description: "path param \"role\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash with info about the response"
          schema:
            $ref: "#/definitions/SimpleResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "unknown role"
          schema: {}
  /roles/{role}/clone:
    post:
      summary: "Clones the current role to a copy with a new name and description"
      description: "Clones the current role to a copy with a new name and description"
      operationId: "post-roles-{role}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-roles-role-clone-body"
      - in: "path"
        name: "role"
        description: "path param \"role\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash with info about the response"
          schema:
            $ref: "#/definitions/SimpleResultInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "invalid source role"
          schema: {}
        "409":
          description: "target already exists"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /roles:
    post:
      summary: "Permanently add a new role to the system"
      description: "Permanently add a new role to the system"
      operationId: "post-roles"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-roles-body"
      responses:
        "200":
          description: "a hash of role attributes for the role added"
          schema:
            $ref: "#/definitions/RoleInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "role already exists"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /async-queues/{queue}/update:
    post:
      summary: "Updates an asynchronous queue entry to allow an asynchronous step to continue processing"
      description: "Updates a pending entry in a system queue with status WAITING and sets the status to RECEIVED. Data is stored serialized in YAML format so that type information is preserved when passed to the asynchronous step back end function"
      operationId: "post-async-queues-{queue}-update"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-async-queues-queue-update-body"
      - in: "path"
        name: "queue"
        description: "path param \"queue\""
        required: true
        type: "string"
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "400":
          description: "invalid argument, invalid status in queue entry"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "unknown queue or queue key"
          schema: {}
  /orders/{id}/lockUserInteractionStep:
    post:
      summary: "Locks the next available queue entry in a user interaction step"
      description: "Qorus 4.0.1"
      operationId: "post-orders-{id}-lockUserInteractionStep"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-orders-id-lockUserInteractionStep-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowLockUseInteractionStepResultInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no data available on the queue to lock"
          schema: {}
  /orders/{id}/stepData:
    put:
      summary: "Replaces the dynamic step data for an existing order step"
      description: "Qorus 4.0.1"
      operationId: "put-orders-{id}-stepData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-orders-id-stepData-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "400":
          description: "invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "cannot lock order for updating, order has COMPLETE status"
          schema:
            $ref: "#/definitions/UndefinedHash"
    get:
      summary: "Returns dynamic step data for the order and step instance"
      description: "Qorus 4.0.1"
      operationId: "get-orders-{id}-stepData"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the workflow order dynamic step data for the given step instance"
          schema:
            $ref: "#/definitions/_UndefinedHash"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "the given stepid and ind values do not exist in the workflow order"
          schema: {}
  /orders/{id}/releaseUserInteractionStepLock:
    post:
      summary: "Releases a lock owned by the calling user on a step supporting user interaction"
      description: "Qorus 4.0.1"
      operationId: "post-orders-{id}-releaseUserInteractionStepLock"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-orders-id-releaseUserInteractionStepLock-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "400":
          description: "invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error, lock held by another user"
          schema: {}
        "404":
          description: "the given stepid and ind values do not exist in the workflow order or the step is not an asynchronous step with the user-interaction API enabled"
          schema: {}
  /orders/{id}/breakUserInteractionStepLock:
    post:
      summary: "Forcibly releases a lock on a step supporting user interaction"
      description: "Qorus 4.0.1"
      operationId: "post-orders-{id}-breakUserInteractionStepLock"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-orders-id-breakUserInteractionStepLock-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "400":
          description: "invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "the given stepid and ind values do not exist in the workflow order or the step is not an asynchronous step with the user-interaction API enabled"
          schema: {}
  /workflows/{id_or_name}/setRemote:
    put:
      summary: "Sets the 'remote' attribute for the current workflow"
      description: "Sets the 'remote' attribute for the current workflow, determining if it will run in a separate remote qwf process or locally in qorus-core. Workflows updated with this API are disabled before the change and reenabled after the change."
      operationId: "put-workflows-{id_or_name}-setRemote"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-workflows-id_or_name-setRemote-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowSetRemoteResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing the request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}/setSla:
    put:
      summary: "Sets the SLA attribute for the current workflow"
      description: "Sets the SLA attribute for the current workflow which specifies the maximum targeted time a workflow order should get a final status (being one of COMPLETE or CANCELED)"
      operationId: "put-workflows-{id_or_name}-setSla"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-workflows-id_or_name-setSla-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowSetSlaResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing the request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /workflows/{id_or_name}:
    get:
      summary: "Returns information about the current workflow"
      description: "Returns information about the current workflow"
      operationId: "get-workflows-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current workflow"
          schema:
            $ref: "#/definitions/WorkflowDefinitionInfoV3"
    put:
      summary: "Updates the current workflow"
      description: "Updates the current workflow"
      operationId: "put-workflows-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-workflows-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new workflow"
          schema:
            $ref: "#/definitions/UpdateWorkflowInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the workflow"
      description: "Deletes the workflow"
      operationId: "delete-workflows-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-workflows-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the workflow that was deleted"
          schema:
            $ref: "#/definitions/WorkflowDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such workflow"
          schema: {}
  /workflows/{id_or_name}/kill:
    post:
      summary: "Kills a remote workflow cluster process"
      description: "Kills a remote workflow cluster process"
      operationId: "post-workflows-{id_or_name}-kill"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/KillResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "if no remote process is running for the workflow"
          schema: {}
  /workflows/{id_or_name}/lockUserInteractionStep:
    post:
      summary: "Locks the next available queue entry in a user interaction step"
      description: "Locks the next available queue entry eligible for user interaction for the named step and returns the step information or a 404 Not Found error if no such data is available"
      operationId: "post-workflows-{id_or_name}-lockUserInteractionStep"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-workflows-id_or_name-lockUserInteractionStep-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/WorkflowLockUseInteractionStepResultInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no data available on the queue to lock"
          schema: {}
  /jobs/{id_or_name}/setActive:
    put:
      summary: "Updates the active status of a job"
      description: "Updates the active status of a job; if any errors occur an exception is thrown. \\n"
      operationId: "put-jobs-{id_or_name}-setActive"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-jobs-id_or_name-setActive-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash of information about the update operation"
          schema:
            $ref: "#/definitions/JobActiveUpdateInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "JOB-ERROR: cannot set expired jobs to active"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /jobs/{id_or_name}/setRemote:
    put:
      summary: "Updates the remote status of a job"
      description: "Updates the remote status of a job, determining if a job runs in a remote process or not. Jobs that have their remote value changed are temporarily disabled and then reenabled after the change."
      operationId: "put-jobs-{id_or_name}-setRemote"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-jobs-id_or_name-setRemote-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash of information about the update operation"
          schema:
            $ref: "#/definitions/JobRemoteUpdateInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /jobs/{id_or_name}/kill:
    post:
      summary: "Kills a remote job cluster process"
      description: "Kills a remote job cluster process"
      operationId: "post-jobs-{id_or_name}-kill"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/KillResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "if no remote process is running for the job"
          schema: {}
  /system:
    get:
      summary: "Returns a hash of system information"
      description: "Returns a hash of system information"
      operationId: "get-system"
      parameters: []
      responses:
        "200":
          description: "Current system information"
          schema:
            $ref: "#/definitions/QorusSystemInfoV8"
  /jobs/{id_or_name}:
    get:
      summary: "Returns a hash of information about the current job"
      description: "Returns a hash of information about the current job"
      operationId: "get-jobs-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash of information about the current job"
          schema:
            $ref: "#/definitions/JobDetailInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    put:
      summary: "Updates the current job"
      description: "Updates the current job"
      operationId: "put-jobs-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-jobs-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new job"
          schema:
            $ref: "#/definitions/UpdateJobInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the current job"
      description: "Deletes the current job"
      operationId: "delete-jobs-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-jobs-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "job deletion info"
          schema:
            $ref: "#/definitions/JobDeletionResult"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such job"
          schema: {}
  /workflows/{id_or_name}/execSynchronousAsync:
    post:
      summary: "Creates a new order for the current workflow and executes it synchronous mode."
      description: "Creates a new order for the current workflow and executes it synchronous mode in a background thread. The call returns as soon as the order instance has been created and returns the workflow_instanceid for the new workflow order as well as the new execution ID. To ensure that a given workflow order is only created once for a given unique key value, make sure your workflow defines order keys, and use one of the following options to guarantee the uniqueness of the order: - global_unique_key - workflow_specific_unique_key - workflow_unique_key"
      operationId: "post-workflows-{id_or_name}-execSynchronousAsync"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-workflows-id_or_name-execSynchronousAsync-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "201":
          description: "describes the workflow order created"
          schema:
            $ref: "#/definitions/WorkflowOrderExecutionAsyncInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "exception processing create order request"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /dataprovider/factories/{factory}/provider:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-dataprovider-factories-{factory}-provider"
      parameters:
      - in: "path"
        name: "factory"
        description: "path param \"factory\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
    put:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "put-dataprovider-factories-{factory}-provider"
      parameters:
      - in: "path"
        name: "factory"
        description: "path param \"factory\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /remote/datasources/{name}/provider:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-remote-datasources-{name}-provider"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /remote/qorus/{name}/provider:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-remote-qorus-{name}-provider"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /remote/user/{name}/provider:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-remote-user-{name}-provider"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /dataprovider/compareTypes:
    put:
      summary: "Compares two types for assignment compatibility"
      description: "Compares two types for assignment compatibility; takes a base_type and a type argument and returns"
      operationId: "put-dataprovider-compareTypes"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-dataprovider-compareTypes-body"
      responses:
        "200":
          description: "True if type can be assigned to base_type, False if not"
          schema:
            type: "boolean"
        "400":
          description: "missing or invalid types argument; non-unique name in types list"
          schema: {}
        "404":
          description: "the given type, factory, connection, etc cannot be found"
          schema: {}
  /dataprovider/compareManyTypes:
    put:
      summary: "Compares multiple types for compatibility and returns the result of each comparison"
      description: "Takes a list of hashes in types giving type and base_type information to compare and returns a list of the results of each comparison."
      operationId: "put-dataprovider-compareManyTypes"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-dataprovider-compareManyTypes-body"
      responses:
        "200":
          description: "Returns a hash keyed by hash keys in the types argument where the values are boolean values of the results of the type comparisons"
          schema:
            $ref: "#/definitions/QorusBooleanSetInfo"
        "400":
          description: "missing or invalid types argument; non-unique name in types list"
          schema: {}
        "404":
          description: "the given type, factory, connection, etc cannot be found"
          schema: {}
  /orders/{id}:
    get:
      summary: "Returns information about the current workflow order data instance"
      description: "Returns information about the current workflow order data instance"
      operationId: "get-orders-{id}"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "detailed information about the workflow order"
          schema:
            $ref: "#/definitions/WorkflowOrderInfo"
  /services:
    get:
      summary: "Returns a list of service hashes according to the arguments passed"
      description: "Returns a list of service hashes according to the arguments passed"
      operationId: "get-services"
      parameters:
      - in: "query"
        name: "status"
        description: "one of:\\n- \"running\": for only running services (loaded with at least one active thread)\\n- \"loaded\": all loaded services (also running services)\\n- \"unloaded\": only services not loaded"
        required: false
        type: "string"
        x-nullable: true
      - in: "query"
        name: "tags"
        description: "optional; a hash of tags to match; only workflows matching at least one of the tags will be returned; use tag=value format as the value of this option"
        required: false
        type: "string"
        x-nullable: true
      - in: "query"
        name: "tag_case_insensitive"
        description: "if true then tag value comparisons are made with case-insensitive comparisons"
        required: false
        type: "boolean"
        x-nullable: true
      - in: "query"
        name: "tag_partial_match"
        description: "if true then tag value comparisons succeed if the value given as the tag value appears anywhere in the object's tag of the same name"
        required: false
        type: "boolean"
        x-nullable: true
      responses:
        "200":
          description: "a list of service info hashes for each accessible and matching service"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/ServiceInfoHash"
            x-nullable: true
    post:
      summary: "Creates a new service"
      description: "Creates a new service"
      operationId: "post-services"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-services-body"
      responses:
        "200":
          description: "a description of the new service"
          schema:
            $ref: "#/definitions/CloneServiceInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /system/templates:
    get:
      summary: "Returns template information"
      description: "Returns template information"
      operationId: "get-system-templates"
      parameters:
      - in: "query"
        name: "filter"
        description: "a bitfield of TemplateContextValues to filter the results: 1: workflow context, 2: service context, 4: job context, 8: generic context, 7: interface context, 15: all contexts"
        required: false
        type: "integer"
        format: "int64"
        x-nullable: true
      responses:
        "200":
          description: "a list of template info hashes"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/TemplateInfo"
            x-nullable: true
  /dataprovider/factories/{factory}/provider/apiEndpoints:
    put:
      summary: "Returns a list of request/response endpoint information for the data provider"
      description: "Returns a list of request/response endpoint information for the data provider"
      operationId: "put-dataprovider-factories-{factory}-provider-apiEndpoints-apiEndpoints"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-factories-factory-provider-apiEndpoints-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "array"
        items:
          type: "string"
        x-nullable: true
      - in: "path"
        name: "factory"
        description: "path param \"factory\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a list of API endpoints supported by the data provider"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/EndpointInfo"
  /dataprovider/factories/{factory}/provider/Description:
    put:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "put-dataprovider-factories-{factory}-provider-Description-Description"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-factories-factory-provider-Description-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "array"
        items:
          type: "string"
        x-nullable: true
      - in: "path"
        name: "factory"
        description: "path param \"factory\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /dataprovider/factories/{factory}/provider/childDetails:
    put:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "put-dataprovider-factories-{factory}-provider-childDetails-childDetails"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "array"
        items:
          type: "string"
        x-nullable: true
      - in: "path"
        name: "factory"
        description: "path param \"factory\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    get:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "get-dataprovider-factories-{factory}-provider-childDetails-childDetails"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "array"
        items:
          type: "string"
        x-nullable: true
      - in: "path"
        name: "factory"
        description: "path param \"factory\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /connections/{name}/provider:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-connections-{name}-provider"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /connections/{name}/provider/apiEndpoints:
    put:
      summary: "Returns a list of request/response endpoint information for the data provider"
      description: "Returns a list of request/response endpoint information for the data provider"
      operationId: "put-connections-{name}-provider-apiEndpoints-apiEndpoints"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-factories-factory-provider-apiEndpoints-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "array"
        items:
          type: "string"
        x-nullable: true
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a list of API endpoints supported by the data provider"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/EndpointInfo"
  /connections/{name}/provider/Description:
    put:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "put-connections-{name}-provider-Description-Description"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-factories-factory-provider-Description-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "array"
        items:
          type: "string"
        x-nullable: true
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /connections/{name}/provider/childDetails:
    put:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "put-connections-{name}-provider-childDetails-childDetails"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "array"
        items:
          type: "string"
        x-nullable: true
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    get:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "get-connections-{name}-provider-childDetails-childDetails"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "array"
        items:
          type: "string"
        x-nullable: true
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/factory/{provider}:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse-factory-{provider}"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "provider"
        description: "path param \"provider\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-factory-{provider}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "provider"
        description: "path param \"provider\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/factory/{provider}/info:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-dataprovider-browse-factory-{provider}-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "provider"
        description: "path param \"provider\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    put:
      summary: "Returns information about the current DataProvider"
      description: "Returns information about the current DataProvider"
      operationId: "put-dataprovider-browse-factory-{provider}-info-info"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "provider"
        description: "path param \"provider\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/factory/{provider}/info/apiEndpoints:
    put:
      summary: "Returns a list of request/response endpoint information for the data provider"
      description: "Returns a list of request/response endpoint information for the data provider"
      operationId: "put-dataprovider-browse-factory-{provider}-info-apiEndpoints-apiEndpoints"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-apiEndpoints-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "provider"
        description: "path param \"provider\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a list of API endpoints supported by the data provider"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/EndpointInfo"
  /dataprovider/browse/factory/{provider}/info/Description:
    put:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "put-dataprovider-browse-factory-{provider}-info-Description-Description"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-Description-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "provider"
        description: "path param \"provider\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /dataprovider/browse/factory/{provider}/info/childDetails:
    put:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "put-dataprovider-browse-factory-{provider}-info-childDetails-childDetails"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-childDetails-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "provider"
        description: "path param \"provider\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    get:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "get-dataprovider-browse-factory-{provider}-info-childDetails-childDetails"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "provider"
        description: "path param \"provider\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/factory:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse-factory"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-factory"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/factory/info:
    get:
      summary: "Returns information about the current navigation node"
      description: "Returns information about the current navigation node"
      operationId: "get-dataprovider-browse-factory-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
    put:
      summary: "Returns information about the current navigation node"
      description: "Returns information about the current navigation node"
      operationId: "put-dataprovider-browse-factory-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
  /dataprovider/browse/connection/{connection}:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse-connection-{connection}"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "connection"
        description: "path param \"connection\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-connection-{connection}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "connection"
        description: "path param \"connection\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/connection/{connection}/info:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-dataprovider-browse-connection-{connection}-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "connection"
        description: "path param \"connection\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    put:
      summary: "Returns information about the current DataProvider"
      description: "Returns information about the current DataProvider"
      operationId: "put-dataprovider-browse-connection-{connection}-info-info"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "connection"
        description: "path param \"connection\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/connection/{connection}/info/apiEndpoints:
    put:
      summary: "Returns a list of request/response endpoint information for the data provider"
      description: "Returns a list of request/response endpoint information for the data provider"
      operationId: "put-dataprovider-browse-connection-{connection}-info-apiEndpoints-apiEndpoints"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-apiEndpoints-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "connection"
        description: "path param \"connection\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a list of API endpoints supported by the data provider"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/EndpointInfo"
  /dataprovider/browse/connection/{connection}/info/Description:
    put:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "put-dataprovider-browse-connection-{connection}-info-Description-Description"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-Description-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "connection"
        description: "path param \"connection\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /dataprovider/browse/connection/{connection}/info/childDetails:
    put:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "put-dataprovider-browse-connection-{connection}-info-childDetails-childDetails"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-childDetails-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "connection"
        description: "path param \"connection\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    get:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "get-dataprovider-browse-connection-{connection}-info-childDetails-childDetails"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "connection"
        description: "path param \"connection\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/connection:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse-connection"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-connection"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/connection/info:
    get:
      summary: "Returns information about the current navigation node"
      description: "Returns information about the current navigation node"
      operationId: "get-dataprovider-browse-connection-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
    put:
      summary: "Returns information about the current navigation node"
      description: "Returns information about the current navigation node"
      operationId: "put-dataprovider-browse-connection-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
  /dataprovider/browse/datasource/{datasource}:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse-datasource-{datasource}"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "datasource"
        description: "path param \"datasource\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-datasource-{datasource}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "datasource"
        description: "path param \"datasource\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/datasource/{datasource}/info:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-dataprovider-browse-datasource-{datasource}-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "datasource"
        description: "path param \"datasource\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    put:
      summary: "Returns information about the current DataProvider"
      description: "Returns information about the current DataProvider"
      operationId: "put-dataprovider-browse-datasource-{datasource}-info-info"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "datasource"
        description: "path param \"datasource\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/datasource/{datasource}/info/apiEndpoints:
    put:
      summary: "Returns a list of request/response endpoint information for the data provider"
      description: "Returns a list of request/response endpoint information for the data provider"
      operationId: "put-dataprovider-browse-datasource-{datasource}-info-apiEndpoints-apiEndpoints"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-apiEndpoints-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "datasource"
        description: "path param \"datasource\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a list of API endpoints supported by the data provider"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/EndpointInfo"
  /dataprovider/browse/datasource/{datasource}/info/Description:
    put:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "put-dataprovider-browse-datasource-{datasource}-info-Description-Description"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-Description-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "datasource"
        description: "path param \"datasource\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /dataprovider/browse/datasource/{datasource}/info/childDetails:
    put:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "put-dataprovider-browse-datasource-{datasource}-info-childDetails-childDetails"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-childDetails-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "datasource"
        description: "path param \"datasource\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    get:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "get-dataprovider-browse-datasource-{datasource}-info-childDetails-childDetails"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "datasource"
        description: "path param \"datasource\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/datasource:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse-datasource"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-datasource"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/datasource/info:
    get:
      summary: "Returns information about the current navigation node"
      description: "Returns information about the current navigation node"
      operationId: "get-dataprovider-browse-datasource-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
    put:
      summary: "Returns information about the current navigation node"
      description: "Returns information about the current navigation node"
      operationId: "put-dataprovider-browse-datasource-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
  /dataprovider/browse/remote/{remote}:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse-remote-{remote}"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "remote"
        description: "path param \"remote\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-remote-{remote}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "remote"
        description: "path param \"remote\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/remote/{remote}/info:
    get:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "get-dataprovider-browse-remote-{remote}-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "remote"
        description: "path param \"remote\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    put:
      summary: "Returns information about the current DataProvider"
      description: "Returns information about the current DataProvider"
      operationId: "put-dataprovider-browse-remote-{remote}-info-info"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "remote"
        description: "path param \"remote\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/remote/{remote}/info/apiEndpoints:
    put:
      summary: "Returns a list of request/response endpoint information for the data provider"
      description: "Returns a list of request/response endpoint information for the data provider"
      operationId: "put-dataprovider-browse-remote-{remote}-info-apiEndpoints-apiEndpoints"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-apiEndpoints-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "remote"
        description: "path param \"remote\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a list of API endpoints supported by the data provider"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/EndpointInfo"
  /dataprovider/browse/remote/{remote}/info/Description:
    put:
      summary: "Returns data provider information"
      description: "Returns data provider information"
      operationId: "put-dataprovider-browse-remote-{remote}-info-Description-Description"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-Description-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "remote"
        description: "path param \"remote\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderInfo"
  /dataprovider/browse/remote/{remote}/info/childDetails:
    put:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "put-dataprovider-browse-remote-{remote}-info-childDetails-childDetails"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-browse-factory-provider-info-childDetails-body"
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "remote"
        description: "path param \"remote\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
    get:
      summary: "Returns data provider information with details in the children key"
      description: "Returns data provider information"
      operationId: "get-dataprovider-browse-remote-{remote}-info-childDetails-childDetails"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      - in: "path"
        name: "remote"
        description: "path param \"remote\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current data provider"
          schema:
            $ref: "#/definitions/DataProviderChildDetailInfo"
  /dataprovider/browse/remote:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse-remote"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-remote"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/remote/info:
    get:
      summary: "Returns information about the current navigation node"
      description: "Returns information about the current navigation node"
      operationId: "get-dataprovider-browse-remote-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
    put:
      summary: "Returns information about the current navigation node"
      description: "Returns information about the current navigation node"
      operationId: "put-dataprovider-browse-remote-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
  /dataprovider/browse/type:
    get:
      summary: "Returns information on available paths to child types, if any"
      description: "Returns information on available paths to child types, if any"
      operationId: "get-dataprovider-browse-type"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse-type"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/type/info:
    get:
      summary: "Returns information about the current DataProvider type"
      description: "Returns information about the current DataProvider type"
      operationId: "get-dataprovider-browse-type-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider type, if the node has a type, otherwise with basic information about the nav node"
          schema:
            $ref: "#/definitions/UndefinedHash"
    put:
      summary: "Returns information about the current DataProvider"
      description: "Returns information about the current DataProvider"
      operationId: "put-dataprovider-browse-type-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider type, if the node has a type, otherwise with basic information about the nav node"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /dataprovider/browse:
    get:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "get-dataprovider-browse"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
    put:
      summary: "Returns information on available paths to types or data providers according to the requesting context"
      description: "Returns information on available paths to types or data providers according to the requesting context"
      operationId: "put-dataprovider-browse"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash providing information about the current node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNodeInfo"
  /dataprovider/browse/info:
    get:
      summary: "Returns information about the current DataProvider"
      description: "Returns information about the current DataProvider"
      operationId: "get-dataprovider-browse-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
    put:
      summary: "Returns information about the current DataProvider"
      description: "Returns information about the current DataProvider"
      operationId: "put-dataprovider-browse-info"
      parameters:
      - in: "query"
        name: "context"
        description: "one of the following: api: when browsing for a request-response data provider, record: when browsing for a record-based data provider, event: when browsing for a data provider that can function as an observable event source, message: when browsing for a data provider that supports sending messages, transaction: when browsing for a data provider that supports transaction management, type: when browsing for a type"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a hash with basic info about the current data provider nav node"
          schema:
            $ref: "#/definitions/DataProviderBrowseNavInfo"
  /connections/{name}/enableDebugData:
    put:
      summary: "Enables data debugging for a user connection"
      description: "Enables data debugging for a user connection (and only for user connections)"
      operationId: "put-connections-{name}-enableDebugData"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/ConnectionUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /connections/{name}/disableDebugData:
    put:
      summary: "Disables data debugging for a user connection"
      description: "Disables data debugging for a user connection (and only for user connections)"
      operationId: "put-connections-{name}-disableDebugData"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/ConnectionUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /connections/{name}/enable:
    put:
      summary: "Enables the current connection if it is disabled"
      description: "Enables the current user connection, datasource, or remote Qorus connection if it is disabled; if the connection is already enabled, the action is reported as successful anyway"
      operationId: "put-connections-{name}-enable"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/ConnectionUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /connections/{name}/disable:
    put:
      summary: "Disables the current connection if it is enabled"
      description: "Disables the current user connection, datasource, or remote Qorus connection if it is enabled; if the connection is already disabled, the action is reported as successful anyway"
      operationId: "put-connections-{name}-disable"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/ConnectionUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /connections/{name}/ping:
    put:
      summary: "Pings the current connection"
      description: "Checks connectivity to the current user connection, datasource, or remote Qorus connection; if the connection was up and is monitored to be down, then any dependent interfaces will be disabled. If the connection was down and is monitored to be up, then any eligible interfaces will be reenabled."
      operationId: "put-connections-{name}-ping"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of the ping operation"
          schema:
            $ref: "#/definitions/PingResultInfo"
  /connections/{name}:
    get:
      summary: "Returns information about the current connection"
      description: "Returns a hash information for the current user connection, datasource, or remote Qorus connection"
      operationId: "get-connections-{name}"
      parameters:
      - in: "query"
        name: "with_password"
        description: "include the password in the \"url\" and \"url_hash\" keys"
        required: false
        type: "boolean"
        x-nullable: true
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the connection"
          schema:
            $ref: "#/definitions/ConnectionInfo"
    put:
      summary: "Modifies the current connection"
      description: "Modifies the current user connection, datasource, or remote Qorus connection"
      operationId: "put-connections-{name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-connections-name-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/ConnectionUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "409":
          description: "error executing the change"
          schema:
            $ref: "#/definitions/UndefinedHash"
    delete:
      summary: "Deletes the current connection"
      description: "Permanently deletes the current user connection, datasource, or remote Qorus connection"
      operationId: "delete-connections-{name}"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the result of the operation"
          schema:
            $ref: "#/definitions/ConnectionUpdateResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /oauth2/clients:
    post:
      summary: "Creates an OAuth2 client profile in Qorus"
      description: "Creates an OAuth2 client profile in Qorus; note that the client_secret value returned cannot be retrieved after this call; it must be stored carefully by the user"
      operationId: "post-oauth2-clients"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-oauth2-clients-body"
      responses:
        "200":
          description: "information about the client profile created"
          schema:
            $ref: "#/definitions/OAuth2ClientCreationResponse"
        "400":
          description: "invalid arguments to method"
          schema: {}
    get:
      summary: "Returns information about OAuth2 clients registered in Qorus"
      description: "Returns information about OAuth2 clients registered in Qorus"
      operationId: "get-oauth2-clients"
      parameters:
      - in: "query"
        name: "username"
        description: "user associated with the clients; can only be specified if the calling user has the USER-CONTROL permission, otherwise the current user is assumed"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "information about client profiles"
          schema:
            $ref: "#/definitions/OAuth2ClientResponse"
        "400":
          description: "invalid arguments to method"
          schema: {}
  /oauth2/clients/{id}:
    get:
      summary: "Returns a hash of client information"
      description: "Returns a hash of client information"
      operationId: "get-oauth2-clients-{id}"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OAuth2 client info"
          schema:
            $ref: "#/definitions/OAuth2ClientInfo"
        "404":
          description: "no such client"
          schema: {}
    delete:
      summary: "Deletes the given OAuth2 client profile"
      description: "Deletes the given OAuth2 client profile"
      operationId: "delete-oauth2-clients-{id}"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OAuth2 client deletion info"
          schema:
            $ref: "#/definitions/OAuth2ClientDeletionResult"
        "404":
          description: "no such client"
          schema: {}
    put:
      summary: "Updates the info for the given OAuth2 client"
      description: "Updates the info for the given OAuth2 client"
      operationId: "put-oauth2-clients-{id}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-oauth2-clients-id-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OAuth2 client update info"
          schema:
            $ref: "#/definitions/OAuth2ClientUpdateResponse"
        "404":
          description: "no such client, invalid arguments to API"
          schema: {}
  /oauth2/clients/{id}/generateSecret:
    post:
      summary: "Generates a new client secret for the OAuth2 connection"
      description: "Generates a new client secret for the OAuth2 connection; note that the client_secret value returned cannot be retrieved after this call; it must be stored carefully by the user"
      operationId: "post-oauth2-clients-{id}-generateSecret"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a hash with the new client secret"
          schema:
            $ref: "#/definitions/OAuth2SecretInfo"
        "404":
          description: "no such client"
          schema: {}
  /oauth2/code:
    get:
      summary: "Returns the OAuth2 authorization code for the Authorization Code Grant Flow"
      description: "Returns the OAuth2 authorization code for the Authorization Code Grant Flow"
      operationId: "get-oauth2-code"
      parameters:
      - in: "query"
        name: "type"
        description: "either token (access token) or code (authorization code) giving the type of response"
        required: true
        type: "string"
      - in: "query"
        name: "client_id"
        description: "identification of client for which the token/code is generated"
        required: true
        type: "string"
      - in: "query"
        name: "redirect_uri"
        description: "if the client sent a redirect_uri with the authorization code request, it must"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "OAuth2 code info"
          schema:
            $ref: "#/definitions/OAuth2CodeResponse"
        "404":
          description: "invalid arguments to API"
          schema: {}
  /system/listeners/{id_or_name}/reloadCertificate:
    post:
      summary: "Reloads the certificate and private key from the original file locations and uses the new certificate for new connections"
      description: "Reloads the certificate and private key from the original file locations and uses the new certificate for new connections"
      operationId: "post-system-listeners-{id_or_name}-reloadCertificate"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the string \"OK\""
          schema:
            type: "string"
        "401":
          description: "listener is not an HTTPS listener or no certificate source location information is stored against the listener"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /system/autoVarContext:
    put:
      summary: "Returns automatic variable information for the given context"
      description: "Returns automatic variable information for the given context"
      operationId: "put-system-autoVarContext"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-system-autoVarContext-body"
      responses:
        "200":
          description: "a hash giving the current auto variable context; each hash key is a variable name, and each hash value is a hash with the following keys:"
          schema:
            $ref: "#/definitions/AutoVarSet"
        "400":
          description: "invalid type or data provider option"
          schema: {}
  /dataprovider/factories/{factory}/provider/search:
    put:
      summary: "Searches for records matching the search parameters"
      description: "Searches for records matching the search parameters"
      operationId: "put-dataprovider-factories-{factory}-provider-search"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-factories-factory-provider-search-body"
      - in: "path"
        name: "factory"
        description: "path param \"factory\""
        required: true
        type: "string"
      responses:
        "200":
          description: "list of record hashes matching the search parameters given by where_cond"
          schema:
            $ref: "#/definitions/_UndefinedHash"
        "400":
          description: "the data provider does not support searching"
          schema: {}
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled, and the user does not have sufficient privileges for the operation"
          schema: {}
  /dataprovider/factories/{factory}/provider/providerCreate:
    post:
      summary: "Creates a child data provider"
      description: "This API creates a child data provider, if the data provider supports child creation"
      operationId: "post-dataprovider-factories-{factory}-provider-providerCreate"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-factories-factory-provider-providerCreate-body"
      - in: "path"
        name: "factory"
        description: "path param \"factory\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the string \"OK\""
          schema:
            type: "string"
        "400":
          description: "returned if the request has no name or fields keys or if the data provider does not support the current operation"
          schema: {}
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled, and the user does not have sufficient privileges for the operation"
          schema: {}
  /remote/user/{name}/oauth2AuthRequestUri:
    put:
      summary: "Returns a URI for OAuth2 authorization code requests using Qore Technologies' infrastructure or a local URL otherwise, if the connection supports it"
      description: "Returns a URI for OAuth2 authorization code requests using a local URI for the initial redirect, if the oauth2_redirect_url option is set to \"auto\", or, if the oauth2_redirect_url option is set to \"cloud\" or \"https://api.qoretechnologies.com/qorus-oauth2-redirect\", Qore Technologies' cloud infrastructure is used for the initial redirect and the token-for-authorization-code exchange operation. A 400 Bad Request response will be returned if the connection does not require the OAuth2 authorization_code grant flow or if the oauth2_redirect_url does not have a supported value (\"auto\", \"cloud\" or \"https://api.qoretechnologies.com/qorus-oauth2-redirect\"). The URI string returned will use either the local Qorus server or Qore Technologies' server exchange the authorization code provided by the authorizaton server to acquire an authentication token. In case Qore Technologies' cloud services are used, the user will be redirected to the requesting Qorus instance to update the connection with the token information acquired. In both cases the user is redirected to the final redirect location after the Qorus connection has been updated with the access token information. Token information acquired by Qore Technologies' infrastructure is neither logged nor stored but only returned to the originating Qorus instance in the redirect message from https://api.qoretechnologies.com."
      operationId: "put-remote-user-{name}-oauth2AuthRequestUri"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-remote-user-name-oauth2AuthRequestUri-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the URI string if the connection supports it, otherwise a 400 error"
          schema:
            type: "string"
        "400":
          description: "connection does not support the OAuth2 authorization_code grant flow"
          schema: {}
        "401":
          description: "no right to modify user connections"
          schema: {}
  /slas/{sla}/success:
    post:
      summary: "Posts a success event for the SLA"
      description: "Posts a success event for the SLA"
      operationId: "post-slas-{sla}-success"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-slas-sla-success-body"
      - in: "path"
        name: "sla"
        description: "path param \"sla\""
        required: true
        type: "string"
      responses:
        "200":
          description: "true if the event was posted"
          schema:
            type: "boolean"
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled, and the user does not have sufficient privileges for the operation"
          schema: {}
  /slas/{sla}/error:
    post:
      summary: "Posts an error event for the SLA"
      description: "Posts an error event for the SLA"
      operationId: "post-slas-{sla}-error"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-slas-sla-error-body"
      - in: "path"
        name: "sla"
        description: "path param \"sla\""
        required: true
        type: "string"
      responses:
        "200":
          description: "true if the event was posted"
          schema:
            type: "boolean"
        "403":
          description: "AUTHORIZATION-ERROR: this exception is thrown when RBAC is enabled, and the user does not have sufficient privileges for the operation"
          schema: {}
  /dataprovider/type:
    put:
      summary: "Returns type information for the given data provider information"
      description: "Returns type information for the given data provider information"
      operationId: "put-dataprovider-type"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-dataprovider-type-body"
      responses:
        "200":
          description: "data provider type information"
          schema:
            $ref: "#/definitions/DataProviderTypeInfo"
  /dataprovider/callApi:
    post:
      summary: "Makes an API call and returns the response"
      description: "Makes an API call with a request-response data provider and returns the response"
      operationId: "post-dataprovider-callApi"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-callApi-body"
      responses:
        "200":
          description: "the return value of the API call"
          schema:
            $ref: "#/definitions/AnyType"
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/callApiFromUi:
    post:
      summary: "Makes an API call and returns the response"
      description: "Makes an API call with a request-response data provider and returns the response; certain arguments are expected in a format used by UI clients"
      operationId: "post-dataprovider-callApiFromUi"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-callApiFromUi-body"
      responses:
        "200":
          description: "the return value of the API call"
          schema:
            $ref: "#/definitions/AnyType"
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/searchRecords:
    post:
      summary: "Performs a search in a data provider and returns the result record set"
      description: "Performs a search in a record-based data provider and returns the result as a list of zero or more hashes representing the records matched"
      operationId: "post-dataprovider-searchRecords"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-searchRecords-body"
      responses:
        "200":
          description: "the records matching the search criteria"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/UndefinedHash"
            x-nullable: true
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/searchRecordsFromUi:
    post:
      summary: "Performs a search in a data provider and returns the result record set"
      description: "Performs a search in a record-based data provider and returns the result as a list of zero or more hashes representing the records matched; certain arguments are expected in a format used by UI clients"
      operationId: "post-dataprovider-searchRecordsFromUi"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-searchRecordsFromUi-body"
      responses:
        "200":
          description: "the records matching the search criteria"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/UndefinedHash"
            x-nullable: true
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/searchSingleRecord:
    post:
      summary: "Performs a search in a data provider and returns the result record or no value"
      description: "Performs a search in a record-based data provider and returns the result record, if there is a match, or no value if not"
      operationId: "post-dataprovider-searchSingleRecord"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-searchSingleRecord-body"
      responses:
        "200":
          description: "the record matching the search criteria or no value if there is no match"
          schema:
            $ref: "#/definitions/_UndefinedHash"
        "400":
          description: "missing or invalid required arguments or if multiple records match the search criteria"
          schema: {}
  /dataprovider/searchSingleRecordFromUi:
    post:
      summary: "Performs a search in a data provider and returns the result record or no value"
      description: "Performs a search in a record-based data provider and returns the result record, if there is a match, or no value if not; certain arguments are expected in a format used by UI clients"
      operationId: "post-dataprovider-searchSingleRecordFromUi"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-searchSingleRecordFromUi-body"
      responses:
        "200":
          description: "the record matching the search criteria or no value if there is no match"
          schema:
            $ref: "#/definitions/_UndefinedHash"
        "400":
          description: "missing or invalid required arguments or if multiple records match the search criteria"
          schema: {}
  /dataprovider/updateRecords:
    post:
      summary: "Performs an update action in a data provider and returns the number of records updated"
      description: "Performs an update action in a data provider and returns the number of records updated"
      operationId: "post-dataprovider-updateRecords"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-updateRecords-body"
      responses:
        "200":
          description: "a hash describing the number of records affected by the operation"
          schema:
            $ref: "#/definitions/AffectedRecordInfo"
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/updateRecordsFromUi:
    post:
      summary: "Performs an update action in a data provider and returns the number of records updated"
      description: "Performs an update action in a data provider and returns the number of records updated"
      operationId: "post-dataprovider-updateRecordsFromUi"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-updateRecordsFromUi-body"
      responses:
        "200":
          description: "a hash describing the number of records affected by the operation"
          schema:
            $ref: "#/definitions/AffectedRecordInfo"
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/deleteRecords:
    post:
      summary: "Deletes records from a data provider and returns the number of deleted records"
      description: "Deletes records from a data provider and returns the number of deleted records"
      operationId: "post-dataprovider-deleteRecords"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-deleteRecords-body"
      responses:
        "200":
          description: "a hash describing the number of records affected by the operation"
          schema:
            $ref: "#/definitions/AffectedRecordInfo"
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/deleteRecordsFromUi:
    post:
      summary: "Deletes records from a data provider and returns the number of deleted records"
      description: "Deletes records from a data provider and returns the number of deleted records"
      operationId: "post-dataprovider-deleteRecordsFromUi"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-deleteRecordsFromUi-body"
      responses:
        "200":
          description: "a hash describing the number of records affected by the operation"
          schema:
            $ref: "#/definitions/AffectedRecordInfo"
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/createRecords:
    post:
      summary: "Creates new records in a data provider and returns the number of created records"
      description: "Creates new records in a data provider and returns the number of created records"
      operationId: "post-dataprovider-createRecords"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-createRecords-body"
      responses:
        "200":
          description: "the record set inserted"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/UndefinedHash"
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/createRecordsFromUi:
    post:
      summary: "Creates new records in a data provider and returns the number of created records"
      description: "Creates new records in a data provider and returns the number of created records"
      operationId: "post-dataprovider-createRecordsFromUi"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-createRecordsFromUi-body"
      responses:
        "200":
          description: "the record set inserted"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/UndefinedHash"
        "400":
          description: "missing or invalid required arguments"
          schema: {}
  /dataprovider/sendMessage:
    post:
      summary: "Sends a message"
      description: "Sends a message with a message-based data provider"
      operationId: "post-dataprovider-sendMessage"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-sendMessage-body"
      responses:
        "200":
          description: "the string OK"
          schema:
            type: "string"
        "400":
          description: "missing or invalid message ID or message body"
          schema: {}
  /dataprovider/sendMessageFromUi:
    post:
      summary: "Sends a message"
      description: "Sends a message with a message-based data provider; certain arguments are expected in a format used by UI clients"
      operationId: "post-dataprovider-sendMessageFromUi"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-dataprovider-sendMessageFromUi-body"
      responses:
        "200":
          description: "the string OK"
          schema:
            type: "string"
        "400":
          description: "missing or invalid message ID or message body"
          schema: {}
  /async-queues/{queue}/clone:
    post:
      summary: "Clones the current queue"
      description: "Clones the current queue"
      operationId: "post-async-queues-{queue}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-async-queues-queue-clone-body"
      - in: "path"
        name: "queue"
        description: "path param \"queue\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new queue"
          schema:
            $ref: "#/definitions/CloneQueueInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /async-queues/{queue}:
    put:
      summary: "Updates the current queue"
      description: "Updates the current queue"
      operationId: "put-async-queues-{queue}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-async-queues-queue-body"
      - in: "path"
        name: "queue"
        description: "path param \"queue\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new queue"
          schema:
            $ref: "#/definitions/UpdateQueueInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the queue"
      description: "Deletes the queue"
      operationId: "delete-async-queues-{queue}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-async-queues-queue-body"
      - in: "path"
        name: "queue"
        description: "path param \"queue\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the queue that was deleted"
          schema:
            $ref: "#/definitions/QueueDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such queue"
          schema: {}
  /async-queues:
    post:
      summary: "Creates a new queue"
      description: "Creates a new queue"
      operationId: "post-async-queues"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-async-queues-body"
      responses:
        "200":
          description: "a description of the new queue"
          schema:
            $ref: "#/definitions/CreateQueueInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /async-queues/create:
    post:
      summary: "Creates a new queue"
      description: "Creates a new queue"
      operationId: "post-async-queues-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-async-queues-create-body"
      responses:
        "200":
          description: "a description of the new queue"
          schema:
            $ref: "#/definitions/CreateQueueInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /release-scripts/{id_or_name}:
    get:
      summary: "Returns information about the script"
      description: "Returns information about the script"
      operationId: "get-release-scripts-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the script"
          schema:
            $ref: "#/definitions/ReleaseScriptInfo"
    put:
      summary: "Updates the current release script"
      description: "Updates the current release script"
      operationId: "put-release-scripts-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-release-scripts-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new release script"
          schema:
            $ref: "#/definitions/UpdateScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the release script"
      description: "Deletes the release script"
      operationId: "delete-release-scripts-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-release-scripts-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the release script that was deleted"
          schema:
            $ref: "#/definitions/ScriptDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such release script"
          schema: {}
  /release-scripts/{id_or_name}/clone:
    post:
      summary: "Clones the current release script"
      description: "Clones the current release script"
      operationId: "post-release-scripts-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-release-scripts-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new release script"
          schema:
            $ref: "#/definitions/CloneReleaseScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /release-scripts/{id_or_name}/exec:
    post:
      summary: "Executes the current release script immediately"
      description: "Executes the current release script immediately"
      operationId: "post-release-scripts-{id_or_name}-exec"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-release-scripts-id_or_name-exec-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of executing the script"
          schema:
            $ref: "#/definitions/ReleaseScriptExecutionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /release-scripts:
    get:
      summary: "Returns information about release scripts"
      description: "Returns information about release scripts"
      operationId: "get-release-scripts"
      parameters: []
      responses:
        "200":
          description: "information about release scripts"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/ReleaseScriptInfo"
            x-nullable: true
    post:
      summary: "Creates a release script"
      description: "Creates a new release script"
      operationId: "post-release-scripts"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-release-scripts-body"
      responses:
        "200":
          description: "a description of the new release script"
          schema:
            $ref: "#/definitions/CreateScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /release-scripts/create:
    post:
      summary: "Creates a new release script"
      description: "Creates a new release script"
      operationId: "post-release-scripts-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-release-scripts-create-body"
      responses:
        "200":
          description: "a description of the new release script"
          schema:
            $ref: "#/definitions/CreateScriptMapInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /schema-scripts/{id_or_name}:
    get:
      summary: "Returns information about the script"
      description: "Returns information about the script"
      operationId: "get-schema-scripts-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the script"
          schema:
            $ref: "#/definitions/SchemaScriptInfo"
    put:
      summary: "Updates the current schema script"
      description: "Updates the current schema script"
      operationId: "put-schema-scripts-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-schema-scripts-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new schema script"
          schema:
            $ref: "#/definitions/UpdateSchemaScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the schema script"
      description: "Deletes the schema script"
      operationId: "delete-schema-scripts-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-schema-scripts-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the schema script that was deleted"
          schema:
            $ref: "#/definitions/ScriptDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such schema script"
          schema: {}
  /schema-scripts/{id_or_name}/clone:
    post:
      summary: "Clones the current schema script"
      description: "Clones the current schema script"
      operationId: "post-schema-scripts-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-schema-scripts-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new release script"
          schema:
            $ref: "#/definitions/CloneSchemaScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /schema-scripts/{id_or_name}/align:
    post:
      summary: "Aligns the schema with the target database"
      description: "Aligns the schema with the target database"
      operationId: "post-schema-scripts-{id_or_name}-align"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of executing the script"
          schema:
            $ref: "#/definitions/SchemaExecutionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /schema-scripts/{id_or_name}/drop:
    post:
      summary: "Drops the schema in the target database"
      description: "Drops the schema in the target database"
      operationId: "post-schema-scripts-{id_or_name}-drop"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of executing the script"
          schema:
            $ref: "#/definitions/SchemaExecutionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /schema-scripts:
    get:
      summary: "Returns information about schema scripts"
      description: "Returns information about schema scripts"
      operationId: "get-schema-scripts"
      parameters: []
      responses:
        "200":
          description: "information about schema scripts"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/SchemaScriptInfo"
            x-nullable: true
    post:
      summary: "Creates a schema script"
      description: "Creates a new schema script"
      operationId: "post-schema-scripts"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-schema-scripts-body"
      responses:
        "200":
          description: "a description of the new schema"
          schema:
            $ref: "#/definitions/CreateScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /schema-scripts/create:
    post:
      summary: "Creates a new schema script"
      description: "Creates a new schema script"
      operationId: "post-schema-scripts-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-schema-scripts-create-body"
      responses:
        "200":
          description: "a description of the new schema script"
          schema:
            $ref: "#/definitions/CreateScriptMapInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /test-scripts/{id_or_name}:
    get:
      summary: "Returns information about the script"
      description: "Returns information about the script"
      operationId: "get-test-scripts-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the script"
          schema:
            $ref: "#/definitions/TestScriptInfo"
    put:
      summary: "Updates the current test script"
      description: "Updates the current test script"
      operationId: "put-test-scripts-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-test-scripts-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new test script"
          schema:
            $ref: "#/definitions/UpdateTestScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the test script"
      description: "Deletes the test script"
      operationId: "delete-test-scripts-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-test-scripts-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the test script that was deleted"
          schema:
            $ref: "#/definitions/ScriptDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such test script"
          schema: {}
  /test-scripts/{id_or_name}/clone:
    post:
      summary: "Clones the current test script"
      description: "Clones the current test script"
      operationId: "post-test-scripts-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-test-scripts-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new release script"
          schema:
            $ref: "#/definitions/CloneTestScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /test-scripts/{id_or_name}/exec:
    post:
      summary: "Executes the current test script"
      description: "Executes the current test script"
      operationId: "post-test-scripts-{id_or_name}-exec"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-test-scripts-id_or_name-exec-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of executing the test script"
          schema:
            $ref: "#/definitions/TestExecutionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /test-scripts:
    get:
      summary: "Returns information about test scripts"
      description: "Returns information about test scripts"
      operationId: "get-test-scripts"
      parameters: []
      responses:
        "200":
          description: "information about test scripts"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/SchemaScriptInfo"
            x-nullable: true
    post:
      summary: "Creates a test script"
      description: "Creates a new test script"
      operationId: "post-test-scripts"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-test-scripts-body"
      responses:
        "200":
          description: "a description of the new test"
          schema:
            $ref: "#/definitions/CreateScriptInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /test-scripts/create:
    post:
      summary: "Creates a new test script"
      description: "Creates a new test script"
      operationId: "post-test-scripts-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-test-scripts-create-body"
      responses:
        "200":
          description: "a description of the new test script"
          schema:
            $ref: "#/definitions/CreateScriptMapInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /valuemaps/{id_or_name}/clone:
    post:
      summary: "Clones the current valuemap"
      description: "Clones the current valuemap"
      operationId: "post-valuemaps-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-valuemaps-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new valuemap"
          schema:
            $ref: "#/definitions/CloneValueMapInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /valuemaps/{id_or_name}:
    put:
      summary: "Updates the current valuemap"
      description: "Updates the current valuemap"
      operationId: "put-valuemaps-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-valuemaps-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new valuemap"
          schema:
            $ref: "#/definitions/UpdateValueMapInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the valuemap"
      description: "Deletes the valuemap"
      operationId: "delete-valuemaps-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-valuemaps-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the valuemap that was deleted"
          schema:
            $ref: "#/definitions/ValueMapDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such valuemap"
          schema: {}
  /valuemaps:
    post:
      summary: "Creates a new value map"
      description: "Creates a new value map"
      operationId: "post-valuemaps"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-valuemaps-body"
      responses:
        "200":
          description: "a description of the new value map"
          schema:
            $ref: "#/definitions/CreateValueMapInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /valuemaps/create:
    post:
      summary: "Creates a new value map"
      description: "Creates a new value map"
      operationId: "post-valuemaps-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-valuemaps-create-body"
      responses:
        "200":
          description: "a description of the new value map"
          schema:
            $ref: "#/definitions/CreateValueMapInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows/{id_or_name}/clone:
    post:
      summary: "Clones the current workflow"
      description: "Clones the current workflow"
      operationId: "post-workflows-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-workflows-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new workflow"
          schema:
            $ref: "#/definitions/CloneWorkflowInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows:
    post:
      summary: "Creates a new workflow"
      description: "Creates a new workflow"
      operationId: "post-workflows"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-workflows-body"
      responses:
        "200":
          description: "a description of the new workflow"
          schema:
            $ref: "#/definitions/CreateWorkflowInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /workflows/create:
    post:
      summary: "Creates a new workflow"
      description: "Creates a new workflow"
      operationId: "post-workflows-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-workflows-create-body"
      responses:
        "200":
          description: "a description of the new workflow"
          schema:
            $ref: "#/definitions/CreateWorkflowInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /groups/{name}/clone:
    post:
      summary: "Clones the current group"
      description: "Clones the current group"
      operationId: "post-groups-{name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-groups-name-clone-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new group"
          schema:
            $ref: "#/definitions/CloneGroupInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /groups/{name}:
    put:
      summary: "Updates the current group"
      description: "Updates the current group"
      operationId: "put-groups-{name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-groups-name-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new group"
          schema:
            $ref: "#/definitions/UpdateWorkflowInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the group"
      description: "Deletes the group"
      operationId: "delete-groups-{name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-groups-name-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the group that was deleted"
          schema:
            $ref: "#/definitions/GroupDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such group"
          schema: {}
  /groups:
    post:
      summary: "Creates a new interface group"
      description: "Creates a new interface group"
      operationId: "post-groups"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-groups-body"
      responses:
        "200":
          description: "a description of the new group"
          schema:
            $ref: "#/definitions/CreateGroupInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /groups/create:
    post:
      summary: "Creates a new interface group"
      description: "Creates a new interface group"
      operationId: "post-groups-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-groups-create-body"
      responses:
        "200":
          description: "a description of the new group"
          schema:
            $ref: "#/definitions/CreateGroupInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /groups/enable:
    put:
      summary: "Enables one or more groups"
      description: "Enables one or more groups"
      operationId: "put-groups-enable"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-groups-enable-body"
      responses:
        "200":
          description: "the result of enabling the groups; keys are group IDs"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/GroupEnableResult"
        "403":
          description: "access or authorization error"
          schema: {}
  /groups/disable:
    put:
      summary: "Disable one or more groups"
      description: "Disable one or more groups"
      operationId: "put-groups-disable"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-groups-disable-body"
      responses:
        "200":
          description: "the result of disabling the groups; keys are group IDs"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/GroupDisableResult"
        "403":
          description: "access or authorization error"
          schema: {}
  /steps/{id_or_name}/clone:
    post:
      summary: "Clones the current step"
      description: "Clones the current step; all parameters are optional and override the cloned step's values. If no version is provided, then the current version is incremented in the cloned step; if a version but no name is provided, then a new name is generated for the cloned step"
      operationId: "post-steps-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-steps-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new step"
          schema:
            $ref: "#/definitions/CloneStepInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /steps/{id_or_name}:
    put:
      summary: "Updates the current step"
      description: "Updates the current step"
      operationId: "put-steps-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-steps-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the step"
          schema:
            $ref: "#/definitions/UpdateStepInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the step"
      description: "Deletes the step"
      operationId: "delete-steps-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-steps-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the step that was deleted"
          schema:
            $ref: "#/definitions/StepDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such function"
          schema: {}
  /steps:
    post:
      summary: "Creates a new step"
      description: "Creates a new step"
      operationId: "post-steps"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-steps-body"
      responses:
        "200":
          description: "a description of the new step"
          schema:
            $ref: "#/definitions/CreateStepInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /steps/create:
    post:
      summary: "Creates a new step"
      description: "Creates a new step"
      operationId: "post-steps-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-steps-create-body"
      responses:
        "200":
          description: "a description of the new step"
          schema:
            $ref: "#/definitions/CreateStepInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /sync-events/{type}/clone:
    post:
      summary: "Clones the current workflow synchronization event type"
      description: "Clones the current workflow synchronization event type"
      operationId: "post-sync-events-{type}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-sync-events-type-clone-body"
      - in: "path"
        name: "type"
        description: "path param \"type\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new workflow synchronization event type"
          schema:
            $ref: "#/definitions/CloneEventTypeInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /sync-events/{type}:
    put:
      summary: "Updates the current workflow synchronization event type"
      description: "Updates the current workflow synchronization event type"
      operationId: "put-sync-events-{type}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-sync-events-type-body"
      - in: "path"
        name: "type"
        description: "path param \"type\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new workflow synchronization event type"
          schema:
            $ref: "#/definitions/UpdateEventTypeInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the workflow synchronization event type"
      description: "Deletes the workflow synchronization event type"
      operationId: "delete-sync-events-{type}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-sync-events-type-body"
      - in: "path"
        name: "type"
        description: "path param \"type\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the event that was deleted"
          schema:
            $ref: "#/definitions/SyncEventDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such workflow synchronization event type"
          schema: {}
  /sync-events:
    post:
      summary: "Creates a new workflow synchronization event type"
      description: "Creates a new workflow synchronization event type"
      operationId: "post-sync-events"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-sync-events-body"
      responses:
        "200":
          description: "a description of the new workflow synchronization event type"
          schema:
            $ref: "#/definitions/CreateWorkflowSyncEventInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /sync-events/create:
    post:
      summary: "Creates a new workflow synchronization event type"
      description: "Creates a new workflow synchronization event type"
      operationId: "post-sync-events-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-sync-events-create-body"
      responses:
        "200":
          description: "a description of the new workflow synchronization event type"
          schema:
            $ref: "#/definitions/CreateWorkflowSyncEventInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /error-sets/{error-set}/clone:
    post:
      summary: "Clones the current error set"
      description: "Clones the current error set"
      operationId: "post-error-sets-{error-set}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-error-sets-error-set-clone-body"
      - in: "path"
        name: "error-set"
        description: "path param \"error-set\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new error set"
          schema:
            $ref: "#/definitions/CloneErrorSetInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /error-sets/{error-set}:
    put:
      summary: "Updates the current error set"
      description: "Updates the current error set"
      operationId: "put-error-sets-{error-set}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-error-sets-error-set-body"
      - in: "path"
        name: "error-set"
        description: "path param \"error-set\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new error set"
          schema:
            $ref: "#/definitions/UpdateErrorSetInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    get:
      summary: "Returns information about the current error set"
      description: "Returns information about the error set"
      operationId: "get-error-sets-{error-set}"
      parameters:
      - in: "path"
        name: "error-set"
        description: "path param \"error-set\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current error set"
          schema:
            $ref: "#/definitions/ErrorSetInfo"
    delete:
      summary: "Deletes the error set"
      description: "Deletes the error set"
      operationId: "delete-error-sets-{error-set}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-error-sets-error-set-body"
      - in: "path"
        name: "error-set"
        description: "path param \"error-set\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the error set that was deleted"
          schema:
            $ref: "#/definitions/ErrorSetDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such error set"
          schema: {}
  /error-sets:
    post:
      summary: "Creates a new error set"
      description: "Creates a new error set"
      operationId: "post-error-sets"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-error-sets-body"
      responses:
        "200":
          description: "a description of the new error set"
          schema:
            $ref: "#/definitions/CreateErrorSetInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    get:
      summary: "Returns information about error sets"
      description: "Returns information about error sets"
      operationId: "get-error-sets"
      parameters: []
      responses:
        "200":
          description: "information about the error sets"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/ErrorSetInfo"
            x-nullable: true
  /error-sets/create:
    post:
      summary: "Creates a new error set"
      description: "Creates a new error set"
      operationId: "post-error-sets-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-error-sets-create-body"
      responses:
        "200":
          description: "a description of the new error set"
          schema:
            $ref: "#/definitions/CreateErrorSetInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /oauth2/clients/{id}/tokens/{id}:
    get:
      summary: "Returns information about the current token"
      description: "Returns information about the current token"
      operationId: "get-oauth2-clients-{id}-tokens-{id}"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the current token"
          schema:
            $ref: "#/definitions/TokenInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    put:
      summary: "Updates attributes of a client token"
      description: "Updates attributes of a client token"
      operationId: "put-oauth2-clients-{id}-tokens-{id}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-oauth2-clients-id-tokens-id-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the current token"
      description: "Deletes the current token"
      operationId: "delete-oauth2-clients-{id}-tokens-{id}"
      parameters:
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
  /oauth2/clients/{id}/generateAccessToken:
    post:
      summary: "Creates an access token for the client"
      description: "Creates an access token for the client"
      operationId: "post-oauth2-clients-{id}-generateAccessToken"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-oauth2-clients-id-generateAccessToken-body"
      - in: "path"
        name: "id"
        description: "path param \"id\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the token created"
          schema:
            type: "string"
  /classes/{id_or_name}/clone:
    post:
      summary: "Clones the current class"
      description: "Clones the current class; all parameters are optional and override the cloned class's values. If no version is provided, then the current version is incremented in the cloned class; if a version but no name is provided, then a new name is generated for the cloned class"
      operationId: "post-classes-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-classes-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new class"
          schema:
            $ref: "#/definitions/CloneClassInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /classes/{id_or_name}:
    put:
      summary: "Updates the current class"
      description: "Updates the current class"
      operationId: "put-classes-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-classes-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new class"
          schema:
            $ref: "#/definitions/UpdateClassInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the class"
      description: "Deletes the class"
      operationId: "delete-classes-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-classes-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the class that was deleted"
          schema:
            $ref: "#/definitions/ClassDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such function"
          schema: {}
  /functions/{id_or_name}/clone:
    post:
      summary: "Clones the current function"
      description: "Clones the current function; all parameters are optional and override the cloned function's values. If no version is provided, then the current version is incremented in the cloned function; if a version but no name is provided, then a new name is generated for the cloned function"
      operationId: "post-functions-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-functions-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new function"
          schema:
            $ref: "#/definitions/CloneFunctionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /functions/{id_or_name}:
    put:
      summary: "Updates the current function"
      description: "Updates the current function"
      operationId: "put-functions-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-functions-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new function"
          schema:
            $ref: "#/definitions/UpdateFunctionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the function"
      description: "Deletes the function"
      operationId: "delete-functions-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-functions-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the function that was deleted"
          schema:
            $ref: "#/definitions/FunctionDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such function"
          schema: {}
  /functions:
    post:
      summary: "Creates a new function"
      description: "Creates a new function"
      operationId: "post-functions"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-functions-body"
      responses:
        "200":
          description: "a description of the new function"
          schema:
            $ref: "#/definitions/CreateFunctionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /functions/create:
    post:
      summary: "Creates a new function"
      description: "Creates a new function"
      operationId: "post-functions-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-functions-create-body"
      responses:
        "200":
          description: "a description of the new function"
          schema:
            $ref: "#/definitions/CreateFunctionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /constants/{id_or_name}/clone:
    post:
      summary: "Clones the current constant"
      description: "Clones the current constant; all parameters are optional and override the cloned constant's values. If no version is provided, then the current version is incremented in the cloned constant; if a version but no name is provided, then a new name is generated for the cloned constant"
      operationId: "post-constants-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-constants-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new constant"
          schema:
            $ref: "#/definitions/CloneConstantInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /constants/{id_or_name}:
    put:
      summary: "Updates the current constant"
      description: "Updates the current constant"
      operationId: "put-constants-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-constants-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new constant"
          schema:
            $ref: "#/definitions/UpdateConstantInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the constant"
      description: "Deletes the constant"
      operationId: "delete-constants-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-constants-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the constant that was deleted"
          schema:
            $ref: "#/definitions/ConstantDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such constant"
          schema: {}
  /constants:
    post:
      summary: "Creates a new constant"
      description: "Creates a new constant"
      operationId: "post-constants"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-constants-body"
      responses:
        "200":
          description: "a description of the new constant"
          schema:
            $ref: "#/definitions/CreateConstantInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /constants/create:
    post:
      summary: "Creates a new constant"
      description: "Creates a new constant"
      operationId: "post-constants-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-constants-create-body"
      responses:
        "200":
          description: "a description of the new constant"
          schema:
            $ref: "#/definitions/CreateConstantInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /services/{id_or_name}/clone:
    post:
      summary: "Clones the current service"
      description: "Clones the current service; all parameters are optional and override the cloned service's values. If no name is provided, then a new name is generated for the cloned service"
      operationId: "post-services-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-services-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new service"
          schema:
            $ref: "#/definitions/CloneServiceInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /services/{id_or_name}:
    put:
      summary: "Updates the current service"
      description: "Updates the current service"
      operationId: "put-services-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-services-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new service"
          schema:
            $ref: "#/definitions/UpdateServiceInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the current service"
      description: "Deletes the current service"
      operationId: "delete-services-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "service deletion info"
          schema:
            $ref: "#/definitions/ServiceDeletionResult"
        "400":
          description: "cannot delete system services"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such service"
          schema: {}
  /services/create:
    post:
      summary: "Creates a new service"
      description: "Creates a new service"
      operationId: "post-services-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-services-create-body"
      responses:
        "200":
          description: "a description of the new service"
          schema:
            $ref: "#/definitions/CloneServiceInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /remote/qorus/{name}/clone:
    post:
      summary: "Clones the current connection"
      description: "Clones the current connection; all parameters are optional and override the cloned connection's values. If no name is provided, then a new name is generated for the cloned connection"
      operationId: "post-remote-qorus-{name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-remote-qorus-name-clone-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new connection"
          schema:
            $ref: "#/definitions/CloneConnectionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /remote/qorus/{name}:
    delete:
      summary: "Deletes the current connection"
      description: "Deletes the current connection"
      operationId: "delete-remote-qorus-{name}"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection deletion info"
          schema:
            $ref: "#/definitions/ConnectionDeletionResult"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such connection"
          schema: {}
  /remote/qorus:
    post:
      summary: "Creates a new remote Qorus connection from the arguments"
      description: "Creates a new remote Qorus connection from the arguments"
      operationId: "post-remote-qorus"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-remote-qorus-body"
      responses:
        "200":
          description: "information about the connection created"
          schema:
            $ref: "#/definitions/NewConnectionObjectInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /remote/user/{name}/clone:
    post:
      summary: "Clones the current connection"
      description: "Clones the current connection; all parameters are optional and override the cloned connection's values. If no name is provided, then a new name is generated for the cloned connection"
      operationId: "post-remote-user-{name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-remote-user-name-clone-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new connection"
          schema:
            $ref: "#/definitions/CloneConnectionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /remote/user/{name}:
    delete:
      summary: "Deletes the current connection"
      description: "Deletes the current connection"
      operationId: "delete-remote-user-{name}"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection deletion info"
          schema:
            $ref: "#/definitions/ConnectionDeletionResult"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such connection"
          schema: {}
  /remote/user:
    post:
      summary: "Creates a new user connection from the arguments"
      description: "Creates a new user connection from the arguments"
      operationId: "post-remote-user"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-remote-user-body"
      responses:
        "200":
          description: "information about the connection created"
          schema:
            $ref: "#/definitions/NewConnectionInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /remote/datasources/{name}/clone:
    post:
      summary: "Clones the current connection"
      description: "Clones the current connection; all parameters are optional and override the cloned connection's values. If no name is provided, then a new name is generated for the cloned connection"
      operationId: "post-remote-datasources-{name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-remote-datasources-name-clone-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new connection"
          schema:
            $ref: "#/definitions/CloneConnectionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /remote/datasources/{name}:
    delete:
      summary: "Deletes the current connection"
      description: "Deletes the current connection"
      operationId: "delete-remote-datasources-{name}"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection deletion info"
          schema:
            $ref: "#/definitions/ConnectionDeletionResult"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such connection"
          schema: {}
  /remote/datasources:
    post:
      summary: "Creates a new datasource connection from the arguments"
      description: "Creates a new datasource connection from the arguments"
      operationId: "post-remote-datasources"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-remote-datasources-body"
      responses:
        "200":
          description: "information about the connection created"
          schema:
            $ref: "#/definitions/NewConnectionInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /connections/{name}/clone:
    post:
      summary: "Clones the current connection"
      description: "Clones the current connection; all parameters are optional and override the cloned connection's values. If no name is provided, then a new name is generated for the cloned connection"
      operationId: "post-connections-{name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-connections-name-clone-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new connection"
          schema:
            $ref: "#/definitions/CloneConnectionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /connections:
    get:
      summary: "Returns a list of information about all connections"
      description: "Returns a list of hash information for all Qorus connections"
      operationId: "get-connections"
      parameters:
      - in: "query"
        name: "with_password"
        description: "include the password in the \"url\" and \"url_hash\" keys"
        required: false
        type: "boolean"
        x-nullable: true
      responses:
        "200":
          description: "information about the connection"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/ConnectionInfo"
    post:
      summary: "Creates a new connection from the arguments"
      description: "Creates a new connection from the arguments; permissions required depend on the URL"
      operationId: "post-connections"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-connections-body"
      responses:
        "200":
          description: "information about the connection created"
          schema:
            $ref: "#/definitions/NewConnectionInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /connections/create:
    post:
      summary: "Creates a new connection from the arguments"
      description: "Creates a new connection from the arguments"
      operationId: "post-connections-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-connections-create-body"
      responses:
        "200":
          description: "information about the connection created"
          schema:
            $ref: "#/definitions/NewConnectionObjectInfo"
        "400":
          description: "missing or invalid arguments"
          schema: {}
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/{id_or_name}/clone:
    post:
      summary: "Clones the current FSM"
      description: "Clones the current FSM; all parameters are optional and override the cloned FSM's values. If no name is provided, then a new name is generated for the cloned FSM"
      operationId: "post-fsms-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-fsms-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new FSM"
          schema:
            $ref: "#/definitions/CloneFsmInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/{id_or_name}/enable:
    put:
      summary: "Enables the current FSM, if it is supported by a job (as a scheduled FSM) or a service (as an event-driven FSM)"
      description: "Enables the current FSM, if it is supported by a job (as a scheduled FSM) or a service (as an event-driven FSM)"
      operationId: "put-fsms-{id_or_name}-enable"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "hash providing information about the operation"
          schema:
            $ref: "#/definitions/FsmEnableInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/{id_or_name}/disable:
    put:
      summary: "Disables the current FSM, if it is supported by a job (as a scheduled FSM) or a service (as an event-driven FSM)"
      description: "Disables the current FSM, if it is supported by a job (as a scheduled FSM) or a service (as an event-driven FSM)"
      operationId: "put-fsms-{id_or_name}-disable"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "hash providing information about the operation"
          schema:
            $ref: "#/definitions/FsmEnableInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/{id_or_name}/getStateData:
    put:
      summary: "Returns output data for multiple states"
      description: "Returns output data for multiple states"
      operationId: "put-fsms-{id_or_name}-getStateData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-fsms-id_or_name-getStateData-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "hash of state data keyed by state name"
          schema:
            $ref: "#/definitions/UndefinedHash"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/{id_or_name}:
    delete:
      summary: "Deletes the current FSM"
      description: "Deletes the current FSM"
      operationId: "delete-fsms-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "FSM deletion info"
          schema:
            $ref: "#/definitions/FsmDeletionResult"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such FSM"
          schema: {}
    put:
      summary: "Update the given Qog"
      description: "Update the given Qog"
      operationId: "put-fsms-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-fsms-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of updating the FSM"
          schema:
            $ref: "#/definitions/FsmUpdateInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such FSM"
          schema: {}
  /fsms/{id_or_name}/exec:
    post:
      summary: "Execute the given FSM"
      description: "Execute the given FSM and return any output"
      operationId: "post-fsms-{id_or_name}-exec"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-fsms-id_or_name-exec-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of executing the FSM"
          schema:
            $ref: "#/definitions/FsmExecInfo"
  /fsms/getStateData:
    put:
      summary: "Returns output data for multiple states"
      description: "Returns output data for multiple states"
      operationId: "put-fsms-getStateData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-fsms-getStateData-body"
      responses:
        "200":
          description: "hash of state data keyed by state name"
          schema:
            $ref: "#/definitions/UndefinedHash"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/exec:
    post:
      summary: "Execute the given FSM configuration"
      description: "Execute the given FSM configuration and return any output"
      operationId: "post-fsms-exec"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-fsms-exec-body"
      responses:
        "200":
          description: "the result of executing the FSM"
          schema:
            $ref: "#/definitions/FsmExecInfo"
  /fsms:
    post:
      summary: "Creates a new FSM from the parameters"
      description: "Creates a new FSM from the parameters"
      operationId: "post-fsms"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-fsms-body"
      responses:
        "200":
          description: "the result of creating the FSM"
          schema:
            $ref: "#/definitions/CreateFsmInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes one or more FSMs"
      description: "Deletes one or more FSMs"
      operationId: "delete-fsms"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/delete-fsms-body"
      responses:
        "200":
          description: "the result of deleting the FSMs; keys are FSM IDs"
          schema:
            $ref: "#/definitions/FsmDeleteResultSet"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/create:
    post:
      summary: "Creates a new FSM from the parameters"
      description: "Creates a new FSM from the parameters"
      operationId: "post-fsms-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-fsms-create-body"
      responses:
        "200":
          description: "the result of creating the FSM"
          schema:
            $ref: "#/definitions/CreateFsmInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/createDraftFromText:
    post:
      summary: "Creates a new FSM draft from natural language input"
      description: "Creates a new FSM draft from natural language input"
      operationId: "post-fsms-createDraftFromText"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-fsms-createDraftFromText-body"
      responses:
        "200":
          description: "the result of creating the Qog"
          schema:
            $ref: "#/definitions/CreateFsmInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/enable:
    put:
      summary: "Enables one or more FSMs"
      description: "Enables one or more FSMs"
      operationId: "put-fsms-enable"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-fsms-enable-body"
      responses:
        "200":
          description: "the result of enabling the FSMs; keys are FSM IDs"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/FsmEnableResult"
        "403":
          description: "access or authorization error"
          schema: {}
  /fsms/disable:
    put:
      summary: "Disable one or more FSMs"
      description: "Disable one or more FSMs"
      operationId: "put-fsms-disable"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-fsms-disable-body"
      responses:
        "200":
          description: "the result of disabling the FSMs; keys are FSM IDs"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/FsmDisableResult"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/actions:
    get:
      summary: "Returns matching DataProvider actions"
      description: "Returns matching DataProvider actions"
      operationId: "get-dataprovider-actions"
      parameters:
      - in: "query"
        name: "app"
        description: "search for actions associated with the given app"
        required: false
        type: "string"
        x-nullable: true
      - in: "query"
        name: "search"
        description: "a substring or regular expression search value to look for in the actions description and short description fields"
        required: false
        type: "string"
        x-nullable: true
      - in: "query"
        name: "search_regex"
        description: "if true then any search value will be assumed to be a regular expression instead of a substring"
        required: false
        type: "boolean"
        x-nullable: true
      responses:
        "200":
          description: "list of DataProvider actions"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/DataProviderActionInfo"
            x-nullable: true
  /dataprovider/apps/{app}/actions/{action}:
    get:
      summary: "Returns info about the current DataProvider application action"
      description: "Returns info about the current DataProvider application action"
      operationId: "get-dataprovider-apps-{app}-actions-{action}"
      parameters:
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      - in: "path"
        name: "action"
        description: "path param \"action\""
        required: true
        type: "string"
      responses:
        "200":
          description: "action information"
          schema:
            $ref: "#/definitions/DataProviderActionInfo"
  /dataprovider/apps/{app}/actions/{action}/outputType:
    put:
      summary: "Returns info about the output type of the action"
      description: "Returns info about the output type of the action"
      operationId: "put-dataprovider-apps-{app}-actions-{action}-outputType"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-apps-app-actions-action-outputType-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      - in: "path"
        name: "action"
        description: "path param \"action\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the action's output type, if any"
          schema:
            $ref: "#/definitions/_DataProviderActionOutputTypeInfo"
  /dataprovider/apps/{app}/actions/{action}/outputTypeDescriptions:
    put:
      summary: "Returns info about the output of the action"
      description: "Returns info about the output of the action"
      operationId: "put-dataprovider-apps-{app}-actions-{action}-outputTypeDescriptions"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-apps-app-actions-action-outputTypeDescriptions-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      - in: "path"
        name: "action"
        description: "path param \"action\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about all keys in the output in dot notation, values are short descriptions"
          schema:
            $ref: "#/definitions/_StringHash"
  /dataprovider/apps/{app}/actions/{action}/getCreateConnectionOptions:
    put:
      summary: "Returns info about options required to create a new connection for the current action"
      description: "Returns info about options required to create a new connection for the current action"
      operationId: "put-dataprovider-apps-{app}-actions-{action}-getCreateConnectionOptions"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-apps-app-actions-action-getCreateConnectionOptions-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      - in: "path"
        name: "action"
        description: "path param \"action\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection option info; keys are option names"
          schema:
            $ref: "#/definitions/ConnectionOptionSet"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps/{app}/actions/{action}/createConnection:
    post:
      summary: "Creates a new connection for the application"
      description: "Creates a new connection for the application"
      operationId: "post-dataprovider-apps-{app}-actions-{action}-createConnection"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-dataprovider-apps-app-actions-action-createConnection-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      - in: "path"
        name: "action"
        description: "path param \"action\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection creation info"
          schema:
            $ref: "#/definitions/ConnectionCreationInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps/{app}/actions/{action}/updateConnection:
    put:
      summary: "Updates an existing connection for the application"
      description: "Updates an existing connection for the application"
      operationId: "put-dataprovider-apps-{app}-actions-{action}-updateConnection"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-apps-app-actions-action-updateConnection-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      - in: "path"
        name: "action"
        description: "path param \"action\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection creation info"
          schema:
            $ref: "#/definitions/ConnectionUpdateInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps/{app}/actions/{action}/getOptions:
    put:
      summary: "Returns info about the current DataProvider application action with detailed option information"
      description: "Returns info about the current DataProvider application action with detailed option information"
      operationId: "put-dataprovider-apps-{app}-actions-{action}-getOptions"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-apps-app-actions-action-getOptions-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      - in: "path"
        name: "action"
        description: "path param \"action\""
        required: true
        type: "string"
      responses:
        "200":
          description: "action information"
          schema:
            $ref: "#/definitions/DataProviderOptionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps/{app}/actions/{action}/exec:
    post:
      summary: "Execute the current action"
      description: "Execute the current action; if the action is an API call, the API call is performed and the result is returned to the called; if the action is a message, the message is sent; if the action is an event, then the event data is returned. Any arguments or parameters with missing data will have their data filled with generated information if generate is True"
      operationId: "post-dataprovider-apps-{app}-actions-{action}-exec"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-dataprovider-apps-app-actions-action-exec-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      - in: "path"
        name: "action"
        description: "path param \"action\""
        required: true
        type: "string"
      responses:
        "200":
          description: "the result of executing the action"
          schema:
            $ref: "#/definitions/AnyType"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps/{app}/actions:
    get:
      summary: "Returns info about the current DataProvider application actions"
      description: "Returns info about the current DataProvider application actions"
      operationId: "get-dataprovider-apps-{app}-actions"
      parameters:
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      responses:
        "200":
          description: "list of all actions on each application"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/DataProviderActionInfo"
            x-nullable: true
  /dataprovider/apps/{app}:
    get:
      summary: "Returns info about the current DataProvider application"
      description: "Returns info about the current DataProvider application"
      operationId: "get-dataprovider-apps-{app}"
      parameters:
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      responses:
        "200":
          description: "info about the current DataProvider application"
          schema:
            $ref: "#/definitions/DataProviderAppInfo"
  /dataprovider/apps/{app}/getCreateConnectionOptions:
    put:
      summary: "Returns info about options required to create a new connection for the current action"
      description: "Returns info about options required to create a new connection for the current action"
      operationId: "put-dataprovider-apps-{app}-getCreateConnectionOptions"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-apps-app-getCreateConnectionOptions-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection option info; keys are option names"
          schema:
            $ref: "#/definitions/ConnectionOptionSet"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps/{app}/createConnection:
    post:
      summary: "Creates a new connection for the application"
      description: "Creates a new connection for the application"
      operationId: "post-dataprovider-apps-{app}-createConnection"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-dataprovider-apps-app-createConnection-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection creation info"
          schema:
            $ref: "#/definitions/ConnectionCreationInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps/{app}/updateConnection:
    put:
      summary: "Updates an existing connection for the application"
      description: "Updates an existing connection for the application"
      operationId: "put-dataprovider-apps-{app}-updateConnection"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-dataprovider-apps-app-updateConnection-body"
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      responses:
        "200":
          description: "connection creation info"
          schema:
            $ref: "#/definitions/ConnectionUpdateInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps:
    get:
      summary: "Returns matching DataProvider applications"
      description: "Returns matching DataProvider applications"
      operationId: "get-dataprovider-apps"
      parameters:
      - in: "query"
        name: "include_hidden"
        description: "if true then hidden applications will be included in the result"
        required: false
        type: "boolean"
        x-nullable: true
      - in: "query"
        name: "search"
        description: "a substring or regular expression search value to look for in the application name and description fields"
        required: false
        type: "string"
        x-nullable: true
      - in: "query"
        name: "search_regex"
        description: "if true then any search value will be assumed to be a regular expression instead of a substring"
        required: false
        type: "boolean"
        x-nullable: true
      responses:
        "200":
          description: "list of DataProvider applications"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/DataProviderAppInfo"
            x-nullable: true
  /dataprovider/apps/refreshClients:
    post:
      summary: "Refresh OAuth2 client information from Qore Technologies' cloud server"
      description: "Refresh OAuth2 client information from Qore Technologies' cloud server"
      operationId: "post-dataprovider-apps-refreshClients"
      parameters: []
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/apps/clientInfo:
    get:
      summary: "Retrieves info about the OAuth2 client cache"
      description: "Retrieves info about the OAuth2 client cache"
      operationId: "get-dataprovider-apps-clientInfo"
      parameters: []
      responses:
        "200":
          description: "information about the OAuth2 client cache"
          schema:
            $ref: "#/definitions/OAuth2ClientCacheInfo"
  /slas/{sla}/clone:
    post:
      summary: "Clones the current SLA"
      description: "Clones the current SLA; all parameters are optional and override the cloned SLA's values. If no name is provided, then a new name is generated for the cloned SLA"
      operationId: "post-slas-{sla}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-slas-sla-clone-body"
      - in: "path"
        name: "sla"
        description: "path param \"sla\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new SLA"
          schema:
            $ref: "#/definitions/CloneSlaInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /slas/flush:
    post:
      summary: "Flushes all SLA event information to persistent storage"
      description: "Flushes all SLA event information to persistent storage"
      operationId: "post-slas-flush"
      parameters: []
      responses:
        "200":
          description: "\"OK\""
          schema:
            type: "string"
        "403":
          description: "access or authorization error"
          schema: {}
  /slas/create:
    post:
      summary: "Creates a new SLA"
      description: "Creates a new SLA"
      operationId: "post-slas-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-slas-create-body"
      responses:
        "200":
          description: "a description of the new type"
          schema:
            $ref: "#/definitions/CreateSlaInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /types/{type}/clone:
    post:
      summary: "Clones the current type"
      description: "Clones the current type"
      operationId: "post-types-{type}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-types-type-clone-body"
      - in: "path"
        name: "type"
        description: "path param \"type\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new type"
          schema:
            $ref: "#/definitions/CloneTypeInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /types/{type}:
    put:
      summary: "Updates the current type"
      description: "Updates the current type"
      operationId: "put-types-{type}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-types-type-body"
      - in: "path"
        name: "type"
        description: "path param \"type\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new type"
          schema:
            $ref: "#/definitions/UpdateTypeInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the type"
      description: "Deletes the type"
      operationId: "delete-types-{type}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_delete-types-type-body"
      - in: "path"
        name: "type"
        description: "path param \"type\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the type that was deleted"
          schema:
            $ref: "#/definitions/TypeDeletionInfo"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such type"
          schema: {}
  /types:
    post:
      summary: "Creates a new type"
      description: "Creates a new type"
      operationId: "post-types"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-types-body"
      responses:
        "200":
          description: "a description of the new type"
          schema:
            $ref: "#/definitions/CreateTypeInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    get:
      summary: "Returns a list of types"
      description: "Returns a list of types"
      operationId: "get-types"
      parameters: []
      responses:
        "200":
          description: "a list of type information"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/TypeSummaryInfo"
  /types/create:
    post:
      summary: "Creates a new type"
      description: "Creates a new type"
      operationId: "post-types-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-types-create-body"
      responses:
        "200":
          description: "a description of the new type"
          schema:
            $ref: "#/definitions/CreateTypeInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /dataprovider/arg_schemas/{schema}:
    get:
      summary: "Retrieves type information about complex data types"
      description: "Retrieves type information about complex data types"
      operationId: "get-dataprovider-arg_schemas-{schema}"
      parameters:
      - in: "path"
        name: "schema"
        description: "path param \"schema\""
        required: true
        type: "string"
      responses:
        "200":
          description: "description of fields in the schema"
          schema:
            $ref: "#/definitions/_UndefinedHash"
  /dataprovider/arg_schemas:
    get:
      summary: "Retrieves type information about complex data types"
      description: "Retrieves type information about complex data types"
      operationId: "get-dataprovider-arg_schemas"
      parameters: []
      responses:
        "200":
          description: "description of fields in the schema"
          schema:
            $ref: "#/definitions/_UndefinedHash"
  /jobs/{id_or_name}/clone:
    post:
      summary: "Clones the current job"
      description: "Clones the current job; all parameters are optional and override the cloned job's values. If no name is provided, then a new name is generated for the cloned job"
      operationId: "post-jobs-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-jobs-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new job"
          schema:
            $ref: "#/definitions/CloneJobInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /jobs:
    post:
      summary: "Creates a new job"
      description: "Creates a new job"
      operationId: "post-jobs"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-jobs-body"
      responses:
        "200":
          description: "a description of the new job"
          schema:
            $ref: "#/definitions/CreateJobInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /jobs/create:
    post:
      summary: "Creates a new job"
      description: "Creates a new job"
      operationId: "post-jobs-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-jobs-create-body"
      responses:
        "200":
          description: "a description of the new job"
          schema:
            $ref: "#/definitions/CreateJobInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /system/dynamic-apps/{app}:
    get:
      summary: "Returns information about the app"
      description: "Returns information about the app"
      operationId: "get-system-dynamic-apps-{app}"
      parameters:
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      responses:
        "200":
          description: "information about the app"
          schema:
            $ref: "#/definitions/DataProviderAppInfo"
    delete:
      summary: "Removes the dynamic app from Qorus and deletes the file"
      description: "Removes the dynamic app from Qorus and deletes the file"
      operationId: "delete-system-dynamic-apps-{app}"
      parameters:
      - in: "path"
        name: "app"
        description: "path param \"app\""
        required: true
        type: "string"
      responses:
        "200":
          description: "dynamic app deletion info"
          schema:
            $ref: "#/definitions/AppDeletionResult"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such app"
          schema: {}
  /system/dynamic-apps:
    post:
      summary: "Adds one or more new TypeScript / JavaScript applications to Qorus as defined in a JavaScript source file"
      description: "Adds one or more new TypeScript / JavaScript applications to Qorus as defined in a JavaScript source file"
      operationId: "post-system-dynamic-apps"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-system-dynamic-apps-body"
      responses:
        "200":
          description: "the result of saving the app"
          schema:
            $ref: "#/definitions/AddAppResultInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    get:
      summary: "Lists dynamic apps in Qorus"
      description: "Lists dynamic apps in Qorus"
      operationId: "get-system-dynamic-apps"
      parameters: []
      responses:
        "200":
          description: "list of dynamically-registered DataProvider applications"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/DataProviderAppInfo"
            x-nullable: true
  /system/interfaces:
    get:
      summary: "Returns information about interfaces"
      description: "Returns information about interfaces"
      operationId: "get-system-interfaces"
      parameters:
      - in: "query"
        name: "type"
        description: "the type of interface"
        required: false
        type: "string"
        x-nullable: true
      - in: "query"
        name: "limit"
        description: "the maximum number of interfaces to return"
        required: false
        type: "integer"
        format: "int64"
        x-nullable: true
      - in: "query"
        name: "substring"
        description: "a substring to match interfaces' label and short_desc values (case-insensitive)"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "a list of interface and draft information"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/UndefinedHash"
  /system/refreshSnapshots:
    post:
      summary: "Refresh database snapshots for job and workflow instances"
      description: "Refresh database snapshots for job and workflow instances"
      operationId: "post-system-refreshSnapshots"
      parameters: []
      responses:
        "200":
          description: "a hash giving a result of the operation keyed by snapshot name where values are strings giving the result of the operation"
          schema:
            $ref: "#/definitions/UndefinedHash"
        "403":
          description: "access or authorization error"
          schema: {}
  /system/objects:
    post:
      summary: "Create or replace integration objects in Qorus"
      description: "Create or replace integration objects in Qorus"
      operationId: "post-system-objects"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-system-objects-body"
      responses:
        "200":
          description: "the result of the action"
          schema:
            $ref: "#/definitions/UndefinedHash"
        "403":
          description: "access or authorization error"
          schema: {}
  /system/writeSources:
    post:
      summary: "Writes objects onto the filesystem in source format"
      description: "Writes objects onto the filesystem in source format"
      operationId: "post-system-writeSources"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-system-writeSources-body"
      responses:
        "200":
          description: "a hash with the following keys:"
          schema:
            $ref: "#/definitions/WriteSourcesInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /system/createRelease:
    post:
      summary: "Creates a release and returns the release file"
      description: "Creates a release and returns the release file"
      operationId: "post-system-createRelease"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-system-createRelease-body"
      responses:
        "200":
          description: "a hash with the following keys:"
          schema:
            $ref: "#/definitions/CreateReleaseInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /system/getContextData:
    put:
      summary: "Returns output data for qorus templates based on the interface context"
      description: "Returns context data for the given input context or for a generic context if no interface_context is provided"
      operationId: "put-system-getContextData"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-system-getContextData-body"
      responses:
        "200":
          description: "hash of state data keyed by state name"
          schema:
            $ref: "#/definitions/UndefinedHash"
  /system/expressions:
    get:
      summary: "Returns information about expressions available in the given context"
      description: "Returns information about expressions available in the given context"
      operationId: "get-system-expressions"
      parameters:
      - in: "query"
        name: "return_type"
        description: "the return type of the expressions"
        required: false
        type: "string"
        x-nullable: true
      - in: "query"
        name: "first_arg_type"
        description: "the argument type of the first argument of the operator or function"
        required: false
        type: "string"
        x-nullable: true
      - in: "query"
        name: "type"
        description: "\"operator\" or \\\"function\\\"; if not present, then all expression types are returned"
        required: false
        type: "string"
        x-nullable: true
      responses:
        "200":
          description: "A list of expressions supported for the context"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/UndefinedHash"
  /system/alertMessage:
    post:
      summary: "Posts a system alert on all event channels"
      description: "Posts a system alert on all event channels"
      operationId: "post-system-alertMessage"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-system-alertMessage-body"
      responses:
        "200":
          description: "echos the arguments"
          schema:
            $ref: "#/definitions/AlertMessageInfo"
  /system/licenseEvent:
    post:
      summary: "Posts a license changed event on all channels"
      description: "Posts a license changed event on all channels"
      operationId: "post-system-licenseEvent"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-system-licenseEvent-body"
      responses:
        "200":
          description: "OK"
          schema:
            type: "string"
  /system/evalExpression:
    post:
      summary: "Evaluates the expression and returns the result"
      description: "Evaluates the expression and returns the result"
      operationId: "post-system-evalExpression"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-system-evalExpression-body"
      responses:
        "200":
          description: "the result of executing the expression"
          schema:
            $ref: "#/definitions/AnyType"
        "403":
          description: "access or authorization error"
          schema: {}
  /pipelines/{name}/clone:
    post:
      summary: "Clones the current pipeline"
      description: "Clones the current pipeline; all parameters are optional and override the cloned pipeline's values. If no name is provided, then a new name is generated for the cloned pipeline"
      operationId: "post-pipelines-{name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-pipelines-name-clone-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new pipeline"
          schema:
            $ref: "#/definitions/ClonePipelineInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /pipelines/{name}:
    put:
      summary: "Updates the current pipeline"
      description: "Updates the current pipeline"
      operationId: "put-pipelines-{name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/put-pipelines-name-body"
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new pipeline"
          schema:
            $ref: "#/definitions/UpdatePipelineInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the current data pipeline"
      description: "Deletes the current data pipeline"
      operationId: "delete-pipelines-{name}"
      parameters:
      - in: "path"
        name: "name"
        description: "path param \"name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "data pipeline deletion info"
          schema:
            $ref: "#/definitions/PipelineDeletionResult"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such data pipeline"
          schema: {}
  /pipelines:
    post:
      summary: "Creates a new pipeline"
      description: "Creates a new pipeline"
      operationId: "post-pipelines"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-pipelines-body"
      responses:
        "200":
          description: "a description of the new pipeline"
          schema:
            $ref: "#/definitions/CreatePipelineInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /pipelines/create:
    post:
      summary: "Creates a new pipeline"
      description: "Creates a new pipeline"
      operationId: "post-pipelines-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-pipelines-create-body"
      responses:
        "200":
          description: "a description of the new pipeline"
          schema:
            $ref: "#/definitions/CreatePipelineInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /mappers/{id_or_name}/clone:
    post:
      summary: "Clones the current mapper"
      description: "Clones the current mapper; all parameters are optional and override the cloned mapper's values. If no name is provided, then a new name is generated for the cloned mapper"
      operationId: "post-mappers-{id_or_name}-clone"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_post-mappers-id_or_name-clone-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new mapper"
          schema:
            $ref: "#/definitions/CloneMapperInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /mappers/{id_or_name}:
    put:
      summary: "Updates the current mapper"
      description: "Updates the current Mapper"
      operationId: "put-mappers-{id_or_name}"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: false
        schema:
          $ref: "#/definitions/_put-mappers-id_or_name-body"
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the new mapper"
          schema:
            $ref: "#/definitions/UpdateMapperInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    get:
      summary: "Returns information about the current mapper"
      description: "Returns information about the current mapper"
      operationId: "get-mappers-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "a description of the mapper"
          schema:
            $ref: "#/definitions/MapperInfo"
        "403":
          description: "access or authorization error"
          schema: {}
    delete:
      summary: "Deletes the current mapper"
      description: "Deletes the current mapper"
      operationId: "delete-mappers-{id_or_name}"
      parameters:
      - in: "path"
        name: "id_or_name"
        description: "path param \"id_or_name\""
        required: true
        type: "string"
      responses:
        "200":
          description: "mapper deletion info"
          schema:
            $ref: "#/definitions/PipelineDeletionResult"
        "403":
          description: "access or authorization error"
          schema: {}
        "404":
          description: "no such mapper"
          schema: {}
  /mappers:
    post:
      summary: "Creates a new mapper"
      description: "Creates a new mapper"
      operationId: "post-mappers"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-mappers-body"
      responses:
        "200":
          description: "a description of the new mapper"
          schema:
            $ref: "#/definitions/CreateMapperInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /mappers/create:
    post:
      summary: "Creates a new mapper"
      description: "Creates a new mapper"
      operationId: "post-mappers-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-mappers-create-body"
      responses:
        "200":
          description: "a description of the new mapper"
          schema:
            $ref: "#/definitions/CreateMapperInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /classes:
    post:
      summary: "Creates a new class"
      description: "Creates a new class"
      operationId: "post-classes"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-classes-body"
      responses:
        "200":
          description: "a description of the new class"
          schema:
            $ref: "#/definitions/CreateClassInfo"
        "403":
          description: "access or authorization error"
          schema: {}
  /classes/create:
    post:
      summary: "Creates a new class"
      description: "Creates a new class"
      operationId: "post-classes-create"
      parameters:
      - in: "body"
        name: "body"
        description: "message body"
        required: true
        schema:
          $ref: "#/definitions/post-classes-create-body"
      responses:
        "200":
          description: "a description of the new class"
          schema:
            $ref: "#/definitions/CreateClassInfo"
        "403":
          description: "access or authorization error"
          schema: {}
definitions:
  _delete-slas-sla-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  SlaDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the SLA that was deleted"
  _put-slas-sla-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the SLA"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the SLA; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the SLA"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the SLA with markdown formatting"
      units:
        type: "string"
        x-nullable: true
        description: "describes the units of SLA event values (allowed values: \"seconds\" and \"other\")"
      methods:
        type: "array"
        items:
          $ref: "#/definitions/ServiceSlaInfo"
        x-nullable: true
        description: "list of methods to attach to the SLA"
      jobs:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "jobs to attach to the SLA"
    x-nullable: true
  ServiceSlaInfo:
    type: "object"
    required:
    - "service"
    - "method"
    properties:
      service:
        type: "string"
        description: "user service name"
      method:
        type: "string"
        description: "method name"
  UpdateSlaInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  UndefinedHash:
    type: "object"
    additionalProperties:
      description: not available
  CreateTypeInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _UndefinedHash:
    type: "object"
    additionalProperties:
      description: not available
    x-nullable: true
  WorkflowOrderCreateInfo:
    type: "object"
    required:
    - "workflow_instanceid"
    properties:
      workflow_instanceid:
        type: "string"
        description: "the workflow instance ID of the order created"
  WorkflowOrderExecutionInfo:
    type: "object"
    required:
    - "workflow_instanceid"
    - "status"
    properties:
      workflow_instanceid:
        type: "string"
        description: "the workflow instance ID of the order created"
      status:
        type: "string"
        description: "the status of the order after synchronous order processing"
      dynamicdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "the dynamic data of the workflow order instance"
  WorkflowOrderExecutionAsyncInfo:
    type: "object"
    required:
    - "workflow_instanceid"
    - "execid"
    properties:
      workflow_instanceid:
        type: "integer"
        format: "int64"
        description: "the workflow instance ID of the order created"
      execid:
        type: "integer"
        format: "int64"
        description: "the synchronous workflow execution instance ID"
  EndpointInfo:
    type: "object"
    additionalProperties:
      description: not available
  DataProviderInfo:
    type: "object"
    required:
    - "name"
    - "supports_read"
    - "supports_create"
    - "supports_update"
    - "supports_upsert"
    - "supports_delete"
    - "supports_native_search"
    - "supports_bulk_read"
    - "supports_bulk_create"
    - "supports_bulk_upsert"
    - "supports_request"
    - "supports_children"
    - "transaction_management"
    - "has_record"
    - "record_requires_search_options"
    - "supports_child_create"
    - "supports_child_delete"
    - "supports_add_field"
    - "supports_update_field"
    - "supports_delete_field"
    - "supports_schema"
    - "supports_search_expressions"
    - "supports_observable"
    - "supports_messages"
    - "supports_connections"
    - "supports_auto_reconnect"
    - "children_can_support_apis"
    - "children_can_support_records"
    - "children_can_support_observers"
    - "children_can_support_messages"
    - "children_identical"
    - "search_logic_capabilities"
    - "type"
    - "display_name"
    - "children_can_support_transactions"
    properties:
      name:
        type: "string"
        description: "the name of the data provider"
      supports_read:
        type: "boolean"
        description: "if the data provider supports record read/search actions"
      supports_create:
        type: "boolean"
        description: "if the data provider support record creation"
      supports_update:
        type: "boolean"
        description: "if the data provider supports record updates"
      supports_upsert:
        type: "boolean"
        description: "if the data provider supports record upserts / merges"
      supports_delete:
        type: "boolean"
        description: "if the data provider supports record deletions"
      supports_native_search:
        type: "boolean"
        description: "if the data provider supports a native record search API"
      supports_bulk_read:
        type: "boolean"
        description: "if the data provider supports bulk record read / search actions"
      supports_bulk_create:
        type: "boolean"
        description: "if the data provider supports bulk record creation"
      supports_bulk_upsert:
        type: "boolean"
        description: "if the data provider supports bulk record upsert / merges"
      supports_request:
        type: "boolean"
        description: "if the data provider supports the request/reply integration pattern (API calls)"
      supports_children:
        type: "boolean"
        description: "if the data provider supports children"
      transaction_management:
        type: "boolean"
        description: "if the data provider supports transaction mgmt"
      has_record:
        type: "boolean"
        description: "if the data provider supports records"
      record_requires_search_options:
        type: "boolean"
        description: "if the data provider requires search options when searching"
      supports_child_create:
        type: "boolean"
        description: "if the data provider supports creating child data providers"
      supports_child_delete:
        type: "boolean"
        description: "if the data provider supports deleting child data providers"
      supports_add_field:
        type: "boolean"
        description: "if the data provider supports the add field API"
      supports_update_field:
        type: "boolean"
        description: "if the data provider supports the update field API"
      supports_delete_field:
        type: "boolean"
        description: "if the data provider supports the delete field API"
      supports_schema:
        type: "boolean"
        description: "if the data provider supports a schema"
      supports_search_expressions:
        type: "boolean"
        description: "if the data provider supports generic search expressions"
      supports_observable:
        type: "boolean"
        description: "if the data provider supports the observer pattern / event API"
      supports_messages:
        type: "string"
        description: "if the data provider supports output messages; values are: NONE (messages not supported), SYNC (messages supported 1:1 with observed events), ASYNC (messages supported, no connection to observed events)"
      supports_connections:
        type: "boolean"
        description: "if the data provider supports connection status reporting"
      supports_auto_reconnect:
        type: "boolean"
        description: "if the data provider supports automtically reconnecting after lost connections"
      children_can_support_apis:
        type: "boolean"
        description: "if the data provider can provide children that support APIs"
      children_can_support_records:
        type: "boolean"
        description: "if the data provider can provide children that support records"
      children_can_support_observers:
        type: "boolean"
        description: "if the data provider can provide children that support event observation"
      children_can_support_messages:
        type: "boolean"
        description: "if the data provider can provide children that support messages"
      children_identical:
        type: "boolean"
        description: "if child data providers are all of the same class and have the same options"
      events:
        $ref: "#/definitions/_UndefinedHash"
        description: "any events supported by the data provider"
      messages:
        $ref: "#/definitions/_UndefinedHash"
        description: "any messages supported by the data provider"
      search_logic_capabilities:
        type: "integer"
        format: "int64"
        description: "a bitfield of supported search logic capabilities"
      mapper_keys:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of mapper key information"
      desc:
        type: "string"
        x-nullable: true
        description: "the description of the data provider"
      type:
        type: "string"
        description: "the type (class name) of the data provider"
      constructor_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any constructor options supported by the data provider"
      create_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any record creation options supported by the data provider"
      upsert_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any record upsert options supported by the data provider"
      search_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any record search options supported by the data provider"
      child_create_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any child creation options supported by the data provider"
      expressions:
        $ref: "#/definitions/_UndefinedHash"
        description: "any expressions supported by the data provider (for searches, for example)"
      connection_event:
        type: "string"
        x-nullable: true
        description: "any connection event for event-capable, connection-oriented data providers"
      disconnection_event:
        type: "string"
        x-nullable: true
        description: "any disconnection event for event-capable, connection-oriented data providers"
      children:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of any data provider children"
      info:
        $ref: "#/definitions/_UndefinedHash"
        description: "optional provider-specific information"
      display_name:
        type: "string"
        description: "the display name of the data provider"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short description of the data provider in plain text"
      children_can_support_transactions:
        type: "boolean"
        description: "if the data provider can provide children that support transaction management"
  DataProviderBrowseNodeInfo:
    type: "object"
    required:
    - "type"
    - "children"
    properties:
      type:
        type: "string"
        description: "one of the following: nav: a navigation node, data-provider: a data provider, type: a data type"
      children:
        type: "array"
        items:
          $ref: "#/definitions/DataProviderChildBrowseInfo"
        description: "a list of children of the current node"
      matches_context:
        type: "boolean"
        x-nullable: true
        description: "if True then the node is a match for the search context"
  DataProviderChildBrowseInfo:
    type: "object"
    required:
    - "name"
    - "desc"
    - "type"
    properties:
      name:
        type: "string"
        description: "the name of the child node"
      desc:
        type: "string"
        description: "the description of the child"
      type:
        type: "string"
        description: "the type of the child node; one of the following: nav: a navigation node, data-provider: a data provider, type: a data type, factory: a data provider factory, which may require sending provider_options according to the constructor_options key in this hash to create the data provider"
      constructor_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any constructor options supported by the data provider; only present when type is \"factory\""
  DataProviderChildDetailInfo:
    type: "object"
    required:
    - "name"
    - "display_name"
    - "type"
    - "supports_read"
    - "supports_create"
    - "supports_update"
    - "supports_upsert"
    - "supports_delete"
    - "supports_native_search"
    - "supports_bulk_read"
    - "supports_bulk_create"
    - "supports_bulk_upsert"
    - "supports_request"
    - "supports_children"
    - "transaction_management"
    - "has_record"
    - "record_requires_search_options"
    - "supports_child_create"
    - "supports_child_delete"
    - "supports_add_field"
    - "supports_update_field"
    - "supports_delete_field"
    - "supports_schema"
    - "supports_search_expressions"
    - "supports_observable"
    - "supports_messages"
    - "supports_connections"
    - "supports_auto_reconnect"
    - "children_can_support_apis"
    - "children_can_support_records"
    - "children_can_support_observers"
    - "children_can_support_messages"
    - "children_can_support_transactions"
    - "children_identical"
    - "search_logic_capabilities"
    properties:
      name:
        type: "string"
        description: "the name of the data provider"
      display_name:
        type: "string"
        description: "the display name of the data provider"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short description of the data provider in plain text"
      desc:
        type: "string"
        x-nullable: true
        description: "the description of the data provider"
      type:
        type: "string"
        description: "the type (class name) of the data provider"
      supports_read:
        type: "boolean"
        description: "if the data provider supports record read/search actions"
      supports_create:
        type: "boolean"
        description: "if the data provider support record creation"
      supports_update:
        type: "boolean"
        description: "if the data provider supports record updates"
      supports_upsert:
        type: "boolean"
        description: "if the data provider supports record upserts / merges"
      supports_delete:
        type: "boolean"
        description: "if the data provider supports record deletions"
      supports_native_search:
        type: "boolean"
        description: "if the data provider supports a native record search API"
      supports_bulk_read:
        type: "boolean"
        description: "if the data provider supports bulk record read / search actions"
      supports_bulk_create:
        type: "boolean"
        description: "if the data provider supports bulk record creation"
      supports_bulk_upsert:
        type: "boolean"
        description: "if the data provider supports bulk record upsert / merges"
      supports_request:
        type: "boolean"
        description: "if the data provider supports the request/reply integration pattern (API calls)"
      supports_children:
        type: "boolean"
        description: "if the data provider supports children"
      transaction_management:
        type: "boolean"
        description: "if the data provider supports transaction mgmt"
      has_record:
        type: "boolean"
        description: "if the data provider supports records"
      record_requires_search_options:
        type: "boolean"
        description: "if the data provider requires search options when searching"
      supports_child_create:
        type: "boolean"
        description: "if the data provider supports creating child data providers"
      supports_child_delete:
        type: "boolean"
        description: "if the data provider supports deleting child data providers"
      supports_add_field:
        type: "boolean"
        description: "if the data provider supports the add field API"
      supports_update_field:
        type: "boolean"
        description: "if the data provider supports the update field API"
      supports_delete_field:
        type: "boolean"
        description: "if the data provider supports the delete field API"
      supports_schema:
        type: "boolean"
        description: "if the data provider supports a schema"
      supports_search_expressions:
        type: "boolean"
        description: "if the data provider supports generic search expressions"
      supports_observable:
        type: "boolean"
        description: "if the data provider supports the observer pattern / event API"
      supports_messages:
        type: "string"
        description: "if the data provider supports output messages; values are: NONE (messages not supported), SYNC (messages supported 1:1 with observed events), ASYNC (messages supported, no connection to observed events)"
      supports_connections:
        type: "boolean"
        description: "if the data provider supports connection status reporting"
      supports_auto_reconnect:
        type: "boolean"
        description: "if the data provider supports automtically reconnecting after lost connections"
      children_can_support_apis:
        type: "boolean"
        description: "if the data provider can provide children that support APIs"
      children_can_support_records:
        type: "boolean"
        description: "if the data provider can provide children that support records"
      children_can_support_observers:
        type: "boolean"
        description: "if the data provider can provide children that support event observation"
      children_can_support_messages:
        type: "boolean"
        description: "if the data provider can provide children that support messages"
      children_can_support_transactions:
        type: "boolean"
        description: "if the data provider can provide children that support transaction management"
      children_identical:
        type: "boolean"
        description: "if child data providers are all of the same class and have the same options"
      search_logic_capabilities:
        type: "integer"
        format: "int64"
        description: "a bitfield of supported search logic capabilities"
      mapper_keys:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of mapper key information"
      constructor_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any constructor options supported by the data provider"
      create_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any record creation options supported by the data provider"
      upsert_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any record upsert options supported by the data provider"
      search_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any record search options supported by the data provider"
      child_create_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any child creation options supported by the data provider"
      expressions:
        $ref: "#/definitions/_UndefinedHash"
        description: "any expressions supported by the data provider (for searches, for example)"
      children:
        type: "array"
        items:
          $ref: "#/definitions/DataProviderSummaryInfo"
        x-nullable: true
        description: "a list of any data provider children"
      info:
        $ref: "#/definitions/_UndefinedHash"
        description: "optional provider-specific information"
  DataProviderSummaryInfo:
    type: "object"
    required:
    - "name"
    - "type"
    - "supports_read"
    - "supports_create"
    - "supports_update"
    - "supports_upsert"
    - "supports_delete"
    - "supports_native_search"
    - "supports_bulk_read"
    - "supports_bulk_create"
    - "supports_bulk_upsert"
    - "supports_request"
    - "supports_children"
    - "transaction_management"
    - "has_record"
    - "supports_search_expressions"
    - "supports_observable"
    - "supports_messages"
    - "supports_connections"
    - "supports_auto_reconnect"
    - "children_can_support_apis"
    - "children_can_support_records"
    - "children_can_support_observers"
    - "children_can_support_messages"
    - "children_can_support_transactions"
    - "children_identical"
    properties:
      name:
        type: "string"
        description: "the name of the data provider"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name of the data provider"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short description of the data provider in plain text"
      desc:
        type: "string"
        x-nullable: true
        description: "the description of the data provider"
      type:
        type: "string"
        description: "the type (class name) of the data provider"
      supports_read:
        type: "boolean"
        description: "if the data provider supports record read/search actions"
      supports_create:
        type: "boolean"
        description: "if the data provider support record creation"
      supports_update:
        type: "boolean"
        description: "if the data provider supports record updates"
      supports_upsert:
        type: "boolean"
        description: "if the data provider supports record upserts / merges"
      supports_delete:
        type: "boolean"
        description: "if the data provider supports record deletions"
      supports_native_search:
        type: "boolean"
        description: "if the data provider supports a native record search API"
      supports_bulk_read:
        type: "boolean"
        description: "if the data provider supports bulk record read / search actions"
      supports_bulk_create:
        type: "boolean"
        description: "if the data provider supports bulk record creation"
      supports_bulk_upsert:
        type: "boolean"
        description: "if the data provider supports bulk record upsert / merges"
      supports_request:
        type: "boolean"
        description: "if the data provider supports the request/reply integration pattern (API calls)"
      supports_children:
        type: "boolean"
        description: "if the data provider supports children"
      transaction_management:
        type: "boolean"
        description: "if the data provider supports transaction mgmt"
      has_record:
        type: "boolean"
        description: "if the data provider supports records"
      supports_search_expressions:
        type: "boolean"
        description: "if the data provider supports advanced search expressions"
      supports_observable:
        type: "boolean"
        description: "if the data provider supports the observer pattern / event API"
      supports_messages:
        type: "string"
        description: "if the data provider supports output messages; values are: NONE (messages not supported), SYNC (messages supported 1:1 with observed events), ASYNC (messages supported, no connection to observed events)"
      supports_connections:
        type: "boolean"
        description: "if the data provider supports connection status reporting"
      supports_auto_reconnect:
        type: "boolean"
        description: "if the data provider supports automtically reconnecting after lost connections"
      children_can_support_apis:
        type: "boolean"
        description: "if the data provider can provide children that support APIs"
      children_can_support_records:
        type: "boolean"
        description: "if the data provider can provide children that support records"
      children_can_support_observers:
        type: "boolean"
        description: "if the data provider can provide children that support event observation"
      children_can_support_messages:
        type: "boolean"
        description: "if the data provider can provide children that support messages"
      children_can_support_transactions:
        type: "boolean"
        description: "if the data provider can provide children that support transaction management"
      children_identical:
        type: "boolean"
        description: "if child data providers are all of the same class and have the same options"
  ConnectionUpdateResultInfo:
    type: "object"
    required:
    - "info"
    properties:
      info:
        type: "string"
        description: "a string providing information about the connection update action"
      changes:
        $ref: "#/definitions/_UndefinedHash"
        description: "list of attributes changed on the connection"
  AffectedRecordInfo:
    type: "object"
    required:
    - "affected_records"
    properties:
      affected_records:
        type: "integer"
        format: "int64"
        description: "the number of records affected by the operation"
  CloneWorkflowInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  UpdateWorkflowInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  CreateWorkflowInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  CloneConnectionInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  NewConnectionObjectInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "display_name"
    - "short_desc"
    - "desc"
    - "info"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      name:
        type: "string"
        description: "the name of the new connection"
      display_name:
        type: "string"
        description: "the display name of the new connection"
      short_desc:
        type: "string"
        description: "the connection's description in plain text"
      desc:
        type: "string"
        description: "the connection's description with markdown formatting"
      info:
        type: "string"
        description: "a string describing the operation performed"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  CloneFsmInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  FsmUpdateInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  ConnectionOptionSet:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ConnectionOptionInfo"
  ConnectionOptionInfo:
    type: "object"
    required:
    - "type"
    - "display_name"
    - "short_desc"
    - "desc"
    - "subst_env_vars"
    - "freeform"
    properties:
      type:
        type: "string"
        description: "data type of the option"
      display_name:
        type: "string"
        description: "the display name of the option"
      short_desc:
        type: "string"
        description: "short description of the option in plain text"
      desc:
        type: "string"
        description: "description of the option with markdown formatting"
      required:
        type: "boolean"
        x-nullable: true
        description: "is the option required?"
      required_groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any groups of required options that this option is a member of"
      exclusive_with:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any other options this option is mutually exclusive with"
      arg_schema:
        $ref: "#/definitions/_UndefinedHash"
        description: "description of any subfields required for this option"
      type_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any type options for the type"
      default_value:
        description: "any default value for the option"
      default_value_desc:
        type: "string"
        x-nullable: true
        description: "the description for the default value"
      default_value_display_name:
        type: "string"
        x-nullable: true
        description: "the display_name for the default value"
      readonly:
        type: "boolean"
        x-nullable: true
        description: "if the option is read only"
      sensitive:
        type: "boolean"
        x-nullable: true
        description: "is the value sensitive?"
      multiselect:
        type: "boolean"
        x-nullable: true
        description: "are allowed values the allowed values for a list type?"
      allowed_values:
        type: "array"
        items:
          $ref: "#/definitions/AllowedValueInfo"
        x-nullable: true
        description: "allowed values for the option"
      allowed_values_creatable:
        type: "boolean"
        x-nullable: true
        description: "can the value be a value not in allowed_values?"
      element_allowed_values:
        type: "array"
        items:
          $ref: "#/definitions/AllowedValueInfo"
        x-nullable: true
        description: "allowed element values for the option"
      element_allowed_values_creatable:
        type: "boolean"
        x-nullable: true
        description: "can an element value be a value not in element_allowed_values?"
      example_value:
        type: "string"
        x-nullable: true
        description: "an example value for the option"
      subst_env_vars:
        type: "boolean"
        description: "will environment variables in string values be substituted?"
      freeform:
        type: "boolean"
        description: "modifier for the file-as-string type: can a freeform location option be returned?"
  AllowedValueInfo:
    type: "object"
    required:
    - "display_name"
    properties:
      display_name:
        type: "string"
        description: "the display name of the allowed value"
      short_desc:
        type: "string"
        x-nullable: true
        description: "a short description of the allowed value in plain text"
      desc:
        type: "string"
        x-nullable: true
        description: "information about the value with markdown encoding"
      value:
        description: "the allowed value"
      intent:
        type: "string"
        x-nullable: true
        description: "any UI intent associated with the value"
      disabled:
        type: "boolean"
        x-nullable: true
        description: "if the value is disabled (ex: reflecting a connection that is down)"
      metadata:
        $ref: "#/definitions/_UndefinedHash"
        description: "any additional data about the value"
      messages:
        type: "array"
        items:
          $ref: "#/definitions/UiMessageHash"
        x-nullable: true
        description: "messages related to the value"
      icon:
        type: "string"
        x-nullable: true
        description: "any icon info for the value"
      image:
        type: "string"
        x-nullable: true
        description: "any image info for the value"
  UiMessageHash:
    type: "object"
    required:
    - "title"
    - "intent"
    - "content"
    properties:
      title:
        type: "string"
        description: "the title of the message"
      intent:
        type: "string"
        description: "the intent of the message"
      content:
        type: "string"
        description: "the message content itself"
  ConnectionCreationInfo:
    type: "object"
    required:
    - "name"
    - "desc"
    - "id"
    - "display_name"
    - "short_desc"
    properties:
      name:
        type: "string"
        description: "the new connection name"
      desc:
        type: "string"
        description: "the new connection description"
      id:
        type: "integer"
        format: "int64"
        description: "the new connection ID"
      display_name:
        type: "string"
        description: "the display name for the connection"
      short_desc:
        type: "string"
        description: "the short description for the connection"
  ConnectionUpdateInfo:
    type: "object"
    required:
    - "info"
    - "action"
    - "id"
    - "obj"
    properties:
      info:
        type: "string"
        description: "information about the operation performed"
      changes:
        $ref: "#/definitions/_UndefinedHash"
        description: "hash of changed effected"
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object itself"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  DataProviderOptionInfo:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_ActionOptionSet"
        description: "Action options supported by the action"
  _ActionOptionSet:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ActionOptionInfo"
    x-nullable: true
  ActionOptionInfo:
    type: "object"
    required:
    - "app"
    - "action"
    - "type"
    - "display_name"
    - "short_desc"
    - "desc"
    - "sort"
    properties:
      app:
        type: "string"
        description: "the application name"
      action:
        type: "string"
        description: "the action name"
      type:
        type: "string"
        description: "data type of the option"
      display_name:
        type: "string"
        description: "the display name of the option"
      short_desc:
        type: "string"
        description: "short description of the option in plain text"
      desc:
        type: "string"
        description: "description of the option with markdown formatting"
      preselected:
        type: "boolean"
        x-nullable: true
        description: "if the option should be preselected by the front end"
      supports_expressions:
        type: "boolean"
        x-nullable: true
        description: "if the option value supports expression evaluation"
      supports_templates:
        type: "boolean"
        x-nullable: true
        description: "if the option value supports template expansion"
      required:
        type: "boolean"
        x-nullable: true
        description: "is the option required?"
      required_groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any groups of required options that this option is a member of"
      exclusive_with:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any other options this option is mutually exclusive with"
      arg_schema:
        type: "string"
        x-nullable: true
        description: "a reference to an arg_schema that can be returned with a REST call to GET /api/latest/dataprovider/arg_schemas/_ref_"
      type_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any type options for the type"
      element_type:
        type: "string"
        x-nullable: true
        description: "the name of the list element type, if any"
      default_value:
        description: "any default value for the option"
      default_value_desc:
        type: "string"
        x-nullable: true
        description: "the description for the default value"
      default_value_display_name:
        type: "string"
        x-nullable: true
        description: "the display_name for the default value"
      readonly:
        type: "boolean"
        x-nullable: true
        description: "if the option is read only"
      sensitive:
        type: "boolean"
        x-nullable: true
        description: "is the value sensitive?"
      multiselect:
        type: "boolean"
        x-nullable: true
        description: "are allowed values the allowed values for a list type?"
      allowed_values:
        type: "array"
        items:
          $ref: "#/definitions/AllowedValueInfo"
        x-nullable: true
        description: "allowed values for the option"
      allowed_values_creatable:
        type: "boolean"
        x-nullable: true
        description: "can the value be a value not in allowed_values?"
      element_allowed_values:
        type: "array"
        items:
          $ref: "#/definitions/AllowedValueInfo"
        x-nullable: true
        description: "allowed element values for the option"
      element_allowed_values_creatable:
        type: "boolean"
        x-nullable: true
        description: "can an element value be a value not in element_allowed_values?"
      example_value:
        description: "an example value for the option"
      loc:
        type: "string"
        x-nullable: true
        description: "any option-specific location hint for the value when executing the action"
      value:
        description: "the value of the option, if any"
      depends_on:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "any other option(s) that this option depends on for its value or allowed values"
      sort:
        type: "integer"
        format: "int64"
        description: "sort key for option order"
      has_dependents:
        type: "boolean"
        x-nullable: true
        description: "if any other options depend on this one"
      disallow_template:
        type: "boolean"
        x-nullable: true
        description: "disallow templates on this option"
      messages:
        type: "array"
        items:
          $ref: "#/definitions/UiMessageHash"
        x-nullable: true
        description: "messages related to the option"
      metadata:
        $ref: "#/definitions/_UndefinedHash"
        description: "any additional data about the option"
      disabled:
        type: "boolean"
        x-nullable: true
        description: "if the option is disabled"
      on_change:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of actions for the front-end to perform if the option changes"
      structural_determinate:
        type: "boolean"
        x-nullable: true
        description: "if true then the value of this option determines the presence (or"
  CloneTypeInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  UpdateTypeInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  ClonePipelineInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  UpdatePipelineInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  CreatePipelineInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  CloneMapperInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  UpdateMapperInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  CreateMapperInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-slas-body:
    type: "object"
    required:
    - "name"
    - "description"
    properties:
      name:
        type: "string"
        description: "the unique name of the SLA"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the SLA; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the SLA"
      description:
        type: "string"
        description: "the description of the SLA with markdown formatting"
      units:
        type: "string"
        x-nullable: true
        description: "describes the meaning of SLA event values (allowed values: \"seconds\" and \"other\"; default: \"seconds\")"
      methods:
        type: "array"
        items:
          $ref: "#/definitions/ServiceSlaInfo"
        x-nullable: true
        description: "list of methods to attach to the SLA"
      jobs:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "jobs to attach to the SLA"
  SlaInfo:
    type: "object"
    required:
    - "slaid"
    - "name"
    - "description"
    - "units"
    properties:
      slaid:
        type: "integer"
        format: "int64"
        description: "the ID of the SLA"
      name:
        type: "string"
        description: "the unique name of the SLA"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name of the SLA"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short description of the SLA"
      description:
        type: "string"
        description: "the description of the SLA"
      units:
        type: "string"
        description: "describes the meaning of SLA event values (allowed values: \"seconds\" and \"other\")"
      methods:
        type: "array"
        items:
          $ref: "#/definitions/SlaServicveMethodInfo"
        x-nullable: true
        description: "list of service methods with the SLA"
      jobs:
        type: "array"
        items:
          $ref: "#/definitions/SlaJobInfo"
        x-nullable: true
        description: "list of jobs with the SLA"
  SlaServicveMethodInfo:
    type: "object"
    required:
    - "serviceid"
    - "type"
    - "service_name"
    - "service_methodid"
    - "method_name"
    properties:
      serviceid:
        type: "integer"
        format: "int64"
        description: "the service ID"
      type:
        type: "string"
        description: "the service type; either \"system\" or \"user\""
      service_name:
        type: "string"
        description: "the service name"
      service_methodid:
        type: "integer"
        format: "int64"
        description: "the service methods ID"
      method_name:
        type: "string"
        description: "the service method name"
  SlaJobInfo:
    type: "object"
    required:
    - "jobid"
    - "name"
    properties:
      jobid:
        type: "integer"
        format: "int64"
        description: "the job ID"
      name:
        type: "string"
        description: "the job name"
  JobExecResultInfo:
    type: "object"
    required:
    - "job_instanceid"
    - "status"
    properties:
      job_instanceid:
        type: "integer"
        format: "int64"
        description: "the job_instanceid"
      status:
        type: "string"
        description: "the status of the execution of the job; see JobStatusDescriptions for possible values"
  _put-jobs-id_or_name-setExpiry-body:
    type: "object"
    properties:
      date:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the new expiry date of the job; if not present any expiry date will be removed"
    x-nullable: true
  JobExpiryUpdateInfo:
    type: "object"
    required:
    - "jobid"
    - "name"
    - "info"
    properties:
      jobid:
        type: "integer"
        format: "int64"
        description: "the job ID"
      name:
        type: "string"
        description: "the job name"
      expiry_date:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the new expiry date of the job"
      info:
        type: "string"
        description: "a descriptive string"
  _put-jobs-id_or_name-schedule-body:
    type: "object"
    properties:
      schedule:
        type: "string"
        x-nullable: true
        description: "a cron-like string giving the job schedule, see job schedule for information about the format; either this parameter or duration must be present, but not both"
      duration:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "a duration in seconds for triggering the job; either this parameter or schedule must be present, but not both; the duration must be less than 10^7."
    x-nullable: true
  JobScheduleUpdateInfo:
    type: "object"
    required:
    - "jobid"
    - "name"
    - "info"
    properties:
      jobid:
        type: "integer"
        format: "int64"
        description: "the job ID"
      name:
        type: "string"
        description: "the job name"
      schedule:
        type: "string"
        x-nullable: true
        description: "the new schedule for the job"
      duration:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the new dduration for the job"
      info:
        type: "string"
        description: "a descriptive string"
  JobUpdateResultInfo:
    type: "object"
    required:
    - "jobid"
    - "name"
    - "version"
    - "info"
    properties:
      jobid:
        type: "integer"
        format: "int64"
        description: "the workflow ID"
      name:
        type: "string"
        description: "the wojobrkflow name"
      version:
        type: "string"
        description: "the job version"
      info:
        type: "string"
        description: "a string providing information about the job update action"
  SqlCacheSummaryInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/SqlCacheTypeInfo"
  SqlCacheTypeInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/SqlCacheObjectInfo"
  SqlCacheObjectInfo:
    type: "object"
    required:
    - "count"
    - "created"
    properties:
      count:
        type: "integer"
        format: "int64"
        description: "the number of times accessed"
      created:
        type: "string"
        format: "date-time"
        description: "the date/time the object was cached"
  _put-system-sqlcache-clear-body:
    type: "object"
    properties:
      datasource:
        type: "string"
        x-nullable: true
        description: "a string giving the datasource to clear all objects for"
      name:
        type: "string"
        x-nullable: true
        description: "the name of the object to clear; if this argument is given, then datasource must also be given"
    x-nullable: true
  ListenerInfoHash:
    type: "object"
    required:
    - "name"
    - "address"
    - "address_desc"
    - "family"
    - "familystr"
    - "ssl"
    - "desc"
    - "proto"
    - "id"
    - "bind"
    - "get_remote_certs"
    - "ssl_verify_flags"
    - "ssl_accept_all_certs"
    properties:
      name:
        type: "string"
        description: "the unique name of the listener"
      hostname:
        type: "string"
        x-nullable: true
        description: "the bind hostname"
      hostname_desc:
        type: "string"
        x-nullable: true
        description: "a description for the hostname"
      address:
        type: "string"
        description: "the bind address"
      address_desc:
        type: "string"
        description: "a description for the address"
      port:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the port number (not present in UNIX sockets)"
      family:
        type: "integer"
        format: "int64"
        description: "the network address family code for the socket"
      familystr:
        type: "string"
        description: "a descriptive string for the family code"
      ssl:
        type: "boolean"
        description: "true if the listener is a TLS/SSL listener"
      desc:
        type: "string"
        description: "a descriptive string for the listener"
      proto:
        type: "string"
        description: "the protocol; either \"http\" or \"https\""
      id:
        type: "integer"
        format: "int64"
        description: "the listener ID"
      bind:
        type: "string"
        description: "the bind string"
      get_remote_certs:
        type: "boolean"
        description: "flag if remote client certificates will be captured"
      ssl_verify_flags:
        type: "array"
        items:
          type: "string"
        description: "SSL verification flags (see ssl_mode_constants for the meaning of these values)"
      ssl_accept_all_certs:
        type: "boolean"
        description: "if the listener will accept all client certificates (verification disabled) or not (verification enabled)"
  ListenerInfoSet:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ListenerInfoHash"
  AnyType: {}
  WorkflowOrderStatusInfo:
    type: "object"
    required:
    - "workflow_status"
    properties:
      workflow_status:
        type: "string"
        description: "the status of the order after updating"
  post-orders-id-notes-body:
    type: "object"
    required:
    - "note"
    properties:
      note:
        type: "string"
        description: "the note to create on the order"
  put-orders-id-staticData-body:
    type: "object"
    required:
    - "newdata"
    properties:
      newdata:
        $ref: "#/definitions/UndefinedHash"
        description: "the new static data for the current workflow order; must be a non-empty"
  _put-orders-id-dynamicData-body:
    type: "object"
    properties:
      newdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "the new dynamic data for the current workflow order"
    x-nullable: true
  put-orders-id-updateKeys-body:
    type: "object"
    required:
    - "orderkeys"
    properties:
      orderkeys:
        $ref: "#/definitions/OrderKeySet"
        description: "the order keys to replace for the current workflow order"
      truncate:
        type: "boolean"
        x-nullable: true
        description: "truncate any key values automatically to the length of the column (4000 characters)"
  OrderKeySet:
    type: "object"
    additionalProperties:
      type: "array"
      items:
        type: "string"
  WorkflowUpdateResultInfo:
    type: "object"
    required:
    - "workflowid"
    - "name"
    - "version"
    - "info"
    properties:
      workflowid:
        type: "integer"
        format: "int64"
        description: "the workflow ID"
      name:
        type: "string"
        description: "the workflow name"
      version:
        type: "string"
        description: "the workflow version"
      info:
        type: "string"
        description: "a string providing information about the workflow update action"
  put-workflows-id_or_name-setAutostart-body:
    type: "object"
    required:
    - "autostart"
    properties:
      autostart:
        type: "integer"
        format: "int64"
        description: "the new autostart value for the workflow"
  WorkflowSetAutostartResultInfo:
    type: "object"
    required:
    - "updated"
    - "autostart"
    - "info"
    - "started"
    properties:
      updated:
        type: "boolean"
        description: "a flag indicating if a change was actually made or not"
      autostart:
        type: "integer"
        format: "int64"
        description: "the new autostart value"
      info:
        type: "string"
        description: "a string providing information about the workflow update action"
      started:
        type: "integer"
        format: "int64"
        description: "if negative, then it is the number of execution instances stopped"
  post-workflows-id_or_name-createOrder-body:
    type: "object"
    required:
    - "staticdata"
    properties:
      external_order_instanceid:
        type: "string"
        x-nullable: true
        description: "the external order instance ID for the workflow data; either this key or staticdata is required"
      dynamicdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "the initial dynamic data for the order"
      global_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the order (across all workflows regardless of workflowid, name, or version); if this key already exists for any order in the system, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
      orderkeys:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of order keys for the order"
      parent_workflow_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "a loosely-coupled workflow that will be marked as the parent of this workflow"
      priority:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the order priority (default OMQ::DefaultOrderPriority) from 0 - 999; priority 0 is the highest; 999 is the lowest"
      scheduled:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the earliest date and time the order can be processed; if this date is given as a future date/time value and a OMQ::StatReady status is given, then the initial status of the workflow order data instance will be automatically changed to OMQ::StatScheduled instead of OMQ::StatReady"
      sensitive_data:
        $ref: "#/definitions/_SensitiveDataSetInfo"
        description: "a hash of sensitive data information for the workflow; this key can only be used when submitting the data over a secure (encrypted) connection; the keys are sensitive data key types, values are hashes keyed by sensitive data values"
      staticdata:
        $ref: "#/definitions/UndefinedHash"
        description: "the static data for the order; either this key or external_order_instanceid is required"
      status:
        type: "string"
        x-nullable: true
        description: "the initial order status (default OMQ::StatReady); must be either OMQ::StatReady or OMQ::StatBlocked"
      workflow_specific_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the particular workflowid (which matches a unique name and workflow version); if this key already exists for an order with the target workflowid, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
      workflow_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the particular workflow by name only (across all workflows with the same name regardless of version); if this key already exists for a workflow order with the same name, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
  _SensitiveDataSetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/SensitiveDataKeyInfo"
    x-nullable: true
  SensitiveDataKeyInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/SensitiveDataInfo"
  SensitiveDataInfo:
    type: "object"
    required:
    - "data"
    properties:
      aliases:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "zero or more string aliases for the sensitive data"
      data:
        $ref: "#/definitions/UndefinedHash"
        description: "the sensitive data hash itself"
      meta:
        $ref: "#/definitions/_SensitiveMetaInfo"
        description: "a hash of metadata for the sensitive data"
  _SensitiveMetaInfo:
    type: "object"
    properties:
      PURPOSE:
        description: "free-form information about the purpose of the sensitive data"
      CATEGORIES:
        description: "free-form information about the categories of sensitive data"
      RECIPIENTS:
        description: "free-form information about the recipients or recipient catories of sensitive data"
      STORAGE:
        description: "free-form information about the storage time or rules for sensitive data"
    additionalProperties:
      description: not available
    x-nullable: true
  post-workflows-id_or_name-execSynchronous-body:
    type: "object"
    required:
    - "staticdata"
    properties:
      external_order_instanceid:
        type: "string"
        x-nullable: true
        description: "the external order instance ID for the workflow data; either this key or staticdata is required"
      dynamicdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "the initial dynamic data for the order"
      global_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the order (across all workflows regardless of workflowid, name, or version); if this key already exists for any order in the system, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
      orderkeys:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of order keys for the order"
      parent_workflow_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "a loosely-coupled workflow that will be marked as the parent of this workflow"
      priority:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the order priority (default OMQ::DefaultOrderPriority) from 0 - 999; priority 0 is the highest; 999 is the lowest"
      sensitive_data:
        $ref: "#/definitions/_SensitiveDataSetInfo"
        description: "a hash of sensitive data information for the workflow; this key can only be used when submitting the data over a secure (encrypted) connection; the keys are sensitive data key types, values are hashes keyed by sensitive data values"
      staticdata:
        $ref: "#/definitions/UndefinedHash"
        description: "the static data for the order; either this key or external_order_instanceid is required"
      workflow_specific_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the particular workflowid (which matches a unique name and workflow version); if this key already exists for an order with the target workflowid, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
      workflow_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the particular workflow by name only (across all workflows with the same name regardless of version); if this key already exists for a workflow order with the same name, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
  put-orders-id-sensitiveData-body:
    type: "object"
    required:
    - "skey"
    - "svalue"
    properties:
      skey:
        type: "string"
        description: "the sensitive data key type"
      svalue:
        type: "string"
        description: "the sensitive data key value"
      aliases:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "zero or more string aliases for the sensitive data"
      data:
        $ref: "#/definitions/_UndefinedHash"
        description: "the sensitive data hash itself; if omitted then sensitive data is removed for the given skey and svalue values"
      meta:
        $ref: "#/definitions/_SensitiveMetaInfo"
        description: "a hash of metadata for the sensitive data"
  RoleInfo:
    type: "object"
    required:
    - "role"
    - "provider"
    - "desc"
    - "has_default"
    properties:
      role:
        type: "string"
        description: "the role name"
      provider:
        type: "string"
        description: "the RBAC provider for the role"
      desc:
        type: "string"
        description: "the role's description"
      has_default:
        type: "boolean"
        description: "if the role has the DEFAULT group, providing access to all Qorus interfaces"
      permissions:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of permissions the role provides"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of interface groups the role provides access to"
      workflows:
        type: "array"
        items:
          $ref: "#/definitions/RoleWorkflowInfo"
        x-nullable: true
        description: "a list of workflow hashes that the group provides access to"
      services:
        type: "array"
        items:
          $ref: "#/definitions/RoleServiceInfo"
        x-nullable: true
        description: "a list of service hashes that the group provides access to"
      jobs:
        type: "array"
        items:
          $ref: "#/definitions/RoleJobInfo"
        x-nullable: true
        description: "a list of job hashes that the group provides access to"
      mappers:
        type: "array"
        items:
          $ref: "#/definitions/RoleMapperInfo"
        x-nullable: true
        description: "a list of mapper hashes that the group provides access to"
      vmaps:
        type: "array"
        items:
          $ref: "#/definitions/RoleValueMapInfo"
        x-nullable: true
        description: "a list of value map hashes that the group provides access to"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/RoleFsmInfo"
        x-nullable: true
        description: "a list of fsm hashes that the group provides access to"
      pipelines:
        type: "array"
        items:
          $ref: "#/definitions/RolePipelineInfo"
        x-nullable: true
        description: "a list of data pipeline hashes that the group provides access to"
      users:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of local users that have the role; note that users in external RBAC providers (like LADP) are not listed here"
  RoleWorkflowInfo:
    type: "object"
    required:
    - "workflowid"
    - "name"
    - "version"
    properties:
      workflowid:
        type: "integer"
        format: "int64"
        description: "the workflow's ID"
      name:
        type: "string"
        description: "the workflow's name"
      version:
        type: "string"
        description: "the workflow's version"
  RoleServiceInfo:
    type: "object"
    required:
    - "serviceid"
    - "type"
    - "name"
    - "version"
    - "autostart"
    properties:
      serviceid:
        type: "integer"
        format: "int64"
        description: "the service's ID"
      type:
        type: "string"
        description: "the service's type"
      name:
        type: "string"
        description: "the service's name"
      version:
        type: "string"
        description: "the service's version"
      autostart:
        type: "boolean"
        description: "the service's autostart value"
  RoleJobInfo:
    type: "object"
    required:
    - "jobid"
    - "name"
    - "version"
    properties:
      jobid:
        type: "integer"
        format: "int64"
        description: "the job's ID"
      name:
        type: "string"
        description: "the job's name"
      version:
        type: "string"
        description: "the job's version"
  RoleMapperInfo:
    type: "object"
    required:
    - "mapperid"
    - "name"
    - "version"
    - "type"
    properties:
      mapperid:
        type: "integer"
        format: "int64"
        description: "the mapper's ID"
      name:
        type: "string"
        description: "the mapper's name"
      version:
        type: "string"
        description: "the mapper's version"
      type:
        type: "string"
        description: "the mapper's type"
  RoleValueMapInfo:
    type: "object"
    required:
    - "id"
    - "name"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the value map's ID"
      name:
        type: "string"
        description: "the value map's name"
  RoleFsmInfo:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the finite state machine's name"
  RolePipelineInfo:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the data pipeline's name"
  _put-roles-role-body:
    type: "object"
    properties:
      desc:
        type: "string"
        x-nullable: true
        description: "updated role description"
      perms:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "if provided, this list will replace permissions for the role, unless the permission names are preceded by \"+\" or \"-\", meaning add or remove a permission from the exiting permission list, respectively (in which case all permissions must be preceded by a \"+\" or \"-\")"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "if provided, this list will replace the group list for the role unless the group names are preceded by \"+\" or \"-\", meaning add or remove a group from the group list, respectively (in which case all group names must be preceded by a \"+\" or \"-\")"
    x-nullable: true
  UpdateRoleInfo:
    type: "object"
    properties:
      desc:
        type: "string"
        x-nullable: true
        description: "the new description (if provided as an argument)"
      perms:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "updated permissions (if provided as an argument)"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "updated groups (if provided as an argument)"
  SimpleResultInfo:
    type: "object"
    required:
    - "info"
    properties:
      info:
        type: "string"
        description: "a string describing the role deletion action"
  post-roles-role-clone-body:
    type: "object"
    required:
    - "target"
    - "desc"
    properties:
      target:
        type: "string"
        description: "the name of the new cloned role"
      desc:
        type: "string"
        description: "the description of the new cloned role"
      perms:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of new permissions for the role, if not present, permissions from the source role will be used for the new role; if present this list will define the permissions for the new role, unless the permission names are preceded by \"+\" or \"-\", meaning add or remove a permission from the source list, respectively (in which case all permissions must be preceded by a \"+\" or \"-\")"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of new interface groups, if not present, groups from the source role will be used for the new role; if present, this list will replace the source group list unless the group names are preceded by \"+\" or \"-\", meaning add or remove a group from the source list, respectively (in which case all group names must be preceded by a \"+\" or \"-\")"
  post-roles-body:
    type: "object"
    required:
    - "role"
    - "desc"
    properties:
      role:
        type: "string"
        description: "the name of the role to add"
      desc:
        type: "string"
        description: "the description of the role"
      perms:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of permissions to add to the role; note that users must have at least the LOGIN permission to connect to the server"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of groups to add to the role"
  post-async-queues-queue-update-body:
    type: "object"
    required:
    - "key"
    properties:
      key:
        type: "string"
        description: "value of the key in the given queue"
      data:
        description: "data to post in the queue entry; this data will be passed to the back end function for evaluation"
  _post-orders-id-lockUserInteractionStep-body:
    type: "object"
    properties:
      stepid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the ID of the step to acquire user interaction data from; either this or stepname is required"
      stepname:
        type: "string"
        x-nullable: true
        description: "the name of the step to acquire user interaction data from; either this or stepid is required"
    x-nullable: true
  WorkflowLockUseInteractionStepResultInfo:
    type: "object"
    required:
    - "workflow_instanceid"
    - "stepid"
    - "ind"
    - "queuekey"
    - "queueid"
    - "queuename"
    properties:
      workflow_instanceid:
        type: "integer"
        format: "int64"
        description: "the workflow order instance ID"
      stepid:
        type: "integer"
        format: "int64"
        description: "the step ID of the step"
      ind:
        type: "integer"
        format: "int64"
        description: "the step instance index number"
      queuekey:
        type: "string"
        description: "the queue key ID"
      queueid:
        type: "integer"
        format: "int64"
        description: "the ID of the async queue"
      queuename:
        type: "string"
        description: "the name of the async queue"
      data:
        $ref: "#/definitions/_UndefinedHash"
        description: "any step data already present"
  put-orders-id-stepData-body:
    type: "object"
    required:
    - "stepid"
    - "ind"
    properties:
      stepid:
        type: "integer"
        format: "int64"
        description: "required: the step ID of the step"
      ind:
        type: "integer"
        format: "int64"
        description: "required: the step instance index value; use 0 for non-array steps"
      newdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "required: the new dynamic step data for the current workflow order and step; can also be no value which will remove all step data from the current step"
  post-orders-id-releaseUserInteractionStepLock-body:
    type: "object"
    required:
    - "stepid"
    - "ind"
    properties:
      stepid:
        type: "integer"
        format: "int64"
        description: "the step ID of the step"
      ind:
        type: "integer"
        format: "int64"
        description: "the step instance index value; use 0 for non-array steps"
  post-orders-id-breakUserInteractionStepLock-body:
    type: "object"
    required:
    - "stepid"
    - "ind"
    - "note"
    properties:
      stepid:
        type: "integer"
        format: "int64"
        description: "the step ID of the step"
      ind:
        type: "integer"
        format: "int64"
        description: "the step instance index value; use 0 for non-array steps"
      note:
        type: "string"
        description: "a note to be added to the order on why the lock was broken"
  put-workflows-id_or_name-setRemote-body:
    type: "object"
    required:
    - "remote"
    properties:
      remote:
        type: "boolean"
        description: "the new remote value for the workflow"
  WorkflowSetRemoteResultInfo:
    type: "object"
    required:
    - "updated"
    - "remote"
    - "info"
    properties:
      updated:
        type: "boolean"
        description: "a flag indicating if a change was actually made or not"
      remote:
        type: "boolean"
        description: "the new remote value"
      info:
        type: "string"
        description: "a string providing information about the workflow update action"
  put-workflows-id_or_name-setSla-body:
    type: "object"
    required:
    - "sla"
    properties:
      sla:
        type: "integer"
        format: "int64"
        description: "a value giving the new SLA timeout value as an integer in seconds for the workflow"
  WorkflowSetSlaResultInfo:
    type: "object"
    required:
    - "updated"
    - "sla"
    - "info"
    properties:
      updated:
        type: "boolean"
        description: "a flag indicating if a change was actually made or not"
      sla:
        type: "integer"
        format: "int64"
        description: "the new SLA value as a positive integer in seconds"
      info:
        type: "string"
        description: "a string providing information about the workflow update action"
  WorkflowDefinitionInfoV3:
    type: "object"
    required:
    - "workflowid"
    - "name"
    - "version"
    - "remote"
    - "manual_remote"
    - "has_detach"
    - "created"
    - "modified"
    - "autostart"
    - "manual_autostart"
    - "sla_threshold"
    - "manual_sla_threshold"
    - "enabled"
    - "deprecated"
    - "stepmap"
    - "steps"
    - "segment"
    - "stepinfo"
    - "wffuncs"
    - "options"
    - "exec_count"
    properties:
      workflowid:
        type: "integer"
        format: "int64"
        description: "the workflow ID"
      name:
        type: "string"
        description: "the workflow name"
      version:
        type: "string"
        description: "the workflow version"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short description in plain text"
      description:
        type: "string"
        x-nullable: true
        description: "the workflow description in markdown"
      author:
        type: "string"
        x-nullable: true
        description: "the workflow author"
      remote:
        type: "boolean"
        description: "if True, the workflow will run as a remote qwf process, otherwise it runs internally in the qorus-core process"
      manual_remote:
        type: "boolean"
        description: "set if the manual value has been changed manually, in which case the manual setting takes precendence over any new definitions loaded with oload"
      onetimeinit_func_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the onetimeinit function ID for the workflow (if defined)"
      attach_func_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the attach function ID for the workflow (if defined)"
      detach_func_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the detach function ID for the workflow (if defined)"
      errorfunction_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the error function ID for the workflow (if defined)"
      errhandler_func_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the error handler function ID for the workflow (if defined)"
      has_detach:
        type: "boolean"
        description: "True if the workflow has detach logic"
      created:
        type: "string"
        format: "date-time"
        description: "the workflow creation date"
      modified:
        type: "string"
        format: "date-time"
        description: "the workflow last modified date"
      autostart:
        type: "integer"
        format: "int64"
        description: "the workflow autostart value"
      manual_autostart:
        type: "boolean"
        description: "set if the autostart value has been changed manually, in which case the manual setting takes precendence over any new definitions loaded with oload"
      sla_threshold:
        type: "integer"
        format: "int64"
        description: "the workflow SLA threshold value"
      manual_sla_threshold:
        type: "boolean"
        description: "a boolean flag set if the sla_threshold value has been changed manually, in which case the manual setting takes precendence over any new definitions loaded with oload"
      enabled:
        type: "boolean"
        description: "a boolean flag indicating if the workflow is enabled or not; disabled workflows cannot be started"
      deprecated:
        type: "boolean"
        description: "a boolean flag indicating if the workflow is deprecated or not; deprecated workflows are not displayed by default in the UI"
      ide_incompatible:
        type: "boolean"
        x-nullable: true
        description: "if the workflow cannot be edited in the built-in IDE, this is true"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language for the workflow's class (if any)"
      code:
        type: "string"
        x-nullable: true
        description: "the source code for the workflow's class (if any)"
      source:
        type: "string"
        x-nullable: true
        description: "the source for the workflow definition"
      line:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the line number offset in source for the workflow definition"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the workflow"
      order_key_map:
        $ref: "#/definitions/_Set"
        description: "set of order keys in hash form"
      keylist:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of workflow order keys"
      stepmap:
        $ref: "#/definitions/StringMap"
        description: "a hash where keys are step IDs and values are step names"
      steps:
        $ref: "#/definitions/IntListMap"
        description: "a hash of step dependencies, where keys are step IDs and values are lists of step IDs that must preceed the step ID given as a key"
      segment:
        type: "array"
        items:
          $ref: "#/definitions/SegmentInfo"
        description: "a list of segment description hashes, where each segment hash has the following keys:"
      stepseg:
        $ref: "#/definitions/_IntMap"
        description: "maps step IDs to segment numbers"
      lib:
        $ref: "#/definitions/_LibraryInfo"
        description: "information about any referenced Qorus objects"
      mappers:
        type: "array"
        items:
          $ref: "#/definitions/MapperInfo"
        x-nullable: true
        description: "a list of mappers associated with the workflow"
      vmaps:
        type: "array"
        items:
          $ref: "#/definitions/VMapInfo"
        x-nullable: true
        description: "a list of value maps associated with the workflow"
      stepinfo:
        type: "array"
        items:
          $ref: "#/definitions/WorkflowStepInfo"
        description: "a list of hashes giving information about workflow steps"
      wffuncs:
        type: "array"
        items:
          $ref: "#/definitions/WorkflowFuncInfo"
        description: "a list of workflow-level functions (may be empty)"
      options:
        type: "array"
        items:
          $ref: "#/definitions/OptionInfoHash"
        description: "a list option information hashes"
      config:
        $ref: "#/definitions/_ConfigItemSummarySetInfo"
        description: "a hash of configuration item info keyed by config item name"
      global_config:
        $ref: "#/definitions/_GlobalConfigItemSetInfo"
        description: "a hash of configuration item info keyed by config item name"
      exec:
        type: "array"
        items:
          $ref: "#/definitions/ExecInstanceInfoV3"
        x-nullable: true
        description: "a list of hashes describing any workflow execution instances running for this workflow"
      COMPLETE:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status COMPLETE"
      INCOMPLETE:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status INCOMPLETE"
      WAITING:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status WAITING"
      EVENT-WAITING:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status EVENT-WAITING"
      ASYNC-WAITING:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status ASYNC-WAITING"
      RETRY:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status RETRY"
      ERROR:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status ERROR"
      CANCELED:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status CANCELED"
      BLOCKED:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status BLOCKED"
      IN-PROGRESS:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status IN-PROGRESS"
      SCHEDULED:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status SCHEDULED"
      READY:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders with status READY"
      TOTAL:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of workflow orders in all statuses"
      process:
        $ref: "#/definitions/_WorkflowProcessExecInfo"
        description: "present when remote is True"
      exec_count:
        type: "integer"
        format: "int64"
        description: "the number of elements in the exec list"
      order_stats:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of workflow order processing statistics; list values are OrderSummaryOutputInfo hashes for the given workflow"
      workflow_modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any modules associated with the workflow"
      alerts:
        type: "array"
        items:
          $ref: "#/definitions/AlertInfo"
        x-nullable: true
        description: "a list of alerts raised against the workflow"
      connections:
        type: "array"
        items:
          $ref: "#/definitions/InterfaceConnectionInfo"
        x-nullable: true
        description: "a list of connection objects that this workflow depends on"
      groups:
        type: "array"
        items:
          $ref: "#/definitions/GroupInfo"
        x-nullable: true
        description: "a list of interface groups that the workflow belongs to"
  _Set:
    type: "object"
    additionalProperties:
      type: "boolean"
    x-nullable: true
  StringMap:
    type: "object"
    additionalProperties:
      type: "string"
  IntListMap:
    type: "object"
    additionalProperties:
      type: "array"
      items:
        type: "integer"
        format: "int64"
      x-nullable: true
  SegmentInfo:
    type: "object"
    required:
    - "steplist"
    - "steps"
    properties:
      steplist:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        description: "a list of step IDs in the segment"
      steps:
        $ref: "#/definitions/IntListMap"
        description: "a hash of step dependencies, where keys are step IDs and values are lists of step IDs that must preceed the step ID given as a key"
      start:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the starting step ID for segments other than the initial segment"
      subworkflow:
        type: "boolean"
        x-nullable: true
        description: "set to true if the segment is a subworkflow segment"
      linksegment:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the previous segment"
      linkstepid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the step linking the segment to the previous segment"
  _IntMap:
    type: "object"
    additionalProperties:
      type: "integer"
      format: "int64"
    x-nullable: true
  _LibraryInfo:
    type: "object"
    properties:
      functions:
        type: "array"
        items:
          $ref: "#/definitions/LibraryDetailInfo"
        x-nullable: true
        description: "a list of function objects (can be empty)"
      classes:
        type: "array"
        items:
          $ref: "#/definitions/LibraryDetailInfo"
        x-nullable: true
        description: "a list of class objects (can be empty)"
      constants:
        type: "array"
        items:
          $ref: "#/definitions/LibraryDetailInfo"
        x-nullable: true
        description: "a list of constant objects (can be empty)"
      pipelines:
        type: "array"
        items:
          $ref: "#/definitions/NameIdInfo"
        x-nullable: true
        description: "a list of pipeline objects (can be empty)"
      fsm:
        type: "array"
        items:
          $ref: "#/definitions/NameIdInfo"
        x-nullable: true
        description: "a list of FSM objects (can be empty)"
    x-nullable: true
  LibraryDetailInfo:
    type: "object"
    required:
    - "name"
    - "version"
    - "id"
    properties:
      name:
        type: "string"
        description: "the name of the object"
      version:
        type: "string"
        description: "the version of the object"
      id:
        type: "integer"
        format: "int64"
        description: "the id of the object"
  NameIdInfo:
    type: "object"
    required:
    - "name"
    - "id"
    properties:
      name:
        type: "string"
        description: "the name of the object"
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the object"
  MapperInfo:
    type: "object"
    required:
    - "mapperid"
    - "name"
    - "version"
    - "type"
    - "display_name"
    - "created"
    - "fields"
    - "valid"
    properties:
      mapperid:
        type: "integer"
        format: "int64"
        description: "the mapper ID"
      name:
        type: "string"
        description: "the internal technical name of the mapper"
      version:
        type: "string"
        description: "the version of the mapper"
      type:
        type: "string"
        description: "the type of the mapper"
      display_name:
        type: "string"
        description: "the display name of the mapper"
      patch:
        type: "string"
        x-nullable: true
        description: "the patch string of the mapper (if any)"
      desc:
        type: "string"
        x-nullable: true
        description: "the description for the mapper"
      parse_options:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of symbolic parse options for the mapper program container (if any)"
      created:
        type: "string"
        format: "date-time"
        description: "the date/time the mapper was created"
      modified:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date/time the mapper was modified"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the mapper"
      fields:
        $ref: "#/definitions/UndefinedHash"
        description: "a hash of field mappings"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of mapper options; \"input\" and \"output\" define the input and output records, respectively"
      input:
        $ref: "#/definitions/_UndefinedHash"
        description: "input type description"
      output:
        $ref: "#/definitions/_UndefinedHash"
        description: "output type description"
      valid:
        type: "boolean"
        description: "true if the mapper is valid, false if not"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this mapper is a member of"
      option_source:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of the source for the \"options\" key"
      field_source:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of the source for the actual mapper logic itself; keys are output field names"
  VMapInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "throws_exception"
    - "valuetype"
    - "mapsize"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the value map"
      name:
        type: "string"
        description: "the name of the value map"
      throws_exception:
        type: "boolean"
        description: "indicates how requests for unknown values should be processed"
      valuetype:
        type: "string"
        description: "the data type of the value map"
      mapsize:
        type: "integer"
        format: "int64"
        description: "the number of elements in the map"
  WorkflowStepInfo:
    type: "object"
    required:
    - "stepid"
    - "steptype"
    - "arraytype"
    - "name"
    - "version"
    - "user_interaction"
    - "created"
    - "modified"
    properties:
      stepid:
        type: "integer"
        format: "int64"
        description: "the ID of the step"
      steptype:
        type: "string"
        description: "the type of the step"
      arraytype:
        type: "string"
        description: "the array type of the step"
      name:
        type: "string"
        description: "the name of the step"
      version:
        type: "string"
        description: "the version of the step"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the step (if any)"
      step_classid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the class ID of the step (if any)"
      classname:
        type: "string"
        x-nullable: true
        description: "the name of the step's class (if any)"
      code:
        type: "string"
        x-nullable: true
        description: "the source code for the step's class (if any)"
      language_info:
        $ref: "#/definitions/_UndefinedHash"
        description: "language-specific info"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short description in plain text"
      desc:
        type: "string"
        x-nullable: true
        description: "the description of the step or the description of the step's logic implementation, if the step itself has no description"
      lib:
        $ref: "#/definitions/_LibraryInfo"
        description: "information about any referenced Qorus objects"
      queueid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the ID of the async event queue for asynchronous steps (if any)"
      queuename:
        type: "string"
        x-nullable: true
        description: "the name of the async event queue for asynchronous steps (if any)"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/ConfigItemDetailInfo"
        x-nullable: true
        description: "list of config items attached directly to the step"
      config:
        $ref: "#/definitions/_ConfigItemSetInfo"
        description: "a hash of configuration item info keyed by config item name"
      fsm_triggers:
        $ref: "#/definitions/_UndefinedHash"
        description: "any FSM trigges for steps"
      ide_incompatible:
        type: "boolean"
        x-nullable: true
        description: "set when the step is not compatible with the new built-in IDE"
      stepfunction_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the primary step function ID"
      validationfunction_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the function ID of the validation function (if any)"
      endfunction_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the function ID of the back end function for asynchronous steps (if any)"
      arrayfunction_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the function ID of the array function (if any)"
      workflow_event_typeid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the ID of the workflow synchronization event type for workflow synchronization event steps (if any)"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language for the step's class (if any)"
      user_interaction:
        type: "boolean"
        description: "True if the asynchronous step supports user interaction APIs, False in all other cases"
      userdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "any user metadata for the step"
      sfname:
        type: "string"
        x-nullable: true
        description: "the name of the primary step function"
      vfname:
        type: "string"
        x-nullable: true
        description: "the name of the validation function (if any)"
      afname:
        type: "string"
        x-nullable: true
        description: "the name of the array function (if any)"
      efname:
        type: "string"
        x-nullable: true
        description: "the name of the back end function (if any)"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the step"
      created:
        type: "string"
        format: "date-time"
        description: "the creation date of the step in the database"
      modified:
        type: "string"
        format: "date-time"
        description: "the last modified date of the step in the database"
  ConfigItemDetailInfo:
    type: "object"
    required:
    - "name"
    - "description"
    - "config_group"
    - "type"
    - "sensitive"
    - "strictly_local"
    - "is_templated_string"
    properties:
      name:
        type: "string"
        description: "the name of the configuration item"
      parent:
        $ref: "#/definitions/_ConfigItemParentInfo"
        description: "config item parent information"
      prefix:
        type: "string"
        x-nullable: true
        description: "the prefix of the configuration item"
      value:
        description: "the value of the configuration item"
      description:
        type: "string"
        description: "the description of the configuration item"
      config_group:
        type: "string"
        description: "the group of the configuration item"
      type:
        type: "string"
        description: "the data type of the configuration item"
      sensitive:
        type: "boolean"
        description: "if the value is sensitive or not"
      default_value:
        description: "the default value of the configuration item"
      strictly_local:
        type: "boolean"
        description: "if the configuration item is defined strictly on local level"
      allowed_values:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "the list of allowed values for the configuration item if defined"
      is_templated_string:
        type: "boolean"
        description: "true if the value is a templated string that can be later expanded"
  _ConfigItemParentInfo:
    type: "object"
    required:
    - "interface-type"
    - "interface-name"
    - "interface-version"
    properties:
      interface-type:
        type: "string"
        description: "the type of parent providing the config item"
      interface-name:
        type: "string"
        description: "the name of the parent providing the config item"
      interface-version:
        type: "string"
        description: "the version of the parent providing the config item"
    x-nullable: true
  _ConfigItemSetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ConfigItemInfo"
    x-nullable: true
  ConfigItemInfo:
    type: "object"
    required:
    - "config_group"
    - "desc"
    - "is_set"
    - "is_templated_string"
    - "strictly_local"
    - "type"
    properties:
      allowed_values:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "the list of allowed values for the configuration item if defined"
      config_group:
        type: "string"
        description: "the group of the configuration item"
      currentType:
        type: "string"
        x-nullable: true
        description: "the value type of the current value"
      default_value:
        description: "the default value of the configuration item"
      desc:
        type: "string"
        description: "the description of the configuration item"
      is_set:
        type: "boolean"
        description: "true if the value is set otherwise false"
      is_templated_string:
        type: "boolean"
        description: "true if the value is a templated string that can be later expanded"
      level:
        type: "string"
        x-nullable: true
        description: "the level from where the value is obtained (interface level - e.g. \"step:1\" - or \"global\" or \"default\")"
      prefix:
        type: "string"
        x-nullable: true
        description: "the prefix of the configuration item"
      sensitive:
        type: "boolean"
        x-nullable: true
        description: "if the item's value is sensitive (like a password) or not"
      strictly_local:
        type: "boolean"
        description: "if the configuration item is defined strictly on local level"
      type:
        type: "string"
        description: "the data type of the configuration item"
      value:
        description: "the value of the configuration item"
  WorkflowFuncInfo:
    type: "object"
    required:
    - "type"
    - "name"
    - "version"
    - "function_instanceid"
    - "function_type"
    - "body"
    - "created"
    - "modified"
    properties:
      type:
        type: "string"
        description: "the type of workflow function; one of \"onetimeinit\" (workflow execution instance initialization function), \"errorfunction\" (workflow error function), \"attachfunction\" (workflow attach function), \"detachfunction\" (workflow detach function), \"errorhandlerfunction\" (workflow error handler function)"
      name:
        type: "string"
        description: "the name of the function"
      version:
        type: "string"
        description: "the version of the function"
      function_instanceid:
        type: "integer"
        format: "int64"
        description: "the function ID"
      function_type:
        type: "string"
        description: "the type of the function"
      description:
        type: "string"
        x-nullable: true
        description: "a decsription for the function"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the function"
      body:
        type: "string"
        description: "the function source code"
      created:
        type: "string"
        format: "date-time"
        description: "the creation date in the database"
      modified:
        type: "string"
        format: "date-time"
        description: "the last modified date in the database"
      source:
        type: "string"
        x-nullable: true
        description: "the name of the source file for the function (complete path)"
      line:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the line number offset for the function object definition in the file"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the function"
  OptionInfoHash:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the name of the option"
      desc:
        type: "string"
        x-nullable: true
        description: "a description for the option"
      value:
        description: "the value of the option"
  _ConfigItemSummarySetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ConfigItemSummaryInfo"
    x-nullable: true
  ConfigItemSummaryInfo:
    type: "object"
    required:
    - "name"
    - "type"
    - "desc"
    - "strictly_local"
    - "is_set"
    - "is_templated_string"
    - "config_group"
    - "level"
    properties:
      name:
        type: "string"
        description: "the name of the configuration item"
      prefix:
        type: "string"
        x-nullable: true
        description: "the prefix of the configuration item"
      type:
        type: "string"
        description: "the data type of the configuration item"
      desc:
        type: "string"
        description: "the description of the configuration item"
      default_value:
        description: "the default value of the configuration item"
      value:
        description: "the value of the configuration item"
      strictly_local:
        type: "boolean"
        description: "if the configuration item is defined strictly on local level"
      is_set:
        type: "boolean"
        description: "true if the value is set otherwise false"
      is_templated_string:
        type: "boolean"
        description: "true if the value is a templated string that can be later expanded"
      config_group:
        type: "string"
        description: "the group of the configuration item"
      allowed_values:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "the list of allowed values for the configuration item if defined"
      level:
        type: "string"
        description: "the level from where the value is obtained (interface level (e.g. \"job:1\", \"job:2\")"
  _GlobalConfigItemSetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/GlobalConfigItemInfo"
    x-nullable: true
  GlobalConfigItemInfo:
    type: "object"
    required:
    - "is_set"
    - "is_templated_string"
    - "type"
    properties:
      allowed_values:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "the list of allowed values for the configuration item if defined"
      is_set:
        type: "boolean"
        description: "true if the value is set otherwise false"
      is_templated_string:
        type: "boolean"
        description: "true if the value is a templated string that can be later expanded"
      prefix:
        type: "string"
        x-nullable: true
        description: "the prefix of the configuration item"
      type:
        type: "string"
        description: "the data type of the configuration item"
      value:
        description: "the value of the configuration item"
  ExecInstanceInfoV3:
    type: "object"
    required:
    - "mode"
    - "totalSegments"
    - "starttime"
    - "sync"
    - "executionID"
    - "remote"
    - "alerts"
    properties:
      mode:
        type: "string"
        description: "the workflow execution instance execution mode"
      totalSegments:
        type: "integer"
        format: "int64"
        description: "number of segments in the workflow"
      starttime:
        type: "string"
        format: "date-time"
        description: "the date/time the execution instance was started"
      logfile:
        type: "string"
        x-nullable: true
        description: "the log file name (full path)"
      sync:
        type: "boolean"
        description: "a boolean flag if the execution instance is synchronous or not"
      sync_wfiid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the workflow_instanceid currently being processed (if any)"
      executionID:
        type: "integer"
        format: "int64"
        description: "the workflow execution instance ID"
      remote:
        type: "boolean"
        description: "if True, the workflow execution instance is running in a remote qwf process, otherwise it is running internally in the qorus-core process"
      process:
        $ref: "#/definitions/_WorkflowProcessExecInfo"
        description: "present when remote is True"
      alerts:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        description: "a list of alerts"
      log_url:
        type: "string"
        x-nullable: true
        description: "the log URL (if any)"
  _WorkflowProcessExecInfo:
    type: "object"
    required:
    - "id"
    - "node"
    - "host"
    - "pid"
    - "urls"
    properties:
      id:
        type: "string"
        description: "the unique process ID in the cluster"
      node:
        type: "string"
        description: "the node name where the process is running"
      host:
        type: "string"
        description: "the hostname where the process is running"
      pid:
        type: "integer"
        format: "int64"
        description: "the PID on the host"
      log_pipe:
        type: "string"
        x-nullable: true
        description: "any log pipe for the process"
      port:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "any port number for the process"
      prometheus_port:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "any port number for communicating with Prometheus"
      urls:
        type: "array"
        items:
          type: "string"
        description: "a list of ZeroMQ URLs for the process"
      status:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the process's status code"
      status_string:
        type: "string"
        x-nullable: true
        description: "the process's status as a string"
      restarted:
        type: "boolean"
        x-nullable: true
        description: "indicates if the process has been restarted"
      priv:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the amount of private memory of the process in bytes"
      rss:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the resident size of the process in bytes"
      vsz:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the virtual size of the process in bytes"
      priv_str:
        type: "string"
        x-nullable: true
        description: "a string description of the priv value"
      pct:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the percentage of main memory taken up by the process on the node"
      socket_path:
        type: "string"
        x-nullable: true
        description: "any socket path for the process"
      wfname:
        type: "string"
        x-nullable: true
        description: "the workflow name"
      wfversion:
        type: "string"
        x-nullable: true
        description: "the workflow version"
      wfid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the workflow ID"
      sessionid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the workflow session ID"
    x-nullable: true
  AlertInfo:
    type: "object"
    required:
    - "alert"
    - "alertid"
    - "alerttype"
    - "instance"
    - "local"
    - "name"
    - "object"
    - "reason"
    - "source"
    - "type"
    - "when"
    - "who"
    properties:
      alert:
        type: "string"
        description: "the name or string code of the alert"
      alertid:
        type: "integer"
        format: "int64"
        description: "a unique identifier for the alert (unique within the instance that raised the alert)"
      alerttype:
        type: "string"
        description: "either \"ONGOING\" or \"TRANSIENT\""
      auditid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "no value if alert auditing is not enabled, otherwise an integer giving the auditid of the alert event"
      config:
        $ref: "#/definitions/_UndefinedHash"
        description: "hash of configuration information in case the alert pertains to a configuration error"
      conntype:
        type: "string"
        x-nullable: true
        description: "the connection type for any connection causing the alert"
      connectionid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the connection ID for any connection causing the alert"
      description:
        type: "string"
        x-nullable: true
        description: "the description of the object causing the alert"
      first_raised:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the timestamp the alert was first raised"
      id:
        description: "the ID of the object directly causing the alert"
      instance:
        type: "string"
        description: "the instance key of the Qorus instance where the alert was raised"
      local:
        type: "boolean"
        description: "a boolean flag; true if the alert was raised by the local instance"
      name:
        type: "string"
        description: "the name of the object causing the alert"
      object:
        type: "string"
        description: "a string describing the object causing the alert"
      reason:
        type: "string"
        description: "a string giving the reason the alert was raised"
      servicetype:
        type: "string"
        x-nullable: true
        description: "the type of service if type is \"service\""
      source:
        type: "string"
        description: "a string describing the source of the alert"
      stateless:
        type: "boolean"
        x-nullable: true
        description: "true for stateless services"
      type:
        type: "string"
        description: "the type of object directly causing the alert"
      url:
        type: "string"
        x-nullable: true
        description: "the URL of any connection causing the alert"
      version:
        type: "string"
        x-nullable: true
        description: "the version of the object causing the alert, if any"
      when:
        type: "string"
        format: "date-time"
        description: "the timestamp when the alert was first raised"
      who:
        type: "string"
        description: "a string describing the user or entity that raised the alert"
  InterfaceConnectionInfo:
    type: "object"
    required:
    - "type"
    - "name"
    - "up"
    properties:
      type:
        type: "string"
        description: "the type of connection dependency; one of c \"DATASOURCE\" (QORUS (USER (userconn)"
      name:
        type: "string"
        description: "the name of the connection"
      up:
        type: "boolean"
        description: "describes the currently-monitored health of the connection"
  GroupInfo:
    type: "object"
    required:
    - "name"
    - "enabled"
    - "size"
    properties:
      name:
        type: "string"
        description: "the name of the group"
      enabled:
        type: "boolean"
        description: "the status of the group as a bool"
      size:
        type: "integer"
        format: "int64"
        description: "the total number of members of the group"
  put-workflows-id_or_name-body:
    type: "object"
    required:
    - "name"
    properties:
      allow_dangerous_redefs:
        type: "boolean"
        x-nullable: true
        description: "allow dangerous redefinitions of the step"
      name:
        type: "string"
        description: "the new internal name for the workflow"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the workflow"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the workflow with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      steps:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "list of steps for the workflow"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this workflow will be a member of"
      modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of workflow modules"
      remote:
        type: "boolean"
        x-nullable: true
        description: "the remote status of the workflow"
      autostart:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "how many workflow instances should be started automatically"
      sla_threshold:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the number in seconds for a workflow order to get a COMPLETE status without violating any SLA"
      max_instances:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the maximum number of execution instances that can be started for this workflow"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library classes for this workflow"
      constants:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library constants for this workflow"
      functions:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library functions for this workflow"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any mappers for this workflow"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any value maps for this workflow"
      errors:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any error sets for this workflow"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for this workflow"
      keylist:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "workflow order keys"
      statuses:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined order status values"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags"
      source:
        type: "string"
        x-nullable: true
        description: "workflow class source"
      base-class-name:
        type: "string"
        x-nullable: true
        description: "the base class name for the workflow (must inherit QorusWorkflow)"
      class-name:
        type: "string"
        x-nullable: true
        description: "the workflow code's class name"
      lang:
        type: "string"
        x-nullable: true
        description: "the language for the workflow class code, one of \"qore\" (the default), \"python\", or \"java\""
      config-item-values:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items and values for the workflow"
      staticdata-type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the static data type definition for the workflow"
      system-options:
        $ref: "#/definitions/_UndefinedHash"
        description: "system options for the workflow"
  _delete-workflows-id_or_name-body:
    type: "object"
    properties:
      delete_runtime_data:
        type: "boolean"
        x-nullable: true
        description: "delete runtime data for the step"
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  WorkflowDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the workflow that was deleted"
  KillResultInfo:
    type: "object"
    required:
    - "status"
    - "code"
    properties:
      status:
        type: "string"
        description: "either \"OK\" or \"ERR\""
      code:
        type: "integer"
        format: "int64"
        description: "the return code of the kill() command: 0 if successful, non-zero if not"
  _post-workflows-id_or_name-lockUserInteractionStep-body:
    type: "object"
    properties:
      stepid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the ID of the step to acquire user interaction data from; either this or stepname is required"
      stepname:
        type: "string"
        x-nullable: true
        description: "the name of the step to acquire user interaction data from; either this or stepid is required"
    x-nullable: true
  put-jobs-id_or_name-setActive-body:
    type: "object"
    required:
    - "active"
    properties:
      active:
        type: "boolean"
        description: "the new active state of the job"
  JobActiveUpdateInfo:
    type: "object"
    required:
    - "jobid"
    - "name"
    - "active"
    - "info"
    - "db_active"
    properties:
      jobid:
        type: "integer"
        format: "int64"
        description: "the job ID"
      name:
        type: "string"
        description: "the job name"
      active:
        type: "boolean"
        description: "the new active state of the job"
      info:
        type: "string"
        description: "a descriptive string"
      db_active:
        type: "boolean"
        description: "the active state in the DB (can differ from active if the job cannot be started for example)"
  put-jobs-id_or_name-setRemote-body:
    type: "object"
    required:
    - "remote"
    properties:
      remote:
        type: "boolean"
        description: "the new remote state of the job"
  JobRemoteUpdateInfo:
    type: "object"
    required:
    - "updated"
    - "remote"
    - "info"
    properties:
      updated:
        type: "boolean"
        description: "if the remote status was updated"
      remote:
        type: "boolean"
        description: "the new remote state of the job"
      info:
        type: "string"
        description: "a descriptive string"
  QorusSystemInfoV8:
    type: "object"
    required:
    - "uuid"
    - "instance-key"
    - "session-id"
    - "telemetry"
    - "licensed"
    - "omq-version"
    - "omq-build"
    - "omq-version-code"
    - "qore-version"
    - "modules"
    - "datamodel-version"
    - "omq-schema"
    - "omq-driver"
    - "omquser-schema"
    - "omquser-driver"
    - "starttime"
    - "hostname"
    - "pid"
    - "threads"
    - "schema-properties"
    - "omq_dir"
    - "cache_size"
    - "shutting_down"
    - "build-type"
    - "alert-summary"
    - "debug"
    - "debug-internals"
    - "health"
    - "ui-compatibility-version"
    - "edition"
    - "system_log_url"
    - "audit_log_url"
    - "http_log_url"
    - "mon_log_url"
    - "alert_log_url"
    - "api_version"
    - "cluster_info"
    - "processes"
    - "workflow_total"
    - "workflow_alerts"
    - "service_total"
    - "service_alerts"
    - "job_total"
    - "job_alerts"
    - "remote_total"
    - "remote_alerts"
    - "user_total"
    - "user_alerts"
    - "datasource_total"
    - "datasource_alerts"
    - "order_stats"
    - "loggerParams"
    - "auth_label_values"
    - "limits"
    - "default_mapper_keys"
    - "pipeline_options"
    - "stack_size"
    - "is_kubernetes"
    - "tz_region"
    - "tz_utc_offset"
    - "oauth2_enabled"
    - "order_count"
    - "job_exec_count"
    - "service_call_count"
    - "templates"
    - "supports_ai"
    properties:
      uuid:
        type: "string"
        description: "the UUID for this installation of Qorus"
      instance-key:
        type: "string"
        description: "the system instance key"
      session-id:
        type: "integer"
        format: "int64"
        description: "the application session id"
      telemetry:
        type: "boolean"
        description: "if telemetry is enabled for this session"
      licensed:
        type: "boolean"
        description: "if this instance of Qorus has a valid commercial license"
      omq-version:
        type: "string"
        description: "the version of the Qorus server"
      omq-build:
        type: "string"
        description: "the git hash of the current Qorus build"
      omq-version-code:
        type: "integer"
        format: "int64"
        description: "an integer code for the Qorus version as MMmmSS, where MM = the major version, mm = the minor version, SS == the sub version"
      qore-version:
        type: "string"
        description: "the version of the underlying qore library used"
      modules:
        $ref: "#/definitions/QorusModuleSetInfo"
        description: "a hash of module info as returned by Qore::get_module_hash(); keys are module names"
      datamodel-version:
        type: "string"
        description: "the version of the datamodel expected by the server"
      omq-schema:
        type: "string"
        description: "\"user%@dbname\" string for the system \"omq\" datasource"
      omq-driver:
        type: "string"
        description: "driver name for the system \"omq\" datasource"
      omq-db-version:
        description: "database server version for the system \"omq\" datasource; the data type depends on the driver"
      omquser-schema:
        type: "string"
        description: "\"user%@dbname\" string for the \"omquser\" datasource"
      omquser-driver:
        type: "string"
        description: "driver name for the \"omquser\" datasource"
      omquser-db-version:
        description: "database server version for the \"omquser\" datasource; the data type depends on the driver"
      starttime:
        type: "string"
        format: "date-time"
        description: "date and time the qorus-core server was started"
      hostname:
        type: "string"
        description: "hostname where the qorus-core server is running"
      pid:
        type: "integer"
        format: "int64"
        description: "PID of the server process"
      threads:
        type: "integer"
        format: "int64"
        description: "count of currently active threads in qorus-core"
      schema-properties:
        $ref: "#/definitions/QorusSchemaInfo"
        description: "information about the system schema"
      omq_dir:
        type: "string"
        description: "the full path on the host to the Qorus application directory"
      cache_size:
        type: "integer"
        format: "int64"
        description: "The number of entries in the workflow order data cache"
      shutting_down:
        type: "boolean"
        description: "indicates if the system is shutting down or not"
      build-type:
        type: "string"
        description: "the build type (normally \"Production\" for public releases)"
      runtime-properties:
        $ref: "#/definitions/_UndefinedHash"
        description: "any runtime properties set on the instance"
      alert-summary:
        $ref: "#/definitions/SystemAlertInfo"
        description: "summary of alerts"
      debug:
        type: "boolean"
        description: "indicates if debugging is enabled for the instance"
      debug-internals:
        type: "boolean"
        description: "indicates if internal debugging is enabled for the instance"
      health:
        type: "string"
        description: "a string indicating the health status of the instance"
      ui-compatibility-version:
        type: "string"
        description: "a string indicating the UI compatibility for the instance"
      plugins:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any installed plugins"
      edition:
        type: "string"
        description: "Enterprise for Qorus Integration Engine(R) Enterprise Edition"
      system_log_url:
        type: "string"
        description: "a WebSocket URL for system log streaming"
      audit_log_url:
        type: "string"
        description: "a WebSocket URL for audit log streaming"
      http_log_url:
        type: "string"
        description: "a WebSocket URL for HTTP log streaming"
      mon_log_url:
        type: "string"
        description: "a WebSocket URL for connection monitor log streaming"
      alert_log_url:
        type: "string"
        description: "a WebSocket URL for alert log streaming"
      api_version:
        type: "string"
        description: "the current API version"
      cluster_info:
        $ref: "#/definitions/QorusClusterSetInfo"
        description: "cluster info; keys are node (container) names"
      processes:
        $ref: "#/definitions/QorusProcessSetInfo"
        description: "process info; keys are process IDs"
      workflow_total:
        type: "integer"
        format: "int64"
        description: "total number of workflows cached"
      workflow_alerts:
        type: "integer"
        format: "int64"
        description: "number of workflows with alerts"
      service_total:
        type: "integer"
        format: "int64"
        description: "total number of services cached"
      service_alerts:
        type: "integer"
        format: "int64"
        description: "number of services with alerts"
      job_total:
        type: "integer"
        format: "int64"
        description: "total number of jobs cached"
      job_alerts:
        type: "integer"
        format: "int64"
        description: "number of jobs with alerts"
      remote_total:
        type: "integer"
        format: "int64"
        description: "number of remote Qorus connections"
      remote_alerts:
        type: "integer"
        format: "int64"
        description: "number of remote Qorus connections with alerts"
      user_total:
        type: "integer"
        format: "int64"
        description: "number of user connections"
      user_alerts:
        type: "integer"
        format: "int64"
        description: "number of user connections with alerts"
      datasource_total:
        type: "integer"
        format: "int64"
        description: "number of datasource connections"
      datasource_alerts:
        type: "integer"
        format: "int64"
        description: "number of datasource connections with alerts"
      order_stats:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        description: "list of order status information"
      loggerParams:
        $ref: "#/definitions/UndefinedHash"
        description: "logger param info"
      auth_label_values:
        type: "array"
        items:
          type: "string"
        description: "list of auth label values"
      grafana_panel_ids:
        $ref: "#/definitions/_UndefinedHash"
        description: "hash of grafana panel ID info"
      limits:
        $ref: "#/definitions/QorusLimitInfo"
        description: "Qorus system limit information"
      default_mapper_keys:
        $ref: "#/definitions/UndefinedHash"
        description: "default mapper key info"
      pipeline_options:
        $ref: "#/definitions/UndefinedHash"
        description: "pipeline option info"
      stack_size:
        type: "integer"
        format: "int64"
        description: "thread stack size"
      is_kubernetes:
        type: "boolean"
        description: "if Qorus is runnning in Kubernetes or not"
      tz_region:
        type: "string"
        description: "the time zone region the server is running in"
      tz_utc_offset:
        type: "integer"
        format: "int64"
        description: "the UTC offset in seconds east of UTC; negative numbers indicate west of UTC"
      oauth2_enabled:
        type: "boolean"
        description: "indicates that the server supports OAuth2"
      order_count:
        type: "integer"
        format: "int64"
        description: "the maximum workflow order instance ID"
      job_exec_count:
        type: "integer"
        format: "int64"
        description: "the maximum job instance ID"
      service_call_count:
        type: "integer"
        format: "int64"
        description: "the total number of external service calls"
      templates:
        type: "array"
        items:
          $ref: "#/definitions/TemplateInfo"
        description: "a list of template info hashes"
      supports_ai:
        type: "boolean"
        description: "true if the OpenAI API key is set, so Qorus will support AI services"
      code-server:
        $ref: "#/definitions/_CodeServerSet"
        description: "information about code-server processes; keys are users with active code-server processes"
  QorusModuleSetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/QorusModuleInfo"
  QorusModuleInfo:
    type: "object"
    required:
    - "author"
    - "desc"
    - "filename"
    - "injected"
    - "name"
    - "reinjected"
    - "version"
    properties:
      api_major:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the API major version for binary modules"
      api_minor:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the API minor version for binary modules"
      author:
        type: "string"
        description: "the module author's name"
      desc:
        type: "string"
        description: "a short description of the module"
      filename:
        type: "string"
        description: "the path to the module on the host filesystem"
      info:
        $ref: "#/definitions/_UndefinedHash"
        description: "any additional module-specific information"
      injected:
        type: "boolean"
        description: "if this module was injected"
      license:
        type: "string"
        x-nullable: true
        description: "the license for the module"
      name:
        type: "string"
        description: "the name of the module"
      reexported-modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of modules rexported by this module, if any"
      reinjected:
        type: "boolean"
        description: "if this module was reinjected"
      url:
        type: "string"
        x-nullable: true
        description: "the URL for the module"
      user:
        type: "boolean"
        x-nullable: true
        description: "if this is a user module"
      version:
        type: "string"
        description: "the version string of the module"
  QorusSchemaInfo:
    type: "object"
    required:
    - "schema-version"
    - "schema-compatibility"
    - "schema-load-compatibility"
    - "system-uuid"
    properties:
      schema-version:
        type: "string"
        description: "the full system schema version"
      schema-compatibility:
        type: "string"
        description: "the runtime compatible version"
      schema-load-compatibility:
        type: "string"
        description: "the load (oload) compatible version"
      system-uuid:
        type: "string"
        description: "the system UUID"
  SystemAlertInfo:
    type: "object"
    required:
    - "transient"
    - "ongoing"
    properties:
      transient:
        type: "integer"
        format: "int64"
        description: "number of current transient alerts"
      ongoing:
        type: "integer"
        format: "int64"
        description: "number of ongoing alerts"
  QorusClusterSetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/QorusClusterInfo"
  QorusClusterInfo:
    type: "object"
    required:
    - "node_priv"
    - "node_priv_str"
    - "node_ram"
    - "node_ram_str"
    - "node_ram_in_use"
    - "node_ram_in_use_str"
    - "node_cpu_count"
    - "node_load_pct"
    - "mem_history"
    - "process_count"
    - "process_history"
    properties:
      node_priv:
        type: "integer"
        format: "int64"
        description: "the memory in use on this node in bytes"
      node_priv_str:
        type: "string"
        description: "the memory in use on this node"
      node_ram:
        type: "integer"
        format: "int64"
        description: "the total RAM on the host machine in bytes"
      node_ram_str:
        type: "string"
        description: "the total RAM on the host machine"
      node_ram_in_use:
        type: "integer"
        format: "int64"
        description: "the amount of RAM in use on the host machine in bytes"
      node_ram_in_use_str:
        type: "string"
        description: "the amount of RAM in use on the host machine"
      node_cpu_count:
        type: "integer"
        format: "int64"
        description: "the number of CPU cores on the host machine"
      node_load_pct:
        type: "number"
        format: "double"
        description: "the CPU load on the host machine"
      mem_history:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        description: "memory history list"
      process_count:
        type: "integer"
        format: "int64"
        description: "number of processes running"
      process_history:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        description: "process history list"
  QorusProcessSetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/QorusProcessInfo"
  QorusProcessInfo:
    type: "object"
    required:
    - "host"
    - "id"
    - "instance_id"
    - "node"
    - "pid"
    - "urls"
    properties:
      client_id:
        type: "string"
        x-nullable: true
        description: "the client ID of the process"
      connstr:
        type: "string"
        x-nullable: true
        description: "the connection string (qdsp processes only)"
      host:
        type: "string"
        description: "the hostname where the process is running"
      id:
        type: "string"
        description: "the unique process ID in the cluster (same as the hash key)"
      instance_id:
        type: "string"
        description: "the unique instance ID for the process"
      java_min_heap:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the minimum Java heap size in bytes"
      java_max_heap:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the maximum Java heap size in bytes"
      jobid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "(job processes only) the job ID"
      jobname:
        type: "string"
        x-nullable: true
        description: "(job processes only) the name of the job"
      jobversion:
        type: "string"
        x-nullable: true
        description: "(job processes only) the version of the job"
      log_pipe:
        type: "string"
        x-nullable: true
        description: "any log pipe for the process"
      node:
        type: "string"
        description: "the node name where the process is running"
      pct:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the percentage of main memory taken up by the process on the node"
      pid:
        type: "integer"
        format: "int64"
        description: "the PID on the host"
      port:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "any port number for the process"
      priv:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the amount of private memory of the process in bytes"
      priv_str:
        type: "string"
        x-nullable: true
        description: "a string description of the priv value"
      prometheus_port:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "any port number for communicating with Prometheus"
      restarted:
        type: "boolean"
        x-nullable: true
        description: "indicates if the process has been restarted"
      rss:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the resident size of the process in bytes"
      sessionid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "(job processes and workflow processes only) the DB session ID"
      socket_path:
        type: "string"
        x-nullable: true
        description: "any socket path for the process"
      stack_size:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the maximum stack size in bytes"
      started:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the timestamp the process was started"
      start_code:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "start code for the process: 0: manual start, 1: manual restart, 2: automatic restart"
      state_label:
        type: "string"
        x-nullable: true
        description: "(service proceses only) the service label (\"stateful\" for stateful services)"
      status:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the process's status code"
      status_string:
        type: "string"
        x-nullable: true
        description: "the process's status as a string"
      svcid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "(service proceses only) the service ID"
      svcname:
        type: "string"
        x-nullable: true
        description: "(service proceses only) the service name"
      svctype:
        type: "string"
        x-nullable: true
        description: "(service proceses only) the service type"
      svcversion:
        type: "string"
        x-nullable: true
        description: "(service proceses only) the service version"
      type:
        type: "string"
        x-nullable: true
        description: "the type of the process"
      urls:
        type: "array"
        items:
          type: "string"
        description: "a list of ZeroMQ URLs for the process"
      vsz:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the virtual size of the process in bytes"
      wfid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "(workflow processes only) the workflow ID"
      wfname:
        type: "string"
        x-nullable: true
        description: "(workflow processes only) the name of the workflow"
      wfversion:
        type: "string"
        x-nullable: true
        description: "(workflow processes only) the version of the workflow"
  QorusLimitInfo:
    type: "object"
    required:
    - "nofile"
    - "nproc"
    properties:
      nofile:
        type: "integer"
        format: "int64"
        description: "maximum number of open files"
      nproc:
        type: "integer"
        format: "int64"
        description: "maximum number of procesess / threads"
  TemplateInfo:
    type: "object"
    required:
    - "name"
    - "desc"
    - "doc_url"
    - "valid_context"
    - "access"
    properties:
      name:
        type: "string"
        description: "the name of the template"
      desc:
        type: "string"
        description: "a markdown description of the template"
      doc_url:
        type: "string"
        description: "a URL to online documentation for the templatef"
      valid_context:
        type: "integer"
        format: "int64"
        description: "a bitfield of TemplateContextValues giving the valid context for the template"
      access:
        type: "integer"
        format: "int64"
        description: "a bitfield of read/write access information for the template; 1 = read, 2 = write"
  _CodeServerSet:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/CodeServerInfo"
    x-nullable: true
  CodeServerInfo:
    type: "object"
    required:
    - "pid"
    - "code_url"
    - "proxy_name"
    - "uri_path"
    properties:
      pid:
        type: "integer"
        format: "int64"
        description: "the PID of the process"
      code_url:
        type: "string"
        description: "the URL of the UNIX socket listener"
      proxy_name:
        type: "string"
        description: "the name of the Qorus proxy for this process"
      uri_path:
        type: "string"
        description: "the URI path for Qorus for the proxy"
  JobDetailInfo:
    type: "object"
    required:
    - "name"
    - "jobid"
    - "version"
    - "remote"
    - "manual_remote"
    - "open"
    - "run_skipped"
    - "enabled"
    - "code"
    - "class_based"
    - "language"
    - "manually_updated"
    - "created"
    - "modified"
    - "db_active"
    - "active"
    - "manual_active"
    - "options"
    - "sched_type"
    - "sched_txt"
    properties:
      name:
        type: "string"
        description: "the name of the job"
      jobid:
        type: "integer"
        format: "int64"
        description: "the job ID"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short description in plain text"
      description:
        type: "string"
        x-nullable: true
        description: "the description of the job (if any)"
      version:
        type: "string"
        description: "the version of the job"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the job (if any)"
      sessionid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "If the job is currently active and running on a Qorus instance, then this attribute will have a value, otherwise it will not be set"
      remote:
        type: "boolean"
        description: "the remote state of the job; if True, the job will run remotely in a qjob process; if False, it will run in qorus-core"
      manual_remote:
        type: "boolean"
        description: "set if the manual value has been changed manually, in which case the manual setting takes precendence over any new definitions loaded with oload"
      open:
        type: "boolean"
        description: "if the current workflow is open for processing now"
      run_skipped:
        type: "boolean"
        description: "A boolean value telling the system if the job should be run immediately if the last scheduled run was missed due to system downtime"
      enabled:
        type: "boolean"
        description: "flag indicating if the job is enabled or not; disabled jobs cannot be activated"
      code:
        type: "string"
        description: "the source code for the job"
      class_based:
        type: "boolean"
        description: "True means that the job is an extension of the QorusJob class, otherwise it is a function-based job"
      class_name:
        type: "string"
        x-nullable: true
        description: "the name of the job class, if any"
      language:
        type: "string"
        description: "the programming language that the job's main code is implemented in"
      month:
        type: "string"
        x-nullable: true
        description: "the month value in a job cron schedule"
      day:
        type: "string"
        x-nullable: true
        description: "the day value in a job cron schedule"
      wday:
        type: "string"
        x-nullable: true
        description: "the weekday value in a job cron schedule"
      hour:
        type: "string"
        x-nullable: true
        description: "the hout value in a job cron schedule"
      minute:
        type: "string"
        x-nullable: true
        description: "the minute value in a job cron schedule"
      expiry_date:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the expiry date of the job, if any"
      last_executed:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date-time value the job was last executed, if any"
      last_executed_job_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the last job instance ID, if any"
      last_jobstatus:
        type: "string"
        x-nullable: true
        description: "the last job result status for this job"
      manually_updated:
        type: "boolean"
        description: "flag set if the job schedule has been changed manually, in which case the manual setting takes precendence over any new definitions loaded with oload"
      created:
        type: "string"
        format: "date-time"
        description: "the date/time the job was created"
      modified:
        type: "string"
        format: "date-time"
        description: "the date/time the job was modified"
      source:
        type: "string"
        x-nullable: true
        description: "the complete path of the job source file when loaded"
      line:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the line offset of the job source code in the file"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/ConfigItemDetailInfo"
        x-nullable: true
        description: "list of config items attached directly to the job"
      fsm_triggers:
        $ref: "#/definitions/_FsmTriggerSet"
        description: "a hash keyed by finite state machine name giving triggers for each flow"
      next:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the next automatic job execution time time, if any"
      schedule:
        type: "string"
        x-nullable: true
        description: "the schedule for the job as a string"
      mappers:
        type: "array"
        items:
          $ref: "#/definitions/MapperInfo"
        x-nullable: true
        description: "list of mappers associated with the job"
      vmaps:
        type: "array"
        items:
          $ref: "#/definitions/VMapInfo"
        x-nullable: true
        description: "a list of value maps associated with the job"
      lib:
        $ref: "#/definitions/_LibraryInfo"
        description: "a hash of library information for the job"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the job"
      job_modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of job modules associated with the job"
      config:
        $ref: "#/definitions/_ConfigItemSummarySetInfo"
        description: "a hash of configuration item info keyed by config item name"
      groups:
        type: "array"
        items:
          $ref: "#/definitions/GroupInfo"
        x-nullable: true
        description: "a list of interface groups that the job belongs to"
      offset:
        type: "string"
        x-nullable: true
        description: "the line offset of the job source code in the file"
      host:
        type: "string"
        x-nullable: true
        description: "the hostname of the machine where the job was loaded from"
      user:
        type: "string"
        x-nullable: true
        description: "the OS user who loaded the job"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name of the job, if any"
      process:
        $ref: "#/definitions/_JobProcessExecInfo"
        description: "present when remote is True"
      COMPLETE:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of job results with status COMPLETE"
      IN-PROGRESS:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of job results with status IN-PROGRESS"
      ERROR:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of job results with status ERROR"
      CRASH:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "number of job results with status CRASH"
      connections:
        type: "array"
        items:
          $ref: "#/definitions/InterfaceConnectionInfo"
        x-nullable: true
        description: "a list of connection objects that this job depends on"
      alerts:
        type: "array"
        items:
          $ref: "#/definitions/AlertInfo"
        x-nullable: true
        description: "a list of alerts raised against the job"
      db_active:
        type: "boolean"
        description: "a boolean flag indicating the active status in the database"
      active:
        type: "boolean"
        description: "the active status in the current Qorus instance"
      manual_active:
        type: "boolean"
        description: "set if the active value has been changed manually, in which case the manual setting takes precendence over any new definitions loaded with oload"
      log_url:
        type: "string"
        x-nullable: true
        description: "the log URL (if any)"
      options:
        type: "array"
        items:
          $ref: "#/definitions/OptionInfoHash"
        description: "a list option information hashes"
      sched_type:
        type: "string"
        description: "the schedule type; one of \"cron\" (uses a job cron schedule), or \"recurring\" ( uses a fixed repeat delay)"
      sched_txt:
        type: "string"
        description: "a string describing the schedule (ex: \"minutes: 0, hours: 0, days: *, months: *, wdays: *\")"
      sla:
        type: "string"
        x-nullable: true
        description: "the name of the attached SLA, if any)"
      state:
        $ref: "#/definitions/_UndefinedHash"
        description: "any job state data"
      persistent-state:
        $ref: "#/definitions/_UndefinedHash"
        description: "any persistent job state data"
  _FsmTriggerSet:
    type: "object"
    additionalProperties:
      type: "array"
      items:
        $ref: "#/definitions/FsmTriggerInfo"
    x-nullable: true
  FsmTriggerInfo:
    type: "object"
    required:
    - "method"
    properties:
      method:
        type: "string"
        description: "the string \"run\""
  _JobProcessExecInfo:
    type: "object"
    required:
    - "id"
    - "node"
    - "host"
    - "pid"
    - "urls"
    properties:
      id:
        type: "string"
        description: "the unique process ID in the cluster"
      node:
        type: "string"
        description: "the node name where the process is running"
      host:
        type: "string"
        description: "the hostname where the process is running"
      pid:
        type: "integer"
        format: "int64"
        description: "the PID on the host"
      urls:
        type: "array"
        items:
          type: "string"
        description: "a list of ZeroMQ URLs for the process"
      status:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the process's status code"
      status_string:
        type: "string"
        x-nullable: true
        description: "the process's status as a string"
      restarted:
        type: "boolean"
        x-nullable: true
        description: "indicates if the process has been restarted"
      log_pipe:
        type: "string"
        x-nullable: true
        description: "any log pipe for the process"
      port:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "any port number for the process"
      priv:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the amount of private memory of the process in bytes"
      prometheus_port:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "any port number for communicating with Prometheus"
      rss:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the resident size of the process in bytes"
      vsz:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the virtual size of the process in bytes"
      priv_str:
        type: "string"
        x-nullable: true
        description: "a string description of the priv value"
      pct:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the percentage of main memory taken up by the process on the node"
      jobname:
        type: "string"
        x-nullable: true
        description: "the job name"
      jobversion:
        type: "string"
        x-nullable: true
        description: "the job version"
      jobid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the job ID"
      socket_path:
        type: "string"
        x-nullable: true
        description: "any socket path for the process"
      sessionid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the job session ID"
    x-nullable: true
  _put-jobs-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the job"
      version:
        type: "string"
        x-nullable: true
        description: "the version of the job"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the job; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the job"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the job with markdown formatting"
      schedule:
        $ref: "#/definitions/_JobCronHash"
        description: "the cron schedule for the job"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "one or more authors of the job"
      remote:
        type: "boolean"
        x-nullable: true
        description: "if the job should run remotely or not"
      active:
        type: "boolean"
        x-nullable: true
        description: "if the job is active (will be scheduled) or not"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the job is enabled"
      expiry-date:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date the job expires"
      class-name:
        type: "string"
        x-nullable: true
        description: "the class name fot the job"
      lang:
        type: "string"
        x-nullable: true
        description: "the language of the job"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "classes that the job depends on and requires"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "finite_state_machines (fsms) that the job uses"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "mappers that the job uses"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "value maps that the job uses"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the job belongs to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags for the job"
      config-items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "config items that the job uses or defines"
      system-options:
        $ref: "#/definitions/_UndefinedHash"
        description: "system options for the job"
      source:
        type: "string"
        x-nullable: true
        description: "the job's source code"
    x-nullable: true
  _JobCronHash:
    type: "object"
    additionalProperties:
      description: not available
    x-nullable: true
  UpdateJobInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-jobs-id_or_name-body:
    type: "object"
    properties:
      delete_runtime_data:
        type: "boolean"
        x-nullable: true
        description: "delete runtime data for the step"
    x-nullable: true
  JobDeletionResult:
    type: "object"
    required:
    - "name"
    - "jobid"
    properties:
      name:
        type: "string"
        description: "the name of the job deleted"
      jobid:
        type: "string"
        description: "the ID of the job deleted"
  post-workflows-id_or_name-execSynchronousAsync-body:
    type: "object"
    required:
    - "staticdata"
    properties:
      external_order_instanceid:
        type: "string"
        x-nullable: true
        description: "the external order instance ID for the workflow data; either this key or staticdata is required"
      dynamicdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "the initial dynamic data for the order"
      global_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the order (across all workflows regardless of workflowid, name, or version); if this key already exists for any order in the system, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
      orderkeys:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of order keys for the order"
      parent_workflow_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "a loosely-coupled workflow that will be marked as the parent of this workflow"
      priority:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the order priority (default OMQ::DefaultOrderPriority) from 0 - 999; priority 0 is the highest; 999 is the lowest"
      sensitive_data:
        $ref: "#/definitions/_SensitiveDataSetInfo"
        description: "a hash of sensitive data information for the workflow; this key can only be used when submitting the data over a secure (encrypted) connection; the keys are sensitive data key types, values are hashes keyed by sensitive data values"
      staticdata:
        $ref: "#/definitions/UndefinedHash"
        description: "the static data for the order; either this key or external_order_instanceid is required"
      workflow_specific_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the particular workflowid (which matches a unique name and workflow version); if this key already exists for an order with the target workflowid, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
      workflow_unique_key:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash giving one or more unique order keys for the particular workflow by name only (across all workflows with the same name regardless of version); if this key already exists for a workflow order with the same name, then the order creation will fail with a DUPLICATE-ORDER-KEY error; the hash key must be a valid order key, and the value is the unique key value; this value will also be created as an order key"
  put-dataprovider-compareTypes-body:
    type: "object"
    required:
    - "base_type"
    - "type"
    properties:
      base_type:
        $ref: "#/definitions/QorusTypeInfo"
        description: "hash describing the input or receiving type (type of variable to accept type)"
      type:
        $ref: "#/definitions/QorusTypeInfo"
        description: "a hash describing the output or sending type (type of value to be assigned to base_type)"
  QorusTypeInfo:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "one of connection, datasource, factory, remote, or type"
      name:
        type: "string"
        description: "the name of the type, connection, factory, etc"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the final object"
      subtype:
        type: "string"
        x-nullable: true
        description: "the subtype for type = connection"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "create option for type = factory"
      hasApiContext:
        type: "boolean"
        x-nullable: true
        description: "True if the type is a factory with options to be handled in an API"
  QorusBooleanSetInfo:
    type: "object"
    additionalProperties:
      type: "boolean"
  DataProviderTypeInfo:
    type: "object"
    required:
    - "name"
    - "desc"
    - "base_type"
    - "mandatory"
    - "types_accepted"
    - "types_returned"
    - "can_manage_fields"
    - "or_nothing_type"
    - "unique_key"
    - "recursive"
    properties:
      name:
        type: "string"
        description: "the type name"
      display_name:
        type: "string"
        x-nullable: true
        description: "the type's display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short, plain-text description of the type"
      desc:
        type: "string"
        description: "the description of the type"
      supported_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "transformation options supported by the type"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "transformation option values"
      base_type:
        type: "string"
        description: "the Qore base type name"
      mandatory:
        type: "boolean"
        description: "can be null / missing?"
      default_value:
        description: "any default value for the type"
      element_type:
        $ref: "#/definitions/_DataProviderTypeInfo"
        description: "any element type for lists"
      types_accepted:
        type: "array"
        items:
          type: "string"
        description: "list of types accepted on input"
      types_returned:
        type: "array"
        items:
          type: "string"
        description: "list of types returned"
      fields:
        $ref: "#/definitions/_UndefinedHash"
        description: "fields supported by the type"
      can_manage_fields:
        type: "boolean"
        description: "true if fields can be added dynamically to the type"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags set on the type"
      or_nothing_type:
        type: "boolean"
        description: "if true, the type will accept NOTHING"
      unique_key:
        type: "string"
        description: "the unique identifier for the type"
      recursive:
        type: "boolean"
        description: "True when types are reported recursively (in which case fields will be empty)"
  _DataProviderTypeInfo:
    type: "object"
    additionalProperties:
      description: not available
    x-nullable: true
  put-dataprovider-compareManyTypes-body:
    type: "object"
    required:
    - "types"
    properties:
      types:
        $ref: "#/definitions/QorusTypeComparisonSetInfo"
        description: "a hash of hashes keyed by a unique user-defined comparison identifier"
  QorusTypeComparisonSetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/QorusTypeComparisonInfo"
  QorusTypeComparisonInfo:
    type: "object"
    required:
    - "base_type"
    - "type"
    properties:
      base_type:
        $ref: "#/definitions/QorusTypeInfo"
        description: "hash describing the input or receiving type (type of variable to accept type)"
      type:
        $ref: "#/definitions/QorusTypeInfo"
        description: "a hash describing the output or sending type (type of value to be assigned to base_type)"
  WorkflowOrderInfo:
    type: "object"
    required:
    - "name"
    - "version"
    - "workflow_instanceid"
    - "workflowid"
    - "workflowstatus"
    - "status_sessionid"
    - "synchronous"
    - "business_error"
    - "priority"
    - "started"
    - "modified"
    - "note_count"
    - "deprecated"
    - "autostart"
    - "manual_autostart"
    - "has_sensitive_data"
    - "warning_count"
    - "error_count"
    - "retry_count"
    - "StepInstances"
    - "HierarchyInfo"
    - "LastModified"
    properties:
      name:
        type: "string"
        description: "the name of the workflow"
      version:
        type: "string"
        description: "the version of the workflow"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the workflow"
      patch:
        type: "string"
        x-nullable: true
        description: "the workflow patch string (if any)"
      workflow_instanceid:
        type: "integer"
        format: "int64"
        description: "the workflow order instance ID"
      workflowid:
        type: "integer"
        format: "int64"
        description: "the ID of the workflow"
      workflowstatus:
        type: "string"
        description: "the status of the workflow order (see StatusDescriptions for possible values)"
      status_sessionid:
        type: "integer"
        format: "int64"
        description: "the ID of the Qorus application session managing the workflow order data or 0 if none"
      parent_workflow_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the workflow order instance ID of the parent order for this workflow if any"
      subworkflow:
        type: "boolean"
        x-nullable: true
        description: "indicates if the parent_workflow_instanceid is the parent workflow order in a subworkflow relationship"
      synchronous:
        type: "boolean"
        description: "indicates if the order is being executed synchronously"
      archive:
        type: "boolean"
        x-nullable: true
        description: "indicates if the order has been archived"
      business_error:
        type: "boolean"
        description: "indicates if the workflow order has an error status due to a business error"
      workflowstatus_orig:
        type: "string"
        x-nullable: true
        description: "if the order status is OMQ::StatBlocked or OMQ::StatCanceled, this value will reflect the original status of the workflow order (see StatusDescriptions for possible values)"
      custom_status:
        type: "string"
        x-nullable: true
        description: "a custom status for the order"
      scheduled:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the scheduled date"
      priority:
        type: "integer"
        format: "int64"
        description: "the priority of the workflow order"
      started:
        type: "string"
        format: "date-time"
        description: "the date/time the order was created"
      completed:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date/time order processing completed"
      modified:
        type: "string"
        format: "date-time"
        description: "the last modified date/time for the order"
      operator_lock:
        type: "string"
        x-nullable: true
        description: "a string giving the username of the user with an operator lock on the order"
      note_count:
        type: "integer"
        format: "int64"
        description: "the number of notes stored against the order"
      deprecated:
        type: "boolean"
        description: "a boolean value indicating if the workflow is deprecated or not; deprecated workflows are hidden by default in the UI"
      autostart:
        type: "integer"
        format: "int64"
        description: "the integer autostart value for the workflow"
      manual_autostart:
        type: "boolean"
        description: "a boolean flag set if the autostart value has been changed manually, in which case the manual setting takes precendence over any new definitions loaded with oload"
      max_instances:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "a value limiting the maximum number of execution instances that can run at once"
      external_order_instanceid:
        type: "string"
        x-nullable: true
        description: "a unique external key for the order"
      staticdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of workflow order static data"
      dynamicdata:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of workflow order dynamic data (if any)"
      sensitive_data:
        $ref: "#/definitions/_SensitiveDataSetInfo"
        description: "any sensitive data information for the workflow; this information is only present when retrieving the data over a secure (encrypted) connection; the keys are sensitive data key types, values are hashes keyed by sensitive data values"
      has_sensitive_data:
        type: "boolean"
        description: "indicates if the order has sensitive data"
      stepdata:
        type: "array"
        items:
          $ref: "#/definitions/StepDataInfo"
        x-nullable: true
        description: "a list of step data information"
      keys:
        $ref: "#/definitions/_OrderKeySet"
        description: "a hash of workflow order keys and values"
      warning_count:
        type: "integer"
        format: "int64"
        description: "the number of warnings raised against the order"
      error_count:
        type: "integer"
        format: "int64"
        description: "the number of errors raised against the order"
      retry_count:
        type: "integer"
        format: "int64"
        description: "the number of times the order was subject to a RETRY status due to a technical error"
      StepInstances:
        type: "array"
        items:
          $ref: "#/definitions/StepInstanceInfo"
        description: "a list of step hashes giving information about the execution status of workflow steps"
      ErrorInstances:
        type: "array"
        items:
          $ref: "#/definitions/ErrorInstanceInfo"
        x-nullable: true
        description: "a list of hashes giving information about errors and warnings raised against the order"
      HierarchyInfo:
        $ref: "#/definitions/OrderHierarchySetInfo"
        description: "a hash of workflow order information; the keys are workflow order instance IDs for all workflow orders linked to each other through parent-child relationships in the hierarchy of the current workflow order"
      AuditEvents:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of audit information hashes"
      LastModified:
        type: "string"
        format: "date-time"
        description: "the last modified date/time of the workflow order"
      staticdata_type_path:
        $ref: "#/definitions/_UndefinedHash"
        description: "type info for the workflow's static data, if any"
      actions:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of possible actions on the workflow"
      notes:
        type: "array"
        items:
          $ref: "#/definitions/NoteInfo"
        x-nullable: true
        description: "a list of notes saved against the order"
  StepDataInfo:
    type: "object"
    required:
    - "name"
    - "version"
    - "stepid"
    - "steptype"
    - "arraytype"
    - "data"
    properties:
      name:
        type: "string"
        description: "the step name"
      version:
        type: "string"
        description: "the step version"
      stepid:
        type: "integer"
        format: "int64"
        description: "the step ID"
      steptype:
        type: "string"
        description: "the step type"
      arraytype:
        type: "string"
        description: "the step array type"
      data:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        description: "list of hashes of the dynamic step data per step index"
  _OrderKeySet:
    type: "object"
    additionalProperties:
      type: "array"
      items:
        type: "string"
      x-nullable: true
    x-nullable: true
  StepInstanceInfo:
    type: "object"
    required:
    - "workflow_instanceid"
    - "stepid"
    - "ind"
    - "stepname"
    - "stepversion"
    - "steptype"
    - "stepstatus"
    - "skip"
    - "started"
    - "user_interaction"
    - "business_error"
    properties:
      workflow_instanceid:
        type: "integer"
        format: "int64"
        description: "the workflow instance ID for the step"
      stepid:
        type: "integer"
        format: "int64"
        description: "the ID of the step"
      ind:
        type: "integer"
        format: "int64"
        description: "the step array index starting with 0"
      stepname:
        type: "string"
        description: "the name of the step"
      stepversion:
        type: "string"
        description: "the version of the step"
      steptype:
        type: "string"
        description: "type of the step"
      stepstatus:
        type: "string"
        description: "the current execution status of the step (see StatusDescriptions for possible values)"
      retries:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the number of retries executed on the step"
      skip:
        type: "boolean"
        description: "a boolean value indicating if the step logic was skipped"
      custom_status:
        type: "string"
        x-nullable: true
        description: "a custom status for the step"
      started:
        type: "string"
        format: "date-time"
        description: "the date/time the step was first executed"
      completed:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date/time step processing completed"
      function_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the function ID of the primary step function"
      subworkflow_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the workflow order ID of any subworkflow order instance (for bound subworkflow steps only)"
      user_interaction:
        type: "boolean"
        description: "if the step supports user interaction"
      workflow_event_typeid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the event type ID for workflow event steps"
      eventkey:
        type: "string"
        x-nullable: true
        description: "the event key value for workflow event steps"
      queueid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the asynchronous queue ID for asynchronous steps"
      queuename:
        type: "string"
        x-nullable: true
        description: "the asynchronous queue name for asynchronous steps"
      business_error:
        type: "boolean"
        description: "a boolean flag indicating if the step has an error status due to a business error"
  ErrorInstanceInfo:
    type: "object"
    required:
    - "error_instanceid"
    - "workflow_instanceid"
    - "severity"
    - "retry"
    - "error"
    - "business_error"
    - "created"
    properties:
      error_instanceid:
        type: "integer"
        format: "int64"
        description: "a unique ID for the error"
      workflow_instanceid:
        type: "integer"
        format: "int64"
        description: "the workflow order instance ID"
      stepid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the stepid where the error was raised"
      ind:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the step array index starting with 0 where the error was raised"
      severity:
        type: "string"
        description: "the severity of the error (see ErrorSeverityCodes for possible values)"
      retry:
        type: "integer"
        format: "int64"
        description: "1 if the error caused a retry"
      error:
        type: "string"
        description: "the string error code for the error"
      description:
        type: "string"
        x-nullable: true
        description: "an optional description of the error"
      info:
        type: "string"
        x-nullable: true
        description: "an optional string providing additional information about the error"
      business_error:
        type: "boolean"
        description: "a boolean flag indicating if the error is a business error"
      created:
        type: "string"
        format: "date-time"
        description: "the date/time the error was created"
  OrderHierarchySetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/OrderHierarchyInfo"
  OrderHierarchyInfo:
    type: "object"
    required:
    - "name"
    - "version"
    - "workflow_instanceid"
    - "workflowid"
    - "workflowstatus"
    - "status_sessionid"
    - "synchronous"
    - "note_count"
    - "business_error"
    - "priority"
    - "started"
    - "modified"
    - "remote"
    - "open"
    - "autostart"
    - "enabled"
    - "sla_threshold"
    - "deprecated"
    - "created"
    - "hierarchy_level"
    - "error_count"
    - "warning_count"
    properties:
      name:
        type: "string"
        description: "the name of the workflow"
      version:
        type: "string"
        description: "the version of the workflow"
      workflow_instanceid:
        type: "integer"
        format: "int64"
        description: "the workflow order instance ID"
      workflowid:
        type: "integer"
        format: "int64"
        description: "the ID of the workflow"
      workflowstatus:
        type: "string"
        description: "the status of the workflow order (see StatusDescriptions for possible values)"
      status_sessionid:
        type: "integer"
        format: "int64"
        description: "the ID of the Qorus application session managing the workflow order data or 0 if none"
      parent_workflow_instanceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the workflow order instance ID of the parent order for this workflow if any"
      subworkflow:
        type: "boolean"
        x-nullable: true
        description: "indicates that the parent_workflow_instanceid is the parent workflow order in a subworkflow relationship"
      synchronous:
        type: "boolean"
        description: "indicates that the order is being executed synchronously"
      retries:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the number of retries executed on the order"
      note_count:
        type: "integer"
        format: "int64"
        description: "the number of notes stored against the order"
      business_error:
        type: "boolean"
        description: "indicates if the workflow order has an error status due to a business error"
      workflowstatus_orig:
        type: "string"
        x-nullable: true
        description: "if the order status is OMQ::StatBlocked or OMQ::StatCanceled, this value will reflect the original status of the workflow order (see StatusDescriptions for possible values)"
      custom_status:
        type: "string"
        x-nullable: true
        description: "a custom status for the order"
      scheduled:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the scheduled date"
      priority:
        type: "integer"
        format: "int64"
        description: "the priority of the workflow order"
      started:
        type: "string"
        format: "date-time"
        description: "the date/time the order was created"
      completed:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date/time order processing completed"
      modified:
        type: "string"
        format: "date-time"
        description: "the last modified date/time for the order"
      operator_lock:
        type: "string"
        x-nullable: true
        description: "a string giving the username of the user with an operator lock on the order"
      patch:
        type: "string"
        x-nullable: true
        description: "the workflow patch string (if any)"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the workflow"
      description:
        type: "string"
        x-nullable: true
        description: "an optional description of the workflow"
      remote:
        type: "boolean"
        description: "the remote status of the workflow"
      open:
        type: "boolean"
        description: "if the current workflow is open for processing now"
      autostart:
        type: "integer"
        format: "int64"
        description: "the autostart value"
      enabled:
        type: "boolean"
        description: "if the worklfow is currently enabled for execution"
      sla_threshold:
        type: "integer"
        format: "int64"
        description: "the number of seconds in which workflow orders should receive a final status"
      deprecated:
        type: "boolean"
        description: "the deprecated flag"
      created:
        type: "string"
        format: "date-time"
        description: "the creation date"
      custom_status_desc:
        type: "string"
        x-nullable: true
        description: "the custom status description, if any"
      workflow_modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any modules associated with the workflow"
      hierarchy_level:
        type: "integer"
        format: "int64"
        description: "the level in the workflow order hierarchy"
      error_count:
        type: "integer"
        format: "int64"
        description: "number of errors"
      warning_count:
        type: "integer"
        format: "int64"
        description: "number of warnings"
  NoteInfo:
    type: "object"
    required:
    - "saved"
    - "username"
    - "note"
    - "created"
    - "modified"
    properties:
      saved:
        type: "boolean"
        description: "indicates if the note has already been synchronized to the database"
      username:
        type: "string"
        description: "the username of the user who created the note or \"system\" in case it was created automatically"
      note:
        type: "string"
        description: "the note text"
      created:
        type: "string"
        format: "date-time"
        description: "the creation date of the note"
      modified:
        type: "string"
        format: "date-time"
        description: "the modified date of the note"
  ServiceInfoHash:
    type: "object"
    required:
    - "type"
    - "name"
    - "version"
    - "serviceid"
    - "remote"
    - "stateless"
    - "status"
    - "autostart"
    - "manual_autostart"
    - "methods"
    - "enabled"
    properties:
      type:
        type: "string"
        description: "the type of the service; one of:\\n- \"system\": for system services\\n- \"user\": for user services"
      name:
        type: "string"
        description: "the service name"
      version:
        type: "string"
        description: "the service version"
      patch:
        type: "string"
        x-nullable: true
        description: "the service patch string (if any)"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short description in plain text"
      desc:
        type: "string"
        x-nullable: true
        description: "the service description"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the service (if any)"
      serviceid:
        type: "integer"
        format: "int64"
        description: "the service ID"
      remote:
        type: "boolean"
        description: "if the service is remote or not"
      stateless:
        type: "boolean"
        description: "True if the service is stateless"
      parse_options:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of symbolic parse options for the service program container (if any)"
      status:
        type: "string"
        description: "the status of the service; one of:\\n- \"loaded\": loaded but not running\\n- \"running\": loaded and running with at least one service thread\\n- \"unloaded\": not loaded"
      processes:
        type: "array"
        items:
          $ref: "#/definitions/QorusProcessInfo"
        x-nullable: true
        description: "a list of service processes running for this service"
      config:
        $ref: "#/definitions/_ConfigItemSetInfo"
        description: "a hash of configuration item info keyed by config item name"
      global_config:
        $ref: "#/definitions/_GlobalConfigItemSetInfo"
        description: "a hash of global configuration item info keyed by config item name"
      log:
        type: "string"
        x-nullable: true
        description: "the complete path to the service log file"
      threads:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the number of active threads in the service"
      autostart:
        type: "boolean"
        description: "boolean value indicating if the service should be autostarted or not"
      manual_autostart:
        type: "boolean"
        description: "boolean flag set if the autostart value has been changed manually, in which case the manual setting takes precendence over any new definitions loaded with oload"
      loaded:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "date/time the service was loaded"
      methods:
        type: "array"
        items:
          $ref: "#/definitions/MethodInfo"
        description: "a list of hashes for each service method"
      resources:
        $ref: "#/definitions/_ServiceResourceInfo"
        description: "a hash of service resources (if any), keys are resource names"
      resource_files:
        type: "array"
        items:
          $ref: "#/definitions/ServiceFileResourceInfo"
        x-nullable: true
        description: "a list of hashes giving service resource file information (if any)"
      options:
        type: "array"
        items:
          $ref: "#/definitions/OptionValueInfo"
        x-nullable: true
        description: "a hash of options set on the service"
      service_modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of associated modules"
      groups:
        type: "array"
        items:
          $ref: "#/definitions/GroupInfo"
        x-nullable: true
        description: "a list of interface groups that the service belongs to"
      alerts:
        type: "array"
        items:
          $ref: "#/definitions/AlertInfo"
        x-nullable: true
        description: "a list of alerts raised against the workflow"
      waiting_threads:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "how many threads are currently waiting on the service (running services only)"
      active_calls:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "currently active calls on the service (running services only)"
      lib:
        $ref: "#/definitions/_LibraryInfo"
        description: "information about any referenced Qorus objects"
      log_url:
        type: "string"
        x-nullable: true
        description: "the log URL (if any)"
      enabled:
        type: "boolean"
        description: "a boolean flag indicating if the service is enabled or not; disabled services cannot be loaded"
      connections:
        type: "array"
        items:
          $ref: "#/definitions/InterfaceConnectionInfo"
        x-nullable: true
        description: "a list of connection objects that this service depends on"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the service"
  MethodInfo:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the name of the method"
      desc:
        type: "string"
        x-nullable: true
        description: "a description of the method"
  _ServiceResourceInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ServiceResourceDetailInfo"
    x-nullable: true
  ServiceResourceDetailInfo:
    type: "object"
    required:
    - "type"
    properties:
      type:
        type: "string"
        description: "the type of resource"
      desc:
        type: "string"
        x-nullable: true
        description: "the description of the resource"
      info:
        $ref: "#/definitions/_UndefinedHash"
        description: "additional info about the resource"
  ServiceFileResourceInfo:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "the type code for the service resource"
      name:
        type: "string"
        description: "the name of the service resource"
  OptionValueInfo:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the option name"
      desc:
        type: "string"
        x-nullable: true
        description: "the option's description"
      value:
        description: "the value of the option"
  post-services-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "system-options"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the service"
      version:
        type: "string"
        description: "the version of the service"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the service; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the service"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the service with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "one or more authors of the service"
      remote:
        type: "boolean"
        x-nullable: true
        description: "if the service should run remotely or not"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the service is enabled"
      class-name:
        type: "string"
        x-nullable: true
        description: "the class name fot the service"
      lang:
        type: "string"
        x-nullable: true
        description: "the language of the service"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "classes that the service depends on and requires"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "finite_state_machines (fsms) that the service uses"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "mappers that the service uses"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "value maps that the service uses"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the service belongs to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags for the service"
      config-items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "config items that the service uses or defines"
      system-options:
        $ref: "#/definitions/UndefinedHash"
        description: "system options for the service"
      source:
        type: "string"
        description: "the service's source code"
  CloneServiceInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-dataprovider-factories-factory-provider-apiEndpoints-body:
    type: "object"
    properties:
      soft:
        type: "boolean"
        x-nullable: true
        description: "soft types are returned"
      provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options"
    x-nullable: true
  _put-dataprovider-factories-factory-provider-Description-body:
    type: "object"
    properties:
      provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options to be passed to a factory creation method when accessing this URI endpoint through a factory"
    x-nullable: true
  _put-dataprovider-browse-factory-provider-body:
    type: "object"
    properties:
      provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options"
    x-nullable: true
  _put-dataprovider-browse-factory-provider-info-body:
    type: "object"
    properties:
      provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options"
    x-nullable: true
  _put-dataprovider-browse-factory-provider-info-apiEndpoints-body:
    type: "object"
    properties:
      soft:
        type: "boolean"
        x-nullable: true
        description: "soft types are returned"
      provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options"
    x-nullable: true
  _put-dataprovider-browse-factory-provider-info-Description-body:
    type: "object"
    properties:
      provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options to be passed to a factory creation method when accessing this URI endpoint through a factory"
    x-nullable: true
  _put-dataprovider-browse-factory-provider-info-childDetails-body:
    type: "object"
    properties:
      provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options"
    x-nullable: true
  DataProviderBrowseNavInfo:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the name of the node"
  PingResultInfo:
    type: "object"
    required:
    - "ok"
    - "name"
    - "desc"
    - "url"
    - "opts"
    - "time"
    - "info"
    - "result"
    - "ping_flags"
    properties:
      ok:
        type: "boolean"
        description: "the status of the ping"
      name:
        type: "string"
        description: "the name of the connection"
      desc:
        type: "string"
        description: "the description of the connection"
      url:
        type: "string"
        description: "the URL for the connection"
      opts:
        $ref: "#/definitions/UndefinedHash"
        description: "a hash of options for the connection (if any)"
      time:
        type: "string"
        format: "date-time"
        description: "the elapsed time for the ping"
      info:
        type: "string"
        description: "\"OK\" if the ping was successful or an error message if not"
      result:
        type: "string"
        description: "a string representation of the time in seconds (ex: \"0.25s\")"
      ping_flags:
        type: "integer"
        format: "int64"
        description: "ping flags as per PingFlags"
      ping_info:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of optional additional info about the ping operation"
      ex:
        $ref: "#/definitions/_UndefinedHash"
        description: "any exception hash will be stored here in case of a ping failure"
  ConnectionInfo:
    type: "object"
    required:
    - "connectionid"
    - "name"
    - "display_name"
    - "conntype"
    - "short_desc"
    - "description"
    - "url"
    - "monitor"
    - "status"
    - "up"
    - "type"
    - "url_hash"
    - "enabled"
    - "has_provider"
    - "children_can_support_apis"
    - "children_can_support_records"
    - "children_can_support_observers"
    - "children_can_support_messages"
    - "children_can_support_transactions"
    - "created"
    - "modified"
    properties:
      connectionid:
        type: "integer"
        format: "int64"
        description: "the unique connection ID"
      name:
        type: "string"
        description: "the name of the connection"
      display_name:
        type: "string"
        description: "the display name of the connection"
      conntype:
        type: "string"
        description: "either \"DATASOURCE\", \"REMOTE\", or \"USER-CONNECTION\""
      short_desc:
        type: "string"
        description: "the short plain-text description of the connection"
      description:
        type: "string"
        description: "a description of the connection"
      url:
        type: "string"
        description: "the URL to the remote host"
      monitor:
        type: "boolean"
        description: "a boolean indicating if the connection is monitored or not"
      last_check:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date/time value the connection was last checked (loopback remote connections are not checked)"
      updated:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date/time the connection was last updated"
      status:
        type: "string"
        description: "\\ \"OK\", \"not checked\", or an error message"
      up:
        type: "boolean"
        description: "a boolean indicating if the connection was monitored to be up or not"
      loopback:
        type: "boolean"
        x-nullable: true
        description: "(only for remote connections) indicates if the connection is a loopback connection"
      type:
        type: "string"
        description: "the connection type (\"datasource\", \"rest\", \"soap\", etc)"
      url_hash:
        $ref: "#/definitions/UndefinedHash"
        description: "a hash of broken-down URL components"
      enabled:
        type: "boolean"
        description: "indicates if the connecton is enabled or not"
      locked:
        type: "boolean"
        x-nullable: true
        description: "indicates if the connection can be edited or not (only the system schema connection is locked and cannot be edited)"
      supports_customization:
        type: "boolean"
        x-nullable: true
        description: "indicates if the connection supports customization"
      customization_status:
        type: "string"
        x-nullable: true
        description: "the current customization status of the connection"
      customization_timestamp:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the last customization timestamp"
      debug_data:
        type: "boolean"
        x-nullable: true
        description: "if data debugging is enabled for the connection"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the connection"
      has_provider:
        type: "boolean"
        description: "if the connection supports a data provider"
      children_can_support_apis:
        type: "boolean"
        description: "if the data provider or any children support APIs"
      children_can_support_records:
        type: "boolean"
        description: "if the data provider or any children support records"
      children_can_support_observers:
        type: "boolean"
        description: "if the data provider or any children support event observation"
      children_can_support_messages:
        type: "boolean"
        description: "if the data provider or any children support messages"
      children_can_support_transactions:
        type: "boolean"
        description: "if the data provider can provide children that support transaction management"
      opts:
        $ref: "#/definitions/_UndefinedHash"
        description: "a hash of options for the connection"
      features:
        $ref: "#/definitions/_QorusBooleanSetInfo"
        description: "a list of connection-specific features supported by the connection"
      dataprovider_subtypes:
        $ref: "#/definitions/_UndefinedHashOfHashes"
        description: "a hash of data provider subtype option info; top-level keys are data provider subtypes supported by the connection, values are option hashes"
      auth_request_uri:
        type: "string"
        x-nullable: true
        description: "a URI to make OAuth2 authorization code grant requests, if supported by the connection"
      coord-mode:
        type: "boolean"
        x-nullable: true
        description: "if coordinated mode is enabled (datasources only)"
      safe_url:
        type: "string"
        x-nullable: true
        description: "a URL string without any password information"
      shared-pool:
        type: "string"
        x-nullable: true
        description: "summary information about the DatasourcePool object backing a datasource connection"
      warning-timeout:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "datasource warning timeout in milliseconds"
      error-timeout:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "datasources error timeout in milliseconds"
      pool-wait-max:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "(datasources only) the maximum wait time for a pool connection to become available in milliseconds"
      pool-reqs:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "(datasources only) the number of connection requests on the pool"
      pool-hits:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "(datasources only) the number of connection requests that could be served immediately without blocking"
      pool-miss:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "(datasources only) the number of connection requests that could be served only after blocking"
      pool-hit-pct:
        type: "number"
        format: "double"
        x-nullable: true
        description: "the percentage of hits to misses"
      deps:
        type: "array"
        items:
          $ref: "#/definitions/ConnectionDependencyInfo"
        x-nullable: true
        description: "a list of dependent interfaces"
      alerts:
        type: "array"
        items:
          $ref: "#/definitions/AlertInfo"
        x-nullable: true
        description: "a list of alerts raised against the connection"
      health:
        type: "string"
        x-nullable: true
        description: "(remote Qorus connections only) a string giving the health color code of the instance"
      instance-key:
        type: "string"
        x-nullable: true
        description: "(remote Qorus connections only) the Qorus instance key of the remote instance"
      omq-version:
        type: "string"
        x-nullable: true
        description: "(remote Qorus connections only) the Qorus version"
      alert-summary:
        $ref: "#/definitions/_SystemAlertInfo"
        description: "summary of alert info"
      error:
        type: "string"
        x-nullable: true
        description: "(remote Qorus connections only) any error summary string for the remote instance"
      created:
        type: "string"
        format: "date-time"
        description: "the created date of the connection"
      modified:
        type: "string"
        format: "date-time"
        description: "the last modified date of the connection"
      needs_auth:
        type: "boolean"
        x-nullable: true
        description: "True if the connection requires OAuth2 authorization"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups the connection belongs to"
      app:
        type: "string"
        x-nullable: true
        description: "the name of the application providing the connection, if any"
  _QorusBooleanSetInfo:
    type: "object"
    additionalProperties:
      type: "boolean"
    x-nullable: true
  _UndefinedHashOfHashes:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/UndefinedHash"
    x-nullable: true
  ConnectionDependencyInfo:
    type: "object"
    required:
    - "type"
    - "name"
    - "version"
    - "desc"
    properties:
      type:
        type: "string"
        description: "the interface type; one of \"WORKFLOW\", \"SERVICE\", or \"JOB\""
      workflowid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the workflow ID (only present for workflows)"
      serviceid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the service ID (only present for services)"
      jobid:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the job ID (only present for jobs)"
      servicetype:
        type: "string"
        x-nullable: true
        description: "the service type (only present for services); one of \"user\" or \"system\""
      name:
        type: "string"
        description: "the interface name"
      version:
        type: "string"
        description: "the interface version"
      desc:
        type: "string"
        description: "a description of the interface (ex: \"job it-94-ar_payments-piteco-out v1.0 (23)\")"
  _SystemAlertInfo:
    type: "object"
    additionalProperties:
      description: not available
    x-nullable: true
  _put-connections-name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name of the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name of the connection"
      short_desc:
        type: "string"
        x-nullable: true
        description: "a new short description for the connection"
      desc:
        type: "string"
        x-nullable: true
        description: "a new description for the connection"
      url:
        type: "string"
        x-nullable: true
        description: "a new URL for the connection"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "new options for the connection"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "new tags for the connection"
    x-nullable: true
  post-oauth2-clients-body:
    type: "object"
    required:
    - "client_description"
    - "permissions"
    properties:
      username:
        type: "string"
        x-nullable: true
        description: "user associated with the client; can only be specified if the calling user has the USER-CONTROL permission, otherwise the current user is assumed"
      client_description:
        type: "string"
        description: "the description for the OAuth2 client"
      permissions:
        type: "array"
        items:
          type: "string"
        description: "list of permissions; corresponds to OAuth2 scopes"
  OAuth2ClientCreationResponse:
    type: "object"
    required:
    - "inserted"
    properties:
      inserted:
        $ref: "#/definitions/OAuth2ClientInsertedInfo"
        description: "hash with informataion about inserted client"
  OAuth2ClientInsertedInfo:
    type: "object"
    required:
    - "client_id"
    - "client_description"
    - "client_secret"
    - "username"
    - "created"
    - "modified"
    properties:
      client_id:
        type: "string"
        description: "unique identifier of the client"
      client_description:
        type: "string"
        description: "the description for the client"
      client_secret:
        type: "string"
        description: "client secret; this value must be stored as it cannot be retrieved after this call"
      username:
        type: "string"
        description: "user associated with the client"
      permissions:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "permissions associated to the client"
      created:
        type: "string"
        format: "date-time"
        description: "record creation timestamp"
      modified:
        type: "string"
        format: "date-time"
        description: "record last modification timestamp"
  OAuth2ClientResponse:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/OAuth2ClientInfo"
  OAuth2ClientInfo:
    type: "object"
    required:
    - "client_id"
    - "client_description"
    - "username"
    - "created"
    - "modified"
    properties:
      client_id:
        type: "string"
        description: "unique identifier of the client"
      client_description:
        type: "string"
        description: "the description for the client"
      username:
        type: "string"
        description: "user associated with the client"
      permissions:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "permissions associated to the client; corresponds to OAuth2 scopes"
      created:
        type: "string"
        format: "date-time"
        description: "record creation timestamp"
      modified:
        type: "string"
        format: "date-time"
        description: "record last modification timestamp"
  OAuth2ClientDeletionResult:
    type: "object"
    required:
    - "deleted"
    properties:
      deleted:
        type: "string"
        description: "the client ID deleted"
  put-oauth2-clients-id-body:
    type: "object"
    required:
    - "username"
    - "permissions"
    properties:
      username:
        type: "string"
        description: "user associated with the client"
      permissions:
        type: "array"
        items:
          type: "string"
        description: "list of permissions"
  OAuth2ClientUpdateResponse:
    type: "object"
    required:
    - "updated"
    properties:
      updated:
        $ref: "#/definitions/OAuth2ClientInfo"
        description: "updated client information"
  OAuth2SecretInfo:
    type: "object"
    required:
    - "client_id"
    - "client_secret"
    properties:
      client_id:
        type: "string"
        description: "the client ID of the OAuth2 client"
      client_secret:
        type: "string"
        description: "the new client secret for the OAuth2 client; this value must be stored as it cannot be retrieved after this call"
  OAuth2CodeResponse:
    type: "object"
    required:
    - "code"
    - "type"
    properties:
      code:
        type: "string"
        description: "access token or authorization code value"
      type:
        type: "string"
        description: "type of code (either \"authorization code\" or \"access token\")"
  put-system-autoVarContext-body:
    type: "object"
    required:
    - "type"
    - "provider"
    properties:
      type:
        type: "string"
        description: "the auto variable context (accepted values: event, transaction-block)"
      provider:
        $ref: "#/definitions/DataProviderSpecificationInfo"
        description: "info that specifies a particular data provider"
  DataProviderSpecificationInfo:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "one of connection, datasource, factory or remote"
      name:
        type: "string"
        description: "the name of the type, connection, factory, etc"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the final object"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "create option for type = factory"
  AutoVarSet:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/AutoVarContextInfo"
  AutoVarContextInfo:
    type: "object"
    required:
    - "type"
    - "desc"
    - "variableType"
    - "readOnly"
    properties:
      type:
        type: "string"
        description: "the variable type"
      desc:
        type: "string"
        description: "a description for the variable"
      value:
        description: "the information about variable's value, this will be a data provider hash, for example, if the variable is a data provider"
      variableType:
        type: "string"
        description: "the type of variable (ex: \"autovar\": automatic variable)"
      readOnly:
        type: "boolean"
        description: "if the variable is read only or not"
  _put-dataprovider-factories-factory-provider-search-body:
    type: "object"
    properties:
      provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options to be passed to a factory creation method when accessing this URI endpoint through a factory"
      where_cond:
        $ref: "#/definitions/_UndefinedHash"
        description: "the where CreatorJobDefinitionRestClass"
      search_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any search options"
    x-nullable: true
  post-dataprovider-factories-factory-provider-providerCreate-body:
    type: "object"
    required:
    - "name"
    - "fields"
    properties:
      name:
        type: "string"
        description: "the name of the new child provider"
      fields:
        $ref: "#/definitions/QorusNewFieldSetInfo"
        description: "the set of fields making up the new record where keys are field names and values describe each field"
  QorusNewFieldSetInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/QorusNewFieldInfo"
  QorusNewFieldInfo:
    type: "object"
    required:
    - "type"
    - "desc"
    properties:
      type:
        type: "string"
        description: "the type of the field"
      desc:
        type: "string"
        description: "field description"
      default_value:
        description: "the default value of the field if not present; the value must be compatible with the field's type"
      opts:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for the given type"
  _put-remote-user-name-oauth2AuthRequestUri-body:
    type: "object"
    properties:
      qorus_uri:
        type: "string"
        x-nullable: true
        description: "the publicly-addressable Qorus address for redirects; use this option when the Qorus server is behind a reverse proxy that changes the Host header or the SSL type"
      redirect_uri:
        type: "string"
        x-nullable: true
        description: "the final redirection location after the token(s) are acquired by https://api.qoretechnologies.com/qorus-oauth2-redirect and after the connection has been updated in the local Qorus instance; default: redirect to the connection in the system UI"
      response_type:
        type: "string"
        x-nullable: true
        description: "either \"code\" (the default) or \"token\"; the response type of the request"
      scopes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any scopes to include in the request; default: use the oauth2_scopes connection option value"
    x-nullable: true
  post-slas-sla-success-body:
    type: "object"
    required:
    - "value"
    properties:
      value:
        type: "number"
        format: "double"
        description: "the event value"
  post-slas-sla-error-body:
    type: "object"
    required:
    - "value"
    - "err"
    - "desc"
    properties:
      value:
        type: "number"
        format: "double"
        description: "the event value"
      err:
        type: "string"
        description: "the error code"
      desc:
        type: "string"
        description: "the error description"
  put-dataprovider-type-body:
    type: "object"
    required:
    - "type"
    properties:
      soft:
        type: "boolean"
        x-nullable: true
        description: "if a \"soft\" type should be returned"
      type:
        $ref: "#/definitions/QorusTypeInfo"
        description: "hash describing the input or receiving type (type of variable to accept type)"
  post-dataprovider-callApi-body:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "factory constructor options; invalid options are silently ignored"
      args:
        description: "any arguments to the API call; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve arguments"
      request_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any request options"
  post-dataprovider-callApiFromUi-body:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "factory constructor options; invalid options are silently ignored"
      args:
        description: "any arguments to the API call; if this argument is a hash, then each hash key must be assigned a hash value with type and value keys, additionally, if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve arguments"
      request_options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "any request options"
  _UndefinedUiHash:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/TypeValueInfo"
    x-nullable: true
  TypeValueInfo:
    type: "object"
    required:
    - "type"
    properties:
      type:
        type: "string"
        description: "the expected type of the argument"
      value:
        description: "the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format"
  post-dataprovider-searchRecords-body:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "factory constructor options; invalid options are silently ignored"
      where:
        $ref: "#/definitions/_UndefinedHash"
        description: "the search criteria for the search where keys are field names and values are either values to be matched or a hash describing a comparison operator for the column with op and value keys; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
      search_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any search options"
  post-dataprovider-searchRecordsFromUi-body:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "factory constructor options; invalid options are silently ignored"
      where:
        $ref: "#/definitions/_UndefinedHash"
        description: "the search criteria for the search where keys are field names and values are either values to be matched or a hash describing a comparison operator for the column with op and value keys; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
      search_options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "any search options"
  post-dataprovider-searchSingleRecord-body:
    type: "object"
    required:
    - "type"
    - "name"
    - "where"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "factory constructor options; invalid options are silently ignored"
      where:
        $ref: "#/definitions/UndefinedHash"
        description: "the search criteria for the search where keys are field names and values are either values to be matched or a hash describing a comparison operator for the column; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
      search_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any search options"
  post-dataprovider-searchSingleRecordFromUi-body:
    type: "object"
    required:
    - "type"
    - "name"
    - "where"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "factory constructor options; invalid options are silently ignored"
      where:
        $ref: "#/definitions/UndefinedUiHash"
        description: "the search criteria for the search where keys are field names and values are either values to be matched or a hash describing a comparison operator for the column; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
      search_options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "any search options"
  UndefinedUiHash:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/UndefinedHash"
  post-dataprovider-updateRecords-body:
    type: "object"
    required:
    - "type"
    - "name"
    - "set"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "factory constructor options; invalid options are silently ignored"
      set:
        $ref: "#/definitions/UndefinedHash"
        description: "keys are field names and values are field values to be updated; values will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      where:
        $ref: "#/definitions/_UndefinedHash"
        description: "the search criteria for the search where keys are field names and values are either values to be matched or a hash describing a comparison operator for the column with op and value keys; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
      search_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any search options"
  post-dataprovider-updateRecordsFromUi-body:
    type: "object"
    required:
    - "type"
    - "name"
    - "set"
    - "where"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "factory constructor options; invalid options are silently ignored"
      set:
        $ref: "#/definitions/UndefinedUiHash"
        description: "keys are field names and values are field values to be updated; values will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      where:
        $ref: "#/definitions/UndefinedUiHash"
        description: "the search criteria for the search where keys are field names and values are either values to be matched or a hash describing a comparison operator for the column; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
      search_options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "any search options"
  post-dataprovider-deleteRecords-body:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "factory constructor options; invalid options are silently ignored"
      where:
        $ref: "#/definitions/_UndefinedHash"
        description: "the search criteria for the search where keys are field names and values are either values to be matched or a hash describing a comparison operator for the column with op and value keys; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
      search_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any search options"
  post-dataprovider-deleteRecordsFromUi-body:
    type: "object"
    required:
    - "type"
    - "name"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "factory constructor options; invalid options are silently ignored"
      where:
        $ref: "#/definitions/_UndefinedHash"
        description: "the search criteria for the search where keys are field names and values are either values to be matched or a hash describing a comparison operator for the column with op and value keys; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
      search_options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "any search options"
  post-dataprovider-createRecords-body:
    type: "object"
    required:
    - "type"
    - "name"
    - "records"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "factory constructor options; invalid options are silently ignored"
      records:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        description: "the list of new records; each hash in the list represents a new record and must have keys that correspond to valid field names, values are subjected to template resolution by calls to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
  post-dataprovider-createRecordsFromUi-body:
    type: "object"
    required:
    - "type"
    - "name"
    - "records"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "factory constructor options; invalid options are silently ignored"
      records:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedUiHash"
        description: "the list of new records; each hash in the list represents a new record and must have keys that correspond to valid field names, values are subjected to template resolution by calls to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve the where argument"
  post-dataprovider-sendMessage-body:
    type: "object"
    required:
    - "type"
    - "name"
    - "message_id"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "factory constructor options; invalid options are silently ignored"
      message_id:
        type: "string"
        description: "the ID of the message to send; must be a message supported by the data provider"
      message:
        description: "the message body; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve arguments"
      message_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any message options"
  post-dataprovider-sendMessageFromUi-body:
    type: "object"
    required:
    - "type"
    - "name"
    - "message_id"
    properties:
      type:
        type: "string"
        description: "the type of path: factory, connection, datasource, or remote"
      name:
        type: "string"
        description: "the initial segment of the data provider path"
      path:
        type: "string"
        x-nullable: true
        description: "the path to the data provider"
      options:
        $ref: "#/definitions/_UndefinedUiHash"
        description: "factory constructor options; invalid options are silently ignored"
      message_id:
        type: "string"
        description: "the ID of the message to send; must be a message supported by the data provider"
      message:
        description: "the message body; if present this will be resolved as a template with a call to UserApi::expandTemplatedValue() with context as the local context"
      context:
        $ref: "#/definitions/_UndefinedHash"
        description: "any context data to be used to resolve arguments"
      message_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any message options"
  _post-async-queues-queue-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name for the queue; if not provided, the new name will be generated"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the queue"
    x-nullable: true
  CloneQueueInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-async-queues-queue-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name for the queue; if not provided, the new name will be generated"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the queue"
    x-nullable: true
  UpdateQueueInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-async-queues-queue-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  QueueDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the queue that was deleted"
  post-async-queues-body:
    type: "object"
    required:
    - "name"
    - "desc"
    properties:
      name:
        type: "string"
        description: "the new internal name for the queue"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the queue with markdown formatting"
  CreateQueueInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-async-queues-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    properties:
      name:
        type: "string"
        description: "the new internal name for the queue"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the queue with markdown formatting"
  ReleaseScriptInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "source"
    - "exec_order"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the script ID"
      name:
        type: "string"
        description: "the internal name for the script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      description:
        type: "string"
        x-nullable: true
        description: "the description for the script with markdown formatting"
      source:
        type: "string"
        description: "the script's source"
      exec_order:
        type: "string"
        description: "the execution order for the script (pre or post)"
  _put-release-scripts-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the release script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the release script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        x-nullable: true
        description: "the script source"
      exec_order:
        type: "string"
        x-nullable: true
        description: "the execution order (pre or post)"
    x-nullable: true
  UpdateScriptInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-release-scripts-id_or_name-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  ScriptDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the test script that was deleted"
  _post-release-scripts-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the release script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the release script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        x-nullable: true
        description: "the script source"
      exec_order:
        type: "string"
        x-nullable: true
        description: "the execution order (pre or post)"
    x-nullable: true
  CloneReleaseScriptInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _post-release-scripts-id_or_name-exec-body:
    type: "object"
    properties:
      interperter:
        type: "string"
        x-nullable: true
        description: "the interpreter to use; auto-detected from the hash-bang line or qore"
      args:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "the command-line arguments for the script"
    x-nullable: true
  ReleaseScriptExecutionInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "ok"
    - "rc"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the script ID"
      name:
        type: "string"
        description: "the script name"
      ok:
        type: "boolean"
        description: "if the execution was successful or not"
      rc:
        type: "integer"
        format: "int64"
        description: "the return code from script execution"
      stdout:
        type: "string"
        x-nullable: true
        description: "stdout from executing the script"
      stderr:
        type: "string"
        x-nullable: true
        description: "stderr from executing the script"
  post-release-scripts-body:
    type: "object"
    required:
    - "name"
    - "display_name"
    - "short_desc"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the release script"
      display_name:
        type: "string"
        description: "the new display name"
      short_desc:
        type: "string"
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the release script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        description: "the script source"
      exec_order:
        type: "string"
        x-nullable: true
        description: "the execution order (pre or post, default \\post)"
  CreateScriptInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-release-scripts-create-body:
    type: "object"
    required:
    - "name"
    - "display_name"
    - "short_desc"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the release script"
      display_name:
        type: "string"
        description: "the new display name"
      short_desc:
        type: "string"
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the release script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        description: "the script source"
      exec_order:
        type: "string"
        x-nullable: true
        description: "the execution order (pre or post, default \\post)"
  CreateScriptMapInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  SchemaScriptInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "source"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the script ID"
      name:
        type: "string"
        description: "the internal name for the script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      description:
        type: "string"
        x-nullable: true
        description: "the description for the script with markdown formatting"
      source:
        type: "string"
        description: "the script's source"
  _put-schema-scripts-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the schema script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the schema script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        x-nullable: true
        description: "the script source"
    x-nullable: true
  UpdateSchemaScriptInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-schema-scripts-id_or_name-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  _post-schema-scripts-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the schema script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the schema script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        x-nullable: true
        description: "the script source"
    x-nullable: true
  CloneSchemaScriptInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  SchemaExecutionInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "ok"
    - "rc"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the schema script ID"
      name:
        type: "string"
        description: "the schema script name"
      ok:
        type: "boolean"
        description: "if the execution was successful or not"
      rc:
        type: "integer"
        format: "int64"
        description: "the return code from script execution"
      stdout:
        type: "string"
        x-nullable: true
        description: "stdout from executing the script"
      stderr:
        type: "string"
        x-nullable: true
        description: "stderr from executing the script"
  post-schema-scripts-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the schema script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the schema script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        description: "the script source"
  post-schema-scripts-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the schema script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the schema script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        description: "the script source"
  TestScriptInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "source"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the script ID"
      name:
        type: "string"
        description: "the internal name for the script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      description:
        type: "string"
        x-nullable: true
        description: "the description for the script with markdown formatting"
      source:
        type: "string"
        description: "the script's source"
  _put-test-scripts-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the test script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the test script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        x-nullable: true
        description: "the script source"
    x-nullable: true
  UpdateTestScriptInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-test-scripts-id_or_name-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  _post-test-scripts-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the test script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the test script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        x-nullable: true
        description: "the script source"
    x-nullable: true
  CloneTestScriptInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _post-test-scripts-id_or_name-exec-body:
    type: "object"
    properties:
      interperter:
        type: "string"
        x-nullable: true
        description: "the interpreter to use; auto-detected from the hash-bang line or qore"
      args:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "the command-line arguments for the script"
    x-nullable: true
  TestExecutionInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "ok"
    - "rc"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the test script ID"
      name:
        type: "string"
        description: "the test script name"
      ok:
        type: "boolean"
        description: "if the execution was successful or not"
      rc:
        type: "integer"
        format: "int64"
        description: "the return code from script execution"
      stdout:
        type: "string"
        x-nullable: true
        description: "stdout from executing the script"
      stderr:
        type: "string"
        x-nullable: true
        description: "stderr from executing the script"
  post-test-scripts-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the test script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the test script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        description: "the script source"
  post-test-scripts-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the test script"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the test script with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      source:
        type: "string"
        description: "the script source"
  _post-valuemaps-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the value map"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the value map with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      exception:
        type: "boolean"
        x-nullable: true
        description: "throw an exception when a value is not matched (default false)"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this value map will be a member of"
      valuetype:
        type: "string"
        x-nullable: true
        description: "the value type for the value map"
      dateformat:
        type: "string"
        x-nullable: true
        description: "the date format (when valuetype is date)"
      value-maps:
        $ref: "#/definitions/_ValueMapNewValues"
        description: "a hash of keys where the values are value map values"
    x-nullable: true
  _ValueMapNewValues:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ValueMapValueInfo"
    x-nullable: true
  ValueMapValueInfo:
    type: "object"
    properties:
      value:
        description: "the value corresponding to the key"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the mapping is currently enabled"
  CloneValueMapInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  CreateValueMapInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  UpdateValueMapInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-valuemaps-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the value map"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the value map with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      exception:
        type: "boolean"
        x-nullable: true
        description: "throw an exception when a value is not matched (default false)"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this value map will be a member of"
      valuetype:
        type: "string"
        x-nullable: true
        description: "the value type for the value map"
      dateformat:
        type: "string"
        x-nullable: true
        description: "the date format (when valuetype is date)"
      value-maps:
        $ref: "#/definitions/_ValueMapNewValues"
        description: "a hash of keys where the values are value map values"
    x-nullable: true
  _delete-valuemaps-id_or_name-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  ValueMapDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the valuemap that was deleted"
  post-valuemaps-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "valuetype"
    - "value-maps"
    properties:
      name:
        type: "string"
        description: "the new internal name for the value map"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the value map with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      exception:
        type: "boolean"
        x-nullable: true
        description: "throw an exception when a value is not matched (default false)"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this value map will be a member of"
      valuetype:
        type: "string"
        description: "the value type for the value map"
      dateformat:
        type: "string"
        x-nullable: true
        description: "the date format (when valuetype is date)"
      value-maps:
        $ref: "#/definitions/ValueMapValues"
        description: "a hash of keys where the values are value map values"
  ValueMapValues:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ValueMapValueInfo"
  post-valuemaps-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "valuetype"
    - "value-maps"
    properties:
      name:
        type: "string"
        description: "the new internal name for the value map"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the value map with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      exception:
        type: "boolean"
        x-nullable: true
        description: "throw an exception when a value is not matched (default false)"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this value map will be a member of"
      valuetype:
        type: "string"
        description: "the value type for the value map"
      dateformat:
        type: "string"
        x-nullable: true
        description: "the date format (when valuetype is date)"
      value-maps:
        $ref: "#/definitions/ValueMapValues"
        description: "a hash of keys where the values are value map values"
  post-workflows-id_or_name-clone-body:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the new internal name for the workflow"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the workflow"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the workflow with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      steps:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "list of steps for the workflow"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this workflow will be a member of"
      modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of workflow modules"
      remote:
        type: "boolean"
        x-nullable: true
        description: "the remote status of the workflow"
      autostart:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "how many workflow instances should be started automatically"
      sla_threshold:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the number in seconds for a workflow order to get a COMPLETE status without violating any SLA"
      max_instances:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the maximum number of execution instances that can be started for this workflow"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library classes for this workflow"
      constants:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library constants for this workflow"
      functions:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library functions for this workflow"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any mappers for this workflow"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any value maps for this workflow"
      errors:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any error sets for this workflow"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for this workflow"
      keylist:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "workflow order keys"
      statuses:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined order status values"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags"
      source:
        type: "string"
        x-nullable: true
        description: "workflow class source"
      base-class-name:
        type: "string"
        x-nullable: true
        description: "the base class name for the workflow (must inherit QorusWorkflow)"
      class-name:
        type: "string"
        x-nullable: true
        description: "the workflow code's class name"
      lang:
        type: "string"
        x-nullable: true
        description: "the language for the workflow class code, one of \"qore\" (the default), \"python\", or \"java\""
      config-item-values:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items and values for the workflow"
      staticdata-type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the static data type definition for the workflow"
      system-options:
        $ref: "#/definitions/_UndefinedHash"
        description: "system options for the workflow"
  post-workflows-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "desc"
    - "steps"
    properties:
      name:
        type: "string"
        description: "the new internal name for the workflow"
      version:
        type: "string"
        description: "the new version for the workflow"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the workflow with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      steps:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        description: "list of steps for the workflow"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this workflow will be a member of"
      modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of workflow modules"
      remote:
        type: "boolean"
        x-nullable: true
        description: "the remote status of the workflow"
      autostart:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "how many workflow instances should be started automatically"
      sla_threshold:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the number in seconds for a workflow order to get a COMPLETE status without violating any SLA"
      max_instances:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the maximum number of execution instances that can be started for this workflow"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library classes for this workflow"
      constants:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library constants for this workflow"
      functions:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library functions for this workflow"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any mappers for this workflow"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any value maps for this workflow"
      errors:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any error sets for this workflow"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for this workflow"
      keylist:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "workflow order keys"
      statuses:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined order status values"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags"
      source:
        type: "string"
        x-nullable: true
        description: "workflow class source"
      base-class-name:
        type: "string"
        x-nullable: true
        description: "the base class name for the workflow (must inherit QorusWorkflow)"
      class-name:
        type: "string"
        x-nullable: true
        description: "the workflow code's class name"
      lang:
        type: "string"
        x-nullable: true
        description: "the language for the workflow class code, one of \"qore\" (the default), \"python\", or \"java\""
      config-item-values:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items and values for the workflow"
      staticdata-type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the static data type definition for the workflow"
      system-options:
        $ref: "#/definitions/_UndefinedHash"
        description: "system options for the workflow"
  post-workflows-create-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "desc"
    - "steps"
    properties:
      name:
        type: "string"
        description: "the new internal name for the workflow"
      version:
        type: "string"
        description: "the new version for the workflow"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the workflow with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of author names"
      steps:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        description: "list of steps for the workflow"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of interface group names that this workflow will be a member of"
      modules:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "list of workflow modules"
      remote:
        type: "boolean"
        x-nullable: true
        description: "the remote status of the workflow"
      autostart:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "how many workflow instances should be started automatically"
      sla_threshold:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the number in seconds for a workflow order to get a COMPLETE status without violating any SLA"
      max_instances:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the maximum number of execution instances that can be started for this workflow"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library classes for this workflow"
      constants:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library constants for this workflow"
      functions:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any library functions for this workflow"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any mappers for this workflow"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any value maps for this workflow"
      errors:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "any error sets for this workflow"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for this workflow"
      keylist:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "workflow order keys"
      statuses:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined order status values"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags"
      source:
        type: "string"
        x-nullable: true
        description: "workflow class source"
      base-class-name:
        type: "string"
        x-nullable: true
        description: "the base class name for the workflow (must inherit QorusWorkflow)"
      class-name:
        type: "string"
        x-nullable: true
        description: "the workflow code's class name"
      lang:
        type: "string"
        x-nullable: true
        description: "the language for the workflow class code, one of \"qore\" (the default), \"python\", or \"java\""
      config-item-values:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items and values for the workflow"
      staticdata-type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the static data type definition for the workflow"
      system-options:
        $ref: "#/definitions/_UndefinedHash"
        description: "system options for the workflow"
  _post-groups-name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name for the group; if not provided, the new name will be generated"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the group with markdown formatting"
      workflows:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "optional; a comma-separated string will be split into a list; the list of workflow names or IDs to include in the group"
      services:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of user service names or IDs to include in the group"
      jobs:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of job names or IDs to include in the group"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of mapper names or IDs to include in the group"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of value map names or IDs to include in the group"
      fsms:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of Finite State Machine names to include in the group"
      pipelines:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of data pipeline names to include in the group"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "the initial enabled flag for the group; if not present defaults to true"
    x-nullable: true
  CloneGroupInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-groups-name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name for the group; if not provided, the new name will be generated"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the group with markdown formatting"
      workflows:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "optional; a comma-separated string will be split into a list; the list of workflow names or IDs to include in the group"
      services:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of user service names or IDs to include in the group"
      jobs:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of job names or IDs to include in the group"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of mapper names or IDs to include in the group"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of value map names or IDs to include in the group"
      fsms:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of Finite State Machine names to include in the group"
      pipelines:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of data pipeline names to include in the group"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "the initial enabled flag for the group; if not present defaults to true"
    x-nullable: true
  _delete-groups-name-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  GroupDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the group that was deleted"
  post-groups-body:
    type: "object"
    required:
    - "group"
    - "desc"
    properties:
      group:
        type: "string"
        description: "required; the name of the group"
      desc:
        type: "string"
        description: "required; the description of the group"
      workflows:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "optional; a comma-separated string will be split into a list; the list of workflow names or IDs to include in the group"
      services:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of user service names or IDs to include in the group"
      jobs:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of job names or IDs to include in the group"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of mapper names or IDs to include in the group"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of value map names or IDs to include in the group"
      fsms:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of Finite State Machine names to include in the group"
      pipelines:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of data pipeline names to include in the group"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "the initial enabled flag for the group; if not present defaults to true"
  CreateGroupInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-groups-create-body:
    type: "object"
    required:
    - "group"
    - "desc"
    properties:
      group:
        type: "string"
        description: "required; the name of the group"
      desc:
        type: "string"
        description: "required; the description of the group"
      workflows:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "optional; a comma-separated string will be split into a list; the list of workflow names or IDs to include in the group"
      services:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of user service names or IDs to include in the group"
      jobs:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of job names or IDs to include in the group"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list; the list of mapper names or IDs to include in the group"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of value map names or IDs to include in the group"
      fsms:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of Finite State Machine names to include in the group"
      pipelines:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a comma-separated string will be split into a list the list of data pipeline names to include in the group"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "the initial enabled flag for the group; if not present defaults to true"
  put-groups-enable-body:
    type: "object"
    required:
    - "ids"
    properties:
      ids:
        type: "array"
        items:
          type: "string"
        description: "one or more group IDs to enable"
  GroupEnableResult:
    type: "object"
    required:
    - "arg"
    - "enabled"
    - "groupid"
    - "name"
    - "info"
    properties:
      arg:
        type: "integer"
        format: "int64"
        description: "the ID provided"
      enabled:
        type: "boolean"
        description: "if the group was enabled or not"
      groupid:
        type: "integer"
        format: "int64"
        description: "the group ID"
      name:
        type: "string"
        description: "the name of the group if known"
      info:
        type: "string"
        description: "a string describing the operation performed"
  put-groups-disable-body:
    type: "object"
    required:
    - "ids"
    properties:
      ids:
        type: "array"
        items:
          type: "string"
        description: "one or more group IDs to disable"
  GroupDisableResult:
    type: "object"
    required:
    - "arg"
    - "disabled"
    - "groupid"
    - "name"
    - "info"
    properties:
      arg:
        type: "integer"
        format: "int64"
        description: "the ID provided"
      disabled:
        type: "boolean"
        description: "if the group was disabled or not"
      groupid:
        type: "integer"
        format: "int64"
        description: "the group ID"
      name:
        type: "string"
        description: "the name of the group if known"
      info:
        type: "string"
        description: "a string describing the operation performed"
  _post-steps-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the step"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the step; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the step"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the step with markdown formatting"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the step"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the step"
      code:
        type: "string"
        x-nullable: true
        description: "the source code for the step"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name for the step"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language of the step"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items for the step"
      class_name:
        type: "string"
        x-nullable: true
        description: "the class name for the step; must be a valid identifier"
    x-nullable: true
  CloneStepInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-steps-id_or_name-body:
    type: "object"
    properties:
      allow_dangerous_redefs:
        type: "boolean"
        x-nullable: true
        description: "allow dangerous redefinitions of the step"
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the step"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the step; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the step"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the step with markdown formatting"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the step"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the step"
      code:
        type: "string"
        x-nullable: true
        description: "the source code for the step"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name for the step"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language of the step"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items for the step"
      class_name:
        type: "string"
        x-nullable: true
        description: "the class name for the step; must be a valid identifier"
    x-nullable: true
  UpdateStepInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-steps-id_or_name-body:
    type: "object"
    properties:
      delete_runtime_data:
        type: "boolean"
        x-nullable: true
        description: "delete runtime data for the step"
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  StepDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the step that was deleted"
  post-steps-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "code"
    - "class_name"
    properties:
      name:
        type: "string"
        description: "the new internal name for the step"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the step; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the step"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the step with markdown formatting"
      version:
        type: "string"
        description: "the new version for the step"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the step"
      code:
        type: "string"
        description: "the source code for the step"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name for the step"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language of the step"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items for the step"
      class_name:
        type: "string"
        description: "the class name for the step; must be a valid identifier"
  CreateStepInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-steps-create-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "code"
    - "class_name"
    properties:
      name:
        type: "string"
        description: "the new internal name for the step"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the step; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the step"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the step with markdown formatting"
      version:
        type: "string"
        description: "the new version for the step"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the step"
      code:
        type: "string"
        description: "the source code for the step"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name for the step"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language of the step"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items for the step"
      class_name:
        type: "string"
        description: "the class name for the step; must be a valid identifier"
  _post-sync-events-type-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name for the event type; if not provided, the new name will be generated"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the event type"
    x-nullable: true
  CloneEventTypeInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-sync-events-type-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name for the event type; if not provided, the new name will be generated"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the event type"
    x-nullable: true
  UpdateEventTypeInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-sync-events-type-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  SyncEventDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the workflow synchronization event type that was deleted"
  post-sync-events-body:
    type: "object"
    required:
    - "name"
    - "desc"
    properties:
      name:
        type: "string"
        description: "the new internal name for the workflow synchronization event type"
      desc:
        type: "string"
        description: "the new description for the workflow synchronization event type with markdown formatting"
  CreateWorkflowSyncEventInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-sync-events-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    properties:
      name:
        type: "string"
        description: "the new internal name for the workflow synchronization event type"
      desc:
        type: "string"
        description: "the new description for the workflow synchronization event type with markdown formatting"
  _post-error-sets-error-set-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name for the error set; if not provided, the new name will be generated"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the error set"
    x-nullable: true
  CloneErrorSetInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-error-sets-error-set-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new name for the error set; if not provided, the new name will be generated"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the error set"
    x-nullable: true
  UpdateErrorSetInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  ErrorSetInfo:
    type: "object"
    required:
    - "errorid"
    - "name"
    - "description"
    - "errors"
    properties:
      errorid:
        type: "integer"
        format: "int64"
        description: "the error set ID"
      name:
        type: "string"
        description: "the internal name for the error set"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      description:
        type: "string"
        description: "the description for the error set with markdown formatting"
      errors:
        type: "array"
        items:
          $ref: "#/definitions/ErrorSetErrorInfo"
        description: "a list of error definition hashes"
  ErrorSetErrorInfo:
    type: "object"
    required:
    - "name"
    - "desc"
    - "severity"
    - "status"
    - "business"
    - "level"
    properties:
      name:
        type: "string"
        description: "the error code"
      desc:
        type: "string"
        description: "the error description"
      severity:
        type: "string"
        description: "an error severity code (FATAL, MAJOR, MINOR, WARNING, INFO, or NONE, default: MAJOR)"
      status:
        type: "string"
        description: "the status received from the error (ERROR, or RETRY, default: ERROR)"
      business:
        type: "boolean"
        description: "is this a business error or a technical error? Default False"
      retry-delay:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the minimum number of seconds to wait before retrying"
      level:
        type: "string"
        description: "the error level (AUTO, GLOBAL, or WORKFLOW, default: AUTO)"
  CreateErrorSetInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-error-sets-error-set-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  ErrorSetDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the error set that was deleted"
  post-error-sets-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "errors"
    properties:
      name:
        type: "string"
        description: "the new internal name for the error set"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the error set with markdown formatting"
      errors:
        type: "array"
        items:
          $ref: "#/definitions/ErrorSetErrorInfo"
        description: "a list of error definition hashes"
  post-error-sets-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "errors"
    properties:
      name:
        type: "string"
        description: "the new internal name for the error set"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        description: "the new description for the error set with markdown formatting"
      errors:
        type: "array"
        items:
          $ref: "#/definitions/ErrorSetErrorInfo"
        description: "a list of error definition hashes"
  TokenInfo:
    type: "object"
    required:
    - "kind"
    - "user"
    - "token"
    - "ttl"
    - "expire_seconds"
    - "creation_timestamp"
    - "info"
    properties:
      kind:
        type: "string"
        description: "the token provider"
      user:
        type: "string"
        description: "the username for the token"
      token:
        type: "string"
        description: "the token value itself"
      ttl:
        type: "integer"
        format: "int64"
        description: "the epoch seconds until the token expires"
      expire_seconds:
        type: "integer"
        format: "int64"
        description: "the refresh period for how long the token's lifetime is extended when the token is used"
      creation_timestamp:
        type: "string"
        format: "date-time"
        description: "the date and time when the token was created"
      info:
        $ref: "#/definitions/UndefinedHash"
        description: "additional information about the token"
  put-oauth2-clients-id-tokens-id-body:
    type: "object"
    required:
    - "refresh_seconds"
    properties:
      refresh_seconds:
        type: "integer"
        format: "int64"
        description: "the new refresh seconds value for the token, negative numbers mean that the token never expires"
  _post-oauth2-clients-id-generateAccessToken-body:
    type: "object"
    properties:
      duration:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the validity period of the new token as an integer in milliseconds"
    x-nullable: true
  _post-classes-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the class"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the class; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the class"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the class with markdown formatting"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the class"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the class"
      source:
        type: "string"
        x-nullable: true
        description: "the source code for the class"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name for the class"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language of the class"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items for the class"
      requires:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of classes required by this class"
      processor:
        $ref: "#/definitions/_UndefinedHash"
        description: "processor definitions"
      connectors:
        $ref: "#/definitions/_UndefinedHash"
        description: "connector definitions"
      class_name:
        type: "string"
        x-nullable: true
        description: "the class name for the class; must be a valid identifier"
    x-nullable: true
  CloneClassInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-classes-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the class"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the class; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the class"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the class with markdown formatting"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the class"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the class"
      source:
        type: "string"
        x-nullable: true
        description: "the source code for the class"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name for the class"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language of the class"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items for the class"
      requires:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of classes required by this class"
      processor:
        $ref: "#/definitions/_UndefinedHash"
        description: "processor definitions"
      connectors:
        $ref: "#/definitions/_UndefinedHash"
        description: "connector definitions"
      class_name:
        type: "string"
        x-nullable: true
        description: "the class name for the class; must be a valid identifier"
    x-nullable: true
  UpdateClassInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-classes-id_or_name-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  ClassDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the class that was deleted"
  _post-functions-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the function"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the function with markdown formatting"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the function"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the function"
      source:
        type: "string"
        x-nullable: true
        description: "the source code for the function"
      function_type:
        type: "string"
        x-nullable: true
        description: "The type of the function"
    x-nullable: true
  CloneFunctionInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-functions-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the function"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the function with markdown formatting"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the function"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the function"
      source:
        type: "string"
        x-nullable: true
        description: "the source code for the function"
      function_type:
        type: "string"
        x-nullable: true
        description: "The type of the function"
    x-nullable: true
  UpdateFunctionInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-functions-id_or_name-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  FunctionDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the function that was deleted"
  post-functions-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "source"
    - "function_type"
    properties:
      name:
        type: "string"
        description: "the new internal name for the function"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the function with markdown formatting"
      version:
        type: "string"
        description: "the new version for the function"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the function"
      source:
        type: "string"
        description: "the source code for the function"
      function_type:
        type: "string"
        description: "The type of the function"
  CreateFunctionInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-functions-create-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "source"
    - "function_type"
    properties:
      name:
        type: "string"
        description: "the new internal name for the function"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the function with markdown formatting"
      version:
        type: "string"
        description: "the new version for the function"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the function"
      source:
        type: "string"
        description: "the source code for the function"
      function_type:
        type: "string"
        description: "The type of the function"
  _post-constants-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the constant"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the constant with markdown formatting"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the constant"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the constant"
      source:
        type: "string"
        x-nullable: true
        description: "the source code for the constant"
    x-nullable: true
  CloneConstantInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _put-constants-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the constant"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the constant with markdown formatting"
      version:
        type: "string"
        x-nullable: true
        description: "the new version for the constant"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the constant"
      source:
        type: "string"
        x-nullable: true
        description: "the source code for the constant"
      constant_type:
        type: "string"
        x-nullable: true
        description: "The type of the constant"
    x-nullable: true
  UpdateConstantInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _delete-constants-id_or_name-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  ConstantDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the constant that was deleted"
  post-constants-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the constant"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the constant with markdown formatting"
      version:
        type: "string"
        description: "the new version for the constant"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the constant"
      source:
        type: "string"
        description: "the source code for the constant"
  CreateConstantInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-constants-create-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the constant"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the constant with markdown formatting"
      version:
        type: "string"
        description: "the new version for the constant"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the constant"
      source:
        type: "string"
        description: "the source code for the constant"
  post-services-id_or_name-clone-body:
    type: "object"
    required:
    - "system-options"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the service"
      version:
        type: "string"
        x-nullable: true
        description: "the version of the service"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the service; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the service"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the service with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "one or more authors of the service"
      remote:
        type: "boolean"
        x-nullable: true
        description: "if the service should run remotely or not"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the service is enabled"
      class-name:
        type: "string"
        x-nullable: true
        description: "the class name fot the service"
      lang:
        type: "string"
        x-nullable: true
        description: "the language of the service"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "classes that the service depends on and requires"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "finite_state_machines (fsms) that the service uses"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "mappers that the service uses"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "value maps that the service uses"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the service belongs to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags for the service"
      config-items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "config items that the service uses or defines"
      system-options:
        $ref: "#/definitions/UndefinedHash"
        description: "system options for the service"
      source:
        type: "string"
        x-nullable: true
        description: "the service's source code"
  put-services-id_or_name-body:
    type: "object"
    required:
    - "system-options"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the service"
      version:
        type: "string"
        x-nullable: true
        description: "the version of the service"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the service; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the service"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the service with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "one or more authors of the service"
      remote:
        type: "boolean"
        x-nullable: true
        description: "if the service should run remotely or not"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the service is enabled"
      class-name:
        type: "string"
        x-nullable: true
        description: "the class name fot the service"
      lang:
        type: "string"
        x-nullable: true
        description: "the language of the service"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "classes that the service depends on and requires"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "finite_state_machines (fsms) that the service uses"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "mappers that the service uses"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "value maps that the service uses"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the service belongs to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags for the service"
      config-items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "config items that the service uses or defines"
      system-options:
        $ref: "#/definitions/UndefinedHash"
        description: "system options for the service"
      source:
        type: "string"
        x-nullable: true
        description: "the service's source code"
  UpdateServiceInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  ServiceDeletionResult:
    type: "object"
    required:
    - "type"
    - "name"
    - "version"
    - "serviceid"
    properties:
      type:
        type: "string"
        description: "the type of the service deleted"
      name:
        type: "string"
        description: "the name of the service deleted"
      version:
        type: "string"
        description: "the version of the service deleted"
      serviceid:
        type: "string"
        description: "the ID of the service deleted"
  post-services-create-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "system-options"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the service"
      version:
        type: "string"
        description: "the version of the service"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the service; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the service"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the service with markdown formatting"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "one or more authors of the service"
      remote:
        type: "boolean"
        x-nullable: true
        description: "if the service should run remotely or not"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the service is enabled"
      class-name:
        type: "string"
        x-nullable: true
        description: "the class name fot the service"
      lang:
        type: "string"
        x-nullable: true
        description: "the language of the service"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "classes that the service depends on and requires"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "finite_state_machines (fsms) that the service uses"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "mappers that the service uses"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "value maps that the service uses"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the service belongs to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags for the service"
      config-items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "config items that the service uses or defines"
      system-options:
        $ref: "#/definitions/UndefinedHash"
        description: "system options for the service"
      source:
        type: "string"
        description: "the service's source code"
  _post-remote-qorus-name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the connection; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the connection with markdown formatting"
      url:
        type: "string"
        x-nullable: true
        description: "the new URL for the connection"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for the connection"
    x-nullable: true
  ConnectionDeletionResult:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the name of the connection deleted"
  post-remote-qorus-body:
    type: "object"
    required:
    - "url"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the internal name of the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name of the connection"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description for the new connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the description for the new connection with markdown formatting"
      url:
        type: "string"
        description: "the connection string for the new connection"
  _post-remote-user-name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the connection; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the connection with markdown formatting"
      url:
        type: "string"
        x-nullable: true
        description: "the new URL for the connection"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for the connection"
    x-nullable: true
  post-remote-user-body:
    type: "object"
    required:
    - "url"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the internal name of the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name of the connection"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description for the new connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the description for the new connection with markdown formatting"
      url:
        type: "string"
        description: "the connection string for the new connection"
  NewConnectionInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "display_name"
    - "short_desc"
    - "desc"
    - "info"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      name:
        type: "string"
        description: "the name of the new connection"
      display_name:
        type: "string"
        description: "the display name of the new connection"
      short_desc:
        type: "string"
        description: "the connection's description in plain text"
      desc:
        type: "string"
        description: "the connection's description with markdown formatting"
      info:
        type: "string"
        description: "a string describing the operation performed"
  _post-remote-datasources-name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the connection; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the connection with markdown formatting"
      url:
        type: "string"
        x-nullable: true
        description: "the new URL for the connection"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for the connection"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups the new connection will belong to"
    x-nullable: true
  post-remote-datasources-body:
    type: "object"
    required:
    - "url"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the internal name of the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name of the connection"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description for the new connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the description for the new connection with markdown formatting"
      url:
        type: "string"
        description: "the connection string for the new connection; see parse_datasource()"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups the new connection will belong to"
  _post-connections-name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the connection; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the connection with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups the new connection will belong to"
    x-nullable: true
  post-connections-body:
    type: "object"
    required:
    - "url"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the internal name of the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name of the connection"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description for the new connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the description for the new connection with markdown formatting"
      url:
        type: "string"
        description: "the connection string for the new connection"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups the new connection will belong to"
  post-connections-create-body:
    type: "object"
    required:
    - "url"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the internal name of the connection"
      display_name:
        type: "string"
        x-nullable: true
        description: "the display name of the connection"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description for the new connection"
      desc:
        type: "string"
        x-nullable: true
        description: "the description for the new connection with markdown formatting"
      url:
        type: "string"
        description: "the connection string for the new connection"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups the new connection will belong to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "key-value pairs for the new connection"
  _post-fsms-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the FSM"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the FSM; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the FSM"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the FSM with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the FSM belongs to"
      input_type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the input type for the FSM"
      output_type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the output type for the FSM"
      states:
        $ref: "#/definitions/_UndefinedHash"
        description: "the state definitions for the FSM"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the FSM"
      autovar:
        $ref: "#/definitions/_UndefinedHash"
        description: "automatic variables for the FSM"
      localvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "local variables for the FSM"
      globalvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "global variables for the FSM"
    x-nullable: true
  FsmEnableInfo:
    type: "object"
    required:
    - "info"
    properties:
      info:
        type: "string"
        description: "a string describing the operation"
  _put-fsms-id_or_name-getStateData-body:
    type: "object"
    properties:
      data_context:
        type: "string"
        x-nullable: true
        description: "the data type for any target field; if present, only compatible fields will be returned"
      current_state:
        type: "string"
        x-nullable: true
        description: "any current state so that only data from previous states will be returned"
    x-nullable: true
  FsmDeletionResult:
    type: "object"
    required:
    - "name"
    properties:
      name:
        type: "string"
        description: "the name of the FSM deleted"
  _put-fsms-id_or_name-body:
    type: "object"
    properties:
      delete_runtime_data:
        type: "boolean"
        x-nullable: true
        description: "delete runtime data for any associated job, when changing the Qog trigger type"
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the FSM"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the FSM; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the FSM"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the FSM with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the FSM belongs to"
      input_type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the input type for the FSM"
      output_type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the output type for the FSM"
      states:
        $ref: "#/definitions/_UndefinedHash"
        description: "the state definitions for the FSM"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the FSM"
      autovar:
        $ref: "#/definitions/_UndefinedHash"
        description: "automatic variables for the FSM"
      localvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "local variables for the FSM"
      globalvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "global variables for the FSM"
    x-nullable: true
  _post-fsms-id_or_name-exec-body:
    type: "object"
    properties:
      input_data:
        description: "any input data for the FSM"
      state_data:
        type: "boolean"
        x-nullable: true
        description: "return information about state data in the response"
    x-nullable: true
  FsmExecInfo:
    type: "object"
    required:
    - "state_data"
    properties:
      output_data:
        description: "any output data for the FSM"
      state_data:
        $ref: "#/definitions/FsmStateDataInfo"
        description: "a hash keyed by state ID where values are the last output data for each state with a sort key"
  FsmStateDataInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/FsmStateOutputDataInfo"
  FsmStateOutputDataInfo:
    type: "object"
    required:
    - "sort"
    - "success"
    properties:
      sort:
        type: "integer"
        format: "int64"
        description: "the sort key to provide order for the hash"
      success:
        type: "boolean"
        description: "if the state was successfully executed or not"
      response:
        description: "the output data of the state, if any, and if there was no error"
      error:
        type: "string"
        x-nullable: true
        description: "any uncaught error raised by the state"
  put-fsms-getStateData-body:
    type: "object"
    required:
    - "fsm"
    properties:
      fsm:
        $ref: "#/definitions/UndefinedHash"
        description: "complete FSM parsed file data"
      data_context:
        type: "string"
        x-nullable: true
        description: "the data type for any target field; if present, only compatible fields will be returned"
      current_state:
        type: "string"
        x-nullable: true
        description: "any current state so that only data from previous states will be returned"
  post-fsms-exec-body:
    type: "object"
    required:
    - "fsm"
    properties:
      fsm:
        $ref: "#/definitions/UndefinedHash"
        description: "the FSM configuration to execute"
      input_data:
        description: "any input data for the FSM"
      state_data:
        type: "boolean"
        x-nullable: true
        description: "return information about state data in the response"
  post-fsms-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "states"
    properties:
      name:
        type: "string"
        description: "the new internal name for the FSM"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the FSM; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the FSM"
      desc:
        type: "string"
        description: "the new description for the FSM with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the FSM belongs to"
      input_type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the input type for the FSM"
      output_type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the output type for the FSM"
      states:
        $ref: "#/definitions/UndefinedHash"
        description: "the state definitions for the FSM"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the FSM"
      autovar:
        $ref: "#/definitions/_UndefinedHash"
        description: "automatic variables for the FSM"
      localvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "local variables for the FSM"
      globalvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "global variables for the FSM"
      replace:
        type: "boolean"
        x-nullable: true
        description: "if True the FSM will be replaced if it exists already"
  CreateFsmInfo:
    type: "object"
    required:
    - "id"
    - "name"
    - "display_name"
    - "draft_id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the FSM ID"
      name:
        type: "string"
        description: "the name of the FSM"
      display_name:
        type: "string"
        description: "the display name of the FSM"
      draft_id:
        type: "string"
        description: "the Qog draft ID created"
      issues:
        type: "string"
        x-nullable: true
        description: "any issues mapping the input to the Qog configuration"
      advice:
        type: "string"
        x-nullable: true
        description: "any advice on improving the input to achieve better results"
  delete-fsms-body:
    type: "object"
    required:
    - "ids"
    properties:
      ids:
        type: "array"
        items:
          type: "string"
        description: "one or more FSM IDs to delete"
  FsmDeleteResultSet:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/FsmDeleteResult"
  FsmDeleteResult:
    type: "object"
    required:
    - "success"
    properties:
      success:
        type: "boolean"
        description: "if the FSM was deleted or not"
      error:
        type: "string"
        x-nullable: true
        description: "if the FSM was not deleted, this is the error message"
  post-fsms-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "states"
    properties:
      name:
        type: "string"
        description: "the new internal name for the FSM"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the FSM; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the FSM"
      desc:
        type: "string"
        description: "the new description for the FSM with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the FSM belongs to"
      input_type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the input type for the FSM"
      output_type:
        $ref: "#/definitions/_UndefinedHash"
        description: "the output type for the FSM"
      states:
        $ref: "#/definitions/UndefinedHash"
        description: "the state definitions for the FSM"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the FSM"
      autovar:
        $ref: "#/definitions/_UndefinedHash"
        description: "automatic variables for the FSM"
      localvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "local variables for the FSM"
      globalvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "global variables for the FSM"
      replace:
        type: "boolean"
        x-nullable: true
        description: "if True the FSM will be replaced if it exists already"
  post-fsms-createDraftFromText-body:
    type: "object"
    required:
    - "input"
    properties:
      input:
        type: "string"
        description: "the plain-language text describing what the Qog should do"
  put-fsms-enable-body:
    type: "object"
    required:
    - "ids"
    properties:
      ids:
        type: "array"
        items:
          type: "string"
        description: "one or more FSM IDs to enable"
  FsmEnableResult:
    type: "object"
    required:
    - "arg"
    - "enabled"
    - "fsmid"
    - "name"
    - "info"
    properties:
      arg:
        type: "integer"
        format: "int64"
        description: "the ID provided"
      enabled:
        type: "boolean"
        description: "if the FSM was enabled or not"
      fsmid:
        type: "integer"
        format: "int64"
        description: "the FSM ID"
      name:
        type: "string"
        description: "the name of the FSM if known"
      info:
        type: "string"
        description: "a string describing the operation performed"
  put-fsms-disable-body:
    type: "object"
    required:
    - "ids"
    properties:
      ids:
        type: "array"
        items:
          type: "string"
        description: "one or more FSM IDs to disable"
  FsmDisableResult:
    type: "object"
    required:
    - "arg"
    - "disabled"
    - "fsmid"
    - "name"
    - "info"
    properties:
      arg:
        type: "integer"
        format: "int64"
        description: "the ID provided"
      disabled:
        type: "boolean"
        description: "if the FSM was disabled or not"
      fsmid:
        type: "integer"
        format: "int64"
        description: "the FSM ID"
      name:
        type: "string"
        description: "the name of the FSM if known"
      info:
        type: "string"
        description: "a string describing the operation performed"
  DataProviderActionInfo:
    type: "object"
    required:
    - "app"
    - "action"
    - "path"
    - "display_name"
    - "short_desc"
    - "desc"
    - "action_code"
    - "action_code_str"
    - "data_dependent_options"
    - "fsm_format"
    - "has_options"
    - "options_url"
    - "exec_url"
    properties:
      app:
        type: "string"
        description: "the application name"
      action:
        type: "string"
        description: "the unique action name in the application"
      subtype:
        type: "string"
        x-nullable: true
        description: "the subtype for the data provider provided by the connection"
      path:
        type: "string"
        description: "the data provider path for the action"
      path_vars:
        $ref: "#/definitions/_PathVarSet"
        description: "descriptions for any path variables"
      display_name:
        type: "string"
        description: "the name of the action that will be displayed to users"
      short_desc:
        type: "string"
        description: "the action's short description in plain text"
      desc:
        type: "string"
        description: "the action's long description with markdown formatting"
      action_code:
        type: "integer"
        format: "int64"
        description: "the action's code"
      action_code_str:
        type: "string"
        description: "a string description of the action code"
      action_val:
        type: "string"
        x-nullable: true
        description: "the action value (message or event type)"
      cls:
        type: "string"
        x-nullable: true
        description: "the class name for applications with no schema"
      data_dependent_options:
        type: "boolean"
        description: "if the action contains data-dependent option definitions"
      fsm_format:
        type: "boolean"
        description: "if the application requires special processing by the front end"
      has_dynamic_options:
        type: "boolean"
        x-nullable: true
        description: "if the action supports dynamic options"
      has_options:
        type: "boolean"
        description: "if the action supports options"
      options_url:
        type: "string"
        description: "the URL to the API to verify action options"
      exec_url:
        type: "string"
        description: "the URL to the API to execute actions"
  _PathVarSet:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/PathVarInfo"
    x-nullable: true
  PathVarInfo:
    type: "object"
    required:
    - "display_name"
    - "short_desc"
    - "desc"
    properties:
      display_name:
        type: "string"
        description: "the display name of the path var"
      short_desc:
        type: "string"
        description: "short description of the path var in plain text"
      desc:
        type: "string"
        description: "description of the path var with markdown formatting"
      example_value:
        type: "string"
        x-nullable: true
        description: "any exmple value for the path var"
  _put-dataprovider-apps-app-actions-action-outputType-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options and values to use"
      context:
        type: "string"
        x-nullable: true
        description: "the request context (\"ui\" means that arguments should be in \"ui\" format)"
    x-nullable: true
  _DataProviderActionOutputTypeInfo:
    type: "object"
    required:
    - "name"
    - "display_name"
    - "short_desc"
    - "desc"
    - "type"
    properties:
      name:
        type: "string"
        description: "the name of the type"
      display_name:
        type: "string"
        description: "the display name of the type"
      short_desc:
        type: "string"
        description: "the short plain-text description of the type"
      desc:
        type: "string"
        description: "the full description of the type with markdown formatting"
      type:
        type: "string"
        description: "the name of the underlying %Qore type for this type"
      fields:
        $ref: "#/definitions/_ActionOutputFieldInfo"
        description: "a hash keyed by field name of fields supported by the type"
    x-nullable: true
  _ActionOutputFieldInfo:
    type: "object"
    additionalProperties:
      $ref: "#/definitions/ActionOutputInfo"
    x-nullable: true
  ActionOutputInfo:
    type: "object"
    additionalProperties:
      description: not available
  _put-dataprovider-apps-app-actions-action-outputTypeDescriptions-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options and values to use"
      context:
        type: "string"
        x-nullable: true
        description: "the request context (\"ui\" means that arguments should be in \"ui\" format)"
    x-nullable: true
  _StringHash:
    type: "object"
    additionalProperties:
      type: "string"
    x-nullable: true
  _put-dataprovider-apps-app-actions-action-getCreateConnectionOptions-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options and values to use"
    x-nullable: true
  _post-dataprovider-apps-app-actions-action-createConnection-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options and values to use"
    x-nullable: true
  _put-dataprovider-apps-app-actions-action-updateConnection-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "attributes to update on the connection; at least either the id or name attributes must be present to identify the connection; if id is present, then name can be used to rename the connection"
    x-nullable: true
  _put-dataprovider-apps-app-actions-action-getOptions-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_StringHash"
        description: "options and values to use"
      context:
        type: "string"
        x-nullable: true
        description: "the request context (\"ui\" means that arguments should be in \"ui\" format)"
      localvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "any local variables for the Qog"
      globalvar:
        $ref: "#/definitions/_UndefinedHash"
        description: "any global variables for the Qog"
    x-nullable: true
  _post-dataprovider-apps-app-actions-action-exec-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options and values to use including qorus_app_connection; these are the options from the PUT getOptions() API also including any arguments for making the call, sending the message, etc"
      fsm:
        $ref: "#/definitions/_UndefinedHash"
        description: "complete FSM parsed file data to be used to resolve state references"
      current_state:
        type: "string"
        x-nullable: true
        description: "the current state for fsm"
      generate:
        type: "boolean"
        x-nullable: true
        description: "if True, then missing argument values will be generated"
    x-nullable: true
  DataProviderAppInfo:
    type: "object"
    required:
    - "name"
    - "display_name"
    - "short_desc"
    - "desc"
    - "builtin"
    - "custom"
    - "supports_events"
    - "supports_apis"
    - "supports_messages"
    - "supports_find"
    - "supports_find_single"
    - "supports_create"
    - "supports_upsert"
    - "supports_update"
    - "supports_delete"
    - "hidden"
    - "logo"
    - "logo_file_name"
    - "logo_mime_type"
    properties:
      name:
        type: "string"
        description: "the unique application name"
      display_name:
        type: "string"
        description: "the dispay name for the application"
      short_desc:
        type: "string"
        description: "the application's short description in plain text"
      desc:
        type: "string"
        description: "the application description with markdown formatting"
      legal:
        type: "string"
        x-nullable: true
        description: "any legal text, links, copyright notice(s), or disclaimer(s) related to the use of the app; markdown supported"
      builtin:
        type: "boolean"
        description: "if the application is builtin to Qorus or not"
      custom:
        type: "boolean"
        description: "if the application is a custom, user-defined app or not"
      scheme:
        type: "string"
        x-nullable: true
        description: "any scheme identifying a connection for the application"
      supports_events:
        type: "boolean"
        description: "If the app has actions supporting events"
      supports_apis:
        type: "boolean"
        description: "If the app has actions supporting API calls"
      supports_messages:
        type: "boolean"
        description: "If the app has actions supporting sending messages"
      supports_find:
        type: "boolean"
        description: "If the app has actions supporting find operations"
      supports_find_single:
        type: "boolean"
        description: "If the app has actions supporting \"find single\" operations"
      supports_create:
        type: "boolean"
        description: "If the app has actions supporting record creation"
      supports_upsert:
        type: "boolean"
        description: "If the app has actions supporting record upsert"
      supports_update:
        type: "boolean"
        description: "If the app has actions supporting record update"
      supports_delete:
        type: "boolean"
        description: "If the app has actions supporting record deletion"
      hidden:
        type: "boolean"
        description: "If the app should be hidden in the front end"
      logo:
        type: "string"
        description: "a link to the logo data that will be served directly"
      logo_file_name:
        type: "string"
        description: "the file name of the logo"
      logo_mime_type:
        type: "string"
        description: "the mime type for logo"
      oauth2_clients:
        type: "array"
        items:
          $ref: "#/definitions/OAuth2AppClientInfo"
        x-nullable: true
        description: "OAuth2 client info, if any"
      connections:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of existing connections with the given scheme"
      actions:
        type: "array"
        items:
          $ref: "#/definitions/DataProviderActionInfo"
        x-nullable: true
        description: "list of all actions on each application"
      oauth2_client:
        $ref: "#/definitions/_OAuth2ClientInfo"
        description: "OAuth2 client info, if any"
  OAuth2AppClientInfo:
    type: "object"
    required:
    - "oauth2_client_id"
    - "oauth2_client_secret"
    - "url_type"
    properties:
      oauth2_client_id:
        type: "string"
        description: "the OAuth2 client ID to use"
      oauth2_client_secret:
        type: "string"
        description: "the OAuth2 client secret to use"
      url_type:
        type: "string"
        description: "auto: automatically generated or required: the user must provide a URL"
      oauth2_auth_url:
        type: "string"
        x-nullable: true
        description: "if set, this overrides the REST connection option"
      oauth2_token_url:
        type: "string"
        x-nullable: true
        description: "if set, this overrides the REST connection option"
      required_options:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of connection options that must be filled in by the user to create the connection"
      redirects:
        $ref: "#/definitions/_QorusBooleanSetInfo"
        description: "set of allowed redirects"
      supports_cloud:
        type: "boolean"
        x-nullable: true
        description: "if the client supports cloud redirects"
  _OAuth2ClientInfo:
    type: "object"
    required:
    - "oauth2_client_id"
    - "oauth2_client_secret"
    - "url_type"
    properties:
      oauth2_client_id:
        type: "string"
        description: "the OAuth2 client ID to use"
      oauth2_client_secret:
        type: "string"
        description: "the OAuth2 client secret to use"
      url_type:
        type: "string"
        description: "auto: automatically generated or required: the user must provide a URL"
      oauth2_auth_url:
        type: "string"
        x-nullable: true
        description: "if set, this overrides the REST connection option"
      oauth2_token_url:
        type: "string"
        x-nullable: true
        description: "if set, this overrides the REST connection option"
      required_options:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of connection options that must be filled in by the user to create the connection"
    x-nullable: true
  _put-dataprovider-apps-app-getCreateConnectionOptions-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options and values to use"
    x-nullable: true
  _post-dataprovider-apps-app-createConnection-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options and values to use"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags to add on the connection"
    x-nullable: true
  _put-dataprovider-apps-app-updateConnection-body:
    type: "object"
    properties:
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "attributes to update on the connection; at least either the id or name attributes must be present to identify the connection; if id is present, then name can be used to rename the connection"
    x-nullable: true
  OAuth2ClientCacheInfo:
    type: "object"
    required:
    - "count"
    - "timestamp"
    properties:
      count:
        type: "integer"
        format: "int64"
        description: "number of clients cached"
      timestamp:
        type: "string"
        format: "date-time"
        description: "the date the cache was refreshed"
  _post-slas-sla-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the SLA"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the SLA; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the SLA"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the SLA with markdown formatting"
      units:
        type: "string"
        x-nullable: true
        description: "describes the units of SLA event values (allowed values: \"seconds\" and \"other\")"
      methods:
        type: "array"
        items:
          $ref: "#/definitions/ServiceSlaInfo"
        x-nullable: true
        description: "list of methods to attach to the SLA"
      jobs:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "jobs to attach to the SLA"
    x-nullable: true
  CloneSlaInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-slas-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    properties:
      name:
        type: "string"
        description: "the new internal name for the SLA"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the SLA; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the SLA"
      desc:
        type: "string"
        description: "the new description for the SLA with markdown formatting"
      units:
        type: "string"
        x-nullable: true
        description: "describes the units of SLA event values (allowed values: \"seconds\" and \"other\")"
      methods:
        type: "array"
        items:
          $ref: "#/definitions/ServiceSlaInfo"
        x-nullable: true
        description: "list of methods to attach to the SLA"
      jobs:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "jobs to attach to the SLA"
  CreateSlaInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  _post-types-type-clone-body:
    type: "object"
    properties:
      path:
        type: "string"
        x-nullable: true
        description: "the new path for the type; if not provided, the new path will be generated"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the type"
      typeinfo:
        $ref: "#/definitions/_UndefinedHash"
        description: "the new definition of the type"
    x-nullable: true
  _put-types-type-body:
    type: "object"
    properties:
      path:
        type: "string"
        x-nullable: true
        description: "the new path for the type; if not provided, the new path will be generated"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the type"
      typeinfo:
        $ref: "#/definitions/_UndefinedHash"
        description: "the new definition of the type"
    x-nullable: true
  _delete-types-type-body:
    type: "object"
    properties:
      cascade:
        type: "boolean"
        x-nullable: true
        description: "force-delete the object and update all dependent objects; can break those objects"
    x-nullable: true
  TypeDeletionInfo:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the ID of the type that was deleted"
  post-types-body:
    type: "object"
    required:
    - "path"
    - "typeinfo"
    properties:
      path:
        type: "string"
        description: "the new path for the type"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the type"
      typeinfo:
        $ref: "#/definitions/UndefinedHash"
        description: "the new definition of the type"
  TypeSummaryInfo:
    type: "object"
    required:
    - "id"
    - "path"
    - "locked"
    properties:
      id:
        type: "integer"
        format: "int64"
        description: "the type's ID"
      path:
        type: "string"
        description: "the path to the type"
      locked:
        type: "boolean"
        description: "is the type locked (read-only) or not?"
  post-types-create-body:
    type: "object"
    required:
    - "path"
    - "typeinfo"
    properties:
      path:
        type: "string"
        description: "the new path for the type"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the plain-text short description"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the type"
      typeinfo:
        $ref: "#/definitions/UndefinedHash"
        description: "the new definition of the type"
  _post-jobs-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the job"
      version:
        type: "string"
        x-nullable: true
        description: "the version of the job"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the job; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the job"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the job with markdown formatting"
      schedule:
        $ref: "#/definitions/_JobCronHash"
        description: "the cron schedule for the job"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "one or more authors of the job"
      remote:
        type: "boolean"
        x-nullable: true
        description: "if the job should run remotely or not"
      active:
        type: "boolean"
        x-nullable: true
        description: "if the job is active (will be scheduled) or not"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the job is enabled"
      expiry-date:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date the job expires"
      class-name:
        type: "string"
        x-nullable: true
        description: "the class name fot the job"
      lang:
        type: "string"
        x-nullable: true
        description: "the language of the job"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "classes that the job depends on and requires"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "finite_state_machines (fsms) that the job uses"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "mappers that the job uses"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "value maps that the job uses"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the job belongs to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags for the job"
      config-items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "config items that the job uses or defines"
      system-options:
        $ref: "#/definitions/_UndefinedHash"
        description: "system options for the job"
      source:
        type: "string"
        x-nullable: true
        description: "the job's source code"
    x-nullable: true
  CloneJobInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-jobs-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "desc"
    - "schedule"
    - "system-options"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the job"
      version:
        type: "string"
        description: "the version of the job"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the job; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the job"
      desc:
        type: "string"
        description: "the new description for the job with markdown formatting"
      schedule:
        $ref: "#/definitions/JobCronHash"
        description: "the cron schedule for the job"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "one or more authors of the job"
      remote:
        type: "boolean"
        x-nullable: true
        description: "if the job should run remotely or not"
      active:
        type: "boolean"
        x-nullable: true
        description: "if the job is active (will be scheduled) or not"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the job is enabled"
      expiry-date:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date the job expires"
      class-name:
        type: "string"
        x-nullable: true
        description: "the class name fot the job"
      lang:
        type: "string"
        x-nullable: true
        description: "the language of the job"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "classes that the job depends on and requires"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "finite_state_machines (fsms) that the job uses"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "mappers that the job uses"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "value maps that the job uses"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the job belongs to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags for the job"
      config-items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "config items that the job uses or defines"
      system-options:
        $ref: "#/definitions/UndefinedHash"
        description: "system options for the job"
      source:
        type: "string"
        description: "the job's source code"
  JobCronHash:
    type: "object"
    additionalProperties:
      description: not available
  CreateJobInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-jobs-create-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "desc"
    - "schedule"
    - "system-options"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the job"
      version:
        type: "string"
        description: "the version of the job"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the job; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the job"
      desc:
        type: "string"
        description: "the new description for the job with markdown formatting"
      schedule:
        $ref: "#/definitions/JobCronHash"
        description: "the cron schedule for the job"
      author:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "one or more authors of the job"
      remote:
        type: "boolean"
        x-nullable: true
        description: "if the job should run remotely or not"
      active:
        type: "boolean"
        x-nullable: true
        description: "if the job is active (will be scheduled) or not"
      enabled:
        type: "boolean"
        x-nullable: true
        description: "if the job is enabled"
      expiry-date:
        type: "string"
        format: "date-time"
        x-nullable: true
        description: "the date the job expires"
      class-name:
        type: "string"
        x-nullable: true
        description: "the class name fot the job"
      lang:
        type: "string"
        x-nullable: true
        description: "the language of the job"
      classes:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "classes that the job depends on and requires"
      fsms:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "finite_state_machines (fsms) that the job uses"
      mappers:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "mappers that the job uses"
      vmaps:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "value maps that the job uses"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the job belongs to"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "user-defined tags for the job"
      config-items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "config items that the job uses or defines"
      system-options:
        $ref: "#/definitions/UndefinedHash"
        description: "system options for the job"
      source:
        type: "string"
        description: "the job's source code"
  AppDeletionResult:
    type: "object"
    required:
    - "name"
    - "path"
    properties:
      name:
        type: "string"
        description: "the name of the app deleted"
      path:
        type: "string"
        description: "path of the app file deleted"
  post-system-dynamic-apps-body:
    type: "object"
    required:
    - "file"
    properties:
      file:
        $ref: "#/definitions/FileInfo"
        description: "the new JS file"
  FileInfo:
    type: "object"
    required:
    - "content"
    - "size"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the file name (this parameter is ignored)"
      content:
        type: "string"
        description: "a string in the following format: \"<mime-type>;base64,xxxx\", where xxxx is a base64-encoded string"
      size:
        type: "integer"
        format: "int64"
        description: "the size of the decoded file data in bytes (this parameter is ignored)"
  AddAppResultInfo:
    type: "object"
    required:
    - "apps"
    properties:
      apps:
        type: "array"
        items:
          type: "string"
        description: "the app(s) registered from the file"
  _post-system-objects-body:
    type: "object"
    properties:
      objects:
        $ref: "#/definitions/_CreateObjectInfo"
        description: "a hash of metadata objects to create"
    x-nullable: true
  _CreateObjectInfo:
    type: "object"
    properties:
      class:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the class data to use to create one of more classes"
      constant:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the constant data to use to create one of more constants"
      errors:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the error set data to create"
      event:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the event data to use to create one or more workflow synchronization event types"
      fsm:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the FSM data to use to create one or more FSMs"
      function:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the function data to create"
      group:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the group data to create"
      job:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the job data to create"
      mapper:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the mapper data to create"
      mapper-code:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the mapper code data to create"
      pipeline:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the pipeline data to use to create one or more pipelines"
      queue:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the queue data to use to create one or more queues"
      service:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the service data to create"
      sla:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the SLA data to create"
      step:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the step data to create"
      type:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the type data to create"
      workflow:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the workflow data to create"
      value-map:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "the value map data to create"
    additionalProperties:
      type: "array"
      items:
        $ref: "#/definitions/UndefinedHash"
      x-nullable: true
    x-nullable: true
  post-system-writeSources-body:
    type: "object"
    required:
    - "subdir"
    - "objects"
    properties:
      subdir:
        type: "string"
        description: "the subdirectory of $OMQ_DIR/user where the release files will be written"
      include_dependencies:
        type: "boolean"
        x-nullable: true
        description: "if true then include all dependencies of objects"
      objects:
        $ref: "#/definitions/ReleaseObjectInfo"
        description: "a hash of release objects to write"
  ReleaseObjectInfo:
    type: "object"
    properties:
      class:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of class IDs or name:version strings to write"
      connection:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of connection IDs or names to write"
      constant:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of constant IDs or name:version strings to write"
      errors:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of error set IDs or names to write"
      event:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of workflow synchronization event IDs or names to write"
      fsm:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of Qog (FSM) IDs or names to write"
      function:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of function IDs or name:version strings to write"
      group:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of group IDs or names to write"
      job:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of job IDs or names to write"
      mapper:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of mapper IDs or name:version strings to write"
      pipeline:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of pipeline IDs or names to write"
      queue:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of asynchronous queue IDs or names to write"
      service:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of service IDs or name:version strings to write"
      sla:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of SLA IDs or names to write"
      step:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of step IDs or name:version strings to write"
      type:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of type IDs or paths to write"
      workflow:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of workflow IDs or name:version strings to write"
      value-map:
        type: "array"
        items:
          $ref: "#/definitions/AnyType"
        x-nullable: true
        description: "a list of value map IDs or names to write"
    additionalProperties:
      type: "array"
      items:
        $ref: "#/definitions/AnyType"
      x-nullable: true
  WriteSourcesInfo:
    type: "object"
    required:
    - "subdir"
    - "objects"
    properties:
      subdir:
        type: "string"
        description: "the subdirectory where the files were written"
      objects:
        $ref: "#/definitions/WriteObjectsInfo"
        description: "a hash keyed by object type with a list of IDs saved"
      files:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of files exported"
  WriteObjectsInfo:
    type: "object"
    properties:
      class:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of class IDs exported"
      connection:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of connection IDs exported"
      constant:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of constant IDs exported"
      errors:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of error set IDs or names exported"
      event:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of workflow synchronization event IDs or names exported"
      fsm:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of Qog (FSM) IDs or names exported"
      function:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of function IDs exported"
      group:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of group IDs or names exported"
      job:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of job IDs or names exported"
      mapper:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of mapper IDs exported"
      pipeline:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of pipeline IDs or names exported"
      queue:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of asynchronous queue IDs or names exported"
      service:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of service IDs exported"
      sla:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of SLA IDs or names exported"
      step:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of step IDs exported"
      type:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of type IDs or paths exported"
      workflow:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of workflow IDs exported"
      value-map:
        type: "array"
        items:
          type: "integer"
          format: "int64"
        x-nullable: true
        description: "a list of value map IDs or names exported"
  CreateReleaseInfo:
    type: "object"
    required:
    - "release"
    - "objects"
    properties:
      release:
        type: "string"
        description: "the release name"
      objects:
        $ref: "#/definitions/WriteObjectsInfo"
        description: "a hash keyed by object type with a list of IDs saved"
      files:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of files exported"
  post-system-createRelease-body:
    type: "object"
    required:
    - "objects"
    properties:
      release:
        type: "string"
        x-nullable: true
        description: "the release name, if not given, one will be generated"
      allow_dangerous_redefinitions:
        type: "boolean"
        x-nullable: true
        description: "if true, then the release will be created such that dangerous redefinitions that could cause problems in production instances will be allowed"
      include_dependencies:
        type: "boolean"
        x-nullable: true
        description: "if true then include all dependencies of objects"
      objects:
        $ref: "#/definitions/ReleaseObjectInfo"
        description: "a hash of release objects to write"
  _put-system-getContextData-body:
    type: "object"
    properties:
      interface_context:
        type: "string"
        x-nullable: true
        description: "the context for the data; one of: workflow, service, or \\b job"
      data_context:
        type: "string"
        x-nullable: true
        description: "the data type for any target field; if present, only compatible fields will be returned"
    x-nullable: true
  post-system-alertMessage-body:
    type: "object"
    required:
    - "content"
    properties:
      title:
        type: "string"
        x-nullable: true
        description: "the title of the alert; default if not provided: \"Alert\""
      intent:
        type: "string"
        x-nullable: true
        description: "the intent; default if not provided: \"danger\""
      content:
        type: "string"
        description: "the content of the alert message"
      duration:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the length of the notification in ms"
  AlertMessageInfo:
    type: "object"
    required:
    - "title"
    - "intent"
    - "content"
    properties:
      title:
        type: "string"
        description: "the title of the alert"
      intent:
        type: "string"
        description: "the intent; default if not provided \"danger\""
      content:
        type: "string"
        description: "the content of the alert message"
      duration:
        type: "integer"
        format: "int64"
        x-nullable: true
        description: "the length of the notification in ms"
  post-system-licenseEvent-body:
    type: "object"
    required:
    - "message"
    properties:
      licensed:
        type: "boolean"
        x-nullable: true
        description: "if the instance is licensed; default True"
      message:
        type: "string"
        description: "the message to post with the event"
  post-system-evalExpression-body:
    type: "object"
    required:
    - "exp"
    properties:
      exp:
        $ref: "#/definitions/UndefinedHash"
        description: "the expression to evaluate"
  post-pipelines-name-clone-body:
    type: "object"
    required:
    - "children"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the pipeline"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the pipeline; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the pipeline"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the pipeline with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the pipeline belongs to"
      input_provider:
        $ref: "#/definitions/_UndefinedHash"
        description: "the input provider for the pipeline"
      input_provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for the input provider"
      children:
        $ref: "#/definitions/UndefinedHash"
        description: "the element and queue definitions for the pipeline"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the pipeline"
  put-pipelines-name-body:
    type: "object"
    required:
    - "children"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the pipeline"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the pipeline; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the pipeline"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the pipeline with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the pipeline belongs to"
      input_provider:
        $ref: "#/definitions/_UndefinedHash"
        description: "the input provider for the pipeline"
      input_provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for the input provider"
      children:
        $ref: "#/definitions/UndefinedHash"
        description: "the element and queue definitions for the pipeline"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the pipeline"
  PipelineDeletionResult:
    type: "object"
    required:
    - "name"
    - "pipelineid"
    - "mapperid"
    - "version"
    properties:
      name:
        type: "string"
        description: "the name of the mapper deleted"
      pipelineid:
        type: "string"
        description: "the ID of the data pipeline deleted"
      mapperid:
        type: "string"
        description: "the ID of the mapper deleted"
      version:
        type: "string"
        description: "the version of the mapper deleted"
  post-pipelines-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "children"
    properties:
      name:
        type: "string"
        description: "the new internal name for the pipeline"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the pipeline; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the pipeline"
      desc:
        type: "string"
        description: "the new description for the pipeline with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the pipeline belongs to"
      input_provider:
        $ref: "#/definitions/_UndefinedHash"
        description: "the input provider for the pipeline"
      input_provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for the input provider"
      children:
        $ref: "#/definitions/UndefinedHash"
        description: "the element and queue definitions for the pipeline"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the pipeline"
  post-pipelines-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    - "children"
    properties:
      name:
        type: "string"
        description: "the new internal name for the pipeline"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the pipeline; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the pipeline"
      desc:
        type: "string"
        description: "the new description for the pipeline with markdown formatting"
      groups:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "interface groups that the pipeline belongs to"
      input_provider:
        $ref: "#/definitions/_UndefinedHash"
        description: "the input provider for the pipeline"
      input_provider_options:
        $ref: "#/definitions/_UndefinedHash"
        description: "any options for the input provider"
      children:
        $ref: "#/definitions/UndefinedHash"
        description: "the element and queue definitions for the pipeline"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the pipeline"
  _post-mappers-id_or_name-clone-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the mapper"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the mapper; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the mapper"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the mapper with markdown formatting"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the mapper"
    x-nullable: true
  _put-mappers-id_or_name-body:
    type: "object"
    properties:
      name:
        type: "string"
        x-nullable: true
        description: "the new internal name for the mapper"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the mapper; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the mapper"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the mapper with markdown formatting"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the mapper"
    x-nullable: true
  post-mappers-body:
    type: "object"
    required:
    - "name"
    - "desc"
    properties:
      name:
        type: "string"
        description: "the new internal name for the mapper"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the mapper; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the mapper"
      desc:
        type: "string"
        description: "the new description for the mapper with markdown formatting"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the mapper"
  post-mappers-create-body:
    type: "object"
    required:
    - "name"
    - "desc"
    properties:
      name:
        type: "string"
        description: "the new internal name for the mapper"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the mapper; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the mapper"
      desc:
        type: "string"
        description: "the new description for the mapper with markdown formatting"
      options:
        $ref: "#/definitions/_UndefinedHash"
        description: "options for the mapper"
  post-classes-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the class"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the class; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the class"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the class with markdown formatting"
      version:
        type: "string"
        description: "the new version for the class"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the class"
      source:
        type: "string"
        description: "the source code for the class"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name for the class"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language of the class"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items for the class"
      requires:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of classes required by this class"
      processor:
        $ref: "#/definitions/_UndefinedHash"
        description: "processor definitions"
      connectors:
        $ref: "#/definitions/_UndefinedHash"
        description: "connector definitions"
      class_name:
        type: "string"
        x-nullable: true
        description: "the class name for the class; must be a valid identifier"
  CreateClassInfo:
    type: "object"
    required:
    - "action"
    - "id"
    - "obj"
    properties:
      action:
        type: "string"
        description: "the action performed"
      id:
        type: "integer"
        format: "int64"
        description: "the object ID"
      obj:
        $ref: "#/definitions/UndefinedHash"
        description: "the object"
      tags:
        $ref: "#/definitions/_UndefinedHash"
        description: "any tags for the object or sent with the request"
  post-classes-create-body:
    type: "object"
    required:
    - "name"
    - "version"
    - "source"
    properties:
      name:
        type: "string"
        description: "the new internal name for the class"
      display_name:
        type: "string"
        x-nullable: true
        description: "the new display name for the class; generated from name if necessary"
      short_desc:
        type: "string"
        x-nullable: true
        description: "the short plain-text description for the class"
      desc:
        type: "string"
        x-nullable: true
        description: "the new description for the class with markdown formatting"
      version:
        type: "string"
        description: "the new version for the class"
      author:
        type: "string"
        x-nullable: true
        description: "the author of the class"
      source:
        type: "string"
        description: "the source code for the class"
      base_class_name:
        type: "string"
        x-nullable: true
        description: "the base class name for the class"
      language:
        type: "string"
        x-nullable: true
        description: "the programming language of the class"
      config_items:
        type: "array"
        items:
          $ref: "#/definitions/UndefinedHash"
        x-nullable: true
        description: "a list of config items for the class"
      requires:
        type: "array"
        items:
          type: "string"
        x-nullable: true
        description: "a list of classes required by this class"
      processor:
        $ref: "#/definitions/_UndefinedHash"
        description: "processor definitions"
      connectors:
        $ref: "#/definitions/_UndefinedHash"
        description: "connector definitions"
      class_name:
        type: "string"
        x-nullable: true
        description: "the class name for the class; must be a valid identifier"
