Qorus Integration Engine®  4.0.3.p2_git
Qorus REST API Data Structures

REST Library Object Hash

Library object hashes have the following keys:

  • functions: a list of function objects (can be empty)
  • classes: a list of class objects (can be empty)
  • constants: a list of constant objects (can be empty)

Library object hash values in the lists assigned to the keys listed above have the following keys:

  • name: the name of the object
  • version: the version of the object
  • id: the id of the object (corresponding to a function_instanceid, classid, or constantid)
Example
lib : hash: (3 members)
  functions : <EMPTY LIST>
  classes : <EMPTY LIST>
  constants : list: (1 element)
    [0]=hash: (3 members)
      name : "Errors"
      version : "1.0"
      id : 12

REST Mapper Hash

Mapper hashes have the following keys:

  • mapperid: the ID of the mapper
  • name: the name of the mapper
  • version: the version of the mapper
  • type: the type of the mapper
Example
mappers : list: (1 element)
  [0]=hash: (4 members)
    mapperid : 119
    name : "it-32-inv_stock_adj-brep_trans-rrc-dhl-in"
    version : "1.0"
    type : "EbsSingleTableInboundMapper"

REST Value Map Hash

Value map hashes have the following keys:

  • id: the ID of the value map
  • name: the name of the value map
  • throws_exception: a boolean value indicating how requests for unknown values should be processed
  • valuetype: the data type of the value map
  • mapsize: the number of elements in the map
Example
vmaps : list: (1 element)
  [0]=hash: (5 members)
    id : 3
    name : "it-34-inv_direct_transfer-inventory-tat-smart"
    throws_exception : False
    valuetype : "string"
    mapsize : 2

REST Option Hash

Options hashes have the following keys:

  • name: the name of the option
  • desc: a description for the option
  • value: the value of the option
Example
    options : list: (1 element)
      [0]=hash: (3 members)
        name : "verbose"
        desc : "sets verbose level"
        value : 11

REST Alert Hash

Alert hashes have the following keys:

  • type: the type of object directly affected by the alert
  • id: the ID of the object directly affected by the alert
  • alerttype: either "ONGOING" or "TRANSIENT"
  • when: the timestamp when the alert was first raised
  • local: a boolean flag; True if the alert was raised by the local instance
  • alert: the name or string code of the alert
  • alertid: a unique identifier for the alert (unique within the instance that raised the alert)
  • reason: a string giving the reason the alert was raised
  • who: a string describing the user or entity that raised the alert
  • source: a string describing the source of the alert
  • object: a string describing the object the alert directly affects
  • instance: the instance key of the Qorus instance where the alert was raised
  • name: the name of the object directly affected by the alert
  • auditid: NOTHING if alert auditing is not enabled, otherwise an integer giving the auditid of the alert event
Example
alerts : list: (1 element)
  [0]=hash: (14 members)
    type : "GROUP"
    id : 728
    alerttype : "ONGOING"
    when : 2016-05-22 13:57:03.196796 Sun +02:00 (CEST)
    local : True
    alert : "INTERFACE-GROUP-DISABLED"
    alertid : 3
    reason : "\"enabled\" flag for interface group \"SALESFORCE-EXAMPLE-1\" set to false in the DB at system startup"
    who : "Qorus"
    source : "system"
    object : "GROUP SALESFORCE-EXAMPLE-1 (728)"
    instance : "quark-1"
    name : "SALESFORCE-EXAMPLE-1"
    auditid : 4797709

REST Connection Dependency Hash

Connection dependency hashes have the following keys:

Example
connections : list: (1 element)
  [0]=hash: (3 members)
    type : "DATASOURCE"
    name : "staging-ora"
    up : True

REST Interface Group Hash

Interface group hashes have the following keys:

  • name: the name of the group
  • enabled: the status of the group as a bool
  • size: the total number of members of the group
Example
groups : list: (2 elements)
  [0]=hash: (3 members)
    name : "IT"
    enabled : True
    size : 432
  [1]=hash: (3 members)
    name : "IT-84-EXPORT_ITEM_CROSS_REFERENCE-OUT"
    enabled : True
    size : 1

REST Execution Instance Hash

Execution instance hashes have the following keys:

  • mode: the workflow execution instance execution mode
  • status: always "n/a"; removed in Qorus 4.0/REST API v3
  • iterations: always 0; removed in Qorus 4.0/REST API v3
  • totalSegments: number of segments in the workflow
  • starttime: the date/time the execution instance was started
  • logfile: the log file name (full path)
  • sync: a boolean flag if the execution instance is synchronous or not
  • executionID: the workflow execution instance ID
  • errors: always 0; removed in Qorus 4.0/REST API v3
  • warnings: always 0; removed in Qorus 4.0/REST API v3
Example
    name : "IT-32-INV_STOCK_ADJ-ROAMERS-SG-IN"
    version : "1.0"
    mode : "NORMAL"
    status : "n/a"
    iterations : 0
    totalSegments : 1
    starttime : 2016-05-22 13:58:45.335128 Sun +02:00 (CEST)
    logfile : "/Users/david/src/Qorus/test/log/OMQ-quark-1-IT-32-INV_STOCK_ADJ-ROAMERS-SG-IN.log"
    options : <EMPTY HASH>
    sync : False
    executionID : 209
    workflowid : 607
    errors : 0
    warnings : 0

REST Execution Instance Hash v3

Execution instance hashes in the REST v3 API are the same as in the v1 and v2 APIs except that the V3 hash adds the "remote" and "process" keys; these hashes have the following keys:

  • mode: the workflow execution instance execution mode
  • status: the current status
  • totalSegments: number of segments in the workflow
  • starttime: the date/time the execution instance was started
  • logfile: the log file name (full path)
  • sync: a boolean flag if the execution instance is synchronous or not
  • executionID: the workflow execution instance ID
  • remote: if True, the workflow execution instance is running in a remote qwf process, otherwise it is running internally in the qorus-core process
  • process: present when remote is True; this is a REST Process Execution Info Hash
