The input data for each command are custom HTTP-headers prefixed with "x-sti-" and described in the table below:

 

Custom header

Description

x-sti-sessionkey

The current session key is issued after successful authentication, used in almost all commands

x-sti-versionkey

Key of the last chunk of the uploaded file

x-sti-username

Username for authentication

x-sti-password

Password to login

x-sti-newpassword

The new user's password, used to change the password and reset password

x-sti-currentpassword

User's current password, used to change the password

x-sti-index

Index of the element to which you want to fetch, used to limit the data fetch

x-sti-count

Number of items that need to get, used to limit the data fetch

x-sti-allowdeleted

Determines whether the elements in the fetch display deleted, default is false

x-sti-itemkey

The key of element, which is the work, used to limit the data fetch

x-sti-filterident

Filtering of the elements by identifiers, used to limit the data fetch

x-sti-status

Task scheduler status, used to manage the schedulers

x-sti-allowmovetorecyclebin

Allows deleting an item to the recycle bin, by default it is set to true

x-sti-destinationitemkey

Allows indicates an item that will be stored data

 

 

Other information transmitted in the body of the request in the JSON format. Permitted to transfer the input parameters in the request body as a simple JSON-object with fields whose names match the custom headers, but lack the prefix “x-sti-“. Parameter names are not case sensitive, regardless of how they transfer (custom headers or POST-data). As the output data is used JSON-object for all commands. Even in the case of error or successful completion of an object returned, indicating success of query processing server.

Error example:

 

Sample JSON response

...

{

"Ident": "UserFetchAll",

"ResultNotice": {

"Ident": "IsNotSpecified",

"Arguments": [

"SessionKey"

]

}

}

...

 

 

Another error example:

 

Sample JSON response

...

{

"Ident": "UserSave",

"ResultNotice": {

"Ident": "AccessDenied",

"CustomMessage": "You should specify the CurrentPassword argument when you want to change the user password!"

}

}

...

 

 

Example of successful command execution, not returning data:

 

Sample JSON response

...

{

"Ident": "UserLogout",

"ResultSuccess": true

}

...

 

 

Obviously, if the command does not return HTTP error and successfully passed the server to perform, any response with JSON-object will have an HTTP-status "200 OK". In this case, success of command execution needs to be checked on a condition of the field ResultSuccess and availability of data in the field ResultNotice. If ResultNotice field is not empty, then the command has problems that are described nested object contained in this field.