Qorus Integration Engine® Enterprise Edition 6.1.0_prod
Loading...
Searching...
No Matches
Qorus Latest REST API

Table of Contents

/api/latest

This URI path always provides access to the latest REST API; in this case it is identical to /api/v8

To ensure that a specific REST API version is used; use the URI path prefix with a specific API version in it instead.

GET /api/latest

Description
Returns the top-level members of this version of the REST API

/api/latest/api/metrics

This REST URI path provides qorus metrics

GET /api/latest/api/metrics

Description
Returns qorus metrics
Return Value
This API returns a list of qorus metrics
  • TODO: the todo part

/api/latest/async-queues

This REST URI path provides actions and information about queues for asynchronous workflow steps

GET /api/latest/async-queues

Description
Returns informations about the asynchronous queues
Return Value
This API returns a list of hashes with the following keys:
  • queueid: the queue ID
  • name: the queue name
  • serviceid: optional: a related service id if present

POST /api/latest/async-queues

Description
Creates a new queue
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the queue
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (string): the new description for the queue with markdown formatting
Return Value
This API returns a CreateQueueInfo hash with the following keys (a description of the new queue):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/async-queues?action=create

Description
Creates a new queue
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the queue
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (string): the new description for the queue with markdown formatting
Return Value
This API returns a CreateQueueInfo hash with the following keys (a description of the new queue):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/async-queues/{queue}

This REST URI path provides actions and information about queues for asynchronous workflow steps

DELETE /api/latest/async-queues/{queue}

Description
Deletes the queue
Arguments
This API takes the following hash argument:
  • cascade (*bool): force-delete the object and update all dependent objects; can break those objects
Return Value
This API returns a QueueDeletionInfo hash with the following key (information about the queue that was deleted):
  • id (int): the ID of the queue that was deleted
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: no such queue
Note
Requires one of the following permissions:

GET /api/latest/async-queues/{queue}

Description
Returns information about the current asynchronous queue
Return Value
This API returns a hash with the following keys:
  • queueid: the queue ID
  • name: the queue name
  • display_name: the queue's display name
  • short_desc: the queue's short description
  • description: the queue's description

PUT /api/latest/async-queues/{queue}

Description
Updates the current queue
Arguments
This API takes the following hash arguments:
  • name (*string): the new name for the queue; if not provided, the new name will be generated
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (*string): the new description for the queue
Return Value
This API returns an UpdateQueueInfo hash with the following keys (a description of the new queue):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/async-queues/{queue}?action=cancel

Description
cancels a queue entry with status OMQ::QS_Waiting setting OMQ::QS_Used.
Arguments
  • key the key to the entry in the given queue to cancel
Exceptions
UNKNOWN-QUEUEinvalid queue name
INVALID-KEYno entry exists in the given queue with the given key value
INVALID-STATUSqueue entry does not have status OMQ::QS_Waiting
WORKFLOW-ACCESS-ERRORthis is exeption is thrown when RBAC is enabled, and the call is made externally, and the user does not have the right to access the given workflow

POST /api/latest/async-queues/{queue}?action=clone

Description
Clones the current queue
Arguments
This API takes the following hash arguments:
  • name (*string): the new name for the queue; if not provided, the new name will be generated
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (*string): the new description for the queue
Return Value
This API returns a CloneQueueInfo hash with the following keys (a description of the new queue):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/async-queues/{queue}?action=file

Description
Returns the queue as a file that can be saved

GET /api/latest/async-queues/{queue}?action=info

Description
gets queue information for a queue entry from the queue name and key
Arguments
  • key the key to the entry
Return value
No value if no information is available, or a hash with the following keys:
  • workflow_instanceid: the workflow instance ID of the step and queue entry
  • stepid: the step ID of the step and queue entry
  • ind: the array index of the step and queue entry (0 for non-array steps)
  • queuekey: the queue key string
  • queue_data_status: the status of the queue entry: OMQ::QS_Waiting, OMQ::QS_Received, OMQ::QS_Used (Oracle only), or OMQ::QS_Error (rarely, in case of unparsable queue data)
  • corrected: if 1, then the queue entry has been corrected. meaning that the back-end function will not be executed and the step will automatically get a OMQ::StatComplete status.
  • data: the queue data, if any, set only when the queue data status is OMQ::QS_Received
Errors
  • 404 Not Found: the given key does not exist
  • 409 Conflict: UNKNOWN-QUEUE invalid queue name
  • 409 Conflict: WORKFLOW-ACCESS-ERROR this is exeption is thrown when RBAC is enabled, and the call is made externally, and the user does not have the right to access the given workflow

PUT /api/latest/async-queues/{queue}?action=key

Description
changes the key for a pending entry in a system queue, only when the status is OMQ::QS_Waiting (args: queue name, old key, new key)
Arguments
  • oldkey the old key name
  • newkey the new key name
Exceptions
UNKNOWN-QUEUEinvalid queue name
UPDATE-KEY-ERRORempty string passed for oldkey or newkey
QUEUE-KEY-UPDATE-ERRORno queue entry; queue entry does not have status OMQ::QS_Waiting
WORKFLOW-ACCESS-ERRORthis is exeption is thrown when RBAC is enabled, and the call is made externally, and the user does not have the right to access the given workflow

GET /api/latest/async-queues/{queue}?action=qinfo

Description
Returns a list of queue entries on a given queue from the queue ID and an optional status filter
Arguments
  • status: a single SQL status value; see OMQ::SQL_QS_ALL and OMQ::QS_ALL for valid values (takes both short and long status codes); default all statuses except "USED" are returned
  • user: the username to search for
  • user_interaction_locked: 1 or 0 for the user interaction locked status
  • limit: the maximum number of entries to return; default 100
  • offset: the offset to return; default 0
Return value
return either no value or a list of hashes having the following keys:
  • queuekey: (string) the key name
  • queue_data_status: (string) queue entry status:
  • workflow_instanceid: (int) the workflow instance ID of the queue record
  • stepid: (int) the step ID of the queue record
  • ind: (int) the step index of the queue record
  • user_interaction_locked: (bool) True if locked, False if not
  • user_interaction_user: (string) current user with owning the lock on the queue record, if set
  • user_interaction_modified: (date) the timestamp the user_interaction_user was last updated, if set
  • created: (date) created timestamp for the queue entry
  • modified: (date) modified timestamp for the queue entry
Exceptions
GET-QUEUE-INFO-ERRORqueueid is invalid
INVALID-STATUSstatus is invalid
Note
Queue entries with a "USED" status are only returned if the status argument is "USED" (OMQ::QS_Used) or "X" (OMQ::SQL_QS_Used)

GET /api/latest/async-queues/{queue}?action=status

Description
gives internal queue status (without parameters: for all queues)
Return Value
Hash with info. The top level key is the queue name, and the value is a queue summary hash.

The queue summary hash has the following structure. Key values are strings with the following format: "<workflow name>/<workflow version>" with queue status subkeys and with integer values corresponding to the number of workflows that have queue entries with the given statuses.

Exceptions
UNKNOWN-QUEUEinvalid queue name

POST /api/latest/async-queues/{queue}?action=update

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
Arguments
This API takes the following hash arguments:
  • key (string): value of the key in the given queue
  • data (auto): data to post in the queue entry; this data will be passed to the back end function for evaluation
Return Value
This API returns a value of type string: "OK"
Errors
  • 400 Bad Request: invalid argument, invalid status in queue entry
  • 403 Forbidden: access or authorization error
  • 404 Not Found: unknown queue or queue key

/api/latest/classes

GET /api/latest/classes

Description
Returns a list of hashes of all classes
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • list: optional; parsed with Qore::parse_boolean(); if True then a list of class names is returned
  • short: optional; parsed with Qore::parse_boolean(); if True then a list of short strings with class names, versions, and IDs is returned
  • tags: 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
  • tag_case_insensitive: optional; parsed with Qore::parse_boolean(); if True then tag value comparisons are made with case-insensitive comparisons
  • tag_partial_match: optional; parsed with Qore::parse_boolean(); 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
Return Value
This API returns a list of hashes with the following keys (if neither list nor short options are passed as above):
  • classid: the class ID
  • name: the name of the class
  • version: the version of the class
  • description: the description of the class object
  • author: the author of the class object
  • created: the date/time the class object was created
  • modified: the date/time the class object was modified
  • source: the source file that the class object was created from
  • line: the offset in the source file for the source of the class object
  • edit_lock: the connection ID of the connection holding the edit lock, if any

POST /api/latest/classes

Description
Creates a new class
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the class
  • display_name (*string): the new display name for the class; generated from name if necessary
  • short_desc (*string): the short plain-text description for the class
  • desc (*string): the new description for the class with markdown formatting
  • version (string): the new version for the class
  • author (*string): the author of the class
  • source (string): the source code for the class
  • base_class_name (*string): the base class name for the class
  • language (*string): the programming language of the class
  • config_items (*list<UndefinedHash>): a list of config items for the class
  • requires (*list<string>): a list of classes required by this class
  • processor (*UndefinedHash): processor definitions
  • connectors (*UndefinedHash): connector definitions
  • class_name (*string): the class name for the class; must be a valid identifier
Return Value
This API returns a CreateClassInfo hash with the following keys (a description of the new class):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/classes?action=create

Description
Creates a new class
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the class
  • display_name (*string): the new display name for the class; generated from name if necessary
  • short_desc (*string): the short plain-text description for the class
  • desc (*string): the new description for the class with markdown formatting
  • version (string): the new version for the class
  • author (*string): the author of the class
  • source (string): the source code for the class
  • base_class_name (*string): the base class name for the class
  • language (*string): the programming language of the class
  • config_items (*list<UndefinedHash>): a list of config items for the class
  • requires (*list<string>): a list of classes required by this class
  • processor (*UndefinedHash): processor definitions
  • connectors (*UndefinedHash): connector definitions
  • class_name (*string): the class name for the class; must be a valid identifier
Return Value
This API returns a CreateClassInfo hash with the following keys (a description of the new class):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/classes?action=list

Description
Identical to GET /api/classes
See also
GET /api/classes

/api/latest/classes/{id_or_name}

This REST API path provides actions and information about specific class objects

DELETE /api/latest/classes/{id_or_name}

Description
Deletes the class
Arguments
This API takes the following hash argument:
  • cascade (*bool): force-delete the object and update all dependent objects; can break those objects
Return Value
This API returns a ClassDeletionInfo hash with the following key (information about the class that was deleted):
  • id (int): the ID of the class that was deleted
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: no such function
Note
Requires one of the following permissions:

GET /api/latest/classes/{id_or_name}

Description
Returns a hash of information about the current class object
Return Value
This API returns a hash with the following keys:
  • 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
  • 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
  • [edit_lock]: the connection ID of the WebSocket connection holding the edit lock

PUT /api/latest/classes/{id_or_name}

Description
Updates the current class
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the class
  • display_name (*string): the new display name for the class; generated from name if necessary
  • short_desc (*string): the short plain-text description for the class
  • desc (*string): the new description for the class with markdown formatting
  • version (*string): the new version for the class
  • author (*string): the author of the class
  • source (*string): the source code for the class
  • base_class_name (*string): the base class name for the class
  • language (*string): the programming language of the class
  • config_items (*list<UndefinedHash>): a list of config items for the class
  • requires (*list<string>): a list of classes required by this class
  • processor (*UndefinedHash): processor definitions
  • connectors (*UndefinedHash): connector definitions
  • class_name (*string): the class name for the class; must be a valid identifier
Return Value
This API returns an UpdateClassInfo hash with the following keys (a description of the new class):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/classes/{id_or_name}?action=clone

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
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the class
  • display_name (*string): the new display name for the class; generated from name if necessary
  • short_desc (*string): the short plain-text description for the class
  • desc (*string): the new description for the class with markdown formatting
  • version (*string): the new version for the class
  • author (*string): the author of the class
  • source (*string): the source code for the class
  • base_class_name (*string): the base class name for the class
  • language (*string): the programming language of the class
  • config_items (*list<UndefinedHash>): a list of config items for the class
  • requires (*list<string>): a list of classes required by this class
  • processor (*UndefinedHash): processor definitions
  • connectors (*UndefinedHash): connector definitions
  • class_name (*string): the class name for the class; must be a valid identifier
Return Value
This API returns a CloneClassInfo hash with the following keys (a description of the new class):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/classes/{id_or_name}?action=file

Description
Returns the class as a file that can be saved

/api/latest/command

This URI path provides API support for Qorus remote code deployments

POST /api/latest/command

Description
Returns the result of the command
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • args: (optional) command-line arguments
  • cmd: (required) the command to execute (ex: oload); if the user does not have the REMOTE-EXEC-ALL permission, this argument must be one of the following values:
    • make-release
    • ocmd
    • ojview
    • oload
    • oprop
    • ostart
    • ostatus
    • ostop
    • oview
    • qdp
    • qrest
    • saprest
    • schema-reverse
    • schema-tool
    • sfrest
    • soaputil
    • sqlutil
  • dir: (required for make-release and oload)
oload Arguments
  • files: (required) a list of files for the oload command
Errors
  • 400 Bad Request: missing or invalid option
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 500 Internal Server Error: returned if there is an error executing the command
Note

/api/latest/connections

This REST URI path provides actions and information about remote Qorus, user and datasource connections

GET /api/latest/connections

Description
Returns a list of hash information for all Qorus connections
Arguments
This API takes the following hash argument:
  • with_password (*bool): include the password in the "url" and "url_hash" keys
Return Value
This API returns a value of type list<ConnectionInfo>: information about the connection

POST /api/latest/connections

Description
Creates a new connection from the arguments; permissions required depend on the URL
Arguments
This API takes the following hash arguments:
  • name (*string): the internal name of the connection
  • display_name (*string): the display name of the connection
  • short_desc (*string): the plain-text short description for the new connection
  • desc (*string): the description for the new connection with markdown formatting
  • url (string): the connection string for the new connection
Return Value
This API returns a NewConnectionInfo hash with the following keys (information about the connection created):
  • id (int): the new connection ID
  • name (string): the name of the new connection
  • display_name (string): the display name of the new connection
  • short_desc (string): the connection's description in plain text
  • desc (string): the connection's description with markdown formatting
  • info (string): a string describing the operation performed
  • action (string): the action performed
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 400 Bad Request: missing or invalid arguments
  • 403 Forbidden: access or authorization error

POST /api/latest/connections?action=create

Description
Creates a new connection from the arguments
Arguments
This API takes the following hash arguments:
  • name (*string): the internal name of the connection
  • display_name (*string): the display name of the connection
  • short_desc (*string): the plain-text short description for the new connection
  • desc (*string): the description for the new connection with markdown formatting
  • url (string): the connection string for the new connection
  • tags (*UndefinedHash): key-value pairs for the new connection
Return Value
This API returns a NewConnectionInfo hash with the following keys (information about the connection created):
  • id (int): the new connection ID
  • name (string): the name of the new connection
  • display_name (string): the display name of the new connection
  • short_desc (string): the connection's description in plain text
  • desc (string): the connection's description with markdown formatting
  • info (string): a string describing the operation performed
  • action (string): the action performed
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 400 Bad Request: missing or invalid arguments
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/connections/{name}

This REST URI path provides actions and information related to a specific connection, which may be:

DELETE /api/latest/connections/{name}

Description
Permanently deletes the current user connection, datasource, or remote Qorus connection
Arguments
Return Value
This API returns a ConnectionUpdateResultInfo hash with the following keys (information about the result of the operation):
  • info (string): a string providing information about the connection update action
  • changes (*UndefinedHash): list of attributes changed on the connection
Errors
  • 403 Forbidden: access or authorization error

GET /api/latest/connections/{name}

Description
Returns a hash information for the current user connection, datasource, or remote Qorus connection
Arguments
This API takes the following hash argument:
  • with_password (*bool): include the password in the "url" and "url_hash" keys
Return Value
This API returns a ConnectionInfo hash with the following keys (information about the connection):
  • connectionid (int): the unique connection ID
  • name (string): the name of the connection
  • display_name (string): the display name of the connection
  • conntype (string): either "DATASOURCE", "REMOTE", or "USER-CONNECTION"
  • short_desc (string): the short plain-text description of the connection
  • description (string): a description of the connection
  • url (string): the URL to the remote host
  • monitor (bool): a boolean indicating if the connection is monitored or not
  • last_check (*date): the date/time value the connection was last checked (loopback remote connections are not checked)
  • updated (*date): the date/time the connection was last updated
  • status (string): \ "OK", "not checked", or an error message
  • up (bool): a boolean indicating if the connection was monitored to be up or not
  • loopback (*bool): (only for remote connections) indicates if the connection is a loopback connection
  • type (string): the connection type ("datasource", "rest", "soap", etc)
  • url_hash (UndefinedHash): a hash of broken-down URL components
  • enabled (bool): indicates if the connecton is enabled or not
  • locked (*bool): indicates if the connection can be edited or not (only the system schema connection is locked and cannot be edited)
  • debug_data (*bool): if data debugging is enabled for the connection
  • tags (*UndefinedHash): any tags for the connection
  • has_provider (bool): if the connection supports a data provider
  • children_can_support_apis (bool): if the data provider or any children support APIs
  • children_can_support_records (bool): if the data provider or any children support records
  • children_can_support_observers (bool): if the data provider or any children support event observation
  • children_can_support_messages (bool): if the data provider or any children support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • opts (*UndefinedHash): a hash of options for the connection
  • features (*QorusBooleanSetInfo): a list of connection-specific features supported by the connection
    • key (bool): bool value
  • dataprovider_subtypes (*UndefinedHashOfHashes): a hash of data provider subtype option info; top-level keys are data provider subtypes supported by the connection, values are option hashes
    • key (UndefinedHash): UndefinedHash value
  • auth_request_uri (*string): a URI to make OAuth2 authorization code grant requests, if supported by the connection
  • coord-mode (*bool): if coordinated mode is enabled (datasources only)
  • safe_url (*string): a URL string without any password information
  • shared-pool (*string): summary information about the DatasourcePool object backing a datasource connection
  • warning-timeout (*int): datasource warning timeout in milliseconds
  • error-timeout (*int): datasources error timeout in milliseconds
  • pool-wait-max (*int): (datasources only) the maximum wait time for a pool connection to become available in milliseconds
  • pool-reqs (*int): (datasources only) the number of connection requests on the pool
  • pool-hits (*int): (datasources only) the number of connection requests that could be served immediately without blocking
  • pool-miss (*int): (datasources only) the number of connection requests that could be served only after blocking
  • pool-hit-pct (*float): the percentage of hits to misses
  • deps (*list<ConnectionDependencyInfo>): a list of dependent interfaces
  • alerts (*list<AlertInfo>): a list of alerts raised against the connection
  • health (*string): (remote Qorus connections only) a string giving the health color code of the instance
  • instance-key (*string): (remote Qorus connections only) the Qorus instance key of the remote instance
  • omq-version (*string): (remote Qorus connections only) the Qorus version
  • alert-summary (*SystemAlertInfo): summary of alert info
  • error (*string): (remote Qorus connections only) any error summary string for the remote instance
  • created (date): the created date of the connection
  • modified (date): the last modified date of the connection
  • needs_auth (*bool): True if the connection requires OAuth2 authorization

PUT /api/latest/connections/{name}

Description
Modifies the current user connection, datasource, or remote Qorus connection
Arguments
This API takes the following hash arguments:
  • name (*string): the new name of the connection
  • display_name (*string): the new display name of the connection
  • short_desc (*string): a new short description for the connection
  • desc (*string): a new description for the connection
  • url (*string): a new URL for the connection
  • options (*UndefinedHash): new options for the connection
  • tags (*UndefinedHash): new tags for the connection
Return Value
This API returns a ConnectionUpdateResultInfo hash with the following keys (information about the result of the operation):
  • info (string): a string providing information about the connection update action
  • changes (*UndefinedHash): list of attributes changed on the connection
Errors
  • 403 Forbidden: access or authorization error
  • 409 Conflict: error executing the change

POST /api/latest/connections/{name}?action=clone

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
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the connection
  • display_name (*string): the new display name for the connection; generated from name if necessary
  • short_desc (*string): the short plain-text description for the connection
  • desc (*string): the new description for the connection with markdown formatting
Return Value
This API returns a CloneConnectionInfo hash with the following keys (a description of the new connection):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/connections/{name}?action=disable

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
Arguments
Return Value
This API returns a ConnectionUpdateResultInfo hash with the following keys (information about the result of the operation):
  • info (string): a string providing information about the connection update action
  • changes (*UndefinedHash): list of attributes changed on the connection
Errors
  • 403 Forbidden: access or authorization error

PUT /api/latest/connections/{name}?action=disableDebugData

Description
Disables data debugging for a user connection (and only for user connections)
Arguments
Return Value
This API returns a ConnectionUpdateResultInfo hash with the following keys (information about the result of the operation):
  • info (string): a string providing information about the connection update action
  • changes (*UndefinedHash): list of attributes changed on the connection
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/connections/{name}?action=enable

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
Arguments
Return Value
This API returns a ConnectionUpdateResultInfo hash with the following keys (information about the result of the operation):
  • info (string): a string providing information about the connection update action
  • changes (*UndefinedHash): list of attributes changed on the connection
Errors
  • 403 Forbidden: access or authorization error

PUT /api/latest/connections/{name}?action=enableDebugData

Description
Enables data debugging for a user connection (and only for user connections)
Arguments
Return Value
This API returns a ConnectionUpdateResultInfo hash with the following keys (information about the result of the operation):
  • info (string): a string providing information about the connection update action
  • changes (*UndefinedHash): list of attributes changed on the connection
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/connections/{name}?action=file

Description
Returns the connection as a file that can be saved

PUT /api/latest/connections/{name}?action=ping

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.
Arguments
Return Value
This API returns a PingResultInfo hash with the following keys (the result of the ping operation):
  • ok (bool): the status of the ping
  • name (string): the name of the connection
  • desc (string): the description of the connection
  • url (string): the URL for the connection
  • opts (UndefinedHash): a hash of options for the connection (if any)
  • time (date): the elapsed time for the ping
  • info (string): "OK" if the ping was successful or an error message if not
  • result (string): a string representation of the time in seconds (ex: "0.25s")
  • ping_flags (int): ping flags as per Ping Flags
  • ping_info (*UndefinedHash): a hash of optional additional info about the ping operation
  • ex (*UndefinedHash): any exception hash will be stored here in case of a ping failure

/api/latest/connections/{name}/provider

This URI path provides access to a data provider created from a Qorus connection

DELETE /api/latest/connections/{name}/provider

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters for records to be deleted
  • search_options: search options
Return Value
Returns the number of records deleted
Errors
  • 400 Bad Request: returned if the request has no where_cond key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/connections/{name}/provider