Example
    name : "IT-32-INV_STOCK_ADJ-ROAMERS-SG-IN"
    version : "1.0"
    mode : "NORMAL"
    totalSegments : 1
    starttime : 2016-05-22 13:58:45.335128 Sun +02:00 (CEST)
    logfile : "/Users/david/src/Qorus/test/log/OMQ-quark-1-IT-32-INV_STOCK_ADJ-ROAMERS-SG-IN.log"
    options : <EMPTY HASH>
    sync : False
    executionID : 209
    workflowid : 607

REST Audit Info Hash

Audit info hashes have the following keys:

  • audit_event_code: the audit event code (see Audit Event Codes for possible values)
  • reason: the reason for the event (ex: if due to an API call, then the API name, ex "REST PUT api/jobs/myjob?action=run", if due to normal system processing, then the string "internal call")
  • who: the user who initiated the action that led to the event, or "Qorus" if due to normal system processing or no username is available
  • source: the source of the call that led to the event (ex: "source: ipv6[::1]:50653 listener: ipv6[::]:8001") or "system" if due to normal system processing
  • info1: first informational string for the event
  • info2: second informational string for the event
  • created: the date/time the event was created
  • event: the event string corresponding to the audit_event_code
Example
    audit_event_code : 6
    reason : "internal call"
    who : "Qorus"
    source : "system"
    info1 : "I"
    info2 : "C"
    created : 2014-06-18 12:49:58.329436 Wed +02:00 (CEST)
    event : "WORKFLOW-STATUS-CHANGE"

REST Order Note Hash

Order note hashes have the following keys:

  • saved: a boolean indicating if the note has already been flushed to the DB or not
  • username: the user who created the note
  • note: the note itself
  • created: the date/time the note was created
  • modified: the date/time the note was modified

REST Workflow Description Hash

Workflow description hashes have the following keys:

  • workflowid: the workflow ID
  • name: the workflow name
  • version: the workflow version
  • description: the workflow description
  • author: the workflow author
  • onetimeinit_func_instanceid: the onetimeinit function ID for the workflow (if defined)
  • attach_func_instanceid: the attach function ID for the workflow (if defined)
  • detach_func_instanceid: the detach function ID for the workflow (if defined)
  • errorfunction_instanceid: the error function ID for the workflow (if defined)
  • errhandler_func_instanceid: the error handler function ID for the workflow (if defined)
  • created: the workflow creation date
  • modified: the workflow last modified date
  • autostart: the workflow autostart value
  • manual_autostart: a booelan 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
  • enabled: a boolean flag indicating if the workflow is enabled or not; disabled workflows cannot be started
  • deprecated: a boolean flag indicating if the workflow is deprecated or not; deprecated workflows are not displayed by default in the UI
  • keylist: a list of workflow order keys
  • stepmap: a hash where keys are step IDs and values are step names
  • steps: 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: a list of segment description hashes, where each segment hash has the following keys:
    • steplist: a list of step IDs in the segment
    • steps: 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]: the starting step ID for segments other than the initial segment
    • [subworkflow]: set to True if the segment is a subworkflow segment
    • [linksegment]: the previous segment
    • [linkstepid]: the step linking the segment to the previous segment
  • lib: a REST Library Object Hash
  • mappers: a list of mappers associated with the workflow (can be NOTHING); each mapper element is a REST Mapper Hash
  • vmaps: a list of value maps associated with the workflow (can be NOTHING); each value map element is a REST Value Map Hash
  • stepinfo: a list of hashes giving information about workflow steps; each hash is a REST Step Hash with the following additional keys:
  • wffuncs: a list of workflow-level functions (may be empty); each list element is a hash with the following keys:
  • options: a list of option hashes
  • exec: a list of execution instance hashes describing any workflow execution instances running for this workflow
  • exec_count: the number of elements in the exec list
  • alerts: a list of alerts raised against the workflow; each list element is a REST Alert Hash (may be empty)
  • connections: a list of connection objects that this workflow depends on; each list element is a REST Connection Dependency Hash (may be empty)
  • groups: a list of interface groups that the workflow belongs to; each list element is a REST Interface Group Hash (may be empty)

REST Workflow Description Hash v3

Workflow description hashes in the REST v3 API are the same as in the v1 and v2 APIs except that the V3 hash adds the "sla_threshold", "manual_sla_threshold", "remote", "process", and "order_stats" keys; these hashes have the following keys:

  • workflowid: the workflow ID
  • name: the workflow name
  • version: the workflow version
  • description: the workflow description
  • author: the workflow author
  • remote: if True, the workflow will run as a remote qwf process, otherwise it runs internally in the qorus-core process
  • process: present when remote is True; this is a REST Process Execution Info Hash
  • onetimeinit_func_instanceid: the onetimeinit function ID for the workflow (if defined)
  • attach_func_instanceid: the attach function ID for the workflow (if defined)
  • detach_func_instanceid: the detach function ID for the workflow (if defined)
  • errorfunction_instanceid: the error function ID for the workflow (if defined)
  • errhandler_func_instanceid: the error handler function ID for the workflow (if defined)
  • created: the workflow creation date
  • modified: the workflow last modified date
  • autostart: the workflow autostart value
  • manual_autostart: a booelan 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
  • sla_threshold: the workflow SLA threshold value
  • manual_sla_threshold: a booelan 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: a boolean flag indicating if the workflow is enabled or not; disabled workflows cannot be started
  • deprecated: a boolean flag indicating if the workflow is deprecated or not; deprecated workflows are not displayed by default in the UI
  • keylist: a list of workflow order keys
  • stepmap: a hash where keys are step IDs and values are step names
  • steps: 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: a list of segment description hashes, where each segment hash has the following keys:
    • steplist: a list of step IDs in the segment
    • steps: 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]: the starting step ID for segments other than the initial segment
    • [subworkflow]: set to True if the segment is a subworkflow segment
    • [linksegment]: the previous segment
    • [linkstepid]: the step linking the segment to the previous segment
  • lib: a REST Library Object Hash
  • mappers: a list of mappers associated with the workflow (can be NOTHING); each mapper element is a REST Mapper Hash
  • vmaps: a list of value maps associated with the workflow (can be NOTHING); each value map element is a REST Value Map Hash
  • stepinfo: a list of hashes giving information about workflow steps; each hash is a REST Step Hash with the following additional keys:
  • wffuncs: a list of workflow-level functions (may be empty); each list element is a hash with the following keys:
  • options: a list of option hashes
  • exec: a list of execution instance hashes describing any workflow execution instances running for this workflow
  • exec_count: the number of elements in the exec list
  • order_stats: a list of workflow order processing statistics; list values are OrderSummaryOutputInfo hashes for the given workflow
  • alerts: a list of alerts raised against the workflow; each list element is a REST Alert Hash (may be empty)
  • connections: a list of connection objects that this workflow depends on; each list element is a REST Connection Dependency Hash (may be empty)
  • groups: a list of interface groups that the workflow belongs to; each list element is a REST Interface Group Hash (may be empty)

REST Service Method Hash

Order note hashes have the following keys:

  • service_methodid: the service method ID
  • name: the name of the method
  • description: the description of the method (if any)
  • author: the author of the method (if any)
  • locktype: the type of locking performed with method calls; see Service Method Lock Attribute Values for possible values
  • internal: a boolean flag indicating if the method is restricted to internal calls only (if True then the method cannot be called externally)
  • write: a boolean flag indicating if the method is a "write" method, if True then callers need either OMQ::QR_CALL_USER_SERVICES_RW or OMQ::QR_CALL_SYSTEM_SERVICES_RW to call
  • created: the date/time the method was created
  • modified: the date/time the method was modified
  • tags: any user-defined tags on the method
  • source: the service source file that the method was created from
  • offset: the offset in the service file for the source of the method
  • host: the hostname of the machine where the method was loaded from
  • user: the OS user who loaded the service
Example
hash: (14 members)
  service_methodid : 301033
  name : "init"
  description : "service init method"
  author : "Qore Technologies, sro"
  locktype : "none"
  internal : False
  write : False
  created : 2016-05-20 18:32:57.177490 Fri +02:00 (CEST)
  modified : 2016-05-20 18:32:57.177490 Fri +02:00 (CEST)
  tags : <EMPTY HASH>
  source : "/Users/david/src/Qorus/git/qorus/system/prop-v3.1.qsd"
  offset : "45"
  host : "quasar.prague"
  user : "david"

REST Service Method Hash v2

Service method hashes in the REST v2 API are the same as in the V1 API except that the V2 hash adds the "sla" key; these hashes have the following keys:

  • service_methodid: the service method ID
  • name: the name of the method
  • description: the description of the method (if any)
  • author: the author of the method (if any)
  • locktype: the type of locking performed with method calls; see Service Method Lock Attribute Values for possible values
  • internal: a boolean flag indicating if the method is restricted to internal calls only (if True then the method cannot be called externally)
  • write: a boolean flag indicating if the method is a "write" method, if True then callers need either OMQ::QR_CALL_USER_SERVICES_RW or OMQ::QR_CALL_SYSTEM_SERVICES_RW to call
  • created: the date/time the method was created
  • modified: the date/time the method was modified
  • tags: any user-defined tags on the method
  • source: the service source file that the method was created from
  • offset: the offset in the service file for the source of the method
  • host: the hostname of the machine where the method was loaded from
  • user: the OS user who loaded the service
  • sla: the SLA associated with the service method (if any)
Example
hash: (14 members)
  service_methodid : 301033
  name : "init"
  description : "service init method"
  author : "Qore Technologies, sro"
  locktype : "none"
  internal : False
  write : False
  created : 2016-05-20 18:32:57.177490 Fri +02:00 (CEST)
  modified : 2016-05-20 18:32:57.177490 Fri +02:00 (CEST)
  tags : <EMPTY HASH>
  source : "/Users/david/src/Qorus/git/qorus/system/prop-v3.1.qsd"
  offset : "45"
  host : "quasar.prague"
  user : "david"

REST Service Resource Hash

Service resource hashes are keyed by the resource name; each value is a hash with the following keys:

  • type: the type of service resource
  • desc: a description of the resource
  • info: a hash of information about the resource; the format and content of this hash depends on the resource type
Example
resources : hash: (2 members)
  ui-extension-user-sql-data-view-1-1 : hash: (3 members)
    type : "UiExtension"
    desc : "Allows database and table browsing"
    info : hash: (4 members)
      url : "http://localhost:8001/UIExtension/user-sql-data-view-1"
      group : "SQL"
      menuname : "SQL Data View"
      desc : "Allows database and table browsing"
  http-global-2 : hash: (3 members)
    type : "HttpGlobalHandler"
    desc : "handling URL: \"db\""
    info : hash: (2 members)
      content : <NOTHING>
      headers : <NOTHING>

REST Step Hash

Step hashes have the following keys:

  • stepid: the ID of the step
  • typedesc: a string describing the step type (ex: "NORMAL ARRAY")
  • steptype: the type of the step
  • arraytype: the array type of the step
  • name: the name of the step
  • version: the version of the step
  • author: the author of the step (if any)
  • desc: the description of the step or the description of the step's primary step function if the step itself has no description
  • stepfunction_instanceid: the primary step function ID
  • [validationfunction_instanceid]: the function ID of the validation function (if any)
  • [endfunction_instanceid]: the function ID of the back end function for asynchronous steps (if any)
  • [arrayfunction_instanceid]: the function ID of the array function (if any)
  • [queueid]: the ID of the async event queue for asynchronous steps (if any)
  • [queuename]: the name of the async event queue for asynchronous steps (if any)
  • [workflow_event_typeid]: the ID of the workflow synchronization event type for workflow synchronization event steps (if any)
  • user_interaction: True if the asynchronous step supports user interaction APIs, False in all other cases
  • created: the creation date of the step in the database
  • modified: the last modified date of the step in the database
Example
hash: (11 members)
  stepid : 509
  typedesc : "NORMAL"
  steptype : "NORMAL"
  arraytype : "NONE"
  name : "it_100_delivery_confirmation_update_oracle"
  version : "1.0"
  author : "Qore Technologies, s.r.o."
  stepfunction_instanceid : 508
  validationfunction_instanceid : 122
  created : 2016-02-05 13:38:26.000000 Fri +01:00 (CET)
  modified : 2016-02-05 14:00:51.000000 Fri +01:00 (CET)