Description
Returns data provider information
Arguments
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/connections/{name}/provider?action=Description

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*list<string>): 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
  • provider_options (*UndefinedHash): any options to be passed to a factory creation method when accessing this URI endpoint through a factory
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/connections/{name}/provider?action=apiEndpoints

Description
Returns a list of request/response endpoint information for the data provider
Arguments
This API takes the following hash arguments:
  • context (*list<string>): 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
  • soft (*bool): soft types are returned
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a value of type list<EndpointInfo>: a list of API endpoints supported by the data provider

PUT /api/latest/connections/{name}/provider?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*list<string>): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

GET /api/latest/connections/{name}/provider?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*list<string>): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

POST /api/latest/connections/{name}/provider?action=create

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • create_options: any create options supported by the data provider
Return Value
The string "OK"
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/connections/{name}/provider?action=request

Arguments
  • request_options: request options
Return Value
Returns the result of the operation
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/connections/{name}/provider?action=search

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters
  • search_options: search options
Return Value
Returns a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/connections/{name}/provider?action=stream

Description
Opens a stream for bulk inserting or upserting records in the data provider
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • stream: (required) the name of the stream to open; must be either:
    • insert: for an insert stream
    • upsert: for an upsert stream
  • upsert_options: any upsert options supported by the data provider (upsert stream only)
Return Value
This API returns a stream supporting bulk record insertion for the data provider
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/connections/{name}/provider?action=stream

Description
Returns a search stream for results corresponding to the argument(s)
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); all keys are optional:
  • where_cond: search parameters
  • block_size: number of rows in each block (default = 1000)
Return Value
This API returns a stream consisting of a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/connections/{name}/provider?action=update

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • set: (required) set of fields matching where_conf to update
  • where_cond: (required) search parameters
  • search_options: search options
Return Value
Returns the number of rows updated
Errors
  • 400 Bad Request: returned if the request has no set or where_cond keys
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/connections/{name}/provider?action=upsert

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • upsert_options: any upsert options supported by the data provider
Return Value
The result string of the upsert operation; see DB Provider Upsert Result Codes for possible values
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/connections/{name}/provider/.../request-fields

This URI path provides access information for a particular data request data type

/api/latest/connections/{name}/provider/record

This URI path provides record information for a data provider

Arguments
This URI path element is reachable only if a provider can be created from the factory; to create the provider, the following hash argument is removed from the argument list before passing onward for processing:
  • provider_options: the options to be passed to the factory creation method to create the provider

GET /api/latest/connections/{name}/provider/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

PUT /api/latest/connections/{name}/provider/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

/api/latest/constants

This REST API path provides actions and information about Qorus constant objects

GET /api/latest/constants

Description
Returns a list of hashes of all constant objects
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
Return Value
This API returns a list of hashes with the following keys (if neither list nor short options are passed as above):
  • constantid: the constant ID
  • name: the name of the constant
  • version: the version of the constant
  • description: the description of the constant object
  • author: the author of the constant object
  • created: the date/time the constant object was created
  • modified: the date/time the constant object was modified
  • source: the source file that the constant object was created from
  • line: the offset in the source file for source of the constant object

POST /api/latest/constants

Description
Creates a new constant
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the constant
  • desc (*string): the new description for the constant with markdown formatting
  • version (string): the new version for the constant
  • author (*string): the author of the constant
  • source (string): the source code for the constant
Return Value
This API returns a CreateConstantInfo hash with the following keys (a description of the new constant):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/constants?action=create

Description
Creates a new constant
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the constant
  • desc (*string): the new description for the constant with markdown formatting
  • version (string): the new version for the constant
  • author (*string): the author of the constant
  • source (string): the source code for the constant
Return Value
This API returns a CreateConstantInfo hash with the following keys (a description of the new constant):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/constants/{id_or_name}

This REST API path provides actions and information about specific constant objects

DELETE /api/latest/constants/{id_or_name}

Description
Deletes the constant
Arguments
This API takes the following hash argument:
  • cascade (*bool): force-delete the object and update all dependent objects; can break those objects
Return Value
This API returns a ConstantDeletionInfo hash with the following key (information about the constant that was deleted):
  • id (int): the ID of the constant that was deleted
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: no such constant
Note
Requires one of the following permissions:

GET /api/latest/constants/{id_or_name}

Description
Returns a hash of information about the current constant object
Return Value
This API returns a hash with the following keys:
  • name: the name of the constant object
  • version: the version of the constant object
  • constantid: the constant object ID
  • description: the description of the constant object
  • author: the author of the constant object
  • body: the source code for the class object
  • created: the date/time the constant object was created
  • modified: the date/time the constant object was modified
  • createdby: (deprecated) always "omq"
  • modifiedby: (deprecated) always "omq"
  • tags: any user-defined tags on the constant object
  • source: the source file that the constant object was created from
  • offset: the offset in the source file for the source of constant object
  • host: the hostname of the machine where the constant object was loaded from
  • user: the OS user who loaded the constant object

PUT /api/latest/constants/{id_or_name}

Description
Updates the current constant
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the constant
  • desc (*string): the new description for the constant with markdown formatting
  • version (*string): the new version for the constant
  • author (*string): the author of the constant
  • source (*string): the source code for the constant
  • constant_type (*string): The type of the constant
Return Value
This API returns an UpdateConstantInfo hash with the following keys (a description of the new constant):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/constants/{id_or_name}?action=clone

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
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the constant
  • desc (*string): the new description for the constant with markdown formatting
  • version (*string): the new version for the constant
  • author (*string): the author of the constant
  • source (*string): the source code for the constant
Return Value
This API returns a CloneConstantInfo hash with the following keys (a description of the new constant):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/constants/{id_or_name}?action=file

Description
Returns the constant as a file that can be saved

/api/latest/creator

This REST URI path provides actions and information for the base path of the creator API

GET /api/latest/creator?action=locks

Description
Returns a list of lock and reservation information for debugging

/api/latest/creator/class

This REST URI path provides actions and information for classes in the creator API

GET /api/latest/creator/class

Description
Returns information about class metadata

PUT /api/latest/creator/class?action=new

Description
Reserves a class id for creation and returns metadata information for classes
Return Value
This API returns a hash with the following keys:
  • type: (string) class
  • id: (int) the class ID reserved
  • fields: (hash) field description for a new class
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_CREATE

/api/latest/creator/class/{class}

This REST URI path provides actions and information for a specific class in the creator API

GET /api/latest/creator/class/{class}

Description
Returns information for a specific class with field information as well

PUT /api/latest/creator/class/{class}?action=editLock

Description
Locks a class for editing in the UI
Arguments
This API takes the following hash arguments (in the message body):
  • cid: (int) the unique connection ID
  • tab_token: (string) the unique connection ID for the tab subchannel
Return Value
This API returns a hash with the following keys:
  • locked: (bool) True or False
  • info: (hash) only included if the lock fails
    • intent: warning
    • content: msg explaining that the object is already locked
Errors
  • 400 Bad Request: returned if the request has invalid arguments
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_UPDATE

PUT /api/latest/creator/class/{class}?action=releaseEditLock

Description
Releases an edit lock on a class
Arguments
This API takes the following hash arguments (in the message body):
  • cid: (int) the unique connection ID
  • tab_token: (string) the unique connection ID for the tab subchannel
Return Value
This API returns a hash with the following keys:
  • locked: (bool) True or False
  • info: (hash) only included if the lock fails
    • intent: warning
    • content: msg explaining that the object is already locked
Errors
  • 400 Bad Request: returned if the request has invalid arguments
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_UPDATE

/api/latest/creator/config-item

This REST URI path provides actions and information for config items in the creator API

/api/latest/creator/connection

This REST URI path provides actions and information for connections in the creator API

GET /api/latest/creator/connection

Description
Returns a list of all remote connections (remote connections under "qorus", user connections under "user", and datasource connections under "datasources")
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
Return Value
Returns a list of hashes; the "conntype" value determines the hash format as follows:
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/creator/connection/{connection}

This REST URI path provides actions and information for a specific connection in the creator API

GET /api/latest/creator/connection/{connection}

Description
Returns information for a specific connection with field information as well

PUT /api/latest/creator/connection/{connection}?action=editLock

Description
Locks a connection for editing in the UI
Arguments
This API takes the following hash arguments (in the message body):
  • cid: (int) the unique WebSocket connection ID
  • tab_token: (string) the unique connection ID for the tab subchannel
Return Value
This API returns a hash with the following keys:
  • locked: (bool) True or False
  • info: (hash) only included if the lock fails
    • intent: warning
    • content: msg explaining that the object is already locked
Errors
  • 400 Bad Request: returned if the request has invalid arguments
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_UPDATE

PUT /api/latest/creator/connection/{connection}?action=releaseEditLock

Description
Releases an edit lock on a connection
Arguments
This API takes the following hash arguments (in the message body):
  • cid: (int) the unique connection ID
  • tab_token: (string) the unique connection ID for the tab subchannel
Return Value
This API returns a hash with the following keys:
  • locked: (bool) True or False
  • info: (hash) only included if the lock fails
    • intent: warning
    • content: msg explaining that the object is already locked
Errors
  • 400 Bad Request: returned if the request has invalid arguments
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_UPDATE

/api/latest/creator/job

This REST URI path provides actions and information for jobs in the creator API

GET /api/latest/creator/job

Description
Returns information about job metadata

PUT /api/latest/creator/job?action=new

Description
Reserves a job id for creation and returns metadata information for jobs
Return Value
This API returns a hash with the following keys:
  • type: (string) job
  • id: (int) the job ID reserved
  • fields: (hash) field description for a new job
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_CREATE

/api/latest/creator/job/{job}

This REST URI path provides actions and information for a specific job in the creator API

GET /api/latest/creator/job/{job}

Description
Returns information for a specific job with field information as well

PUT /api/latest/creator/job/{job}?action=editLock

Description
Locks a job for editing in the UI
Arguments
This API takes the following hash arguments (in the message body):
  • cid: (int) the unique connection ID
  • tab_token: (string) the unique connection ID for the tab subchannel
Return Value
This API returns a hash with the following keys:
  • locked: (bool) True or False
  • info: (hash) only included if the lock fails
    • intent: warning
    • content: msg explaining that the object is already locked
Errors
  • 400 Bad Request: returned if the request has invalid arguments
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_UPDATE

PUT /api/latest/creator/job/{job}?action=releaseEditLock

Description
Releases an edit lock on a job
Arguments
This API takes the following hash arguments (in the message body):
  • cid: (int) the unique connection ID
  • tab_token: (string) the unique connection ID for the tab subchannel
Return Value
This API returns a hash with the following keys:
  • locked: (bool) True or False
  • info: (hash) only included if the lock fails
    • intent: warning
    • content: msg explaining that the object is already locked
Errors
  • 400 Bad Request: returned if the request has invalid arguments
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_UPDATE

/api/latest/creator/service

This REST URI path provides actions and information for services in the creator API

GET /api/latest/creator/service

Description
Returns information about service metadata

PUT /api/latest/creator/service?action=new

Description
Reserves a service id for creation and returns metadata information for services
Return Value
This API returns a hash with the following keys:
  • type: (string) service
  • id: (int) the service ID reserved
  • fields: (hash) field description for a new service
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_CREATOR_CONTROL or OMQ::QR_CREATOR_CREATE

/api/latest/creator/service/{service}

This REST URI path provides actions and information for a specific service in the creator API

GET /api/latest/creator/service/{service}

Description
Returns information for a specific service with field information as well

/api/latest/dataprovider

This URI path provides access to data provider functionality

GET /api/latest/dataprovider

Returns a list of child URLs for this class

POST /api/latest/dataprovider?action=callApi

Description
Makes an API call with a request-response data provider and returns the response
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedHash): factory constructor options; invalid options are silently ignored
  • args (auto): 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 (*UndefinedHash): any context data to be used to resolve arguments
  • request_options (*UndefinedHash): any request options
Return Value
This API returns a value of type auto: the return value of the API call
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=callApiFromUi

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
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedUiHash): factory constructor options; invalid options are silently ignored
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
  • args (auto): 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 (*UndefinedHash): any context data to be used to resolve arguments
  • request_options (*UndefinedUiHash): any request options
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
Return Value
This API returns a value of type auto: the return value of the API call
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

PUT /api/latest/dataprovider?action=compareManyTypes

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.
Arguments
This API takes the following hash argument:
  • types (QorusTypeComparisonSetInfo): a hash of hashes keyed by a unique user-defined comparison identifier
    • base_type (QorusTypeInfo): hash describing the input or receiving type (type of variable to accept type)
      • type (string): one of connection, datasource, factory, remote, or type
      • name (string): the name of the type, connection, factory, etc
      • path (*string): the path to the final object
      • subtype (*string): the subtype for type = connection
      • options (*hash<auto>): create option for type = factory
      • hasApiContext (*bool): True if the type is a factory with options to be handled in an API
    • type (QorusTypeInfo): a hash describing the output or sending type (type of value to be assigned to base_type)
      • type (string): one of connection, datasource, factory, remote, or type
      • name (string): the name of the type, connection, factory, etc
      • path (*string): the path to the final object
      • subtype (*string): the subtype for type = connection
      • options (*hash<auto>): create option for type = factory
      • hasApiContext (*bool): True if the type is a factory with options to be handled in an API
Return Value
This API returns a QorusBooleanSetInfo hash; keys have the following format:
  • any (bool): Returns a hash keyed by hash keys in the types argument where the values are boolean values of the results of the type comparisons
Errors
  • 400 Bad Request: missing or invalid types argument; non-unique name in types list
  • 404 Not Found: the given type, factory, connection, etc cannot be found

PUT /api/latest/dataprovider?action=compareTypes

Description
Compares two types for assignment compatibility; takes a base_type and a type argument and returns
Arguments
This API takes the following hash arguments:
  • base_type (QorusTypeInfo): hash describing the input or receiving type (type of variable to accept type)
    • type (string): one of connection, datasource, factory, remote, or type
    • name (string): the name of the type, connection, factory, etc
    • path (*string): the path to the final object
    • subtype (*string): the subtype for type = connection
    • options (*hash<auto>): create option for type = factory
    • hasApiContext (*bool): True if the type is a factory with options to be handled in an API
  • type (QorusTypeInfo): a hash describing the output or sending type (type of value to be assigned to base_type)
    • type (string): one of connection, datasource, factory, remote, or type
    • name (string): the name of the type, connection, factory, etc
    • path (*string): the path to the final object
    • subtype (*string): the subtype for type = connection
    • options (*hash<auto>): create option for type = factory
    • hasApiContext (*bool): True if the type is a factory with options to be handled in an API
Return Value
This API returns a value of type bool: True if type can be assigned to base_type, False if not
Errors
  • 400 Bad Request: missing or invalid types argument; non-unique name in types list
  • 404 Not Found: the given type, factory, connection, etc cannot be found

POST /api/latest/dataprovider?action=createRecords

Description
Creates new records in a data provider and returns the number of created records
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedHash): factory constructor options; invalid options are silently ignored
  • records (list<UndefinedHash>): 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 (*UndefinedHash): any context data to be used to resolve the where argument
Return Value
This API returns a value of type list<UndefinedHash>: the record set inserted
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=createRecordsFromUi

Description
Creates new records in a data provider and returns the number of created records
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedUiHash): factory constructor options; invalid options are silently ignored
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
  • records (list<UndefinedUiHash>): 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 (*UndefinedHash): any context data to be used to resolve the where argument
Return Value
This API returns a value of type list<UndefinedHash>: the record set inserted
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=deleteRecords

Description
Deletes records from a data provider and returns the number of deleted records
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedHash): factory constructor options; invalid options are silently ignored
  • where (*UndefinedHash): 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 (*UndefinedHash): any context data to be used to resolve the where argument
  • search_options (*UndefinedHash): any search options
Return Value
This API returns an AffectedRecordInfo hash with the following key (a hash describing the number of records affected by the operation):
  • affected_records (int): the number of records affected by the operation
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=deleteRecordsFromUi

Description
Deletes records from a data provider and returns the number of deleted records
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedUiHash): factory constructor options; invalid options are silently ignored
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
  • where (*UndefinedHash): 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 (*UndefinedHash): any context data to be used to resolve the where argument
  • search_options (*UndefinedUiHash): any search options
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
Return Value
This API returns an AffectedRecordInfo hash with the following key (a hash describing the number of records affected by the operation):
  • affected_records (int): the number of records affected by the operation
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=searchRecords

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
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedHash): factory constructor options; invalid options are silently ignored
  • where (*UndefinedHash): 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 (*UndefinedHash): any context data to be used to resolve the where argument
  • search_options (*UndefinedHash): any search options
Return Value
This API returns a value of type *list<UndefinedHash>: the records matching the search criteria
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=searchRecordsFromUi

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
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedUiHash): factory constructor options; invalid options are silently ignored
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
  • where (*UndefinedHash): 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 (*UndefinedHash): any context data to be used to resolve the where argument
  • search_options (*UndefinedUiHash): any search options
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
Return Value
This API returns a value of type *list<UndefinedHash>: the records matching the search criteria
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=searchSingleRecord

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
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedHash): factory constructor options; invalid options are silently ignored
  • where (UndefinedHash): 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 (*UndefinedHash): any context data to be used to resolve the where argument
  • search_options (*UndefinedHash): any search options
Return Value
This API returns a *UndefinedHash hash; keys have the following format:
  • any (auto): the record matching the search criteria or no value if there is no match
Errors
  • 400 Bad Request: missing or invalid required arguments or if multiple records match the search criteria
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=searchSingleRecordFromUi

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
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedUiHash): factory constructor options; invalid options are silently ignored
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
  • where (UndefinedUiHash): 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
    • key (UndefinedHash): UndefinedHash value
  • context (*UndefinedHash): any context data to be used to resolve the where argument
  • search_options (*UndefinedUiHash): any search options
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
Return Value
This API returns a *UndefinedHash hash; keys have the following format:
  • any (auto): the record matching the search criteria or no value if there is no match
Errors
  • 400 Bad Request: missing or invalid required arguments or if multiple records match the search criteria
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=sendMessage

Description
Sends a message with a message-based data provider
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedHash): factory constructor options; invalid options are silently ignored
  • message_id (string): the ID of the message to send; must be a message supported by the data provider
  • message (auto): 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 (*UndefinedHash): any context data to be used to resolve arguments
  • message_options (*UndefinedHash): any message options
Return Value
This API returns a value of type string: the string OK
Errors
  • 400 Bad Request: missing or invalid message ID or message body
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=sendMessageFromUi

Description
Sends a message with a message-based data provider; certain arguments are expected in a format used by UI clients
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedUiHash): factory constructor options; invalid options are silently ignored
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
  • message_id (string): the ID of the message to send; must be a message supported by the data provider
  • message (auto): 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 (*UndefinedHash): any context data to be used to resolve arguments
  • message_options (*UndefinedHash): any message options
Return Value
This API returns a value of type string: the string OK
Errors
  • 400 Bad Request: missing or invalid message ID or message body
Note
Requires one of the following permissions:

PUT /api/latest/dataprovider?action=type

Description
Returns type information for the given data provider information
Arguments
This API takes the following hash arguments:
  • soft (*bool): if a "soft" type should be returned
  • type (QorusTypeInfo): hash describing the input or receiving type (type of variable to accept type)
    • type (string): one of connection, datasource, factory, remote, or type
    • name (string): the name of the type, connection, factory, etc
    • path (*string): the path to the final object
    • subtype (*string): the subtype for type = connection
    • options (*hash<auto>): create option for type = factory
    • hasApiContext (*bool): True if the type is a factory with options to be handled in an API
Return Value
This API returns a DataProviderTypeInfo hash with the following keys (data provider type information):
  • name (string): the type name
  • display_name (*string): the type's display name
  • short_desc (*string): the short, plain-text description of the type
  • desc (string): the description of the type
  • supported_options (*UndefinedHash): transformation options supported by the type
  • options (*UndefinedHash): transformation option values
  • base_type (string): the Qore base type name
  • mandatory (bool): can be null / missing?
  • default_value (auto): any default value for the type
  • types_accepted (list<string>): list of types accepted on input
  • types_returned (list<string>): list of types returned
  • fields (*UndefinedHash): fields supported by the type
  • can_manage_fields (bool): True if fields can be added dynamically to the type
  • tags (*UndefinedHash): any tags set on the type
  • or_nothing_type (bool): if True, the type will accept NOTHING

POST /api/latest/dataprovider?action=updateRecords

Description
Performs an update action in a data provider and returns the number of records updated
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedHash): factory constructor options; invalid options are silently ignored
  • set (UndefinedHash): 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 (*UndefinedHash): 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 (*UndefinedHash): any context data to be used to resolve the where argument
  • search_options (*UndefinedHash): any search options
Return Value
This API returns an AffectedRecordInfo hash with the following key (a hash describing the number of records affected by the operation):
  • affected_records (int): the number of records affected by the operation
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

POST /api/latest/dataprovider?action=updateRecordsFromUi

Description
Performs an update action in a data provider and returns the number of records updated
Arguments
This API takes the following hash arguments:
  • type (string): the type of path: factory, connection, datasource, or remote
  • name (string): the initial segment of the data provider path
  • path (*string): the path to the data provider
  • options (*UndefinedUiHash): factory constructor options; invalid options are silently ignored
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
  • set (UndefinedUiHash): 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
    • key (UndefinedHash): UndefinedHash value
  • where (UndefinedUiHash): 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
    • key (UndefinedHash): UndefinedHash value
  • context (*UndefinedHash): any context data to be used to resolve the where argument
  • search_options (*UndefinedUiHash): any search options
    • type (string): the expected type of the argument
    • value (auto): the value of the argument, for values that cannot be serialized as JSON, this will be a string in YAML format
Return Value
This API returns an AffectedRecordInfo hash with the following key (a hash describing the number of records affected by the operation):
  • affected_records (int): the number of records affected by the operation
Errors
  • 400 Bad Request: missing or invalid required arguments
Note
Requires one of the following permissions:

/api/latest/dataprovider/actions

This URI path provides access to data provider action functionality

GET /api/latest/dataprovider/actions

Description
Returns matching DataProvider actions
Arguments
This API takes the following hash arguments:
  • app (*string): search for actions associated with the given app
  • search (*string): a substring or regular expression search value to look for in the actions description and short description fields
  • search_regex (*bool): if True then any search value will be assumed to be a regular expression instead of a substring
Return Value
This API returns a value of type *list<DataProviderActionInfo>: list of DataProvider actions

/api/latest/dataprovider/apps

This URI path provides access to data provider application functionality

GET /api/latest/dataprovider/apps

Description
Returns matching DataProvider applications
Arguments
This API takes the following hash arguments:
  • search (*string): a substring or regular expression search value to look for in the application name and description fields
  • search_regex (*bool): if True then any search value will be assumed to be a regular expression instead of a substring
Return Value
This API returns a value of type *list<DataProviderAppInfo>: list of DataProvider applications

GET /api/latest/dataprovider/apps?action=clientInfo

Description
Retrieves info about the OAuth2 client cache
Arguments
This API takes no arguments
Return Value
This API returns an OAuth2ClientCacheInfo hash with the following keys (information about the OAuth2 client cache):
  • count (int): number of clients cached
  • timestamp (date): the date the cache was refreshed

POST /api/latest/dataprovider/apps?action=refreshClients

Description
Refresh OAuth2 client information from Qore Technologies' cloud server
Arguments
This API takes no arguments
Return Value
This API returns a value of type string: OK
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/dataprovider/apps/{app}

This URI path provides access to data provider application functionality

GET /api/latest/dataprovider/apps/{app}

Description
Returns info about the current DataProvider application
Arguments
Return Value
This API returns a DataProviderAppInfo hash with the following keys (info about the current DataProvider application):
  • name (string): the unique application name
  • display_name (string): the dispay name for the application
  • short_desc (string): the application's short description in plain text
  • desc (string): the application description with markdown formatting
  • builtin (bool): if the application is builtin to Qorus or not
  • scheme (*string): any scheme identifying a connection for the application
  • logo (string): a link to the logo data that will be served directly
  • logo_file_name (string): the file name of the logo
  • logo_mime_type (string): the mime type for logo
  • oauth2_clients (*list<OAuth2AppClientInfo>): OAuth2 client info, if any
  • connections (*list<string>): a list of existing connections with the given scheme
  • actions (*list<DataProviderActionInfo>): list of all actions on each application
  • oauth2_client (*OAuth2ClientInfo): OAuth2 client info, if any
    • oauth2_client_id (string): the OAuth2 client ID to use
    • oauth2_client_secret (string): the OAuth2 client secret to use
    • url_type (string): auto: automatically generated or required: the user must provide a URL
    • oauth2_auth_url (*string): if set, this overrides the REST connection option
    • oauth2_token_url (*string): if set, this overrides the REST connection option
    • required_options (*list<string>): a list of connection options that must be filled in by the user to create the connection

POST /api/latest/dataprovider/apps/{app}?action=createConnection

Description
Creates a new connection for the application
Arguments
This API takes the following hash arguments:
  • options (*UndefinedHash): options and values to use
  • tags (*UndefinedHash): any tags to add on the connection
Return Value
This API returns a ConnectionCreationInfo hash with the following keys (connection creation info):
  • name (string): the new connection name
  • desc (string): the new connection description
  • id (int): the new connection ID
  • display_name (string): the display name for the connection
  • short_desc (string): the short description for the connection
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/dataprovider/apps/{app}?action=getCreateConnectionOptions

Description
Returns info about options required to create a new connection for the current action
Arguments
This API takes the following hash argument:
  • options (*UndefinedHash): options and values to use
Return Value
This API returns a ConnectionOptionSet hash with the following keys (connection option info; keys are option names):
  • type (string): data type of the option
  • display_name (string): the display name of the option
  • short_desc (string): short description of the option in plain text
  • desc (string): description of the option with markdown formatting
  • required (*bool): is the option required?
  • required_groups (*list<string>): any groups of required options that this option is a member of
  • arg_schema (*UndefinedHash): description of any subfields required for this option
  • default_value (auto): any default value for the option
  • default_value_desc (*string): the description for the default value
  • readonly (*bool): if the option is read only
  • sensitive (*bool): is the value sensitive?
  • multiselect (*bool): are allowed values the allowed values for a list type?
  • allowed_values (*list<AllowedValueInfo>): allowed values for the option
  • example_value (*string): an example value for the option
  • subst_env_vars (bool): will environment variables in string values be substituted?
  • freeform (bool): modifier for the file-as-string type: can a freeform location option be returned?
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/dataprovider/apps/{app}?action=logo

Return Value
Returns the application's logo with the Content-Type as the logo's MIME type

PUT /api/latest/dataprovider/apps/{app}?action=updateConnection

Description
Updates an existing connection for the application
Arguments
This API takes the following hash argument:
  • options (*UndefinedHash): 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
Return Value
This API returns a ConnectionUpdateInfo hash with the following keys (connection creation info):
  • info (string): information about the operation performed
  • changes (*UndefinedHash): hash of changed effected
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object itself
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/dataprovider/apps/{app}/actions

This URI path provides access to data provider application action functionality

GET /api/latest/dataprovider/apps/{app}/actions

Description
Returns info about the current DataProvider application actions
Arguments
Return Value
This API returns a value of type *list<DataProviderActionInfo>: list of all actions on each application

/api/latest/dataprovider/apps/{app}/actions/{action}

This URI path provides access to data provider functionality for a specific application action

GET /api/latest/dataprovider/apps/{app}/actions/{action}

Description
Returns info about the current DataProvider application action
Arguments
Return Value
This API returns a DataProviderActionInfo hash with the following keys (action information):
  • app (string): the application name
  • action (string): the unique action name in the application
  • subtype (*string): the subtype for the data provider provided by the connection
  • path (string): the data provider path for the action
  • path_vars (*PathVarSet): descriptions for any path variables
    • display_name (string): the display name of the path var
    • short_desc (string): short description of the path var in plain text
    • desc (string): description of the path var with markdown formatting
    • example_value (*string): any exmple value for the path var
  • display_name (string): the name of the action that will be displayed to users
  • short_desc (string): the action's short description in plain text
  • desc (string): the action's long description with markdown formatting
  • action_code (int): the action's code
  • action_code_str (string): a string description of the action code
  • action_val (*string): the action value (message or event type)
  • cls (*string): the class name for applications with no schema
  • data_dependent_options (bool): if the action contains data-dependent option definitions
  • options (*ActionOptionSet): options required to create the action
    • app (string): the application name
    • action (string): the action name
    • type (string): data type of the option
    • display_name (string): the display name of the option
    • short_desc (string): short description of the option in plain text
    • desc (string): description of the option with markdown formatting
    • preselected (*bool): if the option should be preselected by the front end
    • supports_expressions (*bool): if the option value supports expression evaluation
    • supports_templates (*bool): if the option value supports template expansion
    • required (*bool): is the option required?
    • required_groups (*list<string>): any groups of required options that this option is a member of
    • arg_schema (*string): a reference to an arg_schema that can be returned with a REST call to GET /api/latest/dataprovider/arg_schemas/_ref_
    • element_type (*string): the name of the list element type, if any
    • default_value (auto): any default value for the option
    • default_value_desc (*string): the description for the default value
    • readonly (*bool): if the option is read only
    • sensitive (*bool): is the value sensitive?
    • multiselect (*bool): are allowed values the allowed values for a list type?
    • allowed_values (*list<AllowedValueInfo>): allowed values for the option
    • example_value (auto): an example value for the option
    • loc (*string): any option-specific location hint for the value when executing the action
    • value (auto): the value of the option, if any
    • depends_on (*list<auto>): any other option(s) that this option depends on for its value or allowed values
    • sort (int): sort key for option order
    • has_dependents (*bool): if any other options depend on this one
    • disallow_template (*bool): disallow templates on this option
    • messages (*list<UiMessageHash>): messages related to the option
    • metadata (*UndefinedHash): any additional data about the option
    • disabled (*bool): if the option is disabled
    • on_change (*list<string>): a list of actions for the front-end to perform if the option changes
    • structural_determinate (*bool): if True then the value of this option determines the presence (or
  • options_url (string): the URL to the API to verify action options
  • exec_url (string): the URL to the API to execute actions
  • output_type (*ActionOutputTypeInfo): information about the action's output type, if any
    • name (string): the name of the type
    • display_name (string): the display name of the type
    • short_desc (string): the short plain-text description of the type
    • desc (string): the full description of the type with markdown formatting
    • type (string): the name of the Qore underlying type for this type
    • fields (*ActionOutputFieldInfo): a hash keyed by field name of fields supported by the type
      • key (ActionOutputInfo): ActionOutputInfo value

POST /api/latest/dataprovider/apps/{app}/actions/{action}?action=createConnection

Description
Creates a new connection for the application
Arguments
This API takes the following hash argument:
  • options (*UndefinedHash): options and values to use
Return Value
This API returns a ConnectionCreationInfo hash with the following keys (connection creation info):
  • name (string): the new connection name
  • desc (string): the new connection description
  • id (int): the new connection ID
  • display_name (string): the display name for the connection
  • short_desc (string): the short description for the connection
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/dataprovider/apps/{app}/actions/{action}?action=exec

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
Arguments
This API takes the following hash arguments:
  • options (*StringHash): 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
    • key (string): string value
  • generate (*bool): if True, then missing argument values will be generated
Return Value
This API returns a value of type auto: the result of executing the action
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/dataprovider/apps/{app}/actions/{action}?action=getCreateConnectionOptions

Description
Returns info about options required to create a new connection for the current action
Arguments
This API takes the following hash argument:
  • options (*UndefinedHash): options and values to use
Return Value
This API returns a ConnectionOptionSet hash with the following keys (connection option info; keys are option names):
  • type (string): data type of the option
  • display_name (string): the display name of the option
  • short_desc (string): short description of the option in plain text
  • desc (string): description of the option with markdown formatting
  • required (*bool): is the option required?
  • required_groups (*list<string>): any groups of required options that this option is a member of
  • arg_schema (*UndefinedHash): description of any subfields required for this option
  • default_value (auto): any default value for the option
  • default_value_desc (*string): the description for the default value
  • readonly (*bool): if the option is read only
  • sensitive (*bool): is the value sensitive?
  • multiselect (*bool): are allowed values the allowed values for a list type?
  • allowed_values (*list<AllowedValueInfo>): allowed values for the option
  • example_value (*string): an example value for the option
  • subst_env_vars (bool): will environment variables in string values be substituted?
  • freeform (bool): modifier for the file-as-string type: can a freeform location option be returned?
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/dataprovider/apps/{app}/actions/{action}?action=getOptions

Description
Returns info about the current DataProvider application action with detailed option information
Arguments
This API takes the following hash argument:
  • options (*StringHash): options and values to use
    • key (string): string value
Return Value
This API returns a DataProviderOptionInfo hash with the following key (action information):
  • options (*ActionOptionSet): Action option required to create the data provider
    • app (string): the application name
    • action (string): the action name
    • type (string): data type of the option
    • display_name (string): the display name of the option
    • short_desc (string): short description of the option in plain text
    • desc (string): description of the option with markdown formatting
    • preselected (*bool): if the option should be preselected by the front end
    • supports_expressions (*bool): if the option value supports expression evaluation
    • supports_templates (*bool): if the option value supports template expansion
    • required (*bool): is the option required?
    • required_groups (*list<string>): any groups of required options that this option is a member of
    • arg_schema (*string): a reference to an arg_schema that can be returned with a REST call to GET /api/latest/dataprovider/arg_schemas/_ref_
    • element_type (*string): the name of the list element type, if any
    • default_value (auto): any default value for the option
    • default_value_desc (*string): the description for the default value
    • readonly (*bool): if the option is read only
    • sensitive (*bool): is the value sensitive?
    • multiselect (*bool): are allowed values the allowed values for a list type?
    • allowed_values (*list<AllowedValueInfo>): allowed values for the option
    • example_value (auto): an example value for the option
    • loc (*string): any option-specific location hint for the value when executing the action
    • value (auto): the value of the option, if any
    • depends_on (*list<auto>): any other option(s) that this option depends on for its value or allowed values
    • sort (int): sort key for option order
    • has_dependents (*bool): if any other options depend on this one
    • disallow_template (*bool): disallow templates on this option
    • messages (*list<UiMessageHash>): messages related to the option
    • metadata (*UndefinedHash): any additional data about the option
    • disabled (*bool): if the option is disabled
    • on_change (*list<string>): a list of actions for the front-end to perform if the option changes
    • structural_determinate (*bool): if True then the value of this option determines the presence (or
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/dataprovider/apps/{app}/actions/{action}?action=outputType

Description
Returns info about the output type of the action
Arguments
Return Value
This API returns a DataProviderActionOutputTypeInfo hash; keys have the following format:
  • any (auto): action information

PUT /api/latest/dataprovider/apps/{app}/actions/{action}?action=updateConnection

Description
Updates an existing connection for the application
Arguments
This API takes the following hash argument:
  • options (*UndefinedHash): 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
Return Value
This API returns a ConnectionUpdateInfo hash with the following keys (connection creation info):
  • info (string): information about the operation performed
  • changes (*UndefinedHash): hash of changed effected
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object itself
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/dataprovider/arg_schemas

This URI path provides APIs related arg schemas

GET /api/latest/dataprovider/arg_schemas

Description
Retrieves type information about complex data types
Arguments
This API takes no arguments
Return Value
This API returns a *UndefinedHash hash; keys have the following format:
  • any (auto): description of fields in the schema

/api/latest/dataprovider/arg_schemas/{schema}

This URI path provides APIs related to a specific arg schema

GET /api/latest/dataprovider/arg_schemas/{schema}

Description
Retrieves type information about complex data types
Arguments
Return Value
This API returns a *UndefinedHash hash; keys have the following format:
  • any (auto): description of fields in the schema

/api/latest/dataprovider/basetypes

This URI path provides access to base data type information

GET /api/latest/dataprovider/basetypes

Description
Returns a list of base data types
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):

/api/latest/dataprovider/basetypes/{type}

This URI path provides access to base data type information for a specific type

/api/latest/dataprovider/basetypes/{type}/type

This URI path provides access information for a particular data type

GET /api/latest/dataprovider/basetypes/{type}/type

Description
Returns data type information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

/api/latest/dataprovider/browse

This URI path provides the root URI for browsing for types and data providers

GET /api/latest/dataprovider/browse

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

PUT /api/latest/dataprovider/browse?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

/api/latest/dataprovider/browse/connection

This URI path provides the root URI for browsing data providers from user connections

GET /api/latest/dataprovider/browse/connection

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/connection

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/connection?action=info

Description
Returns information about the current navigation node
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

PUT /api/latest/dataprovider/browse/connection?action=info

Description
Returns information about the current navigation node
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

/api/latest/dataprovider/browse/connection/{connection}

This URI path provides the root URI for browsing a data provider created from a user connection

GET /api/latest/dataprovider/browse/connection/{connection}

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/connection/{connection}

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/connection/{connection}?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

PUT /api/latest/dataprovider/browse/connection/{connection}?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

/api/latest/dataprovider/browse/connection/{connection}/info

DELETE /api/latest/dataprovider/browse/connection/{connection}/info

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters for records to be deleted
  • search_options: search options
Return Value
Returns the number of records deleted
Errors
  • 400 Bad Request: returned if the request has no where_cond key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/connection/{connection}?action=info

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

PUT /api/latest/dataprovider/browse/connection/{connection}/info?action=Description

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): any options to be passed to a factory creation method when accessing this URI endpoint through a factory
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/dataprovider/browse/connection/{connection}/info?action=apiEndpoints

Description
Returns a list of request/response endpoint information for the data provider
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • soft (*bool): soft types are returned
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a value of type list<EndpointInfo>: a list of API endpoints supported by the data provider

PUT /api/latest/dataprovider/browse/connection/{connection}/info?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

GET /api/latest/dataprovider/browse/connection/{connection}/info?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

POST /api/latest/dataprovider/browse/connection/{connection}/info?action=create

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • create_options: any create options supported by the data provider
Return Value
The string "OK"
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/browse/connection/{connection}/info?action=request

Arguments
  • request_options: request options
Return Value
Returns the result of the operation
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/connection/{connection}/info?action=search

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters
  • search_options: search options
Return Value
Returns a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/browse/connection/{connection}/info?action=stream

Description
Opens a stream for bulk inserting or upserting records in the data provider
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • stream: (required) the name of the stream to open; must be either:
    • insert: for an insert stream
    • upsert: for an upsert stream
  • upsert_options: any upsert options supported by the data provider (upsert stream only)
Return Value
This API returns a stream supporting bulk record insertion for the data provider
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/connection/{connection}/info?action=stream

Description
Returns a search stream for results corresponding to the argument(s)
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); all keys are optional:
  • where_cond: search parameters
  • block_size: number of rows in each block (default = 1000)
Return Value
This API returns a stream consisting of a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/browse/connection/{connection}/info?action=update

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • set: (required) set of fields matching where_conf to update
  • where_cond: (required) search parameters
  • search_options: search options
Return Value
Returns the number of rows updated
Errors
  • 400 Bad Request: returned if the request has no set or where_cond keys
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/browse/connection/{connection}/info?action=upsert

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • upsert_options: any upsert options supported by the data provider
Return Value
The result string of the upsert operation; see DB Provider Upsert Result Codes for possible values
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/dataprovider/browse/connection/{connection}/info/.../request-fields

This URI path provides access information for a particular data request data type

/api/latest/dataprovider/browse/connection/{connection}/info/record

This URI path provides record information for a data provider

Arguments
This URI path element is reachable only if a provider can be created from the factory; to create the provider, the following hash argument is removed from the argument list before passing onward for processing:
  • provider_options: the options to be passed to the factory creation method to create the provider

GET /api/latest/dataprovider/browse/connection/{connection}/info/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

PUT /api/latest/dataprovider/browse/connection/{connection}/info/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

/api/latest/dataprovider/browse/datasource

This URI path provides the root URI for browsing data providers from datasources

GET /api/latest/dataprovider/browse/datasource

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/datasource

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/datasource?action=info

Description
Returns information about the current navigation node
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

PUT /api/latest/dataprovider/browse/datasource?action=info

Description
Returns information about the current navigation node
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

/api/latest/dataprovider/browse/datasource/{datasource}

This URI path provides the root URI for browsing a data provider created from datasources

GET /api/latest/dataprovider/browse/datasource/{datasource}

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/datasource/{datasource}

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/datasource/{datasource}?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

PUT /api/latest/dataprovider/browse/datasource/{datasource}?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

/api/latest/dataprovider/browse/datasource/{datasource}/info

DELETE /api/latest/dataprovider/browse/datasource/{datasource}/info

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters for records to be deleted
  • search_options: search options
Return Value
Returns the number of records deleted
Errors
  • 400 Bad Request: returned if the request has no where_cond key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/datasource/{datasource}?action=info

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

PUT /api/latest/dataprovider/browse/datasource/{datasource}/info?action=Description

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): any options to be passed to a factory creation method when accessing this URI endpoint through a factory
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/dataprovider/browse/datasource/{datasource}/info?action=apiEndpoints

Description
Returns a list of request/response endpoint information for the data provider
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • soft (*bool): soft types are returned
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a value of type list<EndpointInfo>: a list of API endpoints supported by the data provider

PUT /api/latest/dataprovider/browse/datasource/{datasource}/info?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

GET /api/latest/dataprovider/browse/datasource/{datasource}/info?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

POST /api/latest/dataprovider/browse/datasource/{datasource}/info?action=create

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • create_options: any create options supported by the data provider
Return Value
The string "OK"
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/browse/datasource/{datasource}/info?action=request

Arguments
  • request_options: request options
Return Value
Returns the result of the operation
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/datasource/{datasource}/info?action=search

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters
  • search_options: search options
Return Value
Returns a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/browse/datasource/{datasource}/info?action=stream

Description
Opens a stream for bulk inserting or upserting records in the data provider
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • stream: (required) the name of the stream to open; must be either:
    • insert: for an insert stream
    • upsert: for an upsert stream
  • upsert_options: any upsert options supported by the data provider (upsert stream only)
Return Value
This API returns a stream supporting bulk record insertion for the data provider
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/datasource/{datasource}/info?action=stream

Description
Returns a search stream for results corresponding to the argument(s)
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); all keys are optional:
  • where_cond: search parameters
  • block_size: number of rows in each block (default = 1000)
Return Value
This API returns a stream consisting of a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/browse/datasource/{datasource}/info?action=update

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • set: (required) set of fields matching where_conf to update
  • where_cond: (required) search parameters
  • search_options: search options
Return Value
Returns the number of rows updated
Errors
  • 400 Bad Request: returned if the request has no set or where_cond keys
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/browse/datasource/{datasource}/info?action=upsert

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • upsert_options: any upsert options supported by the data provider
Return Value
The result string of the upsert operation; see DB Provider Upsert Result Codes for possible values
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/dataprovider/browse/datasource/{datasource}/info/.../request-fields

This URI path provides access information for a particular data request data type

/api/latest/dataprovider/browse/datasource/{datasource}/info/record

This URI path provides record information for a data provider

Arguments
This URI path element is reachable only if a provider can be created from the factory; to create the provider, the following hash argument is removed from the argument list before passing onward for processing:
  • provider_options: the options to be passed to the factory creation method to create the provider

GET /api/latest/dataprovider/browse/datasource/{datasource}/info/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

PUT /api/latest/dataprovider/browse/datasource/{datasource}/info/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

/api/latest/dataprovider/browse/factory

This URI path provides the root URI for browsing data provider factories

GET /api/latest/dataprovider/browse/factory

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/factory

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/factory?action=info

Description
Returns information about the current navigation node
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

PUT /api/latest/dataprovider/browse/factory?action=info

Description
Returns information about the current navigation node
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

/api/latest/dataprovider/browse/factory/{provider}

This URI path provides the root URI for browsing a data provider create from a data provider factory

GET /api/latest/dataprovider/browse/factory/{provider}

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/factory/{provider}

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/factory/{provider}?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

PUT /api/latest/dataprovider/browse/factory/{provider}?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

/api/latest/dataprovider/browse/factory/{provider}/info

DELETE /api/latest/dataprovider/browse/factory/{provider}/info

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters for records to be deleted
  • search_options: search options
Return Value
Returns the number of records deleted
Errors
  • 400 Bad Request: returned if the request has no where_cond key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/factory/{provider}?action=info

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

PUT /api/latest/dataprovider/browse/factory/{provider}/info?action=Description

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): any options to be passed to a factory creation method when accessing this URI endpoint through a factory
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/dataprovider/browse/factory/{provider}/info?action=apiEndpoints

Description
Returns a list of request/response endpoint information for the data provider
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • soft (*bool): soft types are returned
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a value of type list<EndpointInfo>: a list of API endpoints supported by the data provider

PUT /api/latest/dataprovider/browse/factory/{provider}/info?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

GET /api/latest/dataprovider/browse/factory/{provider}/info?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

POST /api/latest/dataprovider/browse/factory/{provider}/info?action=create

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • create_options: any create options supported by the data provider
Return Value
The string "OK"
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/browse/factory/{provider}/info?action=request

Arguments
  • request_options: request options
Return Value
Returns the result of the operation
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/factory/{provider}/info?action=search

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters
  • search_options: search options
Return Value
Returns a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/browse/factory/{provider}/info?action=stream