REST Step Hash V3

Step hashes in the V3 REST API have the following keys:

  • stepid: the ID of the step
  • typedesc: a string describing the step type (ex: "NORMAL ARRAY")
  • steptype: the type of the step
  • arraytype: the array type of the step
  • name: the name of the step
  • version: the version of the step
  • author: the author of the step (if any)
  • desc: the description of the step or the description of the step's primary step function if the step itself has no description
  • config: a hash of config items keyed by config item name with values as hashes with the following keys:
    • type: the type of the config item
    • desc: the description of the config item
    • default_value: the default value of the config item
  • stepfunction_instanceid: the primary step function ID
  • [validationfunction_instanceid]: the function ID of the validation function (if any)
  • [endfunction_instanceid]: the function ID of the back end function for asynchronous steps (if any)
  • [arrayfunction_instanceid]: the function ID of the array function (if any)
  • [queueid]: the ID of the async event queue for asynchronous steps (if any)
  • [queuename]: the name of the async event queue for asynchronous steps (if any)
  • [workflow_event_typeid]: the ID of the workflow synchronization event type for workflow synchronization event steps (if any)
  • created: the creation date of the step in the database
  • modified: the last modified date of the step in the database
Example
hash: (11 members)
  stepid : 509
  typedesc : "NORMAL"
  steptype : "NORMAL"
  arraytype : "NONE"
  name : "it_100_delivery_confirmation_update_oracle"
  version : "1.0"
  author : "Qore Technologies, s.r.o."
  stepfunction_instanceid : 508
  validationfunction_instanceid : 122
  created : 2016-02-05 13:38:26.000000 Fri +01:00 (CET)
  modified : 2016-02-05 14:00:51.000000 Fri +01:00 (CET)

REST Function Hash

Function hashes have the following keys:

  • name: the name of the function
  • version: the version of the function
  • function_instanceid: the function ID
  • function_type: the type of function object; see Step Function Types for possible values
  • description: the description of the function
  • author: the author of the function
  • body: the source code for the function
  • created: the date/time the function was created
  • modified: the date/time the function was modified
  • createdby: (deprecated) always "omq"
  • modifiedby: (deprecated) always "omq"
  • tags: any user-defined tags on the function object
  • source: the source file that the function object was created from
  • offset: the offset in the source file for the source of the function object
  • host: the hostname of the machine where the function was loaded from
  • user: the OS user who loaded the function source
Example
hash: (16 members)
  name : "it_00_dhl_dispatcher_create_wf"
  version : "1.0"
  function_instanceid : 183
  function_type : "STEP"
  description : "binds the subworkflow"
  author : "Adrian lachata (Qore Technologies, sro)"
  body : "
%new-style
%require-types
%enable-all-warnings

sub it_00_dhl_dispatcher_create_wf(string workflow) {
    hash<auto> sd = wf_get_static_data();

    hash<auto> ord = (
        \"staticdata\": sd,
        \"orderkeys\": wf_get_order_keys(),
    );

    log(LL_INFO, \"binding subworkflow %s\", workflow);
    wf_bind_subworkflow((\"name\" : workflow), ord);
}
"
  created : 2015-12-10 10:35:04.000000 Thu +01:00 (CET)
  modified : 2016-02-08 14:51:03.000000 Mon +01:00 (CET)
  createdby : "omq"
  modifiedby : "omq"
  tags : <EMPTY HASH>
  source : "/export/home/dnichols/src/drei/sepl-it/src/00-DHL/isepl/it-00-dhl_dispatcher_create_wf-v1.0.qfd"
  offset : "123"
  host : "manatee.prague.qoretechnologies.com"
  user : "dnichols"

REST Job Result Hash

Job result (job instance) hashes have the following keys:

  • name: the name of the job
  • version: the version of the job
  • job_instanceid: the job_instanceid (unique ID for the job result)
  • jobid: the job ID
  • jobstatus: the status of executing the job; see Job Data Status Descriptions for possible values
  • info: a hash of information set by the job code during execution
  • sessionid: the application session ID that is currently processing the job instance (0 for no session)
  • started: the date/time the job instance was started
  • completed: the date/time the job instance completed
  • modified: the date/time the job was last modified

REST Job Description Hash

Job description hashes have the following keys:

  • name: the name of the job
  • jobid: the job ID
  • description: the description of the job (if any)
  • version: the version of the job
  • author: the author of the job (if any)
  • single_instance: A boolean value telling the system if the job can only be run on one Qorus instance at a time
  • sessionid: If the single_instance flag is set, and the job is currently active and running on a Qorus instance, then this attribute will have a value, otherwise it will not be set
  • run_skipped: 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: a boolean flag indicating if the job is enabled or not; disabled jobs cannot be activated
  • month: the month value in a job cron schedule
  • day: the day value in a job cron schedule
  • wday: the weekday value in a job cron schedule
  • hour: the hout value in a job cron schedule
  • minute: the minute value in a job cron schedule
  • manually_updated: a booelan 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: the date/time the job was created
  • modified: the date/time the job was modified
  • source: the complete path of the job source file when loaded
  • line: the line offset of the job source code in the file
  • mappers: list of mappers associated with the job (can be NOTHING); each mapper element is a REST Mapper Hash
  • vmaps: list of value maps associated with the job (can be NOTHING); each value map element is a REST Value Map Hash
  • lib: a REST Library Object Hash
  • tags: any user-defined tags on the job
  • db_active: a boolean flag indicating the active status in the database
  • active: the active status in the current Qorus instance
  • options: a hash of options set on the job (if any)
  • offset: the line offset of the job source code in the file
  • host: the hostname of the machine where the job was loaded from
  • user: the OS user who loaded the job
  • sched_type: the schedule type; one of:
  • sched_txt: a string describing the schedule (ex: "minutes: 0, hours: 0, days: *, months: *, wdays: *")
  • connections: a list of connection objects that this job depends on; each list element is a REST Connection Dependency Hash (may be empty)
  • alerts: a list of alerts raised against the job; each list element is a REST Alert Hash (may be empty)

REST Job Description Hash v2

Job description hashes in the REST v2 API are the same as in the V1 API except that the V2 hash adds the "sla" key; these hashes have the following keys:

  • name: the name of the job
  • jobid: the job ID
  • description: the description of the job (if any)
  • version: the version of the job
  • author: the author of the job (if any)
  • single_instance: A boolean value telling the system if the job can only be run on one Qorus instance at a time
  • sessionid: If the single_instance flag is set, and the job is currently active and running on a Qorus instance, then this attribute will have a value, otherwise it will not be set
  • run_skipped: 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: a boolean flag indicating if the job is enabled or not; disabled jobs cannot be activated
  • month: the month value in a job cron schedule
  • day: the day value in a job cron schedule
  • wday: the weekday value in a job cron schedule
  • hour: the hout value in a job cron schedule
  • minute: the minute value in a job cron schedule
  • manually_updated: a booelan 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: the date/time the job was created
  • modified: the date/time the job was modified
  • source: the complete path of the job source file when loaded
  • line: the line offset of the job source code in the file
  • mappers: list of mappers associated with the job (can be NOTHING); each mapper element is a REST Mapper Hash
  • vmaps: list of value maps associated with the job (can be NOTHING); each value map element is a REST Value Map Hash
  • lib: a REST Library Object Hash
  • tags: any user-defined tags on the job
  • db_active: a boolean flag indicating the active status in the database
  • active: the active status in the current Qorus instance
  • options: a hash of options set on the job (if any)
  • offset: the line offset of the job source code in the file
  • host: the hostname of the machine where the job was loaded from
  • user: the OS user who loaded the job
  • sched_type: the schedule type; one of:
  • sched_txt: a string describing the schedule (ex: "minutes: 0, hours: 0, days: *, months: *, wdays: *")
  • connections: a list of connection objects that this job depends on; each list element is a REST Connection Dependency Hash (may be empty)
  • alerts: a list of alerts raised against the job; each list element is a REST Alert Hash (may be empty)
  • sla: the name of the attached SLA (if any, if no SLA is associated, this key is not returned)

REST System Option Hash

System option hashes have the following keys:

  • name: the name of the option; see System Options for a list of possible options
  • value: the value of the option
  • expects: the value type of the option
  • desc: the description of the option
  • default: the default value of the option
  • startup-only: True if the option can only be set during system startup
  • status: "locked" if startup-only is True, "unlocked" if not
  • workflow: True if the option can be overridden at the workflow level, False if not
  • service: True if the option can be overridden at the service level, False if not
  • job: True if the option can be overridden at the job level, False if not
  • [interval]: the range of valid values for the option (inclusive)
Example
hash: (11 members)
  name : "verbose"
  value : 11
  expects : "integer"
  desc : "sets verbose level"
  default : 2
  startup-only : <NOTHING>
  status : "unlocked"
  workflow : True
  service : True
  job : True
  interval : list: (2 elements)
    [0]=1
    [1]=6

REST System UI Extension Hash

REST system UI extension hashes have the following keys:

  • name: The name of the extension
  • group: a user-defined extension group name
  • type: the type of service serving the extension
  • service: the name of the service serving the extension
  • menuname: the menu string to use for the extension
  • desc: a short descriptive string for the extension
  • url: the full URL to the extension
  • url_name: a label for the URL of the extension

REST Permission Hash

Rest permissions hashes have the following keys:

  • permission_type: the type of permission; one of:
    • "SYSTEM": for system permissions
    • "USER": for user permissions
  • desc: a description for the permission
  • name: the name of the permission (permission code; ex: "RELOAD-DATASOURCE")

REST Listener Hash

Listener hashes have the following keys:

  • name: the unique name of the listener
  • hostname: the bind hostname
  • hostname_desc: a description for the hostname
  • address: the bind address
  • address_desc: a description for the address
  • [port]: the port number (not present in UNIX sockets)
  • family: the network address family code for the socket
  • familystr: a descriptive string for the family code
  • ssl: True if the listener is a TLS/SSL listener
  • desc: a descriptive string for the listener
  • proto: the protocol; either "http" or "https"
  • id: the listener ID
  • bind: the bind string

REST Interface Group Detail Hash

Interface group hashes have the following keys:

  • name: the name of the group
  • description: group description
  • id: the ID for the group; synthetic groups have negative IDs
  • enabled: a boolean flag indicating if the group is enabled or not
  • size: the number of workflow, service, job, mapper, and value map members of the group
  • is_default : False
  • services: a list of hashes of services belonging to the group (can be NOTHING); each element has the following keys:
    • type: the type of the service; one of:
      • "system": for system services
      • "user": for user services
    • serviceid: the service ID
    • name: the name of the service
    • version: the version of the service
    • autostart: a boolean value indicating if the service should be autostarted or not
  • workflows: a list of hashes of workflows belonging to the group (can be NOTHING); each element has the following keys:
    • workflowid: the workflow ID
    • name: the name of the workflow
    • version: the version of the workflow
  • jobs: a list of hashes of jobs belonging to the group (can be NOTHING); each element has the following keys:
    • jobid: the job ID
    • name: the name of the job
    • version: the version of the job
  • mappers: a list of mappers belonging to the group (can be NOTHING); each mapper element is a REST Mapper Hash
  • vmaps: a list of value maps belonging to the group (can be NOTHING); each value map element is a REST Value Map Hash
  • roles: a list of string role names that have this group (can be NOTHING)
  • synthetic: True if the group is a synthetic group (in which case the id will be negative)

REST User Hash

User hashes have the following keys:

  • provider: the name of the RBAC provider (see also qorus.rbac-external)
  • username: the unique username of the user
  • name: the descriptive name of the user
  • has_default: a boolean flag that indicates if the user has the "DEFAULT" group or not; if True, then the user has no limitations on the configuration that can be accessed
  • roles: a list of roles that the user has; roles actually determine system and object access permissions for users
  • permissions: a list of permissions that the user has (as inherited through roles)
  • workflows: a list of workflows that the user is allowed to access (if has_default is True then this list is empty and the user can access all objects; as inherited through roles)
  • services: a list of services that the user is allowed to access (if has_default is True then this list is empty and the user can access all objects; as inherited through roles)
  • jobs: a list of jobs that the user is allowed to access (if has_default is True then this list is empty and the user can access all objects; as inherited through roles)
  • mappers: a list of mappers that the user is allowed to access (if has_default is True then this list is empty and the user can access all objects; as inherited through roles)
  • vmaps: a list of value maps that the user is allowed to access (if has_default is True then this list is empty and the user can access all objects; as inherited through roles)
  • groups: the interface groups that the user is allowed to access (if has_default is True then this list is empty and the user can access all objects; as inherited through roles)
  • storage: an optional hash of user-speficic storage information
Example
hash: (13 members)
  provider : "db"
  username : "admin"
  name : "Administrator"
  has_default : True
  roles : list: (1 element)
    [0]="superuser"
  permissions : list: (23 elements)
    [0]="CALL-SYSTEM-SERVICES-RW"
    [1]="CALL-USER-SERVICES-RW"
    [2]="DATASOURCE-CONTROL"
    [3]="EDIT-WORKFLOW-DATA"
    [4]="EXEC-SYNC-WORKFLOW"
    [5]="FILESYSTEM-CONTROL"
    [6]="GROUP-CONTROL"
    [7]="JOB-CONTROL"
    [8]="LOGIN"
    [9]="MAPPER-CONTROL"
    [10]="OPTION-CONTROL"
    [11]="ROTATE-LOG-FILES"
    [12]="SCHEMA-CONTROL"
    [13]="SERVER-CONNECTION-CONTROL"
    [14]="SERVER-CONTROL"
    [15]="SERVICE-CONTROL"
    [16]="SHUTDOWN"
    [17]="SUBMIT-ORDER"
    [18]="USER-CONNECTION-CONTROL"
    [19]="USER-CONTROL"
    [20]="VALUE-MAP-CONTROL"
    [21]="VALUE-SET-CONTROL"
    [22]="WORKFLOW-CONTROL"
  workflows : <EMPTY LIST>
  services : <EMPTY LIST>
  jobs : <EMPTY LIST>
  mappers : <EMPTY LIST>
  vmaps : <EMPTY LIST>
  groups : list: (1 element)
    [0]="DEFAULT"
  storage : hash: (1 member)
    ui : hash: (1 member)
      views : hash: (1 member)
        workflows : hash: (1 member)
          filters : <EMPTY LIST>

REST Role Hash

Role hashes have the following keys:

  • role: the unique username of the role
  • provider: the name of the RBAC provider (see also qorus.rbac-external)
  • desc: the description of the role
  • has_default: a boolean flag that indicates if the role has the "DEFAULT" group or not; if True, then users with this role have no limitations on the configuration that can be accessed
  • permissions: a list of permissions that the role has
  • groups: the interface groups that the group restricts access to (if has_default is True then this list is empty, and the role does not restrict access to any objects)
  • workflows: a list of workflows that the role restricts access to as determined by its interface groups (if has_default is True then this list is empty, and the role does not restrict access to any objects)
  • services: a list of services that the role restricts access to as determined by its interface groups (if has_default is True then this list is empty, and the role does not restrict access to any objects)
  • jobs: a list of jobs that the role restricts access to as determined by its interface groups (if has_default is True then this list is empty, and the role does not restrict access to any objects)
  • mappers: a list of mappers that the role restricts access to as determined by its interface groups (if has_default is True then this list is empty, and the role does not restrict access to any objects)
  • vmaps: a list of value maps that the role restricts access to as determined by its interface groups (if has_default is True then this list is empty, and the role does not restrict access to any objects)
Example
hash: (12 members)
  role : "maintenance"
  provider : "db"
  desc : "user with roles suited to system maintenance only"
  has_default : True
  permissions : list: (17 elements)
    [0]="CALL-SYSTEM-SERVICES-RO"
    [1]="CALL-USER-SERVICES-RO"
    [2]="DATASOURCE-CONTROL"
    [3]="FILESYSTEM-CONTROL"
    [4]="JOB-CONTROL"
    [5]="LOGIN"
    [6]="OPTION-CONTROL"
    [7]="RELOAD-MAPPER"
    [8]="RELOAD-VALUE-MAP"
    [9]="RELOAD-VALUE-SET"
    [10]="ROTATE-LOG-FILES"
    [11]="SCHEMA-CONTROL"
    [12]="SERVER-CONNECTION-CONTROL"
    [13]="SERVICE-CONTROL"
    [14]="SHUTDOWN"
    [15]="USER-CONNECTION-CONTROL"
    [16]="WORKFLOW-CONTROL"
  groups : list: (1 element)
    [0]="DEFAULT"
  workflows : <EMPTY LIST>
  services : <EMPTY LIST>
  job : <EMPTY LIST>
  mappers : <EMPTY LIST>
  vmaps : <EMPTY LIST>
  users : <EMPTY LIST>

REST Debug Callstack Hash

Callstack hashes have the following keys:

  • function: the function or method name in the stack
  • line: the starting line number
  • endline: the ending line number
  • file: the source label or file name
  • source: the full source path (if known)
  • offset: the offset of the source object within source (if known)
  • typecode: see Call Type Constants for possible values
  • type: a string corresponding to typecode

REST Connection Dependency Hash

Connection dependency hashes have the following keys:

  • type: the interface type; one of "WORKFLOW", "SERVICE", or "JOB"
  • [workflowid]: the workflow ID
  • [serviceid]: the service ID
  • [jobid]: the job ID
  • [servicetype]: the service type (only present for services); one of "user" or "system"
  • name: the interface name
  • version: the interface version
  • desc: a description of the interface (ex: "job it-94-ar_payments-piteco-out v1.0 (23)")

REST User and Remote Connection Hash

User connection and remote connection hashes have the following keys:

  • name: the name of the connection
  • conntype: either "REMOTE" or "USER-CONNETION"
  • desc: a description of the connection
  • url: the URL to the remote host
  • monitor: a boolean indicating if the connection is monitored or not
  • last_check: the date/time value the connection was last checked (loopback remote connections are not checked)
  • updated: the date/time the connection was last updated
  • status: one of the following:
    • "OK": the connection is OK
    • "not checked": not yet checked
    • any other string is an error message that occurred in the last check
  • up: a boolean indicating if the connection was monitored to be up or not
  • [loopback]: (only for remote connections) a boolean indicating if the connection is a loopback connection
  • type: the connection type
  • url_hash: a hash of broken-down URL components as returned by Qore::parse_url()
  • opts: a hash of options for the connection
  • deps: a list of REST Connection Dependency Hash elements for dependent interfaces
  • alerts: a list of alerts raised against the connection; each list element is a REST Alert Hash (may be empty)
  • [remote]: (only for remote connections when loopback = False) a hash with the keys instance-key, health, alert-summary and omq-version

REST Datasource Connection Hash

datasource connection hashes have the following keys:

  • name: the name of the datasource
  • conntype: "DATASOURCE"
  • desc: a technical description of the connection without the password (ex: "freetds:test@mssql")
  • monitor: a boolean indicating if the connection is monitored or not
  • last_check: the date/time value the connection was last checked (loopback remote connections are not checked)
  • updated: the date/time the connection was last updated
  • status: one of the following:
    • "OK": the connection is OK
    • "not checked": not yet checked
    • any other string is an error message that occurred in the last check
  • up: a boolean indicating if the connection was monitored to be up or not
  • type: the database driver for the connection
  • user: the database username for the connection
  • db: the database name for the connection
  • shared-pool: a string describing the shared DatasourcePool status
  • warning-timeout: the period in milliseconds after which a warning is raised as a transient alert if a connection cannot be allocated from the DatasourcePool status
  • error-timeout: the period in milliseconds after which an exception is thrown if a connection cannot be allocated from the DatasourcePool status
  • pool-wait-max: maximum connection wait time in milliseconds for connections on the pool (0 means no contention)
  • pool-reqs: the number of requests for connections from the pool (= pool-hits + pool-miss)
  • pool-hits: the number of connection requests that were immediately satisified with no waiting (= pool-reqs - pool-miss)
  • pool-miss: the number of connection requests that blocked due to contention in the pool (= pool-reqs - pool-hits)
  • pool-hit-pct: the percentage of connection requests that were satisified immediately over all requests (100 means no contention)
  • alerts: a list of alerts raised against the connection; each list element is a REST Alert Hash (may be empty)
  • deps: a list of REST Connection Dependency Hash elements for dependent interfaces

REST Workflow Error Description Hash (REST API v1 and v2)

Workflow error hashes have the following keys (REST API v1 and v2):

  • error: the error code (ex: "SOCKET-SSL-ERROR")
  • description: a description for the error
  • severity: an error severity code (see Error Severity Codes for possible values)
  • retry_flag: a boolean value indicating if the error should cause the workflow order to get a retry or not
  • business_flag: a boolean flag indicating of the error is a business error
  • retry_delay_secs: if retry_flag is True, the number of seconds that the order should wait before retrying
  • manually_updated: a boolean flag set if the error has been changed manually (if True then subsequent loads with oload: Data Loading Tool and Schema Manager will not overwrite the configuration in the DB)
  • type: either "global" or "workflow" giving the error definition scope
  • [workflowname]: (only if type = "workflow") the name of the workflow where the workflow-specific error is defined
  • [workflowversion]: (only if type = "workflow") the version of the workflow where the workflow-specific error is defined
  • [workflowid]: (only if type = "workflow") the ID of the workflow where the workflow-specific error is defined
See also
rest_workflow_error_description_hash_v3

REST Workflow Error Description Hash

Workflow error hashes have the following keys (REST API v3+):

  • business_flag: a boolean flag indicating of the error is a business error
  • description: a description for the error
  • error: the error code (ex: "SOCKET-SSL-ERROR")
  • manually_updated: a boolean flag set if the error has been changed manually (if True then subsequent loads with oload: Data Loading Tool and Schema Manager will not overwrite the configuration in the DB)
  • retry_delay_secs: if status is RETRY, the number of seconds that the order should wait before retrying
  • retry_flag: a boolean value indicating if the error should cause the workflow order to get a retry or not
  • severity: an error severity code (see Error Severity Codes for possible values)
  • status: the status the order enters when this error appears (ERROR, RETRY, CANCELED)
  • type: either "global" or "workflow" giving the error definition scope
  • [workflowid]: (only if type = "workflow") the ID of the workflow where the workflow-specific error is defined
  • [workflowname]: (only if type = "workflow") the name of the workflow where the workflow-specific error is defined
  • [workflowversion]: (only if type = "workflow") the version of the workflow where the workflow-specific error is defined

REST Class Hash

Class description hashes have the following keys (REST API v3+):

  • name: the name of the class object
  • version: the version of the class object
  • classid: the class object ID
  • description: the description of the class
  • author: the author of the class
  • body: the source code for the class object
  • language: the language of the class; either "qore" or "java"
  • created: the date/time the class was created
  • modified: the date/time the class was modified
  • createdby: (deprecated) always "omq"
  • modifiedby: (deprecated) always "omq"
  • tags: any user-defined tags on the class object
  • source: the source file that the class object was created from
  • offset: the offset in the source file for the source of the class object
  • host: the hostname of the machine where the class object was loaded from
  • user: the OS user who loaded the class object

REST Mapper Description Hash

Mapper description hashes have the following keys:

  • mapperid: the mapper ID
  • name: the name of the mapper
  • version: the version of the mapper
  • patch: the patch string of the mapper (if any)
  • desc: the description for the mapper
  • parse_options: a list of symbolic parse options for the mapper program container (if any parse options are defined)
  • created: the date/time the mapper was created
  • modified: the date/time the mapper was modified
  • type: the type of the mapper
  • opts: a hash of mapper options; "input" and "output" define the input and output records, respectively
  • valid: True if the mapper is valid, False if not
  • groups: a list of interface groups that the mapper belongs to; each list element is a REST Interface Group Hash (may be empty)

REST Mapper Type Description Hash

Mapper type description hashes have the following keys:

  • name: the mapper type name
  • options: a hash of valid options for the mapper type; keys are option names, values are option descriptions
  • runtime_options: a hash of valid runtime options for the mapper type; keys are option names, values are option descriptions
  • required_options: a list of required options; if any of the options in this list are not provided when creating a mapper of this type, the creation will fail
  • required_record_options: a list of mapper options that must be given to create the input or output records for the mapper for mappers that can create either input and/or output descriptions automatically
  • requires_input : True
  • requires_output : False
  • type: either "system" (a mapper type provided by Qorus) "user" (supplied with a mapper module)
  • [module]: a hash of module info as returned by Qore::get_module_hash() (only present if type = "user")

REST Value Map Description Hash

Value map description hashes have the following keys:

  • id: the value map ID
  • name: the name of the value map
  • author: the author of the value map (if any)
  • throws_exception: a boolean value indicating if a map lookup failure should throw an exception or not
  • valuetype: the data type of the value map
  • mapsize: the number of entries in the value map
  • created: the date/time the value map was created
  • modified: the date/time the value map was modified
  • groups: a list of interface groups that the value map belongs to; each list element is a REST Interface Group Hash (may be empty)

REST Workflow Synchronization Event Hash

Workflow synchronization event hashes have the following keys:

  • id: the workflow synchronization event type id
  • eventname: the workflow synchronization event type name
  • eventkey: synchronization event type key
  • posted: a boolean posted status
  • created: the date/time the event was created
  • modified: the date/time the event was modified (posted)
Example
hash: (6 members)
  id : 2
  eventname : "regression-test"
  eventkey : "c4e0b32b-fec9-40a1-8f95-c8362a2d0abb"
  posted : True
  created : 2016-02-11 17:08:09.000000 Thu +01:00 (CET)
  modified : 2016-02-11 17:08:09.000000 Thu +01:00 (CET)

REST Workflow Synchronization Event Type Hash

Workflow synchronization event type hashes have the following keys:

  • id: the workflow synchronization event type ID
  • name: the workflow synchronization event type name
  • desc: the description for the workflow synchronization event type

REST Process Execution Info Hash

Process info hashes have the following keys:

  • id (string): the unique process ID in the cluster
  • node (string): the node name where the process is running
  • host (string): the hostname where the process is running
  • pid (int): the PID on the host
  • urls (list<string>): a list of ZeroMQ URLs for the process
  • status (string): the process's status as a string
  • priv (int): the amount of private memory of the process in bytes
  • rss (int): the resident size of the process in bytes
  • vsz (int): the virtual size of the process in bytes
  • priv_str (string): a string description of the priv value
  • pct (int): the percentage of main memory taken up by the process on the node

REST Process Information Hash

The cluster process information hash is keyed by cluster process ID; values have the following keys:

  • id (string): the unique process ID in the cluster
  • node (string): the node name where the process is running
  • host: (string) the hostname of the node running the process
  • pid: (int) the PID of the process on the host
  • urls (list<string>): a list of ZeroMQ URLs for the process
  • status: (int) the process status code; 0 = IDLE, 1 = STARTING, 2 = RUNNING, 3 = STOPPING, 4 = ERROR
  • status_string (string) the string description corresponding to status
  • type: (string) the type of cluster process
  • client_id: (string) the type-specific ID for the process
  • priv: (int) the amount of private memory (heap + stack + non-shared, non-memory-mapped virtual memory segments) for the process in bytes
  • rss: (int) the resident size of the process in bytes
  • vsz: (int) the virtual memory size of the process in bytes

Other keys are present depending on the process type.

REST Metadata Workflow Info Hash

The workflow info hash has the following keys:

  • name: the name of the workflow
  • version: the version of the workflow
  • patch: the patch string for the workflow
  • description: the description of the workflow
  • workflowid: the workflowid
  • errorfunction_instanceid: the function_instanceid of the error function, if any
  • attach_func_instanceid: the function_instanceid of the attach function, if any
  • detach_func_instanceid: the function_instanceid of the detach function, if any
  • onetimeinit_func_instanceid: the function_instanceid of the one time init function, if any
  • errhandler_func_instanceid: the function_instanceid of the error handler function, if any
  • created: the date/time the workflow was created
  • modified: the date/time the workflow was last modified
  • keylist: a list of valid keys for the workflow
  • stepmap: a hash where the keys are stepids and the values are step names
  • steps: a hash of step dependencies where the keys are stepids and the values are lists of steps are the direct dependent steps (that must be COMPLETE before the step given as the key can be executed)
  • segment: a list of segment information, where each element in the list is a segment info hash
  • stepseg: a hash of asynchronous/subworkflow/event stepids and their associated back-end segments
  • options: optional: a hash of workflow options where the keys are the option names and values are the descriptions
  • lib: optional: a hash of library objects where the top-level keys are one of the following strings: "FUNCTION", "CLASS", "CONSTANT" and the values are lists of object names

REST Metadata Step Info Hash

The step info hash has the following keys:

  • name: step name
  • version: step version
  • patch: step patchlevel
  • description: step description
  • steptype: step type
  • [stepfunction_instanceid]: the function_instanceid for the primary step function (not present for class-based steps)
  • [validationfunction_instanceid]: the function_instanceid for the validation function (if present)
  • [endfunction_instanceid]: the function_instanceid for the asynchronous end function (if present)
  • [arrayfunction_instanceid]: the function_instanceid for the array function (if present)
  • [arraytype]: the type of array step for array steps (only for array steps)
  • [step_classid]: the ID of the class for the step class, if the step is a class-based step
  • [queueid]: the async event queue ID for asynchronous steps (not present if not an asynchronous step)
  • [queuename]: the name of the async event queue for asynchronous steps (not present if not an asynchronous step)
  • [workflow_event_typeid]: the workflow_event_typeid for workflow event steps (only for workflow event steps)
  • created: the created date/time of the step

REST Metadata Segment Info Hash

  • steplist: list of stepids in the segment
  • steps: a step dependency hash as above
  • prereqfor: optional: list of segmentid that depend on this segment
  • start: optional: the first stepid in the segment
  • linksegment: optional: the segmentid that directly precedes this segment as linked from an asynchronous/subworkflow/event step
  • linkstepid: optional: the stepid of the asynchronous/subworkflow/event step that link this segment to the previous segment