Description
Opens a stream for bulk inserting or upserting records in the data provider
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • stream: (required) the name of the stream to open; must be either:
    • insert: for an insert stream
    • upsert: for an upsert stream
  • upsert_options: any upsert options supported by the data provider (upsert stream only)
Return Value
This API returns a stream supporting bulk record insertion for the data provider
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/factory/{provider}/info?action=stream

Description
Returns a search stream for results corresponding to the argument(s)
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); all keys are optional:
  • where_cond: search parameters
  • block_size: number of rows in each block (default = 1000)
Return Value
This API returns a stream consisting of a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/browse/factory/{provider}/info?action=update

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • set: (required) set of fields matching where_conf to update
  • where_cond: (required) search parameters
  • search_options: search options
Return Value
Returns the number of rows updated
Errors
  • 400 Bad Request: returned if the request has no set or where_cond keys
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/browse/factory/{provider}/info?action=upsert

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • upsert_options: any upsert options supported by the data provider
Return Value
The result string of the upsert operation; see DB Provider Upsert Result Codes for possible values
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/dataprovider/browse/factory/{provider}/info/.../request-fields

This URI path provides access information for a particular data request data type

/api/latest/dataprovider/browse/factory/{provider}/info/record

This URI path provides record information for a data provider

Arguments
This URI path element is reachable only if a provider can be created from the factory; to create the provider, the following hash argument is removed from the argument list before passing onward for processing:
  • provider_options: the options to be passed to the factory creation method to create the provider

GET /api/latest/dataprovider/browse/factory/{provider}/info/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

PUT /api/latest/dataprovider/browse/factory/{provider}/info/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

/api/latest/dataprovider/browse/remote

This URI path provides the root URI for browsing data providers from remote Qorus connections

GET /api/latest/dataprovider/browse/remote

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/remote

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/remote?action=info

Description
Returns information about the current navigation node
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

PUT /api/latest/dataprovider/browse/remote?action=info

Description
Returns information about the current navigation node
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNavInfo hash with the following key (a hash with basic info about the current data provider nav node):
  • name (string): the name of the node

/api/latest/dataprovider/browse/remote/{remote}

This URI path provides the root URI for browsing a data provider created from a remote Qorus connection

GET /api/latest/dataprovider/browse/remote/{remote}

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/remote/{remote}

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/remote/{remote}?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

PUT /api/latest/dataprovider/browse/remote/{remote}?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

/api/latest/dataprovider/browse/remote/{remote}/info

DELETE /api/latest/dataprovider/browse/remote/{remote}/info

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters for records to be deleted
  • search_options: search options
Return Value
Returns the number of records deleted
Errors
  • 400 Bad Request: returned if the request has no where_cond key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/remote/{remote}?action=info

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

PUT /api/latest/dataprovider/browse/remote/{remote}/info?action=Description

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): any options to be passed to a factory creation method when accessing this URI endpoint through a factory
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/dataprovider/browse/remote/{remote}/info?action=apiEndpoints

Description
Returns a list of request/response endpoint information for the data provider
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • soft (*bool): soft types are returned
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a value of type list<EndpointInfo>: a list of API endpoints supported by the data provider

PUT /api/latest/dataprovider/browse/remote/{remote}/info?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*string): 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
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

GET /api/latest/dataprovider/browse/remote/{remote}/info?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

POST /api/latest/dataprovider/browse/remote/{remote}/info?action=create

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • create_options: any create options supported by the data provider
Return Value
The string "OK"
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/browse/remote/{remote}/info?action=request

Arguments
  • request_options: request options
Return Value
Returns the result of the operation
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/remote/{remote}/info?action=search

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters
  • search_options: search options
Return Value
Returns a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/browse/remote/{remote}/info?action=stream

Description
Opens a stream for bulk inserting or upserting records in the data provider
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • stream: (required) the name of the stream to open; must be either:
    • insert: for an insert stream
    • upsert: for an upsert stream
  • upsert_options: any upsert options supported by the data provider (upsert stream only)
Return Value
This API returns a stream supporting bulk record insertion for the data provider
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/browse/remote/{remote}/info?action=stream

Description
Returns a search stream for results corresponding to the argument(s)
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); all keys are optional:
  • where_cond: search parameters
  • block_size: number of rows in each block (default = 1000)
Return Value
This API returns a stream consisting of a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/browse/remote/{remote}/info?action=update

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • set: (required) set of fields matching where_conf to update
  • where_cond: (required) search parameters
  • search_options: search options
Return Value
Returns the number of rows updated
Errors
  • 400 Bad Request: returned if the request has no set or where_cond keys
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/browse/remote/{remote}/info?action=upsert

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • upsert_options: any upsert options supported by the data provider
Return Value
The result string of the upsert operation; see DB Provider Upsert Result Codes for possible values
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/dataprovider/browse/remote/{remote}/info/.../request-fields

This URI path provides access information for a particular data request data type

/api/latest/dataprovider/browse/remote/{remote}/info/record

This URI path provides record information for a data provider

Arguments
This URI path element is reachable only if a provider can be created from the factory; to create the provider, the following hash argument is removed from the argument list before passing onward for processing:
  • provider_options: the options to be passed to the factory creation method to create the provider

GET /api/latest/dataprovider/browse/remote/{remote}/info/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

PUT /api/latest/dataprovider/browse/remote/{remote}/info/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

/api/latest/dataprovider/browse/type

This URI path provides the root URI for browsing data types

GET /api/latest/dataprovider/browse/type

Description
Returns information on available paths to child types, if any
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

PUT /api/latest/dataprovider/browse/type

Description
Returns information on available paths to types or data providers according to the requesting context
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns a DataProviderBrowseNodeInfo hash with the following keys (a hash providing information about the current node):
  • type (string): one of the following: nav: a navigation node, data-provider: a data provider, type: a data type
  • children (list<DataProviderChildBrowseInfo>): a list of children of the current node
  • matches_context (*bool): if True then the node is a match for the search context

GET /api/latest/dataprovider/browse/type?action=info

Description
Returns information about the current DataProvider type
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns an UndefinedHash hash; keys have the following format:
  • any (auto): 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

PUT /api/latest/dataprovider/browse/type?action=info

Description
Returns information about the current DataProvider
Arguments
This API takes the following hash argument:
  • context (*string): 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
Return Value
This API returns an UndefinedHash hash; keys have the following format:
  • any (auto): 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

/api/latest/dataprovider/dataproviders

This URI path provides access to functionality related to listing available data providers

GET /api/latest/dataprovider/dataproviders

Description
Returns a list of available data providers

/api/latest/dataprovider/dataproviders/.../{name}

This URI path provides access to functionality related to listing available data providers

GET /api/latest/dataprovider/dataproviders/.../{name}

Description
Returns a list of available data providers

GET /api/latest/dataprovider/dataproviders/.../{name}?action=info

Description
Returns data provider information

/api/latest/dataprovider/dataproviders/.../{name}/events

This URI path provides access to functionality related to listing available events for a data provider

GET /api/latest/dataprovider/dataproviders/.../{name}/events

Description
Returns a hash of data provider messages

PUT /api/latest/dataprovider/dataproviders/.../{name}/events

Description
Returns a hash of data provider messages

/api/latest/dataprovider/dataproviders/.../{name}/messages

This URI path provides access to functionality related to listing available messages for a data provider

GET /api/latest/dataprovider/dataproviders/.../{name}/messages

Description
Returns a hash of data provider messages

PUT /api/latest/dataprovider/dataproviders/.../{name}/messages

Description
Returns a hash of data provider messages

/api/latest/dataprovider/dataproviders/connection

This URI path provides access to functionality related to listing available data providers

GET /api/latest/dataprovider/dataproviders/connection

Description
Returns a list of available data providers

/api/latest/dataprovider/dataproviders/datasource

This URI path provides access to functionality related to listing available data providers

GET /api/latest/dataprovider/dataproviders/datasource

Description
Returns a list of available data providers

/api/latest/dataprovider/dataproviders/qorus

This URI path provides access to functionality related to listing available data providers

GET /api/latest/dataprovider/dataproviders/qorus

Description
Returns a list of available data providers

/api/latest/dataprovider/factories

This URI path provides access to data factory information

GET /api/latest/dataprovider/factories

Description
Returns data factory information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • context: if "api" then only factories suitable for API management are returned, if "apicall", then only factories suitable for making API calls are returned
  • list: optional; parsed with Qore::parse_boolean(); if True then a list of data provider factory names is returned
  • short: optional; parsed with Qore::parse_boolean(); if True then a list of short strings of data provider factory information is returned

/api/latest/dataprovider/factories/{factory}

This URI path provides access to data factory information

GET /api/latest/dataprovider/factories/{factory}

Description
Returns data factory information

GET /api/latest/dataprovider/factories/{factory}?action=providerExampleOutput

Description
Returns example records from the example input and factory constructor options
Arguments
This API takes the following hash arguments:
  • encoded_example: base-64-encoded string example input
  • provider_yaml_options: a string in the following format giving factory provider constructor options: key = base-64-encoded yaml value

/api/latest/dataprovider/factories/{factory}/provider

This URI path provides access to a data provider created from a data provider factory

Arguments
This URI path element is reachable only if a provider can be created from the factory; to create the provider, the following hash argument is removed from the argument list before passing onward for processing:
  • provider_options: the options to be passed to the factory creation method to create the provider

DELETE /api/latest/dataprovider/factories/{factory}/provider

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters for records to be deleted
  • search_options: search options
Return Value
Returns the number of records deleted
Errors
  • 400 Bad Request: returned if the request has no where_cond key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/factories/{factory}/provider

Description
Returns data provider information
Arguments
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/dataprovider/factories/{factory}/provider

Description
Returns data provider information
Arguments
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/dataprovider/factories/{factory}/provider?action=Description

Description
Returns data provider information
Arguments
This API takes the following hash arguments:
  • context (*list<string>): 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
  • provider_options (*UndefinedHash): any options to be passed to a factory creation method when accessing this URI endpoint through a factory
Return Value
This API returns a DataProviderInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • events (*UndefinedHash): any events supported by the data provider
  • messages (*UndefinedHash): any messages supported by the data provider
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • connection_event (*string): any connection event for event-capable, connection-oriented data providers
  • disconnection_event (*string): any disconnection event for event-capable, connection-oriented data providers
  • children (*list<string>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management

PUT /api/latest/dataprovider/factories/{factory}/provider?action=apiEndpoints

Description
Returns a list of request/response endpoint information for the data provider
Arguments
This API takes the following hash arguments:
  • context (*list<string>): 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
  • soft (*bool): soft types are returned
  • provider_options (*UndefinedHash): a hash of constructor options for a data provider when following the URI path through a data provider factory that takes constructor options
Return Value
This API returns a value of type list<EndpointInfo>: a list of API endpoints supported by the data provider

DELETE /api/latest/dataprovider/factories/{factory}/provider?action=child

Description
Permanently deletes the given child data provider
Return Value
This API returns a hash with the following key:
  • name: (required string) the name of the child provider to delete
Errors
  • 400 Bad Request: returned if the request has no name key or if the data provider does not support the current operation
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/factories/{factory}/provider?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*list<string>): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

GET /api/latest/dataprovider/factories/{factory}/provider?action=childDetails

Description
Returns data provider information
Arguments
This API takes the following hash argument:
  • context (*list<string>): 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
Return Value
This API returns a DataProviderChildDetailInfo hash with the following keys (information about the current data provider):
  • name (string): the name of the data provider
  • display_name (string): the display name of the data provider
  • short_desc (string): the short description of the data provider in plain text
  • desc (string): the description of the data provider
  • type (string): the type (class name) of the data provider
  • supports_read (bool): if the data provider supports record read/search actions
  • supports_create (bool): if the data provider support record creation
  • supports_update (bool): if the data provider supports record updates
  • supports_upsert (bool): if the data provider supports record upserts / merges
  • supports_delete (bool): if the data provider supports record deletions
  • supports_native_search (bool): if the data provider supports a native record search API
  • supports_bulk_read (bool): if the data provider supports bulk record read / search actions
  • supports_bulk_create (bool): if the data provider supports bulk record creation
  • supports_bulk_upsert (bool): if the data provider supports bulk record upsert / merges
  • supports_request (bool): if the data provider supports the request/reply integration pattern (API calls)
  • supports_children (bool): if the data provider supports children
  • transaction_management (bool): if the data provider supports transaction mgmt
  • has_record (bool): if the data provider supports records
  • record_requires_search_options (bool): if the data provider requires search options when searching
  • supports_child_create (bool): if the data provider supports creating child data providers
  • supports_child_delete (bool): if the data provider supports deleting child data providers
  • supports_add_field (bool): if the data provider supports the add field API
  • supports_update_field (bool): if the data provider supports the update field API
  • supports_delete_field (bool): if the data provider supports the delete field API
  • supports_schema (bool): if the data provider supports a schema
  • supports_search_expressions (bool): if the data provider supports generic search expressions
  • supports_observable (bool): if the data provider supports the observer pattern / event API
  • supports_messages (string): 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 (bool): if the data provider supports connection status reporting
  • supports_auto_reconnect (bool): if the data provider supports automtically reconnecting after lost connections
  • children_can_support_apis (bool): if the data provider can provide children that support APIs
  • children_can_support_records (bool): if the data provider can provide children that support records
  • children_can_support_observers (bool): if the data provider can provide children that support event observation
  • children_can_support_messages (bool): if the data provider can provide children that support messages
  • children_can_support_transactions (bool): if the data provider can provide children that support transaction management
  • children_identical (bool): if child data providers are all of the same class and have the same options
  • search_logic_capabilities (int): a bitfield of supported search logic capabilities
  • mapper_keys (*UndefinedHash): a hash of mapper key information
  • constructor_options (*UndefinedHash): any constructor options supported by the data provider
  • create_options (*UndefinedHash): any record creation options supported by the data provider
  • upsert_options (*UndefinedHash): any record upsert options supported by the data provider
  • search_options (*UndefinedHash): any record search options supported by the data provider
  • child_create_options (*UndefinedHash): any child creation options supported by the data provider
  • expressions (*UndefinedHash): any expressions supported by the data provider (for searches, for example)
  • children (*list<DataProviderSummaryInfo>): a list of any data provider children
  • info (*UndefinedHash): optional provider-specific information

POST /api/latest/dataprovider/factories/{factory}/provider?action=create

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • create_options: any create options supported by the data provider
Return Value
The string "OK"
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/factories/{factory}/provider?action=field

Description
This API updated a field in the provider, if the data provider supports updating fields
Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • name: (required string) the current name of the field
  • new_name: (optional string) the new name of the field
  • field: (optional hash) a hash with the following keys:
    • type: (string) the type of the field
    • desc: (string) field description
    • default_value: (value of field's type) the default value of the field if not present
    • opts: (hash) any options for the given type
  • opts: (optional hash) any field update options supported by the data provider
Return Value
The string "OK"
Errors
  • 400 Bad Request: returned if the request has no old_name key or if the data provider does not support the current operation
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

DELETE /api/latest/dataprovider/factories/{factory}/provider?action=field

Description
Permanently deletes the given field from the data provider
Return Value
This API returns a hash with the following key:
  • name: (required string) the name of the field to delete
Errors
  • 400 Bad Request: returned if the request has no name key or if the data provider does not support the current operation
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/factories/{factory}/provider?action=fieldAdd

Description
This API adds a field to the provider, if the data provider supports adding fields
Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • name: (required string) the name of the new child provider
  • field: (required hash) a hash with the following keys:
    • type: (string) the type of the field
    • desc: (string) field description
    • default_value: (value of field's type) the default value of the field if not present
    • opts: (hash) any options for the given type
  • opts: (optional hash) any field creation options supported by the data provider
Return Value
The string "OK"
Errors
  • 400 Bad Request: returned if the request has no name or fields keys or if the data provider does not support the current operation
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/factories/{factory}/provider?action=providerCreate

Description
This API creates a child data provider, if the data provider supports child creation
Arguments
This API takes the following hash arguments:
  • name (string): the name of the new child provider
  • fields (QorusNewFieldSetInfo): the set of fields making up the new record where keys are field names and values describe each field
    • type (string): the type of the field
    • desc (string): field description
    • default_value (auto): the default value of the field if not present; the value must be compatible with the field's type
    • opts (*hash<auto>): any options for the given type
Return Value
This API returns a value of type string: the string "OK"
Errors
  • 400 Bad Request: returned if the request has no name or fields keys or if the data provider does not support the current operation
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled, and the user does not have sufficient privileges for the operation
Note
Requires one of the following permissions:

POST /api/latest/dataprovider/factories/{factory}/provider?action=request

Arguments
  • request_options: request options
Return Value
Returns the result of the operation
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/factories/{factory}/provider?action=search

Description
Searches for records matching the search parameters
Arguments
This API takes the following hash arguments:
  • provider_options (*UndefinedHash): any options to be passed to a factory creation method when accessing this URI endpoint through a factory
  • where_cond (*UndefinedHash): the where CreatorJobDefinitionRestClass
  • search_options (*UndefinedHash): any search options
Return Value
This API returns a *UndefinedHash hash; keys have the following format:
  • any (auto): list of record hashes matching the search parameters given by where_cond
Errors
  • 400 Bad Request: the data provider does not support searching
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled, and the user does not have sufficient privileges for the operation
Note
Requires one of the following permissions:

GET /api/latest/dataprovider/factories/{factory}/provider?action=search

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters
  • search_options: search options
Return Value
Returns a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/factories/{factory}/provider?action=searchSingleRecord

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • where_cond: search parameters
  • search_options: search options
Return Value
Returns a single record matching the search parameters given by where_cond or no value
Errors
  • 400 Bad Request: data provider does not support searching or search matches multiple records
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/factories/{factory}/provider?action=searchStream

Description
Returns a search stream for results corresponding to the argument(s)
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); all keys are optional:
  • where_cond: search parameters
  • block_size: number of rows in each block (default = 1000)
Return Value
This API returns a stream consisting of a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

POST /api/latest/dataprovider/factories/{factory}/provider?action=stream

Description
Opens a stream for bulk inserting or upserting records in the data provider
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • stream: (required) the name of the stream to open; must be either:
    • insert: for an insert stream
    • upsert: for an upsert stream
  • upsert_options: any upsert options supported by the data provider (upsert stream only)
Return Value
This API returns a stream supporting bulk record insertion for the data provider
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/factories/{factory}/provider?action=stream

Description
Returns a search stream for results corresponding to the argument(s)
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); all keys are optional:
  • where_cond: search parameters
  • block_size: number of rows in each block (default = 1000)
Return Value
This API returns a stream consisting of a list of hashes of records matching the search parameters given by where_cond
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/factories/{factory}/provider?action=update

Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • set: (required) set of fields matching where_conf to update
  • where_cond: (required) search parameters
  • search_options: search options
Return Value
Returns the number of rows updated
Errors
  • 400 Bad Request: returned if the request has no set or where_cond keys
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/dataprovider/factories/{factory}/provider?action=upsert

Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • record: (required) the set of fields making up the new record
  • upsert_options: any upsert options supported by the data provider
Return Value
The result string of the upsert operation; see DB Provider Upsert Result Codes for possible values
Errors
  • 400 Bad Request: returned if the request has no record key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/dataprovider/factories/{factory}/provider/.../request-fields

This URI path provides access information for a particular data request data type

/api/latest/dataprovider/factories/{factory}/provider/record

This URI path provides record information for a data provider

Arguments
This URI path element is reachable only if a provider can be created from the factory; to create the provider, the following hash argument is removed from the argument list before passing onward for processing:
  • provider_options: the options to be passed to the factory creation method to create the provider

GET /api/latest/dataprovider/factories/{factory}/provider/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

PUT /api/latest/dataprovider/factories/{factory}/provider/record

Description
Returns data record information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper

/api/latest/dataprovider/types

This URI path provides access to data type information

DELETE /api/latest/dataprovider/types

Description
Deletes the data type
Errors
  • 400 Bad Request: returned if the entry has no type to delete
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation or if the type is a base type
Note

GET /api/latest/dataprovider/types

Description
Returns information for the current data type entry

POST /api/latest/dataprovider/types

Description
Creates a new data type
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • path: (*string) the relative path from the current entry to the new type (ex: "my-types/project-x/my-type")
  • type: (hash) a hash with the following keys:
    • name: (string) the type name
    • options: (*hash) a hash of type options
    • fields: (*hash) a hash of fields where names are field names and values are hashes with the following keys:
      • type: (hash) as above
      • desc: (*string) a description for the field
      • default: (*string) a default value for the field serialization as YAML
Errors
  • 400 Bad Request: invalid or missing arguments to REST call
  • 403 Forbidden: TYPE-LOCK-ERROR: a static/base type already exists with the given path
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and and the user does not have sufficient privileges for the operation
Note

GET /api/latest/dataprovider/types?action=childDetails

Description
Returns information for the current data type entry with details for children

GET /api/latest/dataprovider/types?action=listAll

Description
Returns information about the current data type

GET /api/latest/dataprovider/types?action=type

Description
Returns information about the current data type
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper
Errors
  • 404 Not Found: returned if the current entry has no type

/api/latest/dataprovider/types/.../{type}/type

This URI path provides access information for a particular data type

GET /api/latest/dataprovider/types/.../{type}/type

Description
Returns data type information
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • soft: optional; parsed with Qore::parse_boolean(); if True then the type is returned with soft types to be used as the target for a mapper
  • context: optional; if the value is "ui", then the return format will be in a format suitable for the UI

GET /api/latest/dataprovider/types/.../{type}/type?action=compare

Description
Takes a type argument and returns a boolean value:
  • True: the type given as an argument is compatible with the current type; i.e. a variable of the current type can be assigned to a value corresponding to the type passed as an argument
  • False: the type given as an argument is not compatible with the current type; i.e. a variable of the current type cannot be assigned to a value corresponding to the type passed as an argument without type errors
Arguments
This API takes the following hash argument (either as URI arguments or in the message body):
  • type: required; a string path to the other type (ex: "my/other/type")
Errors
  • 400 Bad Request: missing or invalid "type" argument
  • 404 Not Found: the given type cannot be found

/api/latest/debug

This REST URI path provides actions and information related to Qorus system debugging

/api/latest/debug/development

This REST URI path provides information related to Qorus remote development data

/api/latest/debug/interface-serialization

This REST URI path provides information related to Qorus internal interface action serialization data

/api/latest/debug/order-stats

This REST URI path provides information related to the internal Qorus service cache

/api/latest/debug/order-stats-summary

This REST URI path provides summary information related to internal Qorus order statistics processing data

/api/latest/debug/sync-cache

This REST URI path provides information related to internal Qorus synchronization event cache data

/api/latest/debug/sync-summary

This REST URI path provides information related to internal Qorus synchronization event cache summary info

/api/latest/debug/threads

This REST URI path provides information related to Qorus threads

GET /api/latest/debug/threads

Description
Returns a hash keyed by thread ID where the values are lists describing the call stack for the thread
Return Value
This API returns a hash keyed by thread ID where the values are lists of REST Debug Callstack Hash elements showing the call stack for the thread sorted from most recent to oldest

/api/latest/debug/threads/{tid}

This REST URI path provides actions and information related to a single Qorus thread

GET /api/latest/debug/threads/{tid}

Description
Returns a hash describing the current thread
Return Value
This API returns a list of REST Debug Callstack Hash elements showing the call stack sorted from most recent to oldest

/api/latest/debug/workflow-control

This REST URI path provides information related to Qorus internal workflow control data

/api/latest/development

This URI path provides remote development for Qorus.

GET /api/latest/development

Description
Returns all API paths of development API path.
Return Value
If success 200 OK and list of the all API paths.

/api/latest/development/delete

This URI path provides API to delete interfaces from Qorus.

POST /api/latest/development/delete

Description
Asynchronously creates a delete request and returns id and resource location.
Arguments
This API takes the following argument as method body (all arguments are optional, but at least one must be presented otherwise 400 BAD-REQUEST error will be returned)
  • function: optional; list of functions to be deleted
  • class: optional; list of classes to be deleted
  • constant: optional; list of constants to be deleted
  • service: optional; list of services to be deleted
  • step: optional; list of workflow steps to be deleted
  • wfinstances: optional; list of workflow instances to be deleted
  • workflow: optional; list of workflows to be deleted

Each element of the above lists is a hash with the following keys:

  • name: required; name of the interface.
  • version: required; version of the interface. Also each interface can be deleted by providing only its id:
  • id: required; id of the interface.
  • method: optional; list of service methods to be deleted. Each element is a hash with the following keys:
    • name: required; name of the service.
    • version: required; version of the service.
    • method-name: required; name of the method. Also methods can be deleted by providing only its id:
  • id: required; id of the method.

The follow hash keys are accepted and take only the object name for deletion:

  • datasource: optional; list of datasource connections to be deleted.
  • event: optional; list of events to be deleted.
  • fsm: optional; list of FSMs to be deleted
  • job: optional; list of jobs to be deleted.
  • jobinstances: optional; list of job instances to be deleted.
  • mapper: optional; list of mappers to be deleted.
  • pipeline: optional; list of pipelines to be deleted
  • queue: optional; list of queues to be deleted.
  • remote: optional; list of remote connections to be deleted.
  • uconn: optional; list of user connections to be deleted.
  • vmap: optional; list of value maps to be deleted.

Each element of the above lists is a hash with the following keys:

  • name: required; name of the value map. Also each interface from the above list (except for all connections) can be deleted by providing only its id:
  • id: required; id of the interface.
  • options: optional; hash of delete options. List of valid options:
    • reload: reload interfaces in the server
    • verbosity-level: sets verbosity level (greater value = more info)
Note
By default all options are set to False and verbosity level is set to 0.

Example of POST request:

{
"workflow":
[
{
"name" : "workflow1",
"version" : "1.0"
},
{
"id" : "4"
}
],
"method": [
{
"service-name": "service1",
"version": "1.0",
"method-name": "method1"
}
],
"options": {
"reload": true,
"verbosity-level": 2
}
}
Return Value
If success 202 Accepted, resource location and id of the created request is returned. In case of fail 400 bad request error is returned.

/api/latest/development/delete/{id}

This URI path implements delete request to Qorus.

DELETE /api/latest/development/delete/{id}

Description
Cancel a delete request with given request id.
Arguments
This API takes the following argument as URI arguments:
  • id: required; id of the request to be canceled.
Return Value
If success 200 OK, in case of fail one of the error codes: 410, 403, 404 and string of error description.

GET /api/latest/development/delete/{id}

Description
Returns status of a delete request with given request id.
Arguments
This API takes the following argument as URI arguments:
  • id: required; id of the request to obtain status.
Return Value
If success 200 OK and hash of the request status, in case of fail 404 not found error. The status hash has the following keys:
  • status: the status of the request:
    • QUEUED - the request is waiting in the queue
    • IN_PROGRESS - the request is in progress
    • CANCELED - the request has been canceled by the user
    • FAILED - the request has failed
    • FINISHED - the request is finished
  • exit_code: the exit code of the request
  • stderr: the standard error output
  • stdout: the standard output
  • created: the date/time the request was created

/api/latest/development/deploy

This URI path provides remote deployment for Qorus.

POST /api/latest/development/deploy

Description
Asynchronously creates a deployment request and returns id and resource location.
Arguments
This API takes the following argument as method body:
  • files: required; list of files to be deployed. Each element is a hash with in the following format:
    • file_name: string.
    • file_content: base64 encoded string.
  • options: optional; hash of deployment options. List of valid options:
    • allow-redef: allow dangerous workflow redefinitions
    • force: force schema verification/downgrade with user schemas
    • validate: validate all functions recursively
    • reload: reload interfaces in the server
    • verbosity-level: sets verbosity level (greater value = more info)
Note
By default all options are set to False and verbosity level is set to 0.

Example of POST request:

{
"files":
[
{
"file_name": "file1.txt",
"file_content": "dGV4dCBmcm9tIHRtcCAw"
},
{
"file_name": "path/file2.txt",
"file_content": "dGV4dCBmcm9tIHRtcCAx"
},
],
"options": {
"allow-redef": true,
"force": false,
"validate": true,
"reload": true,
"verbosity-level": 2
}
}

File content is base64 encoded. Options parameter is optional.

Return Value
If success 202 Accepted, resource location and id of the created request is returned. In case of fail 400 bad request error is returned.

/api/latest/development/deploy/{id}

This URI path implements deployment request to Qorus.

DELETE /api/latest/development/deploy/{id}

Description
Cancel a deployment request with given request id.
Arguments
This API takes the following argument as URI arguments:
  • id: required; id of the request to be canceled.
Return Value
If success 200 OK, in case of fail one of the error codes: 410, 403, 404 and string of error description.

GET /api/latest/development/deploy/{id}

Description
Returns status of a deployment request with given request id.
Arguments
This API takes the following argument as URI arguments:
  • id: required; id of the request to obtain status.
Return Value
If success 200 OK and hash of the request status, in case of fail 404 not found error. The status hash has the following keys:
  • status: the status of the request:
    • QUEUED - the request is waiting in the queue
    • UPLOADING - the files are uploading
    • UPLOADED - all files are uploaded to the server
    • IN_PROGRESS - the request is in progress
    • CANCELED - the request has been canceled by the user
    • FAILED - the request has failed
    • FINISHED - the request is finished
  • exit_code: the exit code of the request
  • stderr: the standard error output
  • stdout: the standard output
  • created: the date/time the request was created

/api/latest/development/release

This URI path provides remote release for Qorus.

POST /api/latest/development/release

Description
Asynchronously creates a release request and returns id and resource location.
Arguments
This API takes the following argument as method body:
  • files: required; list of files to be released. Files should be archived in tar.bz2 or tar.gz format. Element is a hash with in the following format:
    • file_name: string file name of the archive.
    • file_content: base64 encoded string content of the archive. Archive should contain a .qrf file.
  • options: optional; hash of deployment options. List of valid options:
    • allow-redef: allow dangerous workflow redefinitions
    • force: force schema verification/downgrade with user schemas
    • validate: validate all functions recursively
    • reload: reload interfaces in the server
    • verbosity-level: sets verbosity level (greater value = more info)
Note
By default all options are set to False and verbosity level is set to 0.

Example of POST request:

{
"files":
[{
"file_name": "arch.tar.bz2",
"file_content": "dGV4dCBmcm9tIHRtcCAw"
}],
],
"options": {
"verbosity-level": 2
}
}

File content is base64 encoded. Options parameter is optional.

Return Value
If success 202 Accepted, resource location and id of the created request is returned. In case of fail 400 bad request error is returned.

/api/latest/development/release/{id}

This URI path implements release request to Qorus.

DELETE /api/latest/development/release/{id}

Description
Cancel a release request with given request id.
Arguments
This API takes the following argument as URI arguments:
  • id: required; id of the request to be canceled.
Return Value
If success 200 OK, in case of fail one of the error codes: 410, 403, 404 and string of error description.

GET /api/latest/development/release/{id}

Description
Returns status of a release request with given request id.
Arguments
This API takes the following argument as URI arguments:
  • id: required; id of the request to obtain status.
Return Value
If success 200 OK and hash of the request status, in case of fail 404 not found error. The status hash has the following keys:
  • status: the status of the request:
    • QUEUED - the request is waiting in the queue
    • UPLOADING - the files are uploading
    • UPLOADED - all files are uploaded to the server
    • IN_PROGRESS - the request is in progress
    • CANCELED - the request has been canceled by the user
    • FAILED - the request has failed
    • FINISHED - the request is finished
  • exit_code: the exit code of the request
  • stderr: the standard error output
  • stdout: the standard output
  • created: the date/time the request was created

/api/latest/development/test

This URI path provides API to execute qtests.

POST /api/latest/development/test

Description
Asynchronously creates a test request and returns id and resource location.
Arguments
This API takes the following argument as method body:
  • files: required; list of qtest files. Each element is a hash with in the following format:
    • file_name: string.
    • file_content: base64 encoded string.
  • options: optional; hash of delete options. List of valid options:
    • continue_on_error: if True and one of the tests fails, server will continue on execution of the rest.
Note
By default all options are set to False.

Example of POST request:

{
"files":
[
{
"file_name": "file1.qtest",
"file_content": "dGV4dCBmcm9tIHRtcCAw",
"args": {
"arg1": "value1",
"arg2": "value2"
}
},
{
"file_name": "path/file2.qtest",
"file_content": "dGV4dCBmcm9tIHRtcCAx"
},
],
options: {
"continue_on_error": True
}
}

File content is base64 encoded. Options parameter is optional.

Return Value
If success 202 Accepted, resource location and id of the created request is returned. In case of fail 400 bad request error is returned.

/api/latest/development/test/{id}

This URI path implements test request to Qorus.

DELETE /api/latest/development/test/{id}

Description
Cancel a delete request with given request id.
Arguments
This API takes the following argument as URI arguments:
  • id: required; id of the request to be canceled.
Return Value
If success 200 OK, in case of fail one of the error codes: 410, 403, 404 and string of error description.

GET /api/latest/development/test/{id}

Description
Returns status of a delete request with given request id.
Arguments
This API takes the following argument as URI arguments:
  • id: required; id of the request to obtain status.
Return Value
If success 200 OK and hash of the request status, in case of fail 404 not found error. The status hash has the following keys:
  • status: the status of the request:
    • QUEUED - the request is waiting in the queue
    • UPLOADING - the files are uploading
    • UPLOADED - all files are uploaded to the server
    • IN_PROGRESS - the request is in progress
    • CANCELED - the request has been canceled by the user
    • FAILED - the request has failed
    • FINISHED - the request is finished
  • exit_code: the exit code of the request
  • stderr: the standard error output
  • stdout: the standard output
  • created: the date/time the request was created

/api/latest/error-sets

This REST URI path provides actions and information about workflow error sets

GET /api/latest/error-sets

Description
Returns information about error sets
Arguments
This API takes no arguments
Return Value
This API returns a value of type *list<ErrorSetInfo>: information about the error sets

POST /api/latest/error-sets

Description
Creates a new error set
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the error set
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (string): the new description for the error set with markdown formatting
  • errors (list<ErrorSetErrorInfo>): a list of error definition hashes
Return Value
This API returns a CreateErrorSetInfo hash with the following keys (a description of the new error set):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/error-sets?action=create

Description
Creates a new error set
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the error set
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (string): the new description for the error set with markdown formatting
  • errors (list<ErrorSetErrorInfo>): a list of error definition hashes
Return Value
This API returns a CreateErrorSetInfo hash with the following keys (a description of the new error set):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/error-sets/{error-set}

This REST URI path provides actions and information about workflow error sets

DELETE /api/latest/error-sets/{error-set}

Description
Deletes the error set
Arguments
This API takes the following hash argument:
  • cascade (*bool): force-delete the object and update all dependent objects; can break those objects
Return Value
This API returns an ErrorSetDeletionInfo hash with the following key (information about the error set that was deleted):
  • id (int): the ID of the error set that was deleted
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: no such error set
Note
Requires one of the following permissions:

GET /api/latest/error-sets/{error-set}

Description
Returns information about the error set
Arguments
Return Value
This API returns an ErrorSetInfo hash with the following keys (information about the current error set):
  • errorid (int): the error set ID
  • name (string): the internal name for the error set
  • display_name (*string): the display name
  • short_desc (*string): the plain-text short description
  • description (string): the description for the error set with markdown formatting
  • errors (list<ErrorSetErrorInfo>): a list of error definition hashes

PUT /api/latest/error-sets/{error-set}

Description
Updates the current error set
Arguments
This API takes the following hash arguments:
  • name (*string): the new name for the error set; if not provided, the new name will be generated
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (*string): the new description for the error set
Return Value
This API returns an UpdateErrorSetInfo hash with the following keys (a description of the new error set):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/error-sets/{error-set}?action=clone

Description
Clones the current error set
Arguments
This API takes the following hash arguments:
  • name (*string): the new name for the error set; if not provided, the new name will be generated
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (*string): the new description for the error set
Return Value
This API returns a CloneErrorSetInfo hash with the following keys (a description of the new error set):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/error-sets/{error-set}?action=file

Description
Returns the error set as a file that can be saved

/api/latest/errors

This URI path provides actions and information related to workflow errors

GET /api/latest/errors

Description
Returns a list of information of workflow errors corresponding to the arguments
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • errors: optional; a comma-separated string will be split into a list; the workflow errors
  • filter: optional; if "global" then only global errors will be listed; other values for this argument key are ignored; takes precendence over wf
  • list: optional; parsed with Qore::parse_boolean(); if True then a list of error names is returned
  • short: optional; parsed with Qore::parse_boolean(); if True then a list of short strings with error names and brief info is returned
  • wf: optional; a workflow ID or name to use to filter the results with; ignored if filter = "global"
Return Value
If neither list nor short are used, then this API returns a list of REST Workflow Error Description Hash elements corresponding to the arguments

POST /api/latest/errors

Description
Creates a workflow error
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • business_flag: (optional bool) parsed with Qore::parse_boolean(); a boolean business flag value (if not present then False is assumed)
  • description: (required string) the new description of the error
  • error: (required string) the error string (ex: "SOCKET-SSL-ERROR")
  • forceworkflow: (optional bool) parsed with Qore::parse_boolean(); if True then the workflow error will be created as a workflow-specific error even if no global error exists; default if not present False; only used if workflowid also present
  • retry_delay_secs: (optional int) an optional retry value in seconds (only accepted if status is set to OMQ::StatRetry)
  • severity: (optional string) a severity code for the error (if not present OMQ::ES_Major is assumed); for possible values see Error Severity Codes
  • status: (optional string) must be one of the following values:
  • workflowid: (optional string) an optional workflow ID for potentially creating a workflow-specific workflow error definition
Return Value
This API returns a string giving the result of the operation; one of:
  • "CREATED-WORKFLOW": a new workflow-specific error definition was created
  • "CREATED-GLOBAL": a new global error was created (only possible if forceworkflow is omitted or False) est)
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: WORKFLOW-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given workflow (for more information, see Interface Groups)
  • 409 Conflict: ERROR-EXISTS: this exception is thrown if the workflow-specific error definition already exists
Note
  • requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL
  • the default behavior of this API is to create a global error if no global error with the error name exists; in this case a workflow-specific error can be forced to be created by using the workflowid and forceworkflow options as described above

POST /api/latest/errors?action=createOrUpdate

Description
Creates or updates a workflow error
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • business_flag: (optional bool) parsed with Qore::parse_boolean(); a boolean business flag value (if not present then False is assumed)
  • description: (required string) the new description of the error
  • error: (required string) the error string (ex: "SOCKET-SSL-ERROR")
  • forceworkflow: (optional bool) parsed with Qore::parse_boolean(); if True then the workflow error will be created as a workflow-specific error even if no global error exists; default if not present False; only used if workflowid also present
  • retry_delay_secs: (optional int) an optional retry value in seconds (only accepted if status is set to OMQ::StatRetry)
  • severity: (optional string) a severity code for the error (if not present OMQ::ES_Major is assumed); for possible values see Error Severity Codes
  • status: (optional string) must be one of the following values:
  • workflowid: (optional string) an optional workflow ID for potentially creating a workflow-specific workflow error definition
Return Value
This API returns a string giving the result of the operation; one of:
  • "UPDATED-WORKFLOW": the existing workflow-specific error was updated
  • "CREATED-WORKFLOW": a new workflow-specific error definition was created
  • "UNCHANGED-WORKFLOW": the new workflow-specific definition is identical to the old definition
  • "CREATED-GLOBAL": a new global error was created (only possible if forceworkflow is omitted or False)
  • "UNCHANGED-GLOBAL": the new global definition is identical to the old definition
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: WORKFLOW-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given workflow (for more information, see Interface Groups)
Note
  • requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL
  • the default behavior of this API is to create a global error if no global error with the error name exists; in this case a workflow-specific error can be forced to be created by using the workflowid and forceworkflow options as described above

PUT /api/latest/errors?action=reload

Description
Reloads all workflow error definitions from the DB
Return Value
This API returns a hash with the following keys:
  • global: gives the number of global error definitions loaded
  • workflow: gives the number of all workflow-specific error definitions loaded
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL
See also

GET /api/latest/errors?action=search

Description
Returns a list of information of workflow errors corresponding to the arguments
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • errors: a comma-separated string will be split into a list; the workflow errors to search for
Return Value
This API returns a list of REST Workflow Error Description Hash elements corresponding to the arguments

/api/latest/errors/global

This REST URI path provides actions and information related to global workflow errors

GET /api/latest/errors/global

Description
Returns a list of information of global workflow errors
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
Return Value
If neither list nor short are used, then this API returns a list of REST Workflow Error Description Hash elements for the global workflow errors corresponding to the arguments

POST /api/latest/errors/global

Description
Creates a global workflow error
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • business_flag: (optional bool) parsed with Qore::parse_boolean(); a boolean business flag value (if not present then False is assumed)
  • description: (required string) the new description of the error
  • error: (required string) the error string (ex: "SOCKET-SSL-ERROR")
  • retry_delay_secs: (optional int) an optional retry value in seconds (only accepted if status is set to OMQ::StatRetry)
  • severity: (optional string) a severity code for the error (if not present OMQ::ES_Major is assumed); for possible values see Error Severity Codes
  • status: (optional string) must be one of the following values:
Return Value
This API returns a the following string: "CREATED-GLOBAL" indicating that a new global workflow error was created
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 409 Conflict: ERROR-EXISTS: this exception is thrown if the global workflow error already exists
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL

POST /api/latest/errors/global?action=createOrUpdate

Description
Creates or updates a global workflow error
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • business_flag: (bool) parsed with Qore::parse_boolean(); a boolean business flag value (if not present then False is assumed)
  • description: (string) the new description of the error
  • error: (required string) the error string (ex: "SOCKET-SSL-ERROR")
  • retry_delay_secs: (optional int) an optional retry value in seconds (only accepted if status is set to OMQ::StatRetry)
  • severity: (optional string) a severity code for the error (if not present OMQ::ES_Major is assumed); for possible values see Error Severity Codes
  • status: (optional string) must be one of the following values:
Return Value
This API returns a string giving the result of the operation; one of:
  • "UPDATED-GLOBAL": the existing global error was updated
  • "CREATED-GLOBAL": a new global error was created
  • "UNCHANGED-GLOBAL": the new global definition is identical to the old definition
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL

/api/latest/errors/global/{error}

This URI path provides actions and information related to a specific global workflow error

DELETE /api/latest/errors/global/{error}

Description
Permanently deletes the current workflow error
Return Value
This API returns "OK" upon successful execution
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL

GET /api/latest/errors/global/{error}

Description
Returns a hash of information about the current workflow error
Return Value
Returns a REST Workflow Error Description Hash (REST API v1 and v2)

PUT /api/latest/errors/global/{error}

Description
Updates the current global workflow error with the new definition given as arguments
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • business_flag: (bool) parsed with Qore::parse_boolean(); a boolean business flag value (if not present then False is assumed)
  • description: (string) the new description of the error
  • retry_delay_secs: (optional int) an optional retry value in seconds (only accepted if status is set to OMQ::StatRetry)
  • severity: (optional string) a severity code for the error (if not present OMQ::ES_Major is assumed); for possible values see Error Severity Codes
  • status: (optional string) must be one of the following values:
Return Value
This API returns a string giving the result of the operation; one of:
  • "UPDATED-GLOBAL": the existing global error was updated
  • "CREATED-GLOBAL": a new global error was created (only possible in case of a race condition where the current error was deleted during this request)
  • "UNCHANGED-GLOBAL": the new global definition is identical to the old definition
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL
See also

PUT /api/latest/errors/global/{error}?action=update

Description
Updates the current global workflow error with the new definition given as arguments
See also
This API is equivalent to PUT /api/errors/global/{error}; see that documentation for details.

/api/latest/errors/workflow

This URI path provides actions and information related to workflow-specific workflow-specific workflow errors across all workflows

GET /api/latest/errors/workflow

Description
Returns a list of information of workflow-specific workflow errors for all workflows
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
Return Value
If neither list nor short are used, then this API returns a list of REST Workflow Error Description Hash elements for the workflow errors for the current workflow corresponding to the arguments

/api/latest/errors/workflow/{id_or_name}

This URI path provides actions and information related to workflow-specific workflow errors for a particular workflow

GET /api/latest/errors/workflow/{id_or_name}

Description
Returns a list of information of workflow-specific workflow errors for the current workflow
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
Return Value
If neither list nor short are used, then this API returns a list of REST Workflow Error Description Hash elements for the workflow errors for the current workflow corresponding to the arguments

POST /api/latest/errors/workflow/{id_or_name}

Description
Creates a workflow-specific workflow error for the current workflow
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • business_flag: (optional bool) parsed with Qore::parse_boolean(); a boolean business flag value (if not present then False is assumed)
  • description: (required string) the new description of the error
  • error: (required string) the error string (ex: "SOCKET-SSL-ERROR")
  • retry_delay_secs: (optional int) an optional retry value in seconds (only accepted if status is set to OMQ::StatRetry)
  • severity: (optional string) a severity code for the error (if not present OMQ::ES_Major is assumed); for possible values see Error Severity Codes
  • status: (optional string) must be one of the following values:
Return Value
This API returns a string giving the result of the operation; one of:
  • "CREATED-WORKFLOW": a new workflow-specific error definition was created
  • "CREATED-GLOBAL": a new global error was created (only possible if forceworkflow is omitted or False)
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: WORKFLOW-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given workflow (for more information, see Interface Groups)
  • 409 Conflict: ERROR-EXISTS: this exception is thrown if the workflow-specific error definition already exists
Note

POST /api/latest/errors/workflow/{id_or_name}?action=createOrUpdate

Description
Creates or updates a workflow-specific workflow error for the current workflow
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • business_flag: (optional bool) parsed with Qore::parse_boolean(); a boolean business flag value (if not present then False is assumed)
  • description: (required string) the new description of the error
  • error: (required string) the error string (ex: "SOCKET-SSL-ERROR")
  • retry_delay_secs: (optional int) an optional retry value in seconds (only accepted if status is set to OMQ::StatRetry)
  • severity: (optional string) a severity code for the error (if not present OMQ::ES_Major is assumed); for possible values see Error Severity Codes
  • status: (optional string) must be one of the following values:
Return Value
This API returns a string giving the result of the operation; one of:
  • "UPDATED-WORKFLOW": the existing workflow-specific error was updated
  • "CREATED-WORKFLOW": a new workflow-specific error definition was created
  • "UNCHANGED-WORKFLOW": the new workflow-specific definition is identical to the old definition
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: WORKFLOW-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given workflow (for more information, see Interface Groups)
Note

/api/latest/errors/workflow/{id_or_name}/{error}

This URI path provides actions and information related to a workflow-specific workflow error

DELETE /api/latest/errors/workflow/{id_or_name}/{error}

Description
Permanently deletes the current workflow error
Return Value
This API returns "OK" upon successful execution
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL

GET /api/latest/errors/workflow/{id_or_name}/{error}

Description
Returns a hash of information about the current workflow error
Return Value
Returns a REST Workflow Error Description Hash

PUT /api/latest/errors/workflow/{id_or_name}/{error}

Description
Updates the current workflow-specific workflow error with the new definition given as arguments
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • business_flag: (bool) parsed with Qore::parse_boolean(); a boolean business flag value (if not present then False is assumed)
  • description: (string) the new description of the error
  • retry_delay_secs: (optional int) an optional retry value in seconds (only accepted if status is set to OMQ::StatRetry)
  • severity: (optional string) a severity code for the error (if not present OMQ::ES_Major is assumed); for possible values see Error Severity Codes
  • status: (optional string) must be one of the following values:
Return Value
This API returns a string giving the result of the operation; one of:
  • "UPDATED-WORKFLOW": the existing workflow-specific error was updated
  • "CREATED-WORKFLOW": a new workflow-specific error definition was created (only possible in case of a race condition where the current error was deleted during this request)
  • "UNCHANGED-WORKFLOW": the new workflow-specific definition is identical to the old definition
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: WORKFLOW-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given workflow (for more information, see Interface Groups)
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL
See also

PUT /api/latest/errors/workflow/{id_or_name}/{error}?action=update

Description
Updates the current workflow-specific workflow error with the new definition given as arguments
See also
This API is equivalent to PUT /api/v3/errors/workflow/{id_or_name}/{error}; see that documentation for details.

/api/latest/errors/{error}

This URI path provides actions and information related to a specific workflow error

DELETE /api/latest/errors/{error}

Description
Permanently deletes the current workflow error
Return Value
This API returns "OK" upon successful execution
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL

GET /api/latest/errors/{error}

Description
Returns a hash of information about the current workflow error
Return Value
Returns a REST Workflow Error Description Hash

PUT /api/latest/errors/{error}

Description
Updates the current workflow error with the new definition given as arguments
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
Return Value
This API returns a string giving the result of the operation; one of:
  • "UPDATED-WORKFLOW": the existing workflow-specific error was updated
  • "CREATED-WORKFLOW": a new workflow-specific error definition was created (only possible in case of a race condition where the current error was deleted during this request)
  • "UNCHANGED-WORKFLOW": the new workflow-specific definition is identical to the old definition
  • "UPDATED-GLOBAL": the existing global error was updated
  • "CREATED-GLOBAL": a new global error was created (only possible in case of a race condition where the current error was deleted during this request)
  • "UNCHANGED-GLOBAL": the new global definition is identical to the old definition
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 409 Conflict: ERROR-UPDATE-ERROR: invalid keys or key values provided in the error description hash
Note
requires permission OMQ::QR_WORKFLOW_CONTROL or OMQ::QR_WORKFLOW_ERROR_CONTROL
See also

PUT /api/latest/errors/{error}?action=update

Description
Updates the current workflow error
See also
This API is equivalent to PUT /api/errors/{error}; see that documentation for details.

/api/latest/exec

This URI path provides actions and information regarding workflow execution instances.

GET /api/latest/exec

Return Value
This API returns a list of hashes with the keys of REST Execution Instance Hash v3, plus the following keys:
  • groups: list of interface groups that the workflow belongs to; each list element is a REST Interface Group Hash (may be empty)
  • alerts: a list of alerts raised against the workflow; each list element is a REST Alert Hash (may be empty)
  • log_url: a complete URL to the websocket source for the workflow log

GET /api/latest/exec?action=list

Description
Returns information about workflow execution instances.
See also
This API is equivalent to GET /api/exec; see that documentation for details.

PUT /api/latest/exec?action=stopAll

Description
Stops all workflow execution instances.
Return Value
This API returns a hash with the following keys:
  • count: number of workflow execution instances stopped
  • workflows: a hash keyed by workflow description where the values are the lists of all execution instance IDs stopped for that workflow
  • msg: a descriptive message about the workflows stopped
Deprecated:
Workflow execution instances should not be manually stopped; they should be disabled instead; use PUT /api/workflows?action=enable and PUT /api/workflows?action=disable instead of starting and stopping workflow execution instances
Note

PUT /api/latest/exec?action=stopMany

Description
Manually stops one or more workflow execution instances.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • args: (required) one or more workflow names or IDs to stop
Return Value
This API returns a hash with the following keys:
  • count: number of workflow execution instances stopped
  • workflows: a hash keyed by workflow description where the values are the lists of all execution instance IDs stopped for that workflow
  • msg: a descriptive message describing the workflow execution instances that were stopped
Deprecated:
Workflow execution instances should not be manually stopped; they should be disabled instead; use PUT /api/workflows?action=enable and PUT /api/workflows?action=disable instead of starting and stopping workflow execution instances
Note

/api/latest/exec/{id}

This URI path provides actions and information regarding a particular workflow execution instance.

GET /api/latest/exec/{id}

Return Value
This API returns a hash with the keys of REST Execution Instance Hash v3, plus the following keys:
  • groups: list of interface groups that the workflow belongs to; each list element is a REST Interface Group Hash (may be empty)
  • alerts: a list of alerts raised against the workflow; each list element is a REST Alert Hash (may be empty)
  • log_url: a complete URL to the websocket source for the workflow log

PUT /api/latest/exec/{id}?action=setOptions

Description
Sets workflow options; workflow options are now actually global for the given workflow; this API will set global options against the workflow and not just on the current execution instance level. If the workflow has an option list and any of the options are not valid for that workflow, an exception will be thrown, however, even if an exception is thrown due to an option error, all other options will still be set.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • options: a hash of options to set against the workflow; if the value of this key is a string, then it is first parsed with Util::parse_to_qore_value(), which should then return a hash
Return Value
This API returns a string confirming that the options have been set.
Errors
  • 400 Bad Request: missing "options" argument or "options" is not a hash (or string parsed to a hash with Util::parse_to_qore_value())
  • 409 Conflict: WORKFLOW-OPTION-ERROR: invalid option for workflow or option cannot be overridden at the workflow level
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: WORKFLOW-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given workflow (for more information, see Interface Groups)
Note
Deprecated:
use PUT /api/workflows/{id_or_name}?action=setOptions instead

PUT /api/latest/exec/{id}?action=stop

Description
Manually stops the workflow execution instance.
Return Value
This API returns "OK" if successful.
Deprecated:
Workflow execution instances should not be manually stopped; they should be disabled instead; use PUT /api/workflows/{id_or_name}?action=enable and PUT /api/workflows/{id_or_name}?action=disable instead of starting and stopping workflow execution instances
Note

/api/latest/exec/{workflowname}

This URI path provides actions and information about workflow execution instances for a particular workflow.

GET /api/latest/exec/{workflowname}

Return Value
This API returns a list of hashes with the keys of REST Execution Instance Hash v3, plus the following keys:
  • groups: list of interface groups that the workflow belongs to; each list element is a REST Interface Group Hash (may be empty)
  • alerts: a list of alerts raised against the workflow; each list element is a REST Alert Hash (may be empty)
  • log_url: a complete URL to the websocket source for the workflow log

GET /api/latest/exec/{workflowname}?action=desc

Return Value
Returns a string describing the workflow.

PUT /api/latest/exec/{workflowname}?action=setOptions

Description
Sets workflow options; workflow options are now actually global for the given workflow; this API will set global options against the workflow and not on the execution instances. If the workflow has an option list and any of the options are not valid for that workflow, an exception will be thrown, however, even if an exception is thrown due to an option error, all other options will still be set.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • options: a hash of options to set against the workflow; if the value of this key is a string, then it is first parsed with Util::parse_to_qore_value(), which should then return a hash
Return Value
This API returns a hash keyed by execution instance ID of option set.
Errors
  • 400 Bad Request: missing "options" argument or "options" is not a hash (or string parsed to a hash with Util::parse_to_qore_value())
  • 409 Conflict: WORKFLOW-OPTION-ERROR: invalid option for workflow or option cannot be overridden at the workflow level
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: WORKFLOW-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given workflow (for more information, see Interface Groups)
Note
Deprecated:
use PUT /api/workflows/{id_or_name}?action=setOptions instead

PUT /api/latest/exec/{workflowname}?action=stop

Description
Manually stops the workflow execution instances.
Return Value
This API returns a hash with the following key if there are execution instances:
  • stopped: the value is a descriptive string for the workflow
otherwise it returns a string "no instances to stop".
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: WORKFLOW-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given workflow (for more information, see Interface Groups)
Deprecated:
Workflow execution instances should not be manually stopped; they should be disabled instead; use PUT /api/workflows/{id_or_name}?action=enable and PUT /api/workflows/{id_or_name}?action=disable instead of starting and stopping workflow execution instances
Note

/api/latest/fsms

This REST API path provides actions and information related to Qorus Finite State Machines.

GET /api/latest/fsms

Description
Returns a list of hashes describing Finite State Machines in Qorus
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):

POST /api/latest/fsms

Description
Creates a new FSM from the parameters
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the FSM
  • display_name (*string): the new display name for the FSM; generated from name if necessary
  • short_desc (*string): the short plain-text description for the FSM
  • desc (string): the new description for the FSM with markdown formatting
  • groups (*list<string>): interface groups that the FSM belongs to
  • input_type (*UndefinedHash): the input type for the FSM
  • output_type (*UndefinedHash): the output type for the FSM
  • states (UndefinedHash): the state definitions for the FSM
  • options (*UndefinedHash): options for the FSM
  • autovar (*UndefinedHash): automatic variables for the FSM
  • localvar (*UndefinedHash): local variables for the FSM
  • globalvar (*UndefinedHash): global variables for the FSM
  • replace (*bool): if True the FSM will be replaced if it exists already
Return Value
This API returns a CreateFsmInfo hash with the following keys (the result of creating the FSM):
  • id (int): the FSM ID
  • name (string): the name of the FSM
  • display_name (string): the display name of the FSM
  • draft_id (string): the Qog draft ID created
  • issues (*string): any issues mapping the input to the Qog configuration
  • advice (*string): any advice on improving the input to achieve better results
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/fsms?action=create

Description
Creates a new FSM from the parameters
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the FSM
  • display_name (*string): the new display name for the FSM; generated from name if necessary
  • short_desc (*string): the short plain-text description for the FSM
  • desc (string): the new description for the FSM with markdown formatting
  • groups (*list<string>): interface groups that the FSM belongs to
  • input_type (*UndefinedHash): the input type for the FSM
  • output_type (*UndefinedHash): the output type for the FSM
  • states (UndefinedHash): the state definitions for the FSM
  • options (*UndefinedHash): options for the FSM
  • autovar (*UndefinedHash): automatic variables for the FSM
  • localvar (*UndefinedHash): local variables for the FSM
  • globalvar (*UndefinedHash): global variables for the FSM
  • replace (*bool): if True the FSM will be replaced if it exists already
Return Value
This API returns a CreateFsmInfo hash with the following keys (the result of creating the FSM):
  • id (int): the FSM ID
  • name (string): the name of the FSM
  • display_name (string): the display name of the FSM
  • draft_id (string): the Qog draft ID created
  • issues (*string): any issues mapping the input to the Qog configuration
  • advice (*string): any advice on improving the input to achieve better results
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/fsms?action=createDraftFromText

Description
Creates a new FSM draft from natural language input
Arguments
This API takes the following hash argument:
  • input (string): the plain-language text describing what the Qog should do
Return Value
This API returns a CreateFsmInfo hash with the following keys (the result of creating the Qog):
  • id (int): the FSM ID
  • name (string): the name of the FSM
  • display_name (string): the display name of the FSM
  • draft_id (string): the Qog draft ID created
  • issues (*string): any issues mapping the input to the Qog configuration
  • advice (*string): any advice on improving the input to achieve better results
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/fsms?action=exec

Description
Execute the given FSM configuration and return any output
Arguments
This API takes the following hash arguments:
  • fsm (UndefinedHash): the FSM configuration to execute
  • input_data (auto): any input data for the FSM
  • state_data (*bool): return information about state data in the response
Return Value
This API returns a FsmExecInfo hash with the following keys (the result of executing the FSM):
  • output_data (auto): any output data for the FSM
  • state_data (FsmStateDataInfo): a hash keyed by state ID where values are the last output data for each state with a sort key
    • sort (int): the sort key to provide order for the hash
    • success (bool): if the state was successfully executed or not
    • response (auto): the output data of the state, if any, and if there was no error
    • error (*string): any uncaught error raised by the state

PUT /api/latest/fsms?action=getStateData

Description
Returns output data for multiple states
Arguments
This API takes the following hash arguments:
  • fsm (UndefinedHash): complete FSM parsed file data
  • data_context (*string): the data type for any target field; if present, only compatible fields will be returned
  • current_state (*string): any current state so that only data from previous states will be returned
Return Value
This API returns an UndefinedHash hash; keys have the following format:
  • any (auto): hash of state data keyed by state name
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/fsms/{fname}

This REST API path provides actions and information related to a particular Qorus Finite State Machine.

DELETE /api/latest/fsms/{fname}

Description
Deletes the current FSM
Arguments
Return Value
This API returns a FsmDeletionResult hash with the following key (FSM deletion info):
  • name (string): the name of the FSM deleted
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: no such FSM
Note
Requires one of the following permissions:

GET /api/latest/fsms/{fname}

Description
Returns the description of the Finite State Machine

PUT /api/latest/fsms/{fname}

Description
Update the given FSM
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the FSM
  • display_name (*string): the new display name for the FSM; generated from name if necessary
  • short_desc (*string): the short plain-text description for the FSM
  • desc (*string): the new description for the FSM with markdown formatting
  • groups (*list<string>): interface groups that the FSM belongs to
  • input_type (*UndefinedHash): the input type for the FSM
  • output_type (*UndefinedHash): the output type for the FSM
  • states (*UndefinedHash): the state definitions for the FSM
  • options (*UndefinedHash): options for the FSM
  • autovar (*UndefinedHash): automatic variables for the FSM
  • localvar (*UndefinedHash): local variables for the FSM
  • globalvar (*UndefinedHash): global variables for the FSM
Return Value
This API returns a FsmUpdateInfo hash with the following keys (the result of updating the FSM):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: no such FSM
Note
Requires one of the following permissions:

POST /api/latest/fsms/{fname}?action=clone

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
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the FSM
  • display_name (*string): the new display name for the FSM; generated from name if necessary
  • short_desc (*string): the short plain-text description for the FSM
  • desc (*string): the new description for the FSM with markdown formatting
  • groups (*list<string>): interface groups that the FSM belongs to
  • input_type (*UndefinedHash): the input type for the FSM
  • output_type (*UndefinedHash): the output type for the FSM
  • states (*UndefinedHash): the state definitions for the FSM
  • options (*UndefinedHash): options for the FSM
  • autovar (*UndefinedHash): automatic variables for the FSM
  • localvar (*UndefinedHash): local variables for the FSM
  • globalvar (*UndefinedHash): global variables for the FSM
Return Value
This API returns a CloneFsmInfo hash with the following keys (a description of the new FSM):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/fsms/{fname}?action=disable

Description
Disables the current FSM, if it is supported by a job (as a scheduled FSM) or a service (as an event-driven FSM)
Arguments
Return Value
This API returns a FsmEnableInfo hash with the following key (hash providing information about the operation):
  • info (string): a string describing the operation
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/fsms/{fname}?action=enable

Description
Enables the current FSM, if it is supported by a job (as a scheduled FSM) or a service (as an event-driven FSM)
Arguments
Return Value
This API returns a FsmEnableInfo hash with the following key (hash providing information about the operation):
  • info (string): a string describing the operation
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/fsms/{fname}?action=exec

Description
Execute the given FSM and return any output
Arguments
This API takes the following hash arguments:
  • input_data (auto): any input data for the FSM
  • state_data (*bool): return information about state data in the response
Return Value
This API returns a FsmExecInfo hash with the following keys (the result of executing the FSM):
  • output_data (auto): any output data for the FSM
  • state_data (FsmStateDataInfo): a hash keyed by state ID where values are the last output data for each state with a sort key
    • sort (int): the sort key to provide order for the hash
    • success (bool): if the state was successfully executed or not
    • response (auto): the output data of the state, if any, and if there was no error
    • error (*string): any uncaught error raised by the state

GET /api/latest/fsms/{fname}?action=file

Description
Returns the Qog as a file that can be saved

PUT /api/latest/fsms/{fname}?action=getStateData

Description
Returns output data for multiple states
Arguments
This API takes the following hash arguments:
  • data_context (*string): the data type for any target field; if present, only compatible fields will be returned
  • current_state (*string): any current state so that only data from previous states will be returned
Return Value
This API returns an UndefinedHash hash; keys have the following format:
  • any (auto): hash of state data keyed by state name
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

/api/latest/fsms/{fname}/config

This REST URI path provides actions and information related to Qorus Finite State Machine configuration items

GET /api/latest/fsms/{fname}/config

Description
Returns a list of Finite State Machine configuration items for the Finite State Machine
Return Value
This API returns a list of hashes with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": the default value of the configuration item
  • "value": the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined
  • "level": the level from where the value is obtained (interface level (e.g. "fsm:name1", "fsm:name2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded

GET /api/latest/fsms/{fname}/config?action=yaml

Description
Returns a list of configuration items for the Finite State Machine as a YAML-serialized string
Return Value
This API returns a list of hashes with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": (YAML-serialized string) the default value of the configuration item
  • "value": (YAML-serialized string) the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined (each element is a YAML-serialized string)
  • "level": the level from where the value is obtained (interface level (e.g. "fsm:name1", "fsm:name2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded

/api/latest/fsms/{fname}/config/{name}

This REST URI path provides actions and information related to a particular configuration item for a particular Qorus Finite State Machine.

Prefixes can be passed within the config item name or as following: /v5/fsms/{name}/config/{name}?prefix={prefix}.

DELETE /api/latest/fsms/{fname}/config/{name}

Description
Permanently deletes the current value for the configuration item for the current Finite State Machine
Return Value
This API returns a hash with the following key:
  • info: a string confirming the delete operation
  • deleted: True if value has been deleted
  • value: deleted value
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/fsms/{fname}/config/{name}

Description
Returns a hash for the current Finite State Machine configuration item
Return Value
This API returns a hash with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": the default value of the configuration item
  • "value": the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined
  • "level": the level from where the value is obtained (interface level (e.g. "fsm:name1", "fsm:name2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded

PUT /api/latest/fsms/{fname}/config/{name}

Description
Sets the value for the given Finite State Machine configuration item
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • value: the value of the configuration item; must be compatible with the item's declared type
Return Value
This API returns a hash with the following keys:
  • inserted: True or False (returned if the value has been inserted)
  • updated: True or False (returned if the value has been updated)
  • value: the new value
  • info: info about the service configuration item change action
Errors
  • 400 Bad Request: returned if the request has no value key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/fsms/{fname}/config/{name}?action=yaml

Description
Sets the value for the given Finite State Machine configuration item using a YAML-serialized string
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • value: (YAML-serialized string) the value of the configuration item; must be compatible with the item's declared type
Return Value
This API returns a hash with the following keys:
  • inserted: True or False (returned if the value has been inserted)
  • updated: True or False (returned if the value has been updated)
  • value (YAML-serialized string): the new value
  • info: info about the service configuration item change action
Errors
  • 400 Bad Request: returned if the request has no value key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/fsms/{fname}/config/{name}?action=yaml

Description
Returns a hash for the current Finite State Machine configuration item as a serialized YAML string
Return Value
This API returns a hash with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": (YAML-serialized string) the default value of the configuration item
  • "value": (YAML-serialized string) the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined (each element is a YAML-serialized string)
  • "level": the level from where the value is obtained (interface level (e.g. "fsm:name1", "fsm:name2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded

DELETE /api/latest/fsms/{fname}/config/{name}?action=yaml

Description
Permanently deletes the current value for the configuration item for this Finite State Machine on the local level
Return Value
This API returns a hash with the following key:
  • info: a string confirming the delete operation
  • deleted: True if value has been deleted
  • value (YAML-serialized string): deleted value
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/fsms/{name}

This REST API path provides actions and information related to a particular Qorus Finite State Machine.

GET /api/latest/fsms/{name}

Description
Returns the description of the Finite State Machine

/api/latest/fsms/{name}/config

This REST URI path provides actions and information related to Qorus Finite State Machine configuration items

GET /api/latest/fsms/{name}/config

Description
Returns a list of Finite State Machine configuration items for the Finite State Machine
Return Value
This API returns a list of hashes with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": the default value of the configuration item
  • "value": the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined
  • "level": the level from where the value is obtained (interface level (e.g. "fsm:name1", "fsm:name2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded

GET /api/latest/fsms/{name}/config?action=yaml

Description
Returns a list of configuration items for the Finite State Machine as a YAML-serialized string
Return Value
This API returns a list of hashes with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": (YAML-serialized string) the default value of the configuration item
  • "value": (YAML-serialized string) the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined (each element is a YAML-serialized string)
  • "level": the level from where the value is obtained (interface level (e.g. "fsm:name1", "fsm:name2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded

/api/latest/fsms/{name}/config/{name}

This REST URI path provides actions and information related to a particular configuration item for a particular Qorus Finite State Machine.

Prefixes can be passed within the config item name or as following: /v5/fsms/{name}/config/{name}?prefix={prefix}.

DELETE /api/latest/fsms/{name}/config/{name}

Description
Permanently deletes the current value for the configuration item for the current Finite State Machine
Return Value
This API returns a hash with the following key:
  • info: a string confirming the delete operation
  • deleted: True if value has been deleted
  • value: deleted value
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/fsms/{name}/config/{name}

Description
Returns a hash for the current Finite State Machine configuration item
Return Value
This API returns a hash with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": the default value of the configuration item
  • "value": the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined
  • "level": the level from where the value is obtained (interface level (e.g. "fsm:name1", "fsm:name2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded

PUT /api/latest/fsms/{name}/config/{name}

Description
Sets the value for the given Finite State Machine configuration item
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • value: the value of the configuration item; must be compatible with the item's declared type
Return Value
This API returns a hash with the following keys:
  • inserted: True or False (returned if the value has been inserted)
  • updated: True or False (returned if the value has been updated)
  • value: the new value
  • info: info about the service configuration item change action
Errors
  • 400 Bad Request: returned if the request has no value key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

PUT /api/latest/fsms/{name}/config/{name}?action=yaml

Description
Sets the value for the given Finite State Machine configuration item using a YAML-serialized string
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • value: (YAML-serialized string) the value of the configuration item; must be compatible with the item's declared type
Return Value
This API returns a hash with the following keys:
  • inserted: True or False (returned if the value has been inserted)
  • updated: True or False (returned if the value has been updated)
  • value (YAML-serialized string): the new value
  • info: info about the service configuration item change action
Errors
  • 400 Bad Request: returned if the request has no value key
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/fsms/{name}/config/{name}?action=yaml

Description
Returns a hash for the current Finite State Machine configuration item as a serialized YAML string
Return Value
This API returns a hash with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": (YAML-serialized string) the default value of the configuration item
  • "value": (YAML-serialized string) the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined (each element is a YAML-serialized string)
  • "level": the level from where the value is obtained (interface level (e.g. "fsm:name1", "fsm:name2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded

DELETE /api/latest/fsms/{name}/config/{name}?action=yaml

Description
Permanently deletes the current value for the configuration item for this Finite State Machine on the local level
Return Value
This API returns a hash with the following key:
  • info: a string confirming the delete operation
  • deleted: True if value has been deleted
  • value (YAML-serialized string): deleted value
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

/api/latest/functions

This REST API path provides actions and information about Qorus functions

GET /api/latest/functions

Description
Returns a list of hashes of all functions
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
Return Value
This API returns a list of hashes with the following keys (if neither list nor short options are passed as above):
  • 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
  • created: the date/time the function was created
  • modified: the date/time the function was modified
  • source: the source file that the function object was created from
  • line: the offset in the source file for the source of the function object

POST /api/latest/functions

Description
Creates a new function
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the function
  • desc (*string): the new description for the function with markdown formatting
  • version (string): the new version for the function
  • author (*string): the author of the function
  • source (string): the source code for the function
  • function_type (string): The type of the function
Return Value
This API returns a CreateFunctionInfo hash with the following keys (a description of the new function):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/functions?action=create

Description
Creates a new function
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the function
  • desc (*string): the new description for the function with markdown formatting
  • version (string): the new version for the function
  • author (*string): the author of the function
  • source (string): the source code for the function
  • function_type (string): The type of the function
Return Value
This API returns a CreateFunctionInfo hash with the following keys (a description of the new function):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/functions?action=list

Description
Identical to GET /api/functions
See also
GET /api/functions

/api/latest/functions/{id_or_name}

This REST API path provides actions and information about specific functions

DELETE /api/latest/functions/{id_or_name}

Description
Deletes the function
Arguments
This API takes the following hash argument:
  • cascade (*bool): force-delete the object and update all dependent objects; can break those objects
Return Value
This API returns a FunctionDeletionInfo hash with the following key (information about the function that was deleted):
  • id (int): the ID of the function that was deleted
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: no such function
Note
Requires one of the following permissions:

GET /api/latest/functions/{id_or_name}

Description
Returns a hash of information about the current function
Return Value
This API returns a REST Function Hash

PUT /api/latest/functions/{id_or_name}

Description
Updates the current function
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the function
  • desc (*string): the new description for the function with markdown formatting
  • version (*string): the new version for the function
  • author (*string): the author of the function
  • source (*string): the source code for the function
  • function_type (*string): The type of the function
Return Value
This API returns an UpdateFunctionInfo hash with the following keys (a description of the new function):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/functions/{id_or_name}?action=clone

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
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the function
  • desc (*string): the new description for the function with markdown formatting
  • version (*string): the new version for the function
  • author (*string): the author of the function
  • source (*string): the source code for the function
  • function_type (*string): The type of the function
Return Value
This API returns a CloneFunctionInfo hash with the following keys (a description of the new function):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

GET /api/latest/functions/{id_or_name}?action=file

Description
Returns the function as a file that can be saved

/api/latest/groups

This URI path provides actions and information related to interface groups

DELETE /api/latest/groups

Description
Permanently deletes one or more interface groups. Changes are committed to the database before the call returns.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • groups: (required) list of strings or a single string; a comma-separated string will be split into a list; the names of the groups to delete
Return Value
This API returns a list of string messages giving the result of each delete operation
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 409 Conflict: GROUPS-DELETE-ERROR: missing groups argument
Note
requires permission OMQ::QR_GROUP_CONTROL or OMQ::QR_DELETE_GROUP
See also

GET /api/latest/groups

Description
Returns a list of hashes of information about interface groups
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); at least one of the following keys must be present:
Return Value
Unless list or short are present, this API returns a list of REST Interface Group Detail Hash elements according to the arguments.
See also

POST /api/latest/groups

Description
Creates a new interface group. If a new group is created with the enabled flag set to False, then workflows, services, and jobs members of the group are stopped immediately if loaded/running. Changes are committed to the database before the call returns.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • group: (string) required; the name of the group
  • desc: (string) required; the description of the group
  • workflows: (list of strings or a single string) optional; a comma-separated string will be split into a list; the list of workflow names or IDs to include in the group
  • services: (list of strings or a single string) optional; a comma-separated string will be split into a list; the list of user service names or IDs to include in the group
  • jobs: (list of strings or a single string) optional; a comma-separated string will be split into a list; the list of job names or IDs to include in the group
  • mappers: (list of strings or a single string) optional; a comma-separated string will be split into a list; the list of mapper names or IDs to include in the group
  • vmaps: (list of strings or a single string) optional; a comma-separated string will be split into a list the list of value map names or IDs to include in the group
  • fsms: (list of strings) optional; a comma-separated string will be split into a list the list of Finite State Machine names to include in the group
  • pipelines: (list of strings) optional; a comma-separated string will be split into a list the list of data pipeline names to include in the group
  • enabled: (string) this value will be processed by parse_boolean(); the initial enabled flag for the group; if not present defaults to True
Return Value
This API returns a REST Interface Group Detail Hash for the new group
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 409 Conflict: WORKFLOW-ERROR: invalid or unknown workflow
  • 409 Conflict: SERVICE-ERROR: invalid or unknown service
  • 409 Conflict: JOB-ERROR: invalid or unknown job
  • 409 Conflict: MAPPER-ERROR: invalid or unknown mapper
  • 409 Conflict: VALUE-MAP-ERROR: invalid or unknown value map
  • 409 Conflict: FSM-ERROR: invalid or unknown Finite State Machine
  • 409 Conflict: PIPELINE-ERROR: invalid or unknown data pipeline
  • 409 Conflict: GROUP-ERROR: missing group or desc arguments
Note
requires permission OMQ::QR_GROUP_CONTROL or OMQ::QR_ADD_GROUP
See also

GET /api/latest/groups?action=list

Description
Returns a list of hashes of information about interface groups
See also
This API is equivalent to GET /api/groups; see that documentation for details.

PUT /api/latest/groups?action=setStatus

Description
Changes the enabled status of one or more interface groups; changes are committed to the database before the call returns
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • groups: (required) one or more group names to modify; a comma-separated string will be split into a list
  • enabled: (required) parsed with Qore::parse_boolean(); the new enabled status for the group(s)
Return Value
This API returns list of descriptive strings for the operations performed
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 409 Conflict: GROUPS-SETSTATUS-ERROR: missing groups or enabled arguments
Note
requires permission OMQ::QR_GROUP_CONTROL, OMQ::QR_MODIFY_GROUP, or OMQ::QR_MODIFY_GROUP_STATUS
See also

/api/latest/groups/{name}

This URI path provides actions and information related to a specific interface group

DELETE /api/latest/groups/{name}

Description
Permanently deletes an interface group; changes are committed to the database before the call returns. When a disabled group is deleted, then any workflows with a positive autostart value, any services with the autostart flag set, and any active jobs are immediately started if the group was previously disabled and the workflow, service, or job is not a member of any other disabled group.
Return Value
This API returns a hash with the following key:
  • info: a string describing the group deletion action
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: cannot update group "DEFAULT"
Note
requires permission OMQ::QR_GROUP_CONTROL or OMQ::QR_DELETE_GROUP
See also

GET /api/latest/groups/{name}

Description
Returns a hash of information about the current interface group
Return Value
This API returns a REST Interface Group Detail Hash

PUT /api/latest/groups/{name}

Description
Modifies an existing interface group; changes are committed to the database before the call returns. Changes to groups are effected immediately; for example, if a workflow, service, or job is added to a disabled group, the any corresponding running objects are immediately stopped; or if a job is removed from a disabled group, then it is immediately started, etc
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body); at least one of the following keys must be present:
  • desc: (string) the new description of the group
  • workflows: (list of strings or a single string) the list of workflow names to include in the group; the new list will replace the current list unless the workflow names are preceded by "+" or "-", meaning add or remove a workflow, respectively (in which case all workflow names must be preceded by a "+" or "-")
  • services: (list of strings or a single string) the list of user service names to include in the group; the new list will replace the current list unless the user service names are preceded by "+" or "-", meaning add or remove a service, respectively (in which case all service names must be preceded by a "+" or "-")
  • jobs: (list of strings or a single string) the list of job names to include in the group; the new list will replace the current list unless the job names are preceded by "+" or "-", meaning add or remove a job, respectively (in which case all job names must be preceded by a "+" or "-")
  • mappers: (list of strings or a single string) the list of mapper names to include in the group; the new list will replace the current list unless the mapper names are preceded by "+" or "-", meaning add or remove a mapper, respectively (in which case all mapper names must be preceded by a "+" or "-")
  • vmaps: (list of strings or a single string) the list of value map names to include in the group; the new list will replace the current list unless the value map names are preceded by "+" or "-", meaning add or remove a value map, respectively (in which case all value map names must be preceded by a "+" or "-")
  • enabled: (string) this value will be processed by parse_boolean(); enables or disables the group
Return Value
This API returns "OK" upon successful execution
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Conflict: RBAC-UPDATE-GROUP-ERROR: at least one of desc, services, workflows, jobs, mappers, vmaps, or enabled keys must be passed in the second argument hash to update the group
  • 403 Forbidden: cannot update group "DEFAULT"
Note
requires permission OMQ::QR_GROUP_CONTROL, OMQ::QR_MODIFY_GROUP, or OMQ::QR_MODIFY_GROUP_STATUS
See also

POST /api/latest/groups/{name}?action=clone

Description
Clones the current group
Arguments
This API takes the following hash arguments:
  • name (*string): the new name for the group; if not provided, the new name will be generated
  • display_name (*string): the new display name
  • short_desc (*string): the plain-text short description
  • desc (*string): the new description for the group with markdown formatting
Return Value
This API returns a CloneGroupInfo hash with the following keys (a description of the new group):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/groups/{name}?action=disable

Description
Disables an interace group; changes are committed to the database before the call returns
Return Value
This API returns "OK" upon successful execution
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: cannot update group "DEFAULT"
Note
requires permission OMQ::QR_GROUP_CONTROL, OMQ::QR_MODIFY_GROUP, or OMQ::QR_MODIFY_GROUP_STATUS
See also

PUT /api/latest/groups/{name}?action=enable

Description
Enables an interface group; changes are committed to the database before the call returns
Return Value
This API returns "OK" upon successful execution
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: cannot update group "DEFAULT"
Note
requires permission OMQ::QR_GROUP_CONTROL, OMQ::QR_MODIFY_GROUP, or OMQ::QR_MODIFY_GROUP_STATUS
See also

PUT /api/latest/groups/{name}?action=setStatus

Description
Changes the enabled status of an interface group; changes are committed to the database before the call returns
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
Return Value
This API returns a hash with the following key:
  • info: a string describing the group enabled status change
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 409 Conflict: GROUP-SETSTATUS-ERROR: missing enabled argument
Note
requires permission OMQ::QR_GROUP_CONTROL, OMQ::QR_MODIFY_GROUP, or OMQ::QR_MODIFY_GROUP_STATUS
See also

PUT /api/latest/groups/{name}?action=update

Description
Modifies an existing interface group; changes are committed to the database before the call returns. Changes to groups are effected immediately; for example, if a workflow, service, or job is added to a disabled group, the any corresponding running objects are immediately stopped; or if a job is removed from a disabled group, then it is immediately started, etc
See also
This API is equivalent to PUT /api/groups/{name}; see that documentation for details.

/api/latest/jobresults

This REST API path provides actions and information about job results (job instances).

GET /api/latest/jobresults

Description
Returns a list of hashes of job result (job instance) information corresponding to the arguments
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • date: optional (parsed as a date); the past cutoff date for the search; only orders with a modified date equal or after this date will be considered; if not present, then defaults to the last 24 hours
  • desc: optional (parsed with Qore::parse_boolean(); determines the sort order; if False then results are sorted in ascending order, if True (the default), results are sorted in descending order (newest first)
  • full: optional (parsed with Qore::parse_boolean(); if True then additional keys are included in each result record; see below for details
  • ids: optional; one or more job IDs to filter the result list; a comma-separated string will be split into a list
  • limit: optional; limits the number of results returned
  • offset: optional; the starting result to return (use when paging for example)
  • sort: optional; a list of columns to sort the output by
  • statuses: optional; job result (job instance) status value(s); a comma-separated string will be split into a list (see Job Data Status Descriptions for possible values)
Return Value
This API returns a list of REST Job Result Hash elements corresponding to the arguments; if the full option is set, then the following additional keys are included in each hash:
  • errors: a list of hashes of errors and warnings raised by the job; each list element has the following keys:
    • job_errorid: the unique ID for the error instance
    • severity: an error severity code (see Error Severity Codes for possible values)
    • error: the error code string
    • description: description for the error (if any)
    • info: additional information about the error (if any)
    • business_error: a boolean flag indicating of the error is a business error
    • created: the date and time the error was raised
  • audit: a list of one or more REST Audit Info Hash elements (can be empty)

GET /api/latest/jobresults?action=overview

Description
Returns aggregate job result information corresponding to the arguments.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • date: optional (parsed as a date); the past cutoff date for the search; only orders with a modified date equal or after this date will be considered; if not present, then defaults to the last 24 hours
  • sqlcache: optional (parsed with Qore::parse_boolean()); if False then no SQL cache will be used for historical info; default True
  • combined: if True then all results are combined into one global hash for all queried jobs
  • jobs: one or more job names or IDs to filter the result list; a comma-separated string will be split into a list
Return Value
This API returns a hash keyed by job name; values are hashes keyed by job status value (see Job Data Status Descriptions for possible values) and the values are integer job result (job instance) counts having the given status (unless combined is set, described above)
Example Return Value
myjob_1 : hash: (2 members)
  ERROR : 1
  COMPLETE : 3
myjob_2 : hash: (2 members)
  IN-PROGRESS : 1
  COMPLETE : 8

/api/latest/jobresults/{id}

This REST API path provides actions and information about specific job results (job instances).

GET /api/latest/jobresults/{id}

Description
Returns a hash of job result (job instance) information
Return Value
This API returns a REST Job Result Hash with the following additional keys:
  • errors: a list of hashes of errors and warnings raised by the job; each list element has the following keys:
    • job_errorid: the unique ID for the error instance
    • severity: an error severity code (see Error Severity Codes for possible values)
    • error: the error code string
    • description: description for the error (if any)
    • info: additional information about the error (if any)
    • business_error: a boolean flag indicating of the error is a business error
    • created: the date and time the error was raised
  • audit: a list of one or more REST Audit Info Hash elements (can be empty)

/api/latest/jobs

This REST API path provides actions and information related to Qorus jobs.

GET /api/latest/jobs

Description
Returns information about Qorus jobs according to the arguments; only jobs accessible to the calling user are returned
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • defonly: optional (parsed with Qore::parse_boolean()); if True then no job result information will be included in the return value; default False
  • date: optional (parsed as a date); the past cutoff date for job result (job instances) for the return value; if not present, then defaults to the last 24 hours
  • jobs: one or more job names or IDs to filter the result list; a comma-separated string will be split into a list
  • lib_source: optional; parsed with Qore::parse_boolean(); if True then the source code for each library object is returned in the REST Job Description Hash
  • list: optional; parsed with Qore::parse_boolean(); if True then a list of job names is returned
  • short: optional; parsed with Qore::parse_boolean(); if True then a list of short strings of job names and descriptions is returned
  • sqlcache: optional (parsed with Qore::parse_boolean()); if False then no SQL cache will be used for historical info; default True (only used if defonly is omitted or False)
  • status: optional; either "active" or "inactive" to filter jobs based on their active status
  • tags: 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
  • tag_case_insensitive: optional; parsed with Qore::parse_boolean(); if True then tag value comparisons are made with case-insensitive comparisons
  • tag_partial_match: optional; parsed with Qore::parse_boolean(); 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
Return Value
If neither list nor short are used, then this API returns a list of REST Job Description Hash elements; if defonly is not True, then any jobs with job result data within the given time period (as defined by the date option) will be reflected in the following extra keys:
  • IN-PROGRESS: the number of job instances currently in progress
  • COMPLETE: the number of job instances with a OMQ::StatComplete status during the given time period
  • ERROR: the number of job instances with a OMQ::StatError status during the given time period

POST /api/latest/jobs

Description
Creates a new job
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the job
  • version (string): the version of the job
  • display_name (*string): the new display name for the job; generated from name if necessary
  • short_desc (*string): the short plain-text description for the job
  • desc (string): the new description for the job with markdown formatting
  • schedule (JobCronHash): the cron schedule for the job
  • author (*list<string>): one or more authors of the job
  • remote (*bool): if the job should run remotely or not
  • active (*bool): if the job is active (will be scheduled) or not
  • enabled (*bool): if the job is enabled
  • expiry-date (*date): the date the job expires
  • class-name (*string): the class name fot the job
  • lang (*string): the language of the job
  • classes (*list<string>): classes that the job depends on and requires
  • fsms (*list<UndefinedHash>): Finite State Machines / Flow Designer (fsms) that the job uses
  • mappers (*list<string>): mappers that the job uses
  • vmaps (*list<string>): value maps that the job uses
  • groups (*list<string>): interface groups that the job belongs to
  • tags (*UndefinedHash): user-defined tags for the job
  • config-items (*list<UndefinedHash>): config items that the job uses or defines
  • system-options (UndefinedHash): system options for the job
  • source (string): the job's source code
Return Value
This API returns a CreateJobInfo hash with the following keys (a description of the new job):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/jobs?action=create

Description
Creates a new job
Arguments
This API takes the following hash arguments:
  • name (string): the new internal name for the job
  • version (string): the version of the job
  • display_name (*string): the new display name for the job; generated from name if necessary
  • short_desc (*string): the short plain-text description for the job
  • desc (string): the new description for the job with markdown formatting
  • schedule (JobCronHash): the cron schedule for the job
  • author (*list<string>): one or more authors of the job
  • remote (*bool): if the job should run remotely or not
  • active (*bool): if the job is active (will be scheduled) or not
  • enabled (*bool): if the job is enabled
  • expiry-date (*date): the date the job expires
  • class-name (*string): the class name fot the job
  • lang (*string): the language of the job
  • classes (*list<string>): classes that the job depends on and requires
  • fsms (*list<UndefinedHash>): Finite State Machines / Flow Designer (fsms) that the job uses
  • mappers (*list<string>): mappers that the job uses
  • vmaps (*list<string>): value maps that the job uses
  • groups (*list<string>): interface groups that the job belongs to
  • tags (*UndefinedHash): user-defined tags for the job
  • config-items (*list<UndefinedHash>): config items that the job uses or defines
  • system-options (UndefinedHash): system options for the job
  • source (string): the job's source code
Return Value
This API returns a CreateJobInfo hash with the following keys (a description of the new job):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

DELETE /api/latest/jobs?action=defaultLogger

Description
Delete logger
Return Value
If success 200 OK, in case of failure 400 and string with error description
Errors
  • 400 Bad Request: invalid or missing arguments to REST call
Note
requires permission OMQ::QR_DELETE_LOGGER or OMQ::QR_LOGGER_CONTROL

PUT /api/latest/jobs?action=defaultLogger

Description
Set logger params
Arguments
This API takes the following argument as URI arguments:
  • level: (int|string) LoggerLevel
  • name: logger name to set
  • additivity: logger additivity to set
Return Value
If success 200 OK, in case of fail 400 and string with error description
Errors
  • 400 Bad Request: invalid or missing arguments to REST call
Note
requires permission OMQ::QR_MODIFY_LOGGER or OMQ::QR_LOGGER_CONTROL

POST /api/latest/jobs?action=defaultLogger

Description
Create default Logger
Arguments
This API takes the following argument as URI arguments:
  • level: required; (int|string) LoggerLevel
  • name: (string) logger name
  • additivity: (bool) logger additivity (default True)
  • cloneDefault: (bool) create logger with appenders based on default logger
Return Value
If success 200 with the logger ID created, in case of failure 400 and string with error description
Errors
  • 400 Bad Request: invalid or missing arguments to REST call
  • 409 Conflict: conflict with the current state
Note
requires permission OMQ::QR_CREATE_LOGGER or OMQ::QR_LOGGER_CONTROL

GET /api/latest/jobs?action=defaultLogger

Description
Returns default logger info
Return Value
This API returns 200 OK and hash with the following keys:
  • loggerid: (int) logger id
  • params: (hash) logger params
    • level: (hash) LoggerLevel
      • "key": logger level string representation
      • "value": logger level int representation
    • name: (string) logger name
    • additivity: (bool) logger additivity
  • interface_table_name: (string) interface table name (jobs/workflows/services). If set means default logger

PUT /api/latest/jobs?action=defaultLoggerAppenders

Description
Update logger appender with the given id
Arguments
This API takes the following argument as URI arguments:
  • id: required; (int); id of the appender to be update
  • name: (string) the name of the appender
  • layoutPattern: (string) the layout for the appender
  • filename: (string) the output filename
  • encoding: (string) the file's output encoding
  • appenderType: required; (string) appender type, case sensitive (see Logger for possible values) (ex. LoggerAppenderFileRotate, LoggerAppenderFile, LoggerAppenderStdOut ...)
  • rotationCount: (int) the number of files in rotation chain, if count is <=0 then no ratation is performed. Only for rotation appenders
  • archivePattern: (string) pattern to evaluate archive filename
Return Value
If success 200 OK, in case of fail 400 and string with error description
Note
requires permission OMQ::QR_MODIFY_LOGGER or OMQ::QR_LOGGER_CONTROL

POST /api/latest/jobs?action=defaultLoggerAppenders

Description
Create logger appenders
Arguments
This API takes the following argument as URI arguments:
  • name: (string) the name of the appender
  • layoutPattern: (string) the layout for the appender
  • filename: (string) the output filename
  • encoding: (string) the file's output encoding
  • appenderType: required; (string) appender type, case sensitive (see Logger for possible values) (ex. LoggerAppenderFileRotate, LoggerAppenderFile, LoggerAppenderStdOut ...)
  • rotationCount: (int) the number of files in rotation chain, if count is <=0 then no ratation is performed. Only for rotation appenders
  • archivePattern: (string) pattern to evaluate archive filename
Return Value
If success 200 OK and appender id, in case of fail one of the error codes: 400, 409 and string of error description
Errors
  • 400 Bad Request: invalid or missing arguments to REST call
  • 409 Conflict: conflict with the current state
Note
requires permission OMQ::QR_CREATE_LOGGER or OMQ::QR_LOGGER_CONTROL

DELETE /api/latest/jobs?action=defaultLoggerAppenders

Description
Delete logger appender with obtained id
Arguments
This API takes the following argument as URI arguments:
  • id: required; (int); id of the appender to be deleted
Return Value
If success 200 OK, in case of fail 400 and string with error description
Note
requires permission OMQ::QR_DELETE_LOGGER or OMQ::QR_LOGGER_CONTROL

GET /api/latest/jobs?action=defaultLoggerAppenders

Description
Return all logger appenders
Return Value
This API returns 200 OK and list with the following hashes:
  • appenderId: (int) appenderId
  • params: (hash) possible appender parameters, might be missing if not set
    • name: (string) appender name
    • layoutPattern: (string) appender layout pattern
    • rotation: (int) appender layout pattern
    • filename: (string) appender filename

PUT /api/latest/jobs?action=disable

Description
Disables one or more jobs.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • ids: (required) one or more job names or IDs to disable; a comma-separated string will be split into a list
Return Value
This API returns a hash with the following keys:
  • arg: the job ID or name (the argument passed as input)
  • disabled: True means the job was disabled, False means it was not
  • info: an informative string giving a description of the result or an error message
  • [jobid]: the job ID
  • [name]: the name of the job
  • [version]: the version of the job
Errors
  • 409 Conflict: JOB-DISABLE-ERROR: missing ids argument
See also

PUT /api/latest/jobs?action=enable

Description
Enables one or more disabled jobs.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • ids: (required) one or more job names or IDs to enable; a comma-separated string will be split into a list
Return Value
This API returns a hash with the following keys:
  • arg: the job ID or name (the argument passed as input)
  • enabled: True means the job was enabled, False means it was not
  • info: an informative string giving a description of the result or an error message
  • [jobid]: the job ID
  • [name]: the name of the job
  • [version]: the version of the job
Errors
  • 409 Conflict: JOB-ENABLE-ERROR: missing ids argument
Note
requires permission OMQ::QR_JOB_CONTROL, OMQ::QR_GROUP_CONTROL, or OMQ::QR_MODIFY_GROUP, or OMQ::QR_MODIFY_GROUP_STATUS
See also

GET /api/latest/jobs?action=list

Description
Returns information about Qorus jobs according to the arguments; only jobs accessible to the calling user are returned
See also
This API is equivalent to GET /api/jobs; see that documentation for details.

PUT /api/latest/jobs?action=reset

Description
Reloads one or more jobs from the database; if the job is currently running it is stopped and reloaded. This API works on all jobs regardless of state; the job does not have to be running or active to be reset.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • ids: (required) one or more job names or IDs to reset; a comma-separated string will be split into a list
Return Value
This API returns a list of hashes with the following keys:
  • arg: the job ID or name (the argument passed as input)
  • reset: True means the job was reset, False means it was not
  • info: an informative string giving a description of the result or an error message
  • [jobid]: the job ID
  • [name]: the name of the job
  • [version]: the version of the job
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_JOB_CONTROL or OMQ::QR_RESET_JOB
See also

PUT /api/latest/jobs?action=run

Description
Runs one or more jobs and returns the results of job execution
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • ids: (required) one or more job names or IDs to run; a comma-separated string will be split into a list
Return Value
This API returns a list of hashes with the following keys:
  • arg: the job ID or name (the argument passed as input)
  • run: True means the job was run, False means it was not
  • info: an informative string giving a description of the result or an error message
  • [jobid]: the job ID
  • [name]: the name of the job
  • [version]: the version of the job
  • [job_instanceid]: the job_instanceid of the job executed
  • [status]: the status of the execution of the job; see Job Data Status Descriptions for possible values
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note
requires permission OMQ::QR_JOB_CONTROL or OMQ::QR_RUN_JOB
See also

/api/latest/jobs/{id_or_name}

This REST API path provides actions and information related to specific jobs; the name can also be provided in the format name:version.

DELETE /api/latest/jobs/{id_or_name}

Description
Deletes the current job
Arguments
Return Value
This API returns a JobDeletionResult hash with the following keys (job deletion info):
  • name (string): the name of the job deleted
  • jobid (string): the ID of the job deleted
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: no such job
Note
Requires one of the following permissions:

GET /api/latest/jobs/{id_or_name}

Description
Returns a hash of information about the current job
Arguments
Return Value
This API returns a JobDetailInfo hash with the following keys (a hash of information about the current job):
  • name (string): the name of the job
  • jobid (int): the job ID
  • display_name (*string): the display name
  • short_desc (*string): the short description in plain text
  • description (*string): the description of the job (if any)
  • version (string): the version of the job
  • author (*string): the author of the job (if any)
  • sessionid (*int): 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 (bool): 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 (bool): 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 (bool): if the current workflow is open for processing now
  • run_skipped (bool): 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 (bool): flag indicating if the job is enabled or not; disabled jobs cannot be activated
  • code (string): the source code for the job
  • class_based (bool): True means that the job is an extension of the QorusJob class, otherwise it is a function-based job
  • class_name (*string): the name of the job class, if any
  • language (string): the programming language that the job's main code is implemented in
  • month (*string): the month value in a job cron schedule
  • day (*string): the day value in a job cron schedule
  • wday (*string): the weekday value in a job cron schedule
  • hour (*string): the hout value in a job cron schedule
  • minute (*string): the minute value in a job cron schedule
  • expiry_date (*date): the expiry date of the job, if any
  • last_executed (*date): the date-time value the job was last executed, if any
  • last_executed_job_instanceid (*int): the last job instance ID, if any
  • last_jobstatus (*string): the last job result status for this job
  • manually_updated (bool): 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 (date): the date/time the job was created
  • modified (date): the date/time the job was modified
  • source (*string): the complete path of the job source file when loaded
  • line (*int): the line offset of the job source code in the file
  • config_items (*list<ConfigItemDetailInfo>): list of config items attached directly to the job
  • fsm_triggers (*FsmTriggerSet): a hash keyed by finite state machine name giving triggers for each flow
    • key (list<FsmTriggerInfo>): list<FsmTriggerInfo> value
  • next (*date): the next automatic job execution time time, if any
  • schedule (*string): the schedule for the job as a string
  • mappers (*list<MapperInfo>): list of mappers associated with the job
  • vmaps (*list<VMapInfo>): a list of value maps associated with the job
  • lib (*LibraryInfo): a hash of library information for the job
    • functions (*list<LibraryDetailInfo>): a list of function objects (can be empty)
    • classes (*list<LibraryDetailInfo>): a list of class objects (can be empty)
    • constants (*list<LibraryDetailInfo>): a list of constant objects (can be empty)
    • pipelines (*list<NameIdInfo>): a list of pipeline objects (can be empty)
    • fsm (*list<NameIdInfo>): a list of FSM objects (can be empty)
  • tags (*UndefinedHash): any tags for the job
  • job_modules (*list<string>): a list of job modules associated with the job
  • config (*ConfigItemSummarySetInfo): a hash of configuration item info keyed by config item name
    • name (string): the name of the configuration item
    • prefix (*string): the prefix of the configuration item
    • type (string): the data type of the configuration item
    • desc (string): the description of the configuration item
    • default_value (auto): the default value of the configuration item
    • value (auto): the value of the configuration item
    • strictly_local (bool): if the configuration item is defined strictly on local level
    • is_set (bool): True if the value is set otherwise False
    • is_templated_string (bool): True if the value is a templated string that can be later expanded
    • config_group (string): the group of the configuration item
    • allowed_values (*list<auto>): the list of allowed values for the configuration item if defined
    • level (string): the level from where the value is obtained (interface level (e.g. "job:1", "job:2")
  • groups (*list<GroupInfo>): a list of interface groups that the job belongs to
  • offset (*string): the line offset of the job source code in the file
  • host (*string): the hostname of the machine where the job was loaded from
  • user (*string): the OS user who loaded the job
  • base_class_name (*string): the base class name of the job, if any
  • process (*JobProcessExecInfo): present when remote is True
    • 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 (*int): the process's status code
    • status_string (*string): the process's status as a string
    • restarted (*bool): indicates if the process has been restarted
    • log_pipe (*string): any log pipe for the process
    • port (*int): any port number for the process
    • priv (*int): the amount of private memory of the process in bytes
    • prometheus_port (*int): any port number for communicating with Prometheus
    • 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
    • jobname (*string): the job name
    • jobversion (*string): the job version
    • jobid (*int): the job ID
    • socket_path (*string): any socket path for the process
    • sessionid (*int): the job session ID
  • COMPLETE (*int): number of job results with status COMPLETE
  • IN-PROGRESS (*int): number of job results with status IN-PROGRESS
  • ERROR (*int): number of job results with status ERROR
  • CRASH (*int): number of job results with status CRASH
  • connections (*list<InterfaceConnectionInfo>): a list of connection objects that this job depends on
  • alerts (*list<AlertInfo>): a list of alerts raised against the job
  • db_active (bool): a boolean flag indicating the active status in the database
  • active (bool): the active status in the current Qorus instance
  • manual_active (bool): 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 (*string): the log URL (if any)
  • options (list<OptionInfoHash>): a list option information hashes
  • sched_type (string): the schedule type; one of "cron" (uses a job cron schedule), or "recurring" ( uses a fixed repeat delay)
  • sched_txt (string): a string describing the schedule (ex: "minutes: 0, hours: 0, days: *, months: *, wdays: *")
  • sla (*string): the name of the attached SLA, if any)
  • state (*hash<auto>): any job state data
  • persistent-state (*hash<auto>): any persistent job state data
Errors
  • 403 Forbidden: access or authorization error

PUT /api/latest/jobs/{id_or_name}

Description
Updates the current job
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the job
  • version (*string): the version of the job
  • display_name (*string): the new display name for the job; generated from name if necessary
  • short_desc (*string): the short plain-text description for the job
  • desc (*string): the new description for the job with markdown formatting
  • schedule (*JobCronHash): the cron schedule for the job
  • author (*list<string>): one or more authors of the job
  • remote (*bool): if the job should run remotely or not
  • active (*bool): if the job is active (will be scheduled) or not
  • enabled (*bool): if the job is enabled
  • expiry-date (*date): the date the job expires
  • class-name (*string): the class name fot the job
  • lang (*string): the language of the job
  • classes (*list<string>): classes that the job depends on and requires
  • fsms (*list<UndefinedHash>): Finite State Machines / Flow Designer (fsms) that the job uses
  • mappers (*list<string>): mappers that the job uses
  • vmaps (*list<string>): value maps that the job uses
  • groups (*list<string>): interface groups that the job belongs to
  • tags (*UndefinedHash): user-defined tags for the job
  • config-items (*list<UndefinedHash>): config items that the job uses or defines
  • system-options (*UndefinedHash): system options for the job
  • source (*string): the job's source code
Return Value
This API returns an UpdateJobInfo hash with the following keys (a description of the new job):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

POST /api/latest/jobs/{id_or_name}?action=clone

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
Arguments
This API takes the following hash arguments:
  • name (*string): the new internal name for the job
  • version (*string): the version of the job
  • display_name (*string): the new display name for the job; generated from name if necessary
  • short_desc (*string): the short plain-text description for the job
  • desc (*string): the new description for the job with markdown formatting
  • schedule (*JobCronHash): the cron schedule for the job
  • author (*list<string>): one or more authors of the job
  • remote (*bool): if the job should run remotely or not
  • active (*bool): if the job is active (will be scheduled) or not
  • enabled (*bool): if the job is enabled
  • expiry-date (*date): the date the job expires
  • class-name (*string): the class name fot the job
  • lang (*string): the language of the job
  • classes (*list<string>): classes that the job depends on and requires
  • fsms (*list<UndefinedHash>): Finite State Machines / Flow Designer (fsms) that the job uses
  • mappers (*list<string>): mappers that the job uses
  • vmaps (*list<string>): value maps that the job uses
  • groups (*list<string>): interface groups that the job belongs to
  • tags (*UndefinedHash): user-defined tags for the job
  • config-items (*list<UndefinedHash>): config items that the job uses or defines
  • system-options (*UndefinedHash): system options for the job
  • source (*string): the job's source code
Return Value
This API returns a CloneJobInfo hash with the following keys (a description of the new job):
  • action (string): the action performed
  • id (int): the object ID
  • obj (UndefinedHash): the object
  • tags (*UndefinedHash): any tags for the object or sent with the request
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/jobs/{id_or_name}?action=disable

Description
Disables the current job if it is enabled; if the job is already disabled, the action is reported as successful anyway
Arguments
Return Value
This API returns a JobUpdateResultInfo hash with the following keys (information about the result of the operation):
  • jobid (int): the workflow ID
  • name (string): the wojobrkflow name
  • version (string): the job version
  • info (string): a string providing information about the job update action
Errors
  • 403 Forbidden: access or authorization error
  • 409 Conflict: exception processing the request
Note
Requires one of the following permissions:

PUT /api/latest/jobs/{id_or_name}?action=enable

Description
Enables the current job if it is disabled; if the job is already enabled, the action is reported as successful anyway
Arguments
Return Value
This API returns a JobUpdateResultInfo hash with the following keys (information about the result of the operation):
  • jobid (int): the workflow ID
  • name (string): the wojobrkflow name
  • version (string): the job version
  • info (string): a string providing information about the job update action
Errors
  • 403 Forbidden: access or authorization error
  • 409 Conflict: exception processing the request
Note
Requires one of the following permissions:

GET /api/latest/jobs/{id_or_name}?action=file

Description
Returns the job as a file that can be saved

POST /api/latest/jobs/{id_or_name}?action=kill

Description
Kills a remote job cluster process
Arguments
Return Value
This API returns a KillResultInfo hash with the following keys (information about the result of the operation):
  • status (string): either "OK" or "ERR"
  • code (int): the return code of the kill() command: 0 if successful, non-zero if not
Errors
  • 403 Forbidden: access or authorization error
  • 404 Not Found: if no remote process is running for the job
Note
Requires one of the following permissions:

GET /api/latest/jobs/{id_or_name}?action=options

Description
Returns options set on the current job.
Return Value
This API returns NOTHING if no options are set, otherwise a hash of job options.

PUT /api/latest/jobs/{id_or_name}?action=reset

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.
Arguments
Return Value
This API returns a value of type string: a descriptive string for the operation
Errors
  • 403 Forbidden: access or authorization error
  • 409 Conflict: API-CALL-ERROR: cannot reset a disabled job
Note
Requires one of the following permissions:

PUT /api/latest/jobs/{id_or_name}?action=run

Description
Runs a job and returns the results of job execution
Arguments
Return Value
This API returns a JobExecResultInfo hash with the following keys (the result of job execution):
  • job_instanceid (int): the job_instanceid
  • status (string): the status of the execution of the job; see Job Data Status Descriptions for possible values
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/jobs/{id_or_name}?action=schedule

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.
Arguments
This API takes the following hash arguments:
  • schedule (*string): 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 (*int): 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.
Return Value
This API returns a JobScheduleUpdateInfo hash with the following keys (a hash of information about the update operation):
  • jobid (int): the job ID
  • name (string): the job name
  • schedule (*string): the new schedule for the job
  • duration (*int): the new dduration for the job
  • info (string): a descriptive string
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/jobs/{id_or_name}?action=setActive

Description
Updates the active status of a job; if any errors occur an exception is thrown.
Arguments
This API takes the following hash argument:
  • active (bool): the new active state of the job
Return Value
This API returns a JobActiveUpdateInfo hash with the following keys (a hash of information about the update operation):
  • jobid (int): the job ID
  • name (string): the job name
  • active (bool): the new active state of the job
  • info (string): a descriptive string
  • db_active (bool): the active state in the DB (can differ from active if the job cannot be started for example)
Errors
  • 403 Forbidden: access or authorization error
  • 409 Conflict: JOB-ERROR: cannot set expired jobs to active
Note
Requires one of the following permissions:

PUT /api/latest/jobs/{id_or_name}?action=setExpire

Description
Identical to PUT /api/jobs/{id_or_name}?action=setExpiry

PUT /api/latest/jobs/{id_or_name}?action=setExpiry

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.
Arguments
This API takes the following hash argument:
  • date (*date): the new expiry date of the job; if not present any expiry date will be removed
Return Value
This API returns a JobExpiryUpdateInfo hash with the following keys (a hash of information about the update operation):
  • jobid (int): the job ID
  • name (string): the job name
  • expiry_date (*date): the new expiry date of the job
  • info (string): a descriptive string
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/jobs/{id_or_name}?action=setOptions

Description
Sets options for the current job. If the job has an option list and any of the options are not valid for that job, an exception will be thrown, however, even if an exception is thrown due to an option error, all other options will still be set.
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • options: a hash of options to set against the job; if the value of this key is a string, then it is first parsed with Util::parse_to_qore_value(), which should then return a hash
Return Value
This API returns "OK" upon successful execution
Errors
  • 400 Bad Request: missing "options" argument or "options" is not a hash (or string parsed to a hash with Util::parse_to_qore_value())
  • 403 Forbidden: JOB-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given job (for more information, see Interface Groups)
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 409 Conflict: JOB-OPTION-ERROR: invalid option for job or option cannot be overridden at the job level
Note

PUT /api/latest/jobs/{id_or_name}?action=setPersistentStateData

Description
Provides an API for externally updating persistent job state data
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • data: a hash of new persistent job state data or NOTHING which will clear any data
Return Value
This API returns the new data or NOTHING if the data is cleared
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: JOB-ACCESS-ERROR: the user does not have the right to access the given job (for more information, see Interface Groups)
Note
requires permission OMQ::QR_JOB_CONTROL
See also

PUT /api/latest/jobs/{id_or_name}?action=setRemote

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.
Arguments
This API takes the following hash argument:
  • remote (bool): the new remote state of the job
Return Value
This API returns a JobRemoteUpdateInfo hash with the following keys (a hash of information about the update operation):
  • updated (bool): if the remote status was updated
  • remote (bool): the new remote state of the job
  • info (string): a descriptive string
Errors
  • 403 Forbidden: access or authorization error
Note
Requires one of the following permissions:

PUT /api/latest/jobs/{id_or_name}?action=setStateData

Description
Provides an API for externally updating job state data
Arguments
This API takes the following hash arguments (either as URI arguments or in the message body):
  • data: a hash of new job state data or NOTHING which will clear any data
Return Value
This API returns the new data or NOTHING if the data is cleared
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
  • 403 Forbidden: JOB-ACCESS-ERROR: the user does not have the right to access the given job (for more information, see Interface Groups)
Note
requires permission OMQ::QR_JOB_CONTROL
See also
  • job_get_state_data()
  • job_save_state_data()

/api/latest/jobs/{id_or_name}/config

This REST URI path provides actions and information related to Qorus job configuration items

GET /api/latest/jobs/{id_or_name}/config

Description
Returns a list of job configuration items for the job
Return Value
This API returns a list of hashes with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": the default value of the configuration item
  • "value": the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined
  • "level": the level from where the value is obtained (interface level (e.g. "job:1", "job:2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded
Errors
  • 403 Forbidden: JOB-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given job (for more information, see Interface Groups)

GET /api/latest/jobs/{id_or_name}/config?action=yaml

Description
Returns a list of job configuration items for the job as a YAML-serialized string
Return Value
This API returns a list of hashes with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": (YAML-serialized string) the default value of the configuration item
  • "value": (YAML-serialized string) the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined (each element is a YAML-serialized string)
  • "level": the level from where the value is obtained (interface level (e.g. "job:1", "job:2") or "global" or "default")
  • "is_templated_string": True if the value is a templated string that can be later expanded
Errors
  • 403 Forbidden: JOB-ACCESS-ERROR: this is exception is thrown when Role Based Access Control is enabled and the user does not have the right to access the given job (for more information, see Interface Groups)

/api/latest/jobs/{id_or_name}/config/{name}

This REST URI path provides actions and information related to a particular Qorus job. Prefix can be passed within the config item name or as following: /v3/jobs/{id_or_name}/config/{name}?prefix={prefix}.

job configuration item

DELETE /api/latest/jobs/{id_or_name}/config/{name}

Description
Permanently deletes the current value for the configuration item on this job level
Return Value
This API returns a hash with the following key:
  • info: a string confirming the delete operation
  • deleted: True if value has been deleted
  • value: deleted value
Errors
  • 403 Forbidden: AUTHORIZATION-ERROR: this exception is thrown when Role Based Access Control is enabled and the user does not have sufficient privileges for the operation
Note

GET /api/latest/jobs/{id_or_name}/config/{name}

Description
Returns a hash for the current job configuration item
Return Value
This API returns a hash with the following keys:
  • "name": the name of the configuration item
  • "prefix": the prefix of the configuration item
  • "type": the type of the configuration item
  • "desc": the description of the configuration item
  • "default_value": the default value of the configuration item
  • "value": the value of the configuration item
  • "strictly_local": if the configuration item is defined strictly on local level
  • "is_set": True if the value is set otherwise False
  • "config_group": the group of the configuration item
  • "allowed_values": the list of allowed values for the configuration item if defined
  • "level": the level from where the value is obtained (interface level (e.g. "job:1", "job:2") or "global" or "default")
  • "is_templated_string":