kkaasseeyyaa rreesstt aappii -...
TRANSCRIPT
August 22, 2019
KKaasseeyyaa RREESSTT AAPPII
User Guide
Version R95
Copyright Agreement
The purchase and use of all Software and Services is subject to the Agreement as defined in Kaseya’s “Click-Accept” EULATOS as updated from time to time by Kaseya at http://www.kaseya.com/legal.aspx. If Customer does not agree with the Agreement, please do not install, use or purchase any Software and Services from Kaseya as continued use of the Software or Services indicates Customer’s acceptance of the Agreement.”
©2019 Kaseya. All rights reserved. | www.kaseya.com
i
Contents
Kaseya REST API Overview ....................................................................................................................... 9
Agent Procedures ...................................................................................................................................... 19
Audit ............................................................................................................................................................ 37
Patch Management .................................................................................................................................... 65
Agents ......................................................................................................................................................... 79
Agent Install Packages ............................................................................................................................. 99
Agent Custom Fields ............................................................................................................................... 105
Assets ....................................................................................................................................................... 109
Assets Management ................................................................................................................................ 121
Alerts and Alarms .................................................................................................................................... 127
Custom Extensions ................................................................................................................................. 131
Documents and GetFiles ........................................................................................................................ 135
Info Center ................................................................................................................................................ 141
Logs .......................................................................................................................................................... 147
Cloud Backup .......................................................................................................................................... 161
Core ........................................................................................................................................................... 163
Departments ............................................................................................................................................. 171
Machine Groups ...................................................................................................................................... 177
Navigation ................................................................................................................................................ 183
Organizations ........................................................................................................................................... 203
Roles ......................................................................................................................................................... 215
Scopes ...................................................................................................................................................... 221
Service Desks .......................................................................................................................................... 225
Session Timer .......................................................................................................................................... 245
System Session ....................................................................................................................................... 261
Staff ........................................................................................................................................................... 263
Storage ..................................................................................................................................................... 275
Tenants ..................................................................................................................................................... 277
Ticketing ................................................................................................................................................... 297
Third Party Apps ...................................................................................................................................... 305
Users ......................................................................................................................................................... 311
Index ......................................................................................................................................................... 319
Kaseya REST API Overview
1
C h a p t e r 1
Kaseya REST API Overview
i
Contents
Kaseya REST API Overview ....................................................................................................................... 9
Request Guidelines ........................................................................................................................... 10
Sample Request and Response ....................................................................................................... 11
Filter, Sort and Paging Expressions ................................................................................................ 12
Authentication .................................................................................................................................... 14
Sample VSA REST API Client ........................................................................................................... 15
Deprecated Resources ...................................................................................................................... 18
Agent Procedures ...................................................................................................................................... 19
Get Agent Procedures ....................................................................................................................... 19
Get Scheduled Agent Procedures ................................................................................................... 20
Run Agent Procedure ........................................................................................................................ 26
Schedule Agent Procedure ............................................................................................................... 27
Get Agent Procedure History ........................................................................................................... 32
Cancel Scheduled Agent Procedure ................................................................................................ 33
Get Quick Launch Agent Procedures .............................................................................................. 33
Update Quick Launch Agent Procedure .......................................................................................... 34
Delete Quick Launch Agent Procedure ........................................................................................... 34
Get 'Ask Before Running' Setting .................................................................................................... 35
Set 'Ask Before Running' Setting..................................................................................................... 35
Get User Portal Agent Procedures .................................................................................................. 36
Audit ............................................................................................................................................................ 37
Get Audit Summaries ........................................................................................................................ 37
Get Credentials .................................................................................................................................. 41
Get Local User Groups...................................................................................................................... 42
Get Disk Volumes .............................................................................................................................. 43
Get PCI and Disks .............................................................................................................................. 44
Get Printers ........................................................................................................................................ 45
Get Purchase and Warranty Expiration Dates ................................................................................ 46
Update Purchase and Warranty Expiration Dates .......................................................................... 46
Get Local User Group Members ....................................................................................................... 47
Get Add/Remove Programs .............................................................................................................. 47
Get Installed Applications................................................................................................................. 48
Get Software Licences ...................................................................................................................... 49
Get Security Products ....................................................................................................................... 50
Get Startup Apps ............................................................................................................................... 51
Get Audit Summary ........................................................................................................................... 52
Get User Accounts ............................................................................................................................ 57
Run a Baseline Audit ......................................................................................................................... 57
Schedule Baseline Audit ................................................................................................................... 58
Kaseya REST API Overview
ii
Run Latest Audit ................................................................................................................................ 59
Schedule Latest Audit ....................................................................................................................... 60
Run SysInfo Audit .............................................................................................................................. 61
Schedule SysInfo Audit..................................................................................................................... 62
Patch Management .................................................................................................................................... 65
Run Patch Scan ................................................................................................................................. 65
Schedule Patch Scan ........................................................................................................................ 65
Get Patch Status ................................................................................................................................ 67
Get Missing Patches .......................................................................................................................... 69
Get Patch History ............................................................................................................................... 71
Run Patch Update .............................................................................................................................. 73
Cancel a Scheduled Patch ................................................................................................................ 74
Delete Patch ....................................................................................................................................... 75
Set Patch Ignore ................................................................................................................................ 75
Remove Patch Ignore ........................................................................................................................ 77
Agents ......................................................................................................................................................... 79
Get Agents .......................................................................................................................................... 79
Get Agent ............................................................................................................................................ 83
Get Agent Settings ............................................................................................................................ 86
Delete Agent ....................................................................................................................................... 87
Rename Agent .................................................................................................................................... 88
Update User Profile ........................................................................................................................... 88
Update Temp Directory ..................................................................................................................... 89
Update Checkin Control .................................................................................................................... 89
Get Agents in Agent View ................................................................................................................. 90
Get Agent Views ................................................................................................................................ 92
Get Agent Uptime .............................................................................................................................. 93
Get Agents on Network ..................................................................................................................... 94
Get 2FA Settings ................................................................................................................................ 95
Get Remote Control Notify Policy .................................................................................................... 96
Agent Install Packages ............................................................................................................................. 99
Get Agent Install Packages .............................................................................................................. 99
Add Agent Install Packages ........................................................................................................... 100
Delete Agent Install Package .......................................................................................................... 101
Create Agent Install Link for Machine Group ............................................................................... 101
Customize the Agent Deployment Page ........................................................................................ 102
Agent Custom Fields ............................................................................................................................... 105
Get Agent Custom Fields ................................................................................................................ 105
Add Agent Custom Field ................................................................................................................. 106
Update Agent Custom Field Name ................................................................................................. 106
Update Agent Custom Field Value ................................................................................................. 107
Delete Agent Custom Field ............................................................................................................. 107
Assets ....................................................................................................................................................... 109
Get Assets ........................................................................................................................................ 109
Get Asset .......................................................................................................................................... 111
Kaseya REST API Overview
iii
Get Asset Types ............................................................................................................................... 118
Delete Asset ..................................................................................................................................... 119
Assets Management ................................................................................................................................ 121
Get Agent Note ................................................................................................................................. 121
Get Agent Connection Gateway IP ................................................................................................ 123
Update Agent Note .......................................................................................................................... 123
Add Note to Agent ........................................................................................................................... 124
Delete Agent Note ............................................................................................................................ 125
Alerts and Alarms .................................................................................................................................... 127
Get Alarm .......................................................................................................................................... 127
Get All Alarms .................................................................................................................................. 128
Close Alarm ...................................................................................................................................... 129
Custom Extensions ................................................................................................................................. 131
Get Custom Extension Folders and Files ..................................................................................... 131
Add Custom Extension Folder ....................................................................................................... 132
Upload Custom Extension File ....................................................................................................... 132
Delete Custom Extensions Folder ................................................................................................. 133
Documents and GetFiles ........................................................................................................................ 135
Get Documents ................................................................................................................................ 135
Get Document .................................................................................................................................. 136
Update Document Folder ................................................................................................................ 136
Update Document ............................................................................................................................ 137
Delete Document ............................................................................................................................. 138
Rename Document .......................................................................................................................... 138
Get Get Files ..................................................................................................................................... 138
Get File .............................................................................................................................................. 139
Delete Get File .................................................................................................................................. 139
Move Document ............................................................................................................................... 140
Info Center ................................................................................................................................................ 141
Get All Inbox Messages .................................................................................................................. 141
Set Message as Read ...................................................................................................................... 144
Delete Message ................................................................................................................................ 145
Logs .......................................................................................................................................................... 147
Get Agent Log .................................................................................................................................. 147
Get Agent Procedure Log ............................................................................................................... 148
Get Alarm Log .................................................................................................................................. 149
Get Configuration Changes Log .................................................................................................... 149
Get Legacy Remote Control Log .................................................................................................... 150
Get Monitor Action Log ................................................................................................................... 151
Get Network Statistics Log ............................................................................................................. 151
Get Kaseya Remote Control Log ................................................................................................... 152
Get Application Event Log .............................................................................................................. 153
Get Directory Services Event Log .................................................................................................. 154
Get DNS Server Event Log ............................................................................................................. 155
Get Internet Explorer Event Log .................................................................................................... 156
Kaseya REST API Overview
iv
Get Security Event Log ................................................................................................................... 157
Get System Event Log..................................................................................................................... 158
Get Log Monitoring Log .................................................................................................................. 159
Add Live Connect Audit Log Entry ................................................................................................ 160
Cloud Backup .......................................................................................................................................... 161
Get Cloud Backup Servers ............................................................................................................. 161
Get Cloud Backup Virtual Machine ................................................................................................ 161
Get Cloud Backup Workstations .................................................................................................... 162
Core ........................................................................................................................................................... 163
Get Authentication ........................................................................................................................... 163
Get SessionID .................................................................................................................................. 164
Get Echo ........................................................................................................................................... 165
Get Echo Authentication ................................................................................................................. 165
Test SSL ........................................................................................................................................... 166
Get Environment .............................................................................................................................. 166
Get Functions ................................................................................................................................... 166
Get Functions for Module ............................................................................................................... 167
Is Module Installed ........................................................................................................................... 168
Get Tenant ........................................................................................................................................ 168
Send Email ....................................................................................................................................... 169
Add Notification ............................................................................................................................... 170
Departments ............................................................................................................................................. 171
Get Departments .............................................................................................................................. 171
Get Department ................................................................................................................................ 172
Add Department ............................................................................................................................... 173
Update Department .......................................................................................................................... 174
Delete Department ........................................................................................................................... 174
Machine Groups ...................................................................................................................................... 177
Get Machine Groups ........................................................................................................................ 177
Get Machine Group .......................................................................................................................... 178
Get Machine Groups in Organization ............................................................................................ 179
Add Machine Group ......................................................................................................................... 180
Update Machine Group ................................................................................................................... 180
Delete Machine Group ..................................................................................................................... 181
Navigation ................................................................................................................................................ 183
Get Modules TAP ............................................................................................................................. 183
Get Modules ..................................................................................................................................... 186
Get Title and Icon ............................................................................................................................. 189
Get Agent Status .............................................................................................................................. 190
Get Admin Activity ........................................................................................................................... 190
Get Alert ............................................................................................................................................ 191
Get Notifications .............................................................................................................................. 192
Get Classic UI ................................................................................................................................... 197
Change Role ..................................................................................................................................... 198
Change Scope .................................................................................................................................. 198
Kaseya REST API Overview
v
Set Alert as Read ............................................................................................................................. 199
Update Notification .......................................................................................................................... 199
Perform Notification ........................................................................................................................ 200
Delete Alert ....................................................................................................................................... 201
Delete Notification ........................................................................................................................... 202
Organizations ........................................................................................................................................... 203
Get Organizations ............................................................................................................................ 203
Get Organization .............................................................................................................................. 205
Add Organization ............................................................................................................................. 207
Update Organization ........................................................................................................................ 209
Delete Organization ......................................................................................................................... 211
Get Organization Locations ............................................................................................................ 212
Get Organization Types .................................................................................................................. 213
Roles ......................................................................................................................................................... 215
Get User Roles ................................................................................................................................. 215
Add User Role .................................................................................................................................. 216
Get User Role ................................................................................................................................... 216
Delete Role ....................................................................................................................................... 217
Get User Roletypes .......................................................................................................................... 218
Get Roletype ..................................................................................................................................... 218
Add User to User Role..................................................................................................................... 219
Scopes ...................................................................................................................................................... 221
Get Scopes ....................................................................................................................................... 221
Get Scope ......................................................................................................................................... 222
Add Scope ........................................................................................................................................ 222
Delete Scope .................................................................................................................................... 223
Add Machine Group to Scope ........................................................................................................ 223
Add Organization to Scope............................................................................................................. 224
Add User to Scope ........................................................................................................................... 224
Service Desks .......................................................................................................................................... 225
Get Service Desks ........................................................................................................................... 225
Get Service Desk Ticket Categories .............................................................................................. 227
Get Service Desk Custom Fields ................................................................................................... 228
Get Service Desk Priorities ............................................................................................................. 229
Get Service Desk Tickets ................................................................................................................ 230
Get Service Desk Ticket Statuses .................................................................................................. 232
Get Service Desk Ticket .................................................................................................................. 235
Get Service Desk Custom Fields ................................................................................................... 237
Get Service Desk Ticket Custom Field .......................................................................................... 239
Update Service Desk Custom Field ............................................................................................... 239
Assign Staff to Ticket ...................................................................................................................... 240
Get Service Desk Ticket Notes ....................................................................................................... 240
Add Service Desk Ticket Note ........................................................................................................ 242
Update Service Desk Ticket Priority .............................................................................................. 243
Update Service Desk Ticket Status ................................................................................................ 244
Kaseya REST API Overview
vi
Session Timer .......................................................................................................................................... 245
Get Admin Task ............................................................................................................................... 249
Get Admin Task by ID ...................................................................................................................... 249
Get All Customers ........................................................................................................................... 250
Get All Work Orders ........................................................................................................................ 251
Get Work Order Items ...................................................................................................................... 251
Get All Work Order Types ............................................................................................................... 252
Get All Activity Types ...................................................................................................................... 253
Get All Service Desks ...................................................................................................................... 253
Get Service Desk Status Types ...................................................................................................... 254
Get All Service Desk Tickets .......................................................................................................... 255
Get All Session Timers.................................................................................................................... 256
Get Session Timer Object ............................................................................................................... 257
Create Admin Tasks ........................................................................................................................ 257
Create Sessions Timer .................................................................................................................... 258
Delete Session Timer ...................................................................................................................... 258
Update Session Timer ..................................................................................................................... 259
Remove Session Timer ................................................................................................................... 259
System Session ....................................................................................................................................... 261
Delete Session ................................................................................................................................. 261
Staff ........................................................................................................................................................... 263
Get Staff ............................................................................................................................................ 263
Get Staff in Organization................................................................................................................. 265
Get Staff in Department................................................................................................................... 266
Get Staff ............................................................................................................................................ 268
Add Staff ........................................................................................................................................... 270
Update Staff ...................................................................................................................................... 272
Delete Staff ....................................................................................................................................... 273
Storage ..................................................................................................................................................... 275
Get Storage File Contents............................................................................................................... 275
Tenants ..................................................................................................................................................... 277
Get Module Licenses ....................................................................................................................... 277
Get Module Licenses for Tenant .................................................................................................... 278
Get Roletypes and Funclists .......................................................................................................... 279
Get Roletype and Funclists ............................................................................................................ 280
Get Tenants ...................................................................................................................................... 282
Get Tenant ........................................................................................................................................ 282
Rename Tenant ................................................................................................................................ 285
Activate Modules for Tenant .......................................................................................................... 285
Set Roletype Limit for Tenant ......................................................................................................... 286
Activate Roletype for Tenant .......................................................................................................... 287
Add Roletype .................................................................................................................................... 287
Add Tenant ....................................................................................................................................... 288
Delete Roletype ................................................................................................................................ 290
Delete Tenant ................................................................................................................................... 291
Kaseya REST API Overview
vii
Deactivate Tenant ............................................................................................................................ 291
Remove Module from Tenant ......................................................................................................... 292
Remove Roletype from Tenant ....................................................................................................... 293
Set Tenant License Limit ................................................................................................................ 293
Set Module Usage Type .................................................................................................................. 294
Is Module Activated ......................................................................................................................... 295
Ticketing ................................................................................................................................................... 297
Get Ticketing Tickets ....................................................................................................................... 297
Add Ticketing Ticket ........................................................................................................................ 298
Get Ticketing Ticket ......................................................................................................................... 299
Add Ticketing Ticket Note............................................................................................................... 301
Get Ticketing Ticket Note................................................................................................................ 301
Get Requested Ticket ...................................................................................................................... 302
Third Party Apps ...................................................................................................................................... 305
Get Third Party App Status ............................................................................................................. 305
Enable/Disable Third Party Apps ................................................................................................... 306
Add Third Party Notification ........................................................................................................... 307
Get Third Party App Notifications .................................................................................................. 307
Delete Third Party App Notification ............................................................................................... 308
Get Third Party App Notification .................................................................................................... 308
Users ......................................................................................................................................................... 311
Get Users .......................................................................................................................................... 311
Get User ............................................................................................................................................ 312
Add User ........................................................................................................................................... 313
Update User ...................................................................................................................................... 314
Disable User ..................................................................................................................................... 316
Enable User ...................................................................................................................................... 316
Delete User ....................................................................................................................................... 317
Index ......................................................................................................................................................... 319
Kaseya REST API Overview
9
Kaseya REST API Overview The Kaseya REST API comprises a set of client initiated HTTP URI requests that return corresponding responses from a specified Kaseya Server. The Kaseya REST API enables 3rd party applications to integrate with the Kaseya Server and execute many of the same tasks that a VSA user does while working within the VSA.
Resource URIs
Supported URIs are used to access resources. REST URIs are usually organized by static keywords called methods and namespaces. The basic format shown in documentation is:
GET /system/users
GET is the method;
system is the namespace;
users is a subcategory of the parent namespace.
When you enter the complete format in your browser, the URI looks like this:
http://<yourVSA>/api/v1.0/system/users
A supported URI may require an additional dynamic token, indicated in documentation using curly brackets. The basic format shown in documentation looks like this:
GET /system/users/{userId}
When you enter the complete format in your browser, without the curly brackets, the URI looks like this.
http://<yourVSA>/api/v1.0/system/users/89049122543
Model Schema
A model schema identifies the fields and datatypes returned by a single record in a response. Each resource topic shows the model schema it uses.
General Purpose Resources
The Kaseya REST API includes the following general purpose resources:
auth - Requests a sessionToken that can be used in subsequent requests.
echo - Tests the API connection with the target Kaseya Server.
Authentication
Authentication is required to process almost all requests and is typically the first request. The Auth request requires a username, password, and a randomly generated number to return a session token. Subsequent requests include the following line in the header section of the request, without the curly brackets:
Authorization: Bearer {SessionToken}
The scope assigned the authenticated user you use to create the session token limits access to a partition, organizations, machine groups and agents, the same as any other user.
REST API Tools
There are many free REST API tools you can use to experiment with creating Kaseya REST API API requests and seeing the responses that are returned. Recommended tools include Postman (https://www.getpostman.com/), Fiddler (http://www.telerik.com/fiddler) and Swagger.io (http://swagger.io/).
In This Chapter
Request Guidelines 10 Sample Request and Response 11
Kaseya REST API Overview
10
Filter, Sort and Paging Expressions 12 Authentication 14 Sample VSA REST API Client 15 Deprecated Resources 18
Request Guidelines
HTTP Methods
Kaseya REST API requests use the following HTTP methods:
GET - returns data
PUT - changes data or performs an action
POST - adds a new record
DELETE - deletes a record
Action URIs
A REST API can perform an action. Examples of Kaseya REST API actions are:
PUT /assetmgmt/audit/baseline/{agentId}/runnow
PUT /assetmgmt/audit/baseline/{agentId}/schedule
Although these URIs use the PUT method, no data is changed when the action is performed.
JSON and XML
In most cases, content contained within the body of Kaseya REST API requests and responses must be formatted as JSON or XML expressions. By default, all relevant Kaseya REST API responses are serialized to JSON. To force an XML response, include the Accept response header with a value of
application/xml. Similarly, requests that include body content should specify the format of the
content by using the Content-Type request header set to either application/json or
application/xml.
Arguments
Each request may require additional arguments to process the request successfully. The additional arguments are provided in three ways:
URI Suffixes - A unique identifier is appended as a suffix to the URI requested. For example, an agent GUID--returned by a previous request--is appended to a GET /AssetMgmt/Assets/{assetId} request to return additional details about that asset.
Headers - Headers can contain arguments returned by a previous request. The most common use
is the Authorization: Bearer {SessionToken} header. Headers are not typically used to pass business data. See the first four lines in the JSON example below.
Message Body -Some resources may require data in the message body of the request, usually after skipping one or two lines after the last header argument. See the last four lines in the JSON example below.
Note: Each resource documentation topic describes the arguments required to process a request
successfully.
The following is a JSON example:
Kaseya REST API Overview
11
PUT http://10.10.32.90/API/v1.0/system/orgs HTTP/1.1 Host: 10.10.32.90 Authorization: Bearer 80684803803769050726142880 Content-Type: application/json { "OrgId": "7.213597641814316e+25" "OrgRef": "Starfire" }
Sample Request and Response It’s best to take a look at the "shape" of a sample request and response before discussing its structure in detail.
Sample Request
In JSON a sample Kaseya REST API client request looks like this:
GET <yourVSA>/API/v1.0/automation/agentprocs HTTP/1.1 Host: 10.10.32.110 Authorization: Bearer 61373158
Notice the header contains an Authorization attribute. This was returned in a previous Auth
command.
Sample Response
The JSON response from the Kaseya Server looks like this:
Kaseya REST API Overview
12
{ "TotalRecords": 3, "Result": [ { "AgentProcedureId": 123, "AgentProcedureName": "Config Windows Automatic Update", "Path": "shared/smapleProc/windows", "Description": null, "Attributes": null }, { "AgentProcedureId": 345, "AgentProcedureName": "Reset Windows Automatic Update", "Path": "shared/smapleProc/windows/windows updates", "Description": null, "Attributes": null }, { "AgentProcedureId": 891, "AgentProcedureName": "Disable Windows Automatic Update", "Path": "shared/smapleProc/Linux", "Description": null, "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
The Result field in the response contains one or more records of business data. When multiple
records are returned, a Total Records field is returned. The other top-level fields—ResponseCode,
Status and Error—are used to confirm the entire request was successfully processed.
Sample Basic Response
When an action is performed, no business data may be returned in the response. In this case the response looks like this:
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Filter, Sort and Paging Expressions When multiple records are returned by a GET request, Odata expressions can be appended to the end of the URI. The three types of expressions determine whether the multiple records are filtered, sorted, or paged. Documentation identifies whether a field is filterable or sortable. Paging expressions are always available for any GET method that returns multiple records.
Multiple Odata expressions can be combined in the same URI. In the following example, the first Odata expression is delimited by a question (?) character. Subsequent Odata expressions are delimited with an ampersand (&) character.
Kaseya REST API Overview
13
GET /automation/servicedesk/{serviceDeskId}/tickets?$skip=30&$top=10&$orderby=Severity
Supported Filter Expressions
Filter expressions limit the set of multiple records returned by a GET request.
GET <yourVSA>/api/v1.0/system/OrgNames?$filter=startswith(OrgName,'SapphireIT') GET <yourVSA>/api/v1.0/assetmgmt/assets?$filter=AssetName eq 'Win8'
Filtering Using Decimal Data Types
When filtering using decimal values—such as filtering agents using an AgentId—an M must be added
to the end of the number to denote a decimal data type instead of the default double data type. For example:
http://vsa.com/assetmgmt/agents?$filter=AgentId eq 121747357971679M
substringof $filter=substringof('cab', OrgName) returns all organizations with names containing 'cab'
startswith $filter=startswith(OrgName, 'pro') returns all organizations with names beginning with 'pro'
endswith $filter=endswith(OrgName, 'ing') returns all organizations with names ending with 'ing'
and $filter=orgtype eq 'Sales' and orgRevenue gt '1000000'
returns all organizations classified as sales organizations with revenue greater than one million
equal $filter=orgName eq 'Sapphire Products'
$filter=AgentId eq 123456789M
returns the organization with the name 'Sapphire Products'
returns an agent with an agentguid equal to 123456789. Notice the M at the end of the agentguid number in the filter, indicating a decimal data type.
greaterthan $filter=orgRevenue gt '1000000' returns all organizations with revenue greater than one million
greaterthanorequal
$filter=orgRevenue ge '1000000' returns all organizations with revenue greater than or equal to one million
lessthan $filter=orgRevenue lt '1000000' returns all organizations with revenue less than one million
lessthanorequal $filter=orgRevenue le '1000000' returns all organizations with revenue less than or equal to one million
Filtering by Date
greaterthan $filter=LastCheckInTime gt DATETIME'2019-06-17T07:14:20'
returns all dates that are later than the defined one
greaterthanorequal
$filter=LastCheckInTime ge DATETIME'2019-06-17T07:14:20'
returns dates that are later than or equal to the defined one
lessthan $filter=LastCheckInTime lt DATETIME'2019-06-17T07:14:20'
returns dates that are older than the defined one
lessthanorequal $filter=LastCheckInTime le DATETIME'2019-06-17T07:14:20'
returns dates that are older or equal to the defined one
Note: DATETIME is case sensitive and should be in capital letters as sampled above.
Kaseya REST API Overview
14
Supported Sort Expressions
Sort expressions sort the multiple records returned by a GET request into ascending or descending order.
GET /automation/servicedesk/{serviceDeskId}/ticketstatus$orderby=Priority
sort ascending $orderby=Priority sorts by selected column in ascending order.
sort descending
$orderby=Priority desc sorts by selected column in descending order.
Supported Paging Expressions
When multiple records are returned by a GET request, paging expressions set the number of records to skip and the number of records to return.
GET /automation/servicedesk/{serviceDeskId}/tickets?$skip=30&$top=10
Note: The maximum number of records that can be returned by a GET request is 100, even if no paging
expression is used.
records skipped $skip=5 skips the first five records
records returned $top=10 the number of records to be returned
Authentication The GET /auth REST resource responds with a session token to authenticate requests to other
resources. The request to GET /auth must include a payload computed according to the following
algorithm, Base64 encode it, then add it to the request’s Authorization header with a Basic scheme.
The following is an example of an GET /auth request with its generated Base64 payload.
GET /auth Authorization: Basic
dXNlcj1rYWRtaW4scGFzczI9ZjE5ZWFmYzY3ZWY5MzJjMjBkMTlmZGQ1ZmIyZTY1NjBkY2U5YTk1YWFhYjEwNjczMjQ5
YTU3YTkzODY2ZTQxZCxwYXNzMT0wZGMwZmY5YzBkNGVkMDRlODJiYzZmYTk0ZTY3NTQzMjFhMDgyMzc1LHJhbmQyPTk5 NDY1NixycGFzczI9ZjE5ZWFmYzY3ZWY5MzJjMjBkMTlmZGQ1ZmIyZTY1NjBkY2U5YTk1YWFhYjEwNjczMjQ5YTU3YTkz ODY2ZTQxZCxycGFzczE9MGRjMGZmOWMwZDRlZDA0ZTgyYmM2ZmE5NGU2NzU0MzIxYTA4MjM3NSx0d29mYXBhc3M9OnVu ZGVmaW5lZA==
Auth Payload Algorithm
The following summarizes the algorithm used to generate the GET /auth payload for a given username
and password. Italics indicate variable names.
1. Generate a random integer, store in variable called Random.
2. Compute the SHA-256 hash of the admin password, store in RawSHA256Hash.
3. Compute the SHA-256 hash of the concatenated string Password + Username, store in CoveredSHA256HashTemp.
4. Compute the SHA-256 hash of the concatenated string CoveredSHA256HashTemp + Random, store in CoveredSHA256Hash.
5. Compute the SHA-1 hash of the admin password, store in RawSHA1Hash.
Kaseya REST API Overview
15
6. Compute the SHA-1 hash of the concatenated string Password + Username, store in CoveredSHA1HashTemp.
7. Compute the SHA-1 hash of the concatenated string CoveredSHA1HashTemp + Random, store in CoveredSHA1Hash.
8. Create a comma separated concatenated string with the following strings and variables.
“user=” + Username
“pass2=” + CoveredSHA256Hash
“pass1=” + CoveredSHA1Hash
“rpass2=” + RawSHA256Hash
“rpass1=” + RawSHA1Hash
“rand2=” + Random
9. You should end up with the string:
“user={Username},pass2={CoveredSHA256Hash},pass1={CoveredSHA1Hash},rpass2={RawSHA256Hash},rpass1={RawSHA1Hash},rand2={Random}”
10. Base64 encode this string.
11. Use the encoded value in the Authorization header with a Basic scheme.
Sample VSA REST API Client The two following two codes samples illustrate how to build a C# client that can authenticate the VSA REST API.
Kaseya REST API Overview
16
class Hash
using System; using System.Text; using System.Security.Cryptography; namespace SampleVsaRestApiClient { public class Hash { public string RandomNumber { get; protected set; } public string RawSHA256Hash { get; protected set; } public string CoveredSHA256Hash { get; protected set; } public string RawSHA1Hash { get; protected set; } public string CoveredSHA1Hash { get; protected set; } public Hash( string UserName, string Password ) { RandomNumber = GenerateRandomNumber( 8 ); RawSHA256Hash = CalculateHash( Password, "SHA-256" ); CoveredSHA256Hash = CalculateHash( Password, UserName, "SHA-256" ); CoveredSHA256Hash = CalculateHash( CoveredSHA256Hash, RandomNumber, "SHA-256" ); RawSHA1Hash = CalculateHash( Password, "SHA-1" ); CoveredSHA1Hash = CalculateHash( Password, UserName, "SHA-1" ); CoveredSHA1Hash = CalculateHash( CoveredSHA1Hash, RandomNumber, "SHA-1" ); } private string CalculateHash( string Value1, string Value2, string HashingAlgorithm ) { return CalculateHash( Value1 + Value2, HashingAlgorithm ); } private string CalculateHash( string Value, string HashingAlgorithm ) { byte[] arrByte; if( HashingAlgorithm == "SHA-1" ) { SHA1Managed hash = new SHA1Managed(); arrByte = hash.ComputeHash( ASCIIEncoding.ASCII.GetBytes( Value ) ); } else if( HashingAlgorithm == "SHA-256" ) { SHA256Managed hash = new SHA256Managed(); arrByte = hash.ComputeHash( ASCIIEncoding.ASCII.GetBytes( Value ) ); } else {
Kaseya REST API Overview
17
throw new ApplicationException( string.Format( "Unknow hashing algorithm: {0}", HashingAlgorithm ) ); } string s = ""; for( int i = 0; i < arrByte.Length; i++ ) { s += arrByte[i].ToString( "x2" ); } return s; } private string GenerateRandomNumber( int numberOfDigits ) { System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider(); byte[] numbers = new byte[numberOfDigits * 2]; rng.GetNonZeroBytes( numbers ); string result = ""; for( int i = 0; i < numberOfDigits; i++ ) { result += numbers[i].ToString(); } result = result.Replace( "0", "" ); return result.Substring( 1, numberOfDigits ); } } }
class Program
using System; using System.Text; using System.Net.Http; namespace SampleVsaRestApiClient { class Program { static void Main( string[] args ) { string Url = @"http://myvsa.com"; string UserName = "UserName"; string Password = "Password"; // Getting authenticated... var h = new Hash( UserName, Password ); var headerParam = Convert.ToBase64String( Encoding.Default.GetBytes( string.Format( "user={0},pass2={1},pass1={2},rpass2={3},rpass1={4},rand2={5}", UserName,
Kaseya REST API Overview
18
h.CoveredSHA256Hash, h.CoveredSHA1Hash, h.RawSHA256Hash, h.RawSHA1Hash, h.RandomNumber ) ) ); using( var client = new HttpClient() ) { client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue( "Basic", headerParam ); Console.WriteLine( "Making request... " ); var response = client.GetAsync( new Uri( string.Format( @"{0}/api/v1.0/auth", Url ) ) ).Result; Console.WriteLine( "StatusCode : " + (int)response.StatusCode + " " + response.StatusCode.ToString() ); if( response.IsSuccessStatusCode ) Console.WriteLine( response.Content.ReadAsStringAsync().Result ); } } } }
Deprecated Resources The following deprecated REST API resource routes are supported. When a valid authenticated request is made to these routes, the response contains a Location header with the updated location for the resource. Most user agents will automatically reissue a request to the new URL in the Location header, returning a response from the new route without interruption to the client.
GET /automation/servicedesk - redirects to GET /automation/servicedesks (page 225)
GET /automation/servicedesk{serviceDeskId}/tickets - redirects to GET /automation/servicedesks/{serviceDeskId}/tickets (page 230)
GET /automation/servicedesk/{serviceDeskId}/ticketstatus - redirects to GET /automation/servicedesks/{serviceDeskId}/status (page 232)
These deprecated resources are not visible in Swagger but can continue to be used.
Agent Procedures
19
Agent Procedures Agent procedures automate user-defined tasks performed on managed machines. For example, a custom agent procedure can be created to install or uninstall a 3rd party software client on agent managed machines. Agent procedures cannot be run on mobile devices or on machines without an agent installed. An agent procedure may be limited to certain operating systems or require a specific system configuration to execute successfully. For details see agent procedures (http://help.kaseya.com/webhelp/EN/VSA/9050000/index.asp#2845.htm).
In This Chapter
Get Agent Procedures 19 Get Scheduled Agent Procedures 20 Run Agent Procedure 26 Schedule Agent Procedure 27 Get Agent Procedure History 32 Cancel Scheduled Agent Procedure 33 Get Quick Launch Agent Procedures 33 Update Quick Launch Agent Procedure 34 Delete Quick Launch Agent Procedure 34 Get 'Ask Before Running' Setting 35 Set 'Ask Before Running' Setting 35 Get User Portal Agent Procedures 36
Get Agent Procedures Returns an array of agent procedures.
GET /automation/agentprocs
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentProcedureId int
AgentProcedureName string
Path string
Description string
Attributes object
C h a p t e r 2
Agent Procedures
20
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AgentProcedureId": 0, "AgentProcedureName": "string", "Path": "string", "Description": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Scheduled Agent Procedures Returns an array of agent procedure schedule records for a specified agent.
GET /automation/agentprocs/{agentId}/scheduledprocs
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
AgentProcedureId int
AgentId decimal
ServerTimeZone boolean
SkipIfOffLine boolean
PowerUpIfOffLine boolean
ScriptPrompts (see below)
Recurrence (see below)
Distribution (see below)
Start (see below)
Exclusion (see below)
Attributes object
ScriptPrompts
Field Datatype Filterable Sortable
Caption string
Name string
Agent Procedures
21
Value string
RecurrenceOptions
See recurrence options values below.
Field Datatype Filterable Sortable
Repeat string
Times int
DaysOfWeek string
DayOfMonth string
SpecificDayOfMonth int
MonthOfYear string
EndAt string
EndOn string
EndAfterIntervalTimes int
DistributionWindow
Field Datatype Filterable Sortable
Interval string
Magnitude int
StartOptions
Field Datatype Filterable Sortable
StartOn string
StartAt string
ExclusionWindow
Field Datatype Filterable Sortable
From string
To string
Recurrence Options Values
Repeat Never
Minutes
Hours
Days
Weeks
Months
Years
Agent Procedures
22
DaysOfWeek Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
DayOfMonth FirstSunday
SecondSunday
ThirdSunday
FourthSunday
LastSunday
FirstMonday
SecondMonday
ThirdMonday
FourthMonday
LastMonday
FirstTuesday
SecondTuesday
ThirdTuesday
FourthTuesday
LastTuesday
FirstWednesday
SecondWednesday
ThirdWednesday
FourthWednesday
LastWednesday
FirstThursday
SecondThursday
ThirdThursday
FourthThursday
LastThursday
Agent Procedures
23
FirstFriday
SecondFriday
ThirdFriday
FourthFriday
LastFriday
FirstSaturday
SecondSaturday
ThirdSaturday
FourthSaturday
LastSaturday
FirstWeekDay
SecondWeekDay
ThirdWeekDay
FourthWeekDay
LastWeekDay
FirstWeekendDay
SecondWeekendDay
ThirdWeekendDay
FourthWeekendDay
LastWeekendDay
FirstDay
SecondDay
ThirdDay
FourthDay
LastDay
MonthOfYear January
February
March
April
May
June
July
Agent Procedures
24
August
September
October
November
December
EndAt T0000 to T2345 in increments of 15
minutes
Example: to specify 1:45 PM use T1345
EndOn Example: 2017-04-27T15:59:59.809Z
Agent Procedures
25
Sample Response Model
"TotalRecords": 10, "Result": [ { "AgentProcedureId": 269, "AgentProcedureName": "Patch Scan", "NextExecTime": "2017-07-27T17:22:00", "Status": "Script Summary: Success THEN", "Admin": "*System*", "Recurrence": "Every 1 week(s) on Thursday", "Attributes": null }, { "AgentProcedureId": 228570284, "AgentProcedureName": "HtmlAgilityPack - File Dependencies", "NextExecTime": "2017-07-26T09:49:00", "Status": "Script Summary: Success THEN", "Admin": "*System*", "Recurrence": "Every 1 day(s)", "Attributes": null }, { "AgentProcedureId": 265249185, "AgentProcedureName": "PSTerminalServices - File Dependencies", "NextExecTime": "2017-07-26T05:52:00", "Status": "Script Summary: Success THEN", "Admin": "*System*", "Recurrence": "Every 1 day(s)", "Attributes": null }, { "AgentProcedureId": 848280032, "AgentProcedureName": "MongoDB - File Dependencies", "NextExecTime": "2017-07-26T01:33:00", "Status": "Script Summary: Success THEN", "Admin": "*System*", "Recurrence": "Every 1 day(s)", "Attributes": null }, { "AgentProcedureId": 1810882043, "AgentProcedureName": "ImportExcel - File Dependencies", "NextExecTime": "2017-07-26T07:31:00", "Status": "Script Summary: Success THEN", "Admin": "*System*", "Recurrence": "Every 1 day(s)", "Attributes": null }, { "AgentProcedureId": 1943737719, "AgentProcedureName": "Newtonsoft - File Dependencies", "NextExecTime": "2017-07-26T09:07:00", "Status": "Script Summary: Success THEN", "Admin": "*System*", "Recurrence": "Every 1 day(s)",
Agent Procedures
26
"Attributes": null }, { "AgentProcedureId": 0, "AgentProcedureName": "Patch Automatic Update", "NextExecTime": "2017-07-27T16:25:00", "Status": null, "Admin": "[email protected]", "Recurrence": "Pending", "Attributes": null }, { "AgentProcedureId": 135, "AgentProcedureName": "Baseline Audit", "NextExecTime": "2018-03-01T23:11:36", "Status": "Script Summary: Success THEN", "Admin": "[email protected]", "Recurrence": "Every 12 month(s) on the 1st Day", "Attributes": null }, { "AgentProcedureId": 136, "AgentProcedureName": "Latest Audit", "NextExecTime": "2017-08-01T09:42:45", "Status": "Script Summary: Success THEN", "Admin": "[email protected]", "Recurrence": "Every 1 week(s) on Monday", "Attributes": null }, { "AgentProcedureId": 137, "AgentProcedureName": "System Info", "NextExecTime": "2017-08-01T05:38:32", "Status": "Script Summary: Success THEN", "Admin": "[email protected]", "Recurrence": "Every 1 week(s) on Monday", "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None"
Run Agent Procedure Runs an agent procedure immediately for a single agent. When the request is valid, returns a 204 No Content response. When the request is invalid, returns a 404 Not Found response. This occurs when :
The supplied {agentProcedureId} does not exist.
The supplied {agentProcedureId} is any system script other then Audit scripts 135, 136 or 137.
The user does not have 'execute' permission in the {agentProcedureId}'s folder security settings.
Agent Procedures
27
PUT /automation/agentprocs/{agentId}/{agentProcId}/runnow
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Schedule Agent Procedure Schedules an agent procedure for a single agent. When the request is valid, returns a 204 No Content response. When the request is invalid, returns a 404 Not Found response. This occurs when :
The supplied {agentProcedureId} does not exist.
The supplied {agentProcedureId} is any system script other then Audit scripts 135, 136 or 137.
The user does not have 'execute' permission in the {agentProcedureId}'s folder security settings.
PUT /automation/agentprocs/{agentId}/{agentProcId}/schedule
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentProcedureId int
AgentId decimal
ServerTimeZone boolean
SkipIfOffLine boolean
PowerUpIfOffLine boolean
ScriptPrompts (see below)
Recurrence (see below)
Distribution (see below)
Start (see below)
Exclusion (see below)
Attributes object
Agent Procedures
28
ScriptPrompts
Field Datatype Filterable Sortable
Caption string
Name string
Value string
RecurrenceOptions
See recurrence options values below.
Field Datatype Filterable Sortable
Repeat string
Times int
DaysOfWeek string
DayOfMonth string
SpecificDayOfMonth int
MonthOfYear string
EndAt string
EndOn string
EndAfterIntervalTimes int
DistributionWindow
Field Datatype Filterable Sortable
Interval string
Magnitude int
StartOptions
Field Datatype Filterable Sortable
StartOn string
StartAt string
ExclusionWindow
Field Datatype Filterable Sortable
From string
To string
Recurrence Options Values
Repeat Never
Minutes
Hours
Agent Procedures
29
Days
Weeks
Months
Years
DaysOfWeek Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
DayOfMonth FirstSunday
SecondSunday
ThirdSunday
FourthSunday
LastSunday
FirstMonday
SecondMonday
ThirdMonday
FourthMonday
LastMonday
FirstTuesday
SecondTuesday
ThirdTuesday
FourthTuesday
LastTuesday
FirstWednesday
SecondWednesday
ThirdWednesday
FourthWednesday
LastWednesday
FirstThursday
Agent Procedures
30
SecondThursday
ThirdThursday
FourthThursday
LastThursday
FirstFriday
SecondFriday
ThirdFriday
FourthFriday
LastFriday
FirstSaturday
SecondSaturday
ThirdSaturday
FourthSaturday
LastSaturday
FirstWeekDay
SecondWeekDay
ThirdWeekDay
FourthWeekDay
LastWeekDay
FirstWeekendDay
SecondWeekendDay
ThirdWeekendDay
FourthWeekendDay
LastWeekendDay
FirstDay
SecondDay
ThirdDay
FourthDay
LastDay
MonthOfYear January
February
March
Agent Procedures
31
April
May
June
July
August
September
October
November
December
EndAt T0000 to T2345 in increments of 15
minutes
Example: to specify 1:45 PM use T1345
EndOn Example: 2017-04-27T15:59:59.809Z
Agent Procedures
32
Sample Request Model
{ "ServerTimeZone": true, "SkipIfOffLine": true, "PowerUpIfOffLine": true, "ScriptPrompts": [ { "Caption": "string", "Name": "string", "Value": "string" } ], "Recurrence": { "Repeat": "Never", "Times": 0, "DaysOfWeek": "string", "DayOfMonth": "FirstSunday", "SpecificDayOfMonth": 0, "MonthOfYear": "January", "EndAt": "T0000", "EndOn": "2016-02-05T21:02:56.650Z", "EndAfterIntervalTimes": 0 }, "Distribution": { "Interval": "Minutes", "Magnitude": 0 }, "Start": { "StartOn": "2016-02-05T21:02:56.650Z", "StartAt": "T0000" }, "Exclusion": { "From": "T0000", "To": "T0000" }, "Attributes": {} }
Get Agent Procedure History Returns an array of agent procedure runtime history records.
GET /automation/agentprocs/{agentId}/history
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
ScriptName string
Agent Procedures
33
LastExecutionTime datetime
Status string
Admin string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "ScriptName": "string", "LastExecutionTime": "2016-03-15T15:50:11.900Z", "Status": "string", "Admin": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Cancel Scheduled Agent Procedure Cancels a scheduled agent procedure running on an agent machine.
DELETE /automation/agentprocs/{agentId}/{agentProcId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Quick Launch Agent Procedures Returns an array of agent procedures that can be "quick launched" from the Quick View window.
GET /automation/agentprocs/quicklaunch
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Agent Procedures
34
Model Schema
Field Datatype Filterable Sortable
AgentProcedureId int
AgentProcedureName string
Path string
Description string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AgentProcedureId": 0, "AgentProcedureName": "string", "Path": "string", "Description": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Update Quick Launch Agent Procedure Updates a quick launch agent procedure.
PUT /automation/agentProcs/quicklaunch/{agentProcedureId}
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Delete Quick Launch Agent Procedure Deletes a quick launch agent procedure.
Agent Procedures
35
DELETE /automation/agentProcs/quicklaunch/{agentProcId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get 'Ask Before Running' Setting Returns the setting for the 'Ask before executing' checkbox on the Quick View dialog. This checkbox is set individually for each VSA user and is applied only when running a quicklaunch agent procedure.
GET /automation/agentprocs/quicklaunch/askbeforeexecuting
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Set 'Ask Before Running' Setting Sets the value of the 'Ask before executing' checkbox on the Quick View dialog. This checkbox is set individually for each VSA user and is applied only when running a quicklaunch agent procedure.
PUT /automation/agentprocs/quicklaunch/askbeforeexecuting
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
flag: true or false
Agent Procedures
36
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get User Portal Agent Procedures Returns an array of agent procedures displayed on the user portal.
GET /automation/agentprocsportal
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
AgentProcedureId int
AgentProcedureName string
Path string
Description string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AgentProcedureId": 0, "AgentProcedureName": "string", "Path": "string", "Description": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Audit
37
Audit Agents audit the hardware and software configurations of their managed machines on a recurring basis. Agents report the information back to the Kaseya Server so you can access it using the VSA even when managed machines are powered down. The system maintains three types of audits for each machine ID:
Baseline audit - The configuration of the system in its original state. Typically a baseline audit is performed when a system is first set up.
Latest audit - The configuration of the system as of the last audit. Once per day is recommended.
System Info - All DMI / SMBIOS data of the system as of the last system info audit. This data seldom changes and typically only needs to be run once.
The VSA detects changes in a machine's configuration by comparing the latest audit to the baseline audit. The Kaseya REST API provides both a summary audit record (single level) and a detailed audit record (multi-level).
In This Chapter
Get Audit Summaries 37 Get Credentials 41 Get Local User Groups 42 Get Disk Volumes 43 Get PCI and Disks 44 Get Printers 45 Get Purchase and Warranty Expiration Dates 46 Update Purchase and Warranty Expiration Dates 46 Get Local User Group Members 47 Get Add/Remove Programs 47 Get Installed Applications 48 Get Software Licences 49 Get Security Products 50 Get Startup Apps 51 Get Audit Summary 52 Get User Accounts 57 Run a Baseline Audit 57 Schedule Baseline Audit 58 Run Latest Audit 59 Schedule Latest Audit 60 Run SysInfo Audit 61 Schedule SysInfo Audit 62
Get Audit Summaries Returns an array of audit summary records.
GET /assetmgmt/audit
Accepts filter and sort expressions (page 12).
C h a p t e r 3
Audit
38
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentGuid decimal
DisplayName string
TimezoneOffset int
CurrentLogin string
AgentType int
RebootTime string
LastCheckinTime string
GroupName string
FirstCheckinTime string
TimeZone string
WorkgroupDomainType int
WorkgroupDomainName string
ComputerName string
DnsComputerName string
OsType string
OsInfo string
IpAddress string
Ipv6Address string
SubnetMask string
DefaultGateway string
ConnectionGatewayIp string
GatewayCountry string
MacAddress string
DnsServer1 string
DnsServer2 string
DhcpEnabled int
DhcpServer string
WinsEnabled int
PrimaryWinsServer string
SecondaryWinsServer string
CpuType string
CpuSpeed int
CpuCount int
Audit
39
RamMBytes int
AgentVersion int
LastLoginName string
LoginName string
PrimaryKServer string
SecondaryKServer string
QuickCheckinPeriod string
ContactName string
ContactEmail string
ContactPhone string
ContactNotes string
Manufacturer string
ProductName string
SystemVersion string
SystemSerialNumber string
ChassisSerialNumber string
ChassisAssetTag string
ExternalBusSpeed string
MaxMemorySize string
MemorySlots string
ChassisManufacturer string
ChassisType string
ChassisVersion string
MotherboardManufacturer string
MotherboardProduct string
MotherboardVersion string
MotherboardSerialNumber string
ProcessorFamily string
ProcessorManufacturer string
ProcessorVersion string
ProcessorMaxSpeed string
ProcessorCurrentSpeed string
FreeSpace int
UsedSpace int
TotalSize int
NumberOfDrives int
Audit
40
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AgentGuid": 0, "DisplayName": "string", "TimezoneOffset": 0, "CurrentLogin": "string", "AgentType": 0, "RebootTime": "2015-08-04T21:45:50.992Z", "LastCheckinTime": "2015-08-04T21:45:50.992Z", "GroupName": "string", "FirstCheckinTime": "2015-08-04T21:45:50.992Z", "TimeZone": "string", "WorkgroupDomainType": 0, "WorkgroupDomainName": "string", "ComputerName": "string", "DnsComputerName": "string", "OsType": "string", "OsInfo": "string", "IpAddress": "string", "Ipv6Address": "string", "SubnetMask": "string", "DefaultGateway": "string", "ConnectionGatewayIp": "string", "GatewayCountry": "string", "MacAddress": "string", "DnsServer1": "string", "DnsServer2": "string", "DhcpEnabled": 0, "DhcpServer": "string", "WinsEnabled": 0, "PrimaryWinsServer": "string", "SecondaryWinsServer": "string", "CpuType": "string", "CpuSpeed": 0, "CpuCount": 0, "RamMBytes": 0, "AgentVersion": 0, "LastLoginName": "string", "LoginName": "string", "PrimaryKServer": "string", "SecondaryKServer": "string", "QuickCheckinPeriod": "string", "ContactName": "string", "ContactEmail": "string", "ContactPhone": "string", "ContactNotes": "string", "Manufacturer": "string", "ProductName": "string", "SystemVersion": "string", "SystemSerialNumber": "string", "ChassisSerialNumber": "string", "ChassisAssetTag": "string",
Audit
41
"ExternalBusSpeed": "string", "MaxMemorySize": "string", "MemorySlots": "string", "ChassisManufacturer": "string", "ChassisType": "string", "ChassisVersion": "string", "MotherboardManufacturer": "string", "MotherboardProduct": "string", "MotherboardVersion": "string", "MotherboardSerialNumber": "string", "ProcessorFamily": "string", "ProcessorManufacturer": "string", "ProcessorVersion": "string", "ProcessorMaxSpeed": "string", "ProcessorCurrentSpeed": "string", "FreeSpace": 0, "UsedSpace": 0, "TotalSize": 0, "NumberOfDrives": 0 } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Credentials Returns an array of credentials for an agent.
GET /assetmgmt/audit/{agentId}/credentials
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
CredentialId decimal
Type string
Name string
UserName string
Domain string
CreateAccount boolean
AsAdministrator boolean
InEffect boolean
Audit
42
Attributes object
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "CredentialId": 0, "Type": "string", "Name": "string", "UserName": "string", "Domain": "string", "CreateAccount": true, "AsAdministrator": true, "InEffect": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Local User Groups Returns an array of local user groups on the agent machine.
GET /assetmgmt/audit/{agentId}/groups
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
UserGroupName string
Description string
Audit
43
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "UserGroupName": "string", "Description": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Disk Volumes Returns an array of disk volumes on the agent machine.
GET /assetmgmt/audit/{agentId}/hardware/diskvolumes
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Drive string
Type string
Format string
FreeMBytes int
UsedMBytes int
TotalMBytes int
Label string
Audit
44
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Drive": "string", "Type": "string", "Format": "string", "FreeMBytes": 0, "UsedMBytes": 0, "TotalMBytes": 0, "Label": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get PCI and Disks Returns an array of disk drives and pci devices on the agent machine.
GET /assetmgmt/audit/{agentId}/hardware/pcianddisk
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
TypeId int
TypeName string
Vendor string
Product string
Note string
Audit
45
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "TypeId": 0, "TypeName": "string", "Vendor": "string", "Product": "string", "Note": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Printers Returns an array of printers and ports configured on an agent machine.
GET /assetmgmt/audit/{agentId}/hardware/printers
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
PrinterName string
Port string
Model string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "PrinterName": "string", "Port": "string", "Model": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Audit
46
Get Purchase and Warranty Expiration Dates Returns the purchase date and warranty expiration date for a single agent.
GET /assetmgmt/audit/{agentGuid}/hardware/purchaseandwarrantyexpire
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
PurchaseDate datetime
WarrantyExpireDate datetime
Sample Response Model
{ "Result": { "PurchaseDate": "2017-08-01T15:52:15.205Z", "WarrantyExpireDate": "2017-08-01T15:52:15.205Z" }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Update Purchase and Warranty Expiration
Dates Updates the purchase date and warranty expiration date for a single agent.
PUT /assetmgmt/audit/{agentGuid}/hardware/purchaseandwarrantyexpire
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
PurchaseDate datetime
WarrantyExpireDate datetime
Audit
47
Sample Request Model
{ "PurchaseDate": "2017-08-01T15:52:14.968Z", "WarrantyExpireDate": "2017-08-01T15:52:14.968Z" }
Get Local User Group Members Returns an array of local users in each local user group on the agent machine.
GET /assetmgmt/audit/{agentId}/members
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
UserGroupName string
MemberName string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "UserGroupName": "string", "MemberName": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Add/Remove Programs Returns an array of program entries in the add/remove list of Windows machines.
GET /assetmgmt/audit/{agentId}/software/addremoveprograms
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Audit
48
Model Schema
Field Datatype Filterable Sortable
DisplayName string
UninstallString string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "DisplayName": "string", "UninstallString": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Installed Applications Returns an array of installed applications on the agent machine.
GET /assetmgmt/audit/{agentId}/software/installedapplications
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
ApplicationName string
Description string
Version string
Manufacturer string
ProductName string
DirectoryPath string
Size int
LastModifiedDate string
Audit
49
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "ApplicationName": "string", "Description": "string", "Version": "string", "Manufacturer": "string", "ProductName": "string", "DirectoryPath": "string", "Size": 0, "LastModifiedDate": "2016-02-08T17:14:20.671Z", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Software Licences Returns an array of licenses used by the agent machine.
GET /assetmgmt/audit/{agentId}/software/licenses
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Publisher string
ProductName string
ProductKey string
LicenseCode string
Version string
InstallationDate datetime
Audit
50
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Publisher": "string", "ProductName": "string", "ProductKey": "string", "LicenseCode": "string", "Version": "string", "InstallationDate": "2016-02-08T17:14:20.675Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Security Products Returns an array of security products installed on the agent machine.
GET /assetmgmt/audit/{agentId}/software/securityproducts
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
ProductType string
ProductName string
Manufacturer string
Version string
IsActive true
IsUpToDate true
Audit
51
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "ProductType": "string", "ProductName": "string", "Manufacturer": "string", "Version": "string", "IsActive": true, "IsUpToDate": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Startup Apps Returns an array of startup apps on the agent machine.
GET /assetmgmt/audit/{agentId}/software/startupapps
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AppName string
AppCommand string
UserName string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AppName": "string", "AppCommand": "string", "UserName": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Audit
52
Get Audit Summary Returns the audit summary for the agent machine.
GET /assetmgmt/audit/{agentId}/summary
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
LastAudit date/time
NextAudit date/time
SystemInfo
Manufacturer string
ProductName string
Version string
SysSerialNumber string
NetworkInfo
IpAddress string
Ipv6Address string
SubnetMask string
DefaultGateway string
ConnectionGatewayIp string
Country string
MacAddr string
DhcpEnabled int
DhcpServer string
DnsServer string
WINsEnabled int
PrimaryWINS string
SecondaryWINS string -
TimeInfo
KServerTime datetime
AgentTime datetime
Audit
53
LastCheckin datetime
LastReboot datetime
FirstCheckin datetime
AgentTimeZone datetime
Chassis
ChassisManufacturer string
ChassisType string
ChassisVersion string
ChassisSerialNumber string
ChassisAssetTag string
Motherboard
MotherboardManufacturer string
MotherboardProduct string
MotherboardVersion string
MotherboardSerialNumber string
ExternalBusSpeed string
BIOS
BiosVendor string
BiosVersion string
BiosReleaseDate datetime
CPURAM
ProcessorManufacturer string
ProcessorFamily string
ProcessorVersion string
ProcessorMaxSpeed string
ProcessorCurrentSpeed string
CpuDescription string
CpuCount int
CpuSpeedMHz int
RamMBytes int
MaxMemorySize string
MemorySlots string
Audit
54
OnBoardDevices
Type string
Description string
PortConnectors
InternalRef string
ExternalRef string
ConnectionType string
PortType string
MemoryDevices
Size string
Form string
DeviceLocation string
BankLocation string
Type string
Detail string
Speed string
SystemSlots
Designator string
Type string
Usage string
ID string
CustomFields
FieldName string
FieldValue string
Audit
55
Sample Response Model
{ "Result": { "LastAudit": "2016-03-14T22:19:31.823Z", "NextAudit": "2016-03-14T22:19:31.823Z", "SystemInfo": { "Manufacturer": "string", "ProductName": "string", "Version": "string", "SysSerialNumber": "string" }, "NetworkInfo": { "IpAddress": "string", "Ipv6Address": "string", "SubnetMask": "string", "DefaultGateway": "string", "ConnectionGatewayIp": "string", "Country": "string", "MacAddr": "string", "DhcpEnabled": 0, "DhcpServer": "string", "DnsServer": "string", "WINsEnabled": 0, "PrimaryWINS": "string", "SecondaryWINS": "string" }, "TimeInfo": { "KServerTime": "2016-03-14T22:19:31.823Z", "AgentTime": "2016-03-14T22:19:31.823Z", "LastCheckin": "2016-03-14T22:19:31.823Z", "LastReboot": "2016-03-14T22:19:31.823Z", "FirstCheckin": "2016-03-14T22:19:31.823Z", "AgentTimeZone": "string" }, "Chassis": { "ChassisManufacturer": "string", "ChassisType": "string", "ChassisVersion": "string", "ChassisSerialNumber": "string", "ChassisAssetTag": "string" }, "Motherboard": { "MotherboardManufacturer": "string", "MotherboardProduct": "string", "MotherboardVersion": "string", "MotherboardSerialNumber": "string", "ExternalBusSpeed": "string" }, "BIOS": { "BiosVendor": "string", "BiosVersion": "string", "BiosReleaseDate": "2016-03-14T22:19:31.823Z" }, "CPURAM": { "ProcessorManufacturer": "string",
Audit
56
"ProcessorFamily": "string", "ProcessorVersion": "string", "ProcessorMaxSpeed": "string", "ProcessorCurrentSpeed": "string", "CpuDescription": "string", "CpuCount": 0, "CpuSpeedMHz": 0, "RamMBytes": 0, "MaxMemorySize": "string", "MemorySlots": "string" }, "OnBoardDevices": [ { "Type": "string", "Description": "string" } ], "PortConnectors": [ { "InternalRef": "string", "ExternalRef": "string", "ConnectionType": "string", "PortType": "string" } ], "MemoryDevices": [ { "Size": "string", "Form": "string", "DeviceLocation": "string", "BankLocation": "string", "Type": "string", "Detail": "string", "Speed": "string" } ], "SystemSlots": [ { "Designator": "string", "Type": "string", "Usage": "string", "ID": 0 } ], "CustomFields": {}, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Audit
57
Get User Accounts Returns an array of user accounts on the agent machine.
GET /assetmgmt/audit/{agentId}/useraccounts
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
LogonName string
FullName string
Description string
IsDisabled boolean
IsLockedOut boolean
IsPasswordRequired boolean
IsPasswordExpired boolean
IsPasswordChangeable boolean
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "LogonName": "string", "FullName": "string", "Description": "string", "IsDisabled": true, "IsLockedOut": true, "IsPasswordRequired": true, "IsPasswordExpired": true, "IsPasswordChangeable": true } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Run a Baseline Audit Runs a baseline audit immediately for a single agent. A baseline audit shows the configuration of the system in its original state. Typically a baseline audit is performed when a system is first set up.
Audit
58
PUT /assetmgmt/audit/baseline/{agentId}/runnow
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Schedule Baseline Audit Schedules a baseline audit for a single agent. A baseline audit shows the configuration of the system in its original state. Typically a baseline audit is performed when a system is first set up.
PUT /assetmgmt/audit/baseline/{agentId}/schedule
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Sample Request Model
Field Datatype Filterable Sortable
Recurrence (see below)
Distribution (see below)
Start (see below)
Exclusion (see below)
Attributes object
RecurrenceOptions
Repeat string
Times int
DaysOfWeek string
DayOfMonth string
SpecificDayOfMonth int
MonthOfYear string
EndAt string
Audit
59
EndOn string
EndAfterIntervalTimes int
DistributionWindow
Interval string
Magnitude int
StartOptions
StartOn string
StartAt string
ExclusionWindow
From string
To string
Sample Request Model
{ "Recurrence": { "Repeat": "Never", "Times": 0, "DaysOfWeek": "string", "DayOfMonth": "FirstSunday", "SpecificDayOfMonth": 0, "MonthOfYear": "January", "EndAt": "T0000", "EndOn": "2015-08-06T16:19:39.218Z", "EndAfterIntervalTimes": 0 }, "Distribution": { "Interval": "Minutes", "Magnitude": 0 }, "Start": { "StartOn": "2015-08-06T16:19:39.218Z", "StartAt": "T0000" }, "Exclusion": { "From": "T0000", "To": "T0000" }, "Attributes": {} }
Run Latest Audit Runs a latest audit immediately for a single agent. The latest audit shows the configuration of the system as of the last audit. Once per day is recommended.
Audit
60
PUT /assetmgmt/audit/latest/{agentId}/runnow
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Schedule Latest Audit Schedules a latest audit for a single agent. The latest audit shows the configuration of the system as of the last audit. Once per day is recommended.
PUT /assetmgmt/audit/latest/{agentId}/schedule
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Recurrence (see below)
Distribution (see below)
Start (see below)
Exclusion (see below)
Attributes object
RecurrenceOptions
Repeat string
Times int
DaysOfWeek string
DayOfMonth string
SpecificDayOfMonth int
MonthOfYear string
EndAt string
EndOn string
Audit
61
EndAfterIntervalTimes int
DistributionWindow
Interval string
Magnitude int
StartOptions
StartOn string
StartAt string
ExclusionWindow
From string
To string
Sample Request Model
{ "Recurrence": { "Repeat": "Never", "Times": 0, "DaysOfWeek": "string", "DayOfMonth": "FirstSunday", "SpecificDayOfMonth": 0, "MonthOfYear": "January", "EndAt": "T0000", "EndOn": "2015-08-06T16:19:39.218Z", "EndAfterIntervalTimes": 0 }, "Distribution": { "Interval": "Minutes", "Magnitude": 0 }, "Start": { "StartOn": "2015-08-06T16:19:39.218Z", "StartAt": "T0000" }, "Exclusion": { "From": "T0000", "To": "T0000" }, "Attributes": {} }
Run SysInfo Audit Runs a sysinfo audit immediately for a single agent. The sysinfo audit shows all DMI / SMBIOS data of the system as of the last system info audit. This data seldom changes and typically only needs to be run once.
Audit
62
PUT /assetmgmt/audit/sysinfo/{agentId}/runnow
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Schedule SysInfo Audit Schedules a sysinfo audit for a single agent. The sysinfo audit shows all DMI / SMBIOS data of the system as of the last system info audit. This data seldom changes and typically only needs to be run once.
PUT /assetmgmt/audit/sysinfo/{agentId}/schedule
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Recurrence (see below)
Distribution (see below)
Start (see below)
Exclusion (see below)
Attributes object
RecurrenceOptions
Repeat string
Times int
DaysOfWeek string
DayOfMonth string
SpecificDayOfMonth int
MonthOfYear string
EndAt string
EndOn string
Audit
63
EndAfterIntervalTimes int
DistributionWindow
Interval string
Magnitude int
StartOptions
StartOn string
StartAt string
ExclusionWindow
From string
To string
Sample Request Model
{ "Recurrence": { "Repeat": "Never", "Times": 0, "DaysOfWeek": "string", "DayOfMonth": "FirstSunday", "SpecificDayOfMonth": 0, "MonthOfYear": "January", "EndAt": "T0000", "EndOn": "2015-08-06T16:19:39.218Z", "EndAfterIntervalTimes": 0 }, "Distribution": { "Interval": "Minutes", "Magnitude": 0 }, "Start": { "StartOn": "2015-08-06T16:19:39.218Z", "StartAt": "T0000" }, "Exclusion": { "From": "T0000", "To": "T0000" }, "Attributes": {} }
Patch Management
65
Patch Management In This Chapter
Run Patch Scan 65 Schedule Patch Scan 65 Get Patch Status 67 Get Missing Patches 69 Get Patch History 71 Run Patch Update 73 Cancel a Scheduled Patch 74 Delete Patch 75 Set Patch Ignore 75 Remove Patch Ignore 77
Run Patch Scan Scans an agent machine immediately for missing patches.
PUT /assetmgmt/patch/{agentId}/scannow
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Schedule Patch Scan Schedules a scan on an agent machine for missing patches.
PUT /assetmgmt/patch/{agentId}/schedule
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
C h a p t e r 4
Patch Management
66
Sample Request Model
Field Datatype Filterable Sortable
ServerTimeZone boolean
SkipIfOffLine boolean
PowerUpIfOffLine boolean
PatchIds List<Int32>
Field Datatype Filterable Sortable
Recurrence (see below)
Distribution (see below)
Start (see below)
Exclusion (see below)
Attributes object
RecurrenceOptions
Repeat string
Times int
DaysOfWeek string
DayOfMonth string
SpecificDayOfMonth int
MonthOfYear string
EndAt string
EndOn string
EndAfterIntervalTimes int
DistributionWindow
Interval string
Magnitude int
StartOptions
StartOn string
StartAt string
ExclusionWindow
From string
To string
Patch Management
67
Sample Request Model
{ "ServerTimeZone": true, "SkipIfOffLine": true, "PowerUpIfOffLine": true, "PatchIds": [ 0 ], "Recurrence": { "Repeat": "Never", "Times": 0, "DaysOfWeek": "string", "DayOfMonth": "FirstSunday", "SpecificDayOfMonth": 0, "MonthOfYear": "January", "EndAt": "T0000", "EndOn": "2016-03-15T15:50:11.564Z", "EndAfterIntervalTimes": 0 }, "Distribution": { "Interval": "Minutes", "Magnitude": 0 }, "Start": { "StartOn": "2016-03-15T15:50:11.564Z", "StartAt": "T0000" }, "Exclusion": { "From": "T0000", "To": "T0000" }, "Attributes": {} }
Get Patch Status Returns the patch status of an agent machine.
GET /assetmgmt/patch/{agentId}/status
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentType int
LastPatchScanstring datetime
ExecScriptTimestring datetime
RunCount int
Patch Management
68
MonthPeriod int
ExecPeriod int
RunAtTime int
NextPatchScan int
NextRunTime string
ScheduledScanScriptId int
ScheduledScanScriptSchedType int
ScanRunAtTime int
ScanNextRunTimestring datetime
NewPatchAlert int
PatchFailedAlert int
InvalidCredentialAlert int
WINAUChangedAlert int
AlertEmailstring string
SourceMachineGuidstring string
LanCacheNamestring string
PreRebootScriptNamestring string
PostRebootScriptNamestring string
ScanResultsPendingstring string
Reset int
RbWarnstring string
RebootDaystring string
RebootTimestring string
NoRebootEmailstring string
SourceType int
SourcePathstring string
SourceLocalstring string
DestUseAgentDrive int
UseInternetSrcFallback int
Patch Management
69
Sample Response Model
{ "Result": { "AgentType": 0, "LastPatchScan": "2016-03-15T15:50:11.871Z", "ExecScriptTime": "2016-03-15T15:50:11.871Z", "RunCount": 0, "MonthPeriod": 0, "ExecPeriod": 0, "RunAtTime": 0, "NextPatchScan": 0, "NextRunTime": "string", "ScheduledScanScriptId": 0, "ScheduledScanScriptSchedType": 0, "ScanRunAtTime": 0, "ScanNextRunTime": "2016-03-15T15:50:11.871Z", "NewPatchAlert": 0, "PatchFailedAlert": 0, "InvalidCredentialAlert": 0, "WINAUChangedAlert": 0, "AlertEmail": "string", "SourceMachineGuid": "string", "LanCacheName": "string", "PreRebootScriptName": "string", "PostRebootScriptName": "string", "ScanResultsPending": "string", "Reset": 0, "RbWarn": "string", "RebootDay": "string", "RebootTime": "string", "NoRebootEmail": "string", "SourceType": 0, "SourcePath": "string", "SourceLocal": "string", "DestUseAgentDrive": 0, "UseInternetSrcFallback": 0, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Missing Patches Returns an array of missing patches on an agent machine, with denied patches either included or excluded.
GET /assetmgmt/patch/{agentId}/machineupdate/{hideDeniedPatches}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Patch Management
70
Model Schema
Field Datatype Filterable Sortable
PatchDataId int
UpdateClassification int
UpdateCategory int
KBArticleId string
KBArticleLink string
SecurityBulletinId string
SecurityBulletinLink string
UpdateTitle string
LastPublishedDate datetime
LocationPending int
LocationId int
BulletinId string
PatchState int
InstallDate datetime
Ignore int
ProductId int
ApprovalStatus int
Location string
WuaOverrideFlag int
Switches string
ProductName string
IsSuperseded boolean
WuaProductId int
Patch Management
71
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "PatchDataId": 0, "Description": "string", "KBArticle": "string", "SecurityBulletinLink": "string", "Product": "string", "UpdateClassification": 0, "ReleaseDate": "2016-03-15T15:50:11.855Z", "Status": 0, "UpdateCategory": 0, "LocationPending": 0, "LocationId": 0, "PatchState": 0, "Ignore": 0, "WuaOverrideFlag": 0, "IsSuperseded": true, "manualUpdateFlag": 0, "schedTogether": 0, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Patch History Returns the patch history for an agent.
GET /assetmgmt/patch/{agentId}/history
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
PatchDataId int
UpdateClassification int
UpdateCategory int
KBArticleId string
KBArticleLink string
SecurityBulletinId string
SecurityBulletinLink string
Patch Management
72
UpdateTitle string
LastPublishedDate datetime
LocationPending int
LocationId int
BulletinId string
PatchState int
InstallDate datetime
Ignore int
ProductId int
ApprovalStatus int
Location string
WuaOverrideFlag int
Switches string
ProductName string
IsSuperseded boolean
WuaProductId int
Patch Management
73
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "PatchDataId": 0, "UpdateClassification": 0, "UpdateCategory": 0, "KBArticleId": "string", "KBArticleLink": "string", "SecurityBulletinId": "string", "SecurityBulletinLink": "string", "UpdateTitle": "string", "LastPublishedDate": "2016-03-15T15:50:11.851Z", "LocationPending": 0, "LocationId": 0, "BulletinId": "string", "PatchState": 0, "InstallDate": "2016-03-15T15:50:11.851Z", "Ignore": 0, "ProductId": 0, "ApprovalStatus": 0, "Location": "string", "WuaOverrideFlag": 0, "Switches": "string", "ProductName": "string", "IsSuperseded": true, "WuaProductId": 0, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Run Patch Update Runs a patch update immediately.
PUT /assetmgmt/patch/runnow
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
Field Datatype Filterable Sortable
ServerTimeZone boolean
SkipIfOffLine boolean
Patch Management
74
PowerUpIfOffLine boolean
PatchIds List<Int32>
Field Datatype Filterable Sortable
Recurrence (see below)
Distribution (see below)
Start (see below)
Exclusion (see below)
Attributes object
RecurrenceOptions
Repeat string
Times int
DaysOfWeek string
DayOfMonth string
SpecificDayOfMonth int
MonthOfYear string
EndAt string
EndOn string
EndAfterIntervalTimes int
DistributionWindow
Interval string
Magnitude int
StartOptions
StartOn string
StartAt string
ExclusionWindow
From string
To string
Cancel a Scheduled Patch Cancels a scheduled patch for an agent machine.
DELETE /assetmgmt/patch/{agentId}/cancelschedule
Does not accept filter and sort expressions (page 12).
Patch Management
75
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Delete Patch Deletes a patch.
DELETE /assetmgmt/patch
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Set Patch Ignore Sets the Ignore setting for missing patches for an agent machine. The request must include an array of
PatchIds to specify which patches are being ignored.
PUT /assetmgmt/patch/{agentId}/setignore
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Request Model
Field Datatype Filterable Sortable
ServerTimeZone boolean
SkipIfOffLine boolean
PowerUpIfOffLine boolean
PatchIds List<Int32>
Patch Management
76
Field Datatype Filterable Sortable
Recurrence (see below)
Distribution (see below)
Start (see below)
Exclusion (see below)
Attributes object
RecurrenceOptions
Repeat string
Times int
DaysOfWeek string
DayOfMonth string
SpecificDayOfMonth int
MonthOfYear string
EndAt string
EndOn string
EndAfterIntervalTimes int
DistributionWindow
Interval string
Magnitude int
StartOptions
StartOn string
StartAt string
ExclusionWindow
From string
To string
Patch Management
77
Sample Request Model
{ "ServerTimeZone": true, "SkipIfOffLine": true, "PowerUpIfOffLine": true, "PatchIds": [ 0 ], "Recurrence": { "Repeat": "Never", "Times": 0, "DaysOfWeek": "string", "DayOfMonth": "FirstSunday", "SpecificDayOfMonth": 0, "MonthOfYear": "January", "EndAt": "T0000", "EndOn": "2016-03-15T15:50:11.564Z", "EndAfterIntervalTimes": 0 }, "Distribution": { "Interval": "Minutes", "Magnitude": 0 }, "Start": { "StartOn": "2016-03-15T15:50:11.564Z", "StartAt": "T0000" }, "Exclusion": { "From": "T0000", "To": "T0000" }, "Attributes": {} }
Remove Patch Ignore Removes the Ignore setting for a missing patch for an agent machine.
DELETE /assetmgmt/patch/{agentId}/{patchId}/setignore
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Agents
79
Agents Agent are installed on computers and mobile devices.
In This Chapter
Get Agents 79 Get Agent 83 Get Agent Settings 86 Delete Agent 87 Rename Agent 88 Update User Profile 88 Update Temp Directory 89 Update Checkin Control 89 Get Agents in Agent View 90 Get Agent Views 92 Get Agent Uptime 93 Get Agents on Network 94 Get 2FA Settings 95 Get Remote Control Notify Policy 96
Get Agents Returns an array of agent records.
GET /assetmgmt/agents
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentId decimal
Online int
OSType string
OSInfo string
AgentName string
OrgId decimal
MachineGroupId decimal
MachineGroup string
ComputerName string
C h a p t e r 5
Agents
80
IPv6Address string
IPAddress string
OperatingSystem string
OSVersion string
LastLoggedInUser string
LastRebootTime string
LastCheckInTime string
Country string
CurrentUser string
Contact string
TimeZone string
RamMBytes int
CpuCount int
CpuSpeed int
CpuType string
DomainWorkgroup string
AgentFlags int
AgentVersion int
ToolTipNotes string
ShowToolTip int
DefaultGateway string
DNSServer1 string
DNSServer2 string
DHCPServer string
PrimaryWINS string
SecondaryWINS string
ConnectionGatewayIP string
FirstCheckIn datetime
PrimaryKServer string
SecondaryKServer string
Attributes object
Agent Status Response Codes
The table below explains each response code for the Online field.
Response Code Status
0 Agent Offline
Agents
81
1 User Not Logged In and Agent is online
2 User Not Logged In and Agent is Idle
11 User Logged In and Agent is Active
12 User Logged In and Agent is Inactive
198 Agent Suspended
199 Agent never checked in
Agents
82
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AgentId": 0, "AgentName": "string", "Online": 0, "OSType": "string", "OSInfo": "string", "OrgId": 0, "MachineGroupId": 0, "MachineGroup": "string", "ComputerName": "string", "IPv6Address": "string", "IPAddress": "string", "OperatingSystem": "string", "OSVersion": "string", "LastLoggedInUser": "string", "LastRebootTime": "2016-02-02T17:55:17.030Z", "LastCheckInTime": "2016-02-02T17:55:17.030Z", "Country": "string", "CurrentUser": "string", "Contact": "string", "TimeZone": "string", "RamMBytes": 0, "CpuCount": 0, "CpuSpeed": 0, "CpuType": "string", "DomainWorkgroup": "string", "AgentFlags": 0, "AgentVersion": 0, "ToolTipNotes": "string", "ShowToolTip": 0, "DefaultGateway": "string", "DNSServer1": "string", "DNSServer2": "string", "DHCPServer": "string", "PrimaryWINS": "string", "SecondaryWINS": "string", "ConnectionGatewayIP": "string", "FirstCheckIn": "2016-07-13T18:47:34.029Z", "PrimaryKServer": "string", "SecondaryKServer": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Agents
83
Get Agent Returns a single agent record.
GET /assetmgmt/agents/{agentId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentId decimal
Online int
OSType string
OSInfo string
AgentName string
OrgId decimal
MachineGroupId decimal
MachineGroup string
ComputerName string
IPv6Address string
IPAddress string
OperatingSystem string
OSVersion string
LastLoggedInUser string
LastRebootTime string
LastCheckInTime string
Country string
CurrentUser string
Contact string
TimeZone string
RamMBytes int
CpuCount int
CpuSpeed int
CpuType string
DomainWorkgroup string
AgentFlags int
AgentVersion int
ToolTipNotes string
Agents
84
ShowToolTip int
DefaultGateway string
DNSServer1 string
DNSServer2 string
DHCPServer string
PrimaryWINS string
SecondaryWINS string
ConnectionGatewayIP string
FirstCheckIn datetime
PrimaryKServer string
SecondaryKServer string
Attributes object
Agent Status Response Codes
The table below explains each response code for the Online field.
Response Code Status
0 Agent Offline
1 User Not Logged In and Agent is online
2 User Not Logged In and Agent is Idle
11 User Logged In and Agent is Active
12 User Logged In and Agent is Inactive
198 Agent Suspended
199 Agent never checked in
Agents
85
Sample Response Model
{ "Result": { "AgentId": 0, "AgentName": "string", "Online": 0, "OSType": "string", "OSInfo": "string", "OrgId": 0, "MachineGroupId": 0, "MachineGroup": "string", "ComputerName": "string", "IPv6Address": "string", "IPAddress": "string", "OperatingSystem": "string", "OSVersion": "string", "LastLoggedInUser": "string", "LastRebootTime": "2016-02-02T17:55:17.030Z", "LastCheckInTime": "2016-02-02T17:55:17.030Z", "Country": "string", "CurrentUser": "string", "Contact": "string", "TimeZone": "string", "RamMBytes": 0, "CpuCount": 0, "CpuSpeed": 0, "CpuType": "string", "DomainWorkgroup": "string", "AgentFlags": 0, "AgentVersion": 0, "ToolTipNotes": "string", "ShowToolTip": 0, "DefaultGateway": "string", "DNSServer1": "string", "DNSServer2": "string", "DHCPServer": "string", "PrimaryWINS": "string", "SecondaryWINS": "string", "ConnectionGatewayIP": "string", "FirstCheckIn": "2016-07-13T18:47:34.029Z", "PrimaryKServer": "string", "SecondaryKServer": "string", "Attributes": {} } "ResponseCode": 0, "Status": "string", "Error": "string" }
Agents
86
Get Agent Settings Returns an array of settings for an agent.
GET /assetmgmt/agent/{agentId}/settings
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Agent Settings
AgentVersion int
CurrentUser string
LastCheckIn datetime
FirstCheckIn datetime
LastReboot datetime
TempDirectory string
CheckInControl (see below)
UserProfile (see below)
PatchPolicyMembership Array[string]
ViewDefinitionCollections Array[string]
CheckInControl
PrimaryKServer string
PrimaryKServerPort int
SecondaryKServer string
SecondaryKServerPort int
QuickCheckInTimeInSeconds int
BandwidthThrottle int
UserProfile
AdminEmail string
UserName string
UserEmail string
UserPhone string
Notes string
ShowToolTip int
Agents
87
AutoAssignTickets boolean
Sample Response Model
{ "Result": { "AgentVersion": 0, "CurrentUser": "string", "LastCheckIn": "2016-03-16T16:13:52.579Z", "FirstCheckIn": "2016-03-16T16:13:52.579Z", "LastReboot": "2016-03-16T16:13:52.579Z", "TempDirectory": "string", "CheckInControl": { "PrimaryKServer": "string", "PrimaryKServerPort": 0, "SecondaryKServer": "string", "SecondaryKServerPort": 0, "QuickCheckInTimeInSeconds": 0, "BandwidthThrottle": 0, "Attributes": {} }, "UserProfile": { "AdminEmail": "string", "UserName": "string", "UserEmail": "string", "UserPhone": "string", "Notes": "string", "ShowToolTip": 0, "AutoAssignTickets": true, "Attributes": {} }, "PatchPolicyMembership": [ "string" ], "ViewDefinitionCollections": [ "string" ], "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Delete Agent Deletes an agent. Provides an option to wait for the agent to uninstall on the managed machine first.
DELETE /assetmgmt/agents/{agentId}/{uninstallFirst}
Does not accept filter and sort expressions (page 12).
URL Parameters
{agentId} - The agent guid.
{uninstallFirst} - true or false
Agents
88
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Rename Agent Renames the agent.
PUT /assetmgmt/agents/{agentId}/rename/{newName}
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
URL Parameters
{agentId} - The agent guid.
{newName} - Specify the new name of the agent.
Headers
Authorization: Bearer {hash string returned from Authentication}
Update User Profile Updates the user profile settings for an agent.
PUT /assetmgmt/agent/{agentId}/settings/userprofile
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AdminEmail string
UserName string
UserEmail string
UserPhone string
Notes string
ShowToolTip int
AutoAssignTickets boolean
Agents
89
Sample Request Model
{ "AdminEmail": "string", "UserName": "string", "UserEmail": "string", "UserPhone": "string", "Notes": "string", "ShowToolTip": 0, "AutoAssignTickets": true, "Attributes": {} }
Update Temp Directory Updates the temp directory for an agent.
PUT /assetmgmt/agents/{agentId}/settings/tempdir
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
key string
value string
Sample Request Model
[ { "key": "string", "value": "string" } ]
Update Checkin Control Updates checkin control settings for an agent.
PUT /assetmgmt/agent/{agentId}/settings/checkincontrol
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Agents
90
Model Schema
Field Datatype Filterable Sortable
PrimaryKServer string
PrimaryKServerPort int
SecondaryKServer string
SecondaryKServerPort int
QuickCheckInTimeInSeconds int
BandwidthThrottle int
Sample Request Model
{ "PrimaryKServer": "string", "PrimaryKServerPort": 0, "SecondaryKServer": "string", "SecondaryKServerPort": 0, "QuickCheckInTimeInSeconds": 0, "BandwidthThrottle": 0, "Attributes": {} }
Get Agents in Agent View Returns an array of agent records in the selected view.
GET /assetmgmt/agentsinview/{viewId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentId decimal
Online int
OSType string
OSInfo string
AgentName string
OrgId decimal
MachineGroupId decimal
MachineGroup string
ComputerName string
IPv6Address string
IPAddress string
Agents
91
OperatingSystem string
OSVersion string
LastLoggedInUser string
LastRebootTime string
LastCheckInTime string
Country string
CurrentUser string
Contact string
TimeZone string
RamMBytes int
CpuCount int
CpuSpeed int
CpuType string
DomainWorkgroup string
AgentFlags int
AgentVersion int
ToolTipNotes string
ShowToolTip int
DefaultGateway string
DNSServer1 string
DNSServer2 string
DHCPServer string
PrimaryWINS string
SecondaryWINS string
ConnectionGatewayIP string
FirstCheckIn datetime
PrimaryKServer string
SecondaryKServer string
Attributes object
Agent Status Response Codes
The table below explains each response code for the Online field.
Response Code Status
0 Agent Offline
1 User Not Logged In and Agent is online
2 User Not Logged In and Agent is Idle
11 User Logged In and Agent is Active
Agents
92
12 User Logged In and Agent is Inactive
198 Agent Suspended
199 Agent never checked in
Sample Response Model
{ "Result": [ { "AgentId": 0, "AgentName": "string", "Online": 0, "OSType": "string", "OSInfo": "string", "OrgId": 0, "MachineGroupId": 0, "ComputerName": "string", "IPv6Address": "string", "IPAddress": "string", "OperatingSystem": "string", "OSVersion": "string", "LastLoggedInUser": "string", "LastRebootTime": "2016-02-05T21:02:56.716Z", "LastCheckInTime": "2016-02-05T21:02:56.716Z", "Country": "string", "CurrentUser": "string", "Contact": "string", "TimeZone": "string", "RamMBytes": 0, "CpuCount": 0, "CpuSpeed": 0, "CpuType": "string", "DomainWorkgroup": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Agent Views Returns an array of agent views.
GET /system/views
Accepts filter and sort expressions (page 12).
Agents
93
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
ViewDefId decimal
ViewDefName string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "ViewDefId": 0, "ViewDefName": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Agent Uptime Returns an array of agent uptime records.
GET /assetmgmt/agents/uptime/{since}
Accepts filter and sort expressions (page 12).
URL Parameter
{since} - Enter only a date format. Example: 2017-08-01
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentId decimal
AgentName string
MachineGroupId decimal
MachineGroup string
TotalOnlineInSeconds int
MeasuredFrom datetime
MeasuredTo datetime
Agents
94
Sample Response Model
{ "Result": [ { "AgentId": 0, "AgentName": "string", "MachineGroupId": 0, "MachineGroup": "string", "TotalOnlineInSeconds": 0, "MeasuredFrom": "2017-07-31T22:34:52.480Z", "MeasuredTo": "2017-07-31T22:34:52.480Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Agents on Network Returns an array of agents in a specified Discovery network.
GET /assetmgmt/agentsonnetwork/{networkId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentId decimal
UptimeSeconds int
MachName string
GroupName string
Online int
Agent Status Response Codes
The table below explains each response code for the Online field.
Response Code Status
0 Agent Offline
1 User Not Logged In and Agent is online
2 User Not Logged In and Agent is Idle
11 User Logged In and Agent is Active
12 User Logged In and Agent is Inactive
198 Agent Suspended
Agents
95
199 Agent never checked in
Sample Response Model
{ "TotalRecords": 1, "Result": [ { "AgentId": "694825728222021", "UptimeSeconds": 18, "MachName": "ag-black-w732", "GroupName": "root.unnamed", "Online": 1, "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get 2FA Settings Returns 2FA settings for a specified agent ID.
GET /assetmgmt/agent/{agentId}/twofasettings
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AgentID decimal
AuthEnabled boolean
UseDefaultUser boolean
UserName string
SASName string
SiteID int
Note string
Agents
96
Sample Response Model
{ "Result": { "AgentId": 0, "AuthEnabled": true, "UseDefaultUser": true, "UserName": "string", "SASName": "string", "SiteID": 0, "Note": "string", "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Remote Control Notify Policy Returns the remote control notify policy for an agent machine.
GET /remotecontrol/notifypolicy/{agentId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field DataType Filterable Sortable
EmailAddr string
AgentGuid string
AdminGroupId int
RemoteControlNotify int
NotifyText string
AskText string
TerminateNotify int
TerminateText string
RequireRcNote int
RequiteFTPNote int
RecordSession int
Agents
97
Sample Response Model
{ "Result": { "EmailAddr": "string", "AgentGuid": "string", "AdminGroupId": 0, "RemoteControlNotify": 0, "NotifyText": "string", "AskText": "string", "TerminateNotify": 0, "TerminateText": "string", "RequireRcNote": 0, "RequiteFTPNote": 0, "RecordSession": 0, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Agent Install Packages
99
Agent Install Packages In This Chapter
Get Agent Install Packages 99 Add Agent Install Packages 100 Delete Agent Install Package 101 Create Agent Install Link for Machine Group 101 Customize the Agent Deployment Page 102
Get Agent Install Packages Returns an array of agent install package records.
GET /assetmgmt/assets/packages
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
PackageId int
MachineGroupId decimal
CopySettingsFromAgentId decimal
AgentType string: auto, windows, mac, null
(for linux)
CommandLineSwitches string
PackageName string
PackageDescription string
C h a p t e r 6
Agent Install Packages
100
Sample Response Model
"TotalRecords": 0, "Result": [ { "PackageURL": "string", "PackageId": 0, "MachineGroupId": 0, "CopySettingsFromAgentId": 0, "AgentType": "string", "CommandLineSwitches": "string", "PackageName": "string", "PackageDescription": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Agent Install Packages Adds an agent install package record.
POST /assetmgmt/assets/packages
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
PackageId int
MachineGroupId decimal
CopySettingsFromAgentId decimal
AgentType string: auto, windows, mac, null
(for linux)
CommandLineSwitches string
PackageName string
PackageDescription string
Agent Install Packages
101
Sample Request Model
{ "PackageId": 0, "MachineGroupId": 0, "CopySettingsFromAgentId": 0, "AgentType": "string", "CommandLineSwitches": "string", "PackageName": "string", "PackageDescription": "string", "Attributes": {} }
Delete Agent Install Package Deletes an agent install package.
DELETE /assetmgmt/agents/packages/{packageId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Create Agent Install Link for Machine Group Creates an agent install package link for a machine group.
POST /agent/packagelink
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Agent Install Packages
102
Sample Minimum Body Data Required
{ "PartitionId": 1, "MachineGroupName": "MyOrg.root" }
Model Schema
Field Datatype Filterable Sortable
PackageId decimal
MachineGroupName string
Sample Request Model
{ "PartitionId": 0, "MachineGroupName": "string" }
Customize the Agent Deployment Page Returns the logo, title and description displayed by the deployment page for an specified tenant partition. Authentication is not required.
GET /agent/{partitionId}/deploypagecustomization
Headers
None
Model Schemas
Field Datatype Filterable Sortable
Id guid
Logo string
Title string
Content string
Agent Install Packages
103
Sample Response Model
{ "Result": { "Id": "21402117-32d8-487e-9046-ce982236a0ce", "Logo": "", "Title": "Download Your Agent", "Content": "Description: An <b>agent</b> is a small application that enables Evaluation Edition to keep your computer up-to-date, fast, and secure. Download the agent below to get started.", "Attributes": null }, "ResponseCode": 0, "Status": "OK", "Error": "None" }
Agent Custom Fields
105
Agent Custom Fields You can maintain an unlimited number of custom fields of information about managed machines. Custom fields are supported in views, procedures, and reports. Custom reports do not support more than 40 custom fields.
In This Chapter
Get Agent Custom Fields 105 Add Agent Custom Field 106 Update Agent Custom Field Name 106 Update Agent Custom Field Value 107 Delete Agent Custom Field 107
Get Agent Custom Fields Returns an array of custom fields for a specified agent.
GET /assetmgmt/assets/{agentId}/customfields
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
FieldName string
FieldValue int
FieldType string
Sample Response Model
{ "Result": [ { "FieldName": "Cycle", "FieldValue": "F", "FieldType": "string" } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
C h a p t e r 7
Agent Custom Fields
106
Add Agent Custom Field Adds a new agent custom field.
POST /assetmgmt/assets/customfields
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Body
Content-Type: x-www-form-urlencoded
The body of the request must include the following:
"key": "FieldName",
"value": "YourNewFieldName"
"key": "FieldType",
"value": "string"
Model Schema
Field Datatype Filterable Sortable
key string
value string
Sample Request Model
[ { "key": "FieldName", "value": "YourNewFieldName" } , { "key": "FieldType", "value": "string" } ]
Update Agent Custom Field Name Updates the name of an existing custom field.
PUT /assetmgmt/assets/customfields/{fieldName}
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Body
The body of the request must include:
"key": "NewFieldName",
"value": "string"
Agent Custom Fields
107
Model Schema
Field Datatype Filterable Sortable
key string
value string
Sample Request Model
[ { "key": "NewFieldName", "value": "string" } ]
Update Agent Custom Field Value Updates the value of an existing custom field.
PUT /assetmgmt/assets/{agentId}/customfields/{fieldName}
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Body
The body of the request must include: "key": "FieldValue".
Model Schema
Field Datatype Filterable Sortable
key string
value string
Sample Request Model
[ { "key": "FieldValue", "value": "string" } ]
Delete Agent Custom Field Deletes an agent custom field.
DELETE /assetmgmt/assets/customfields/{fieldName}
Does not accept filter and sort expressions (page 12).
Agent Custom Fields
108
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Assets
109
Assets An asset is any computer or device managed by Kaseya. This includes computers and mobile devices with agents installed on them. Assets also include managed devices that cannot install an agent, such as routers, switchers, printers, firewalls, etc.
In This Chapter
Get Assets 109 Get Asset 111 Get Asset Types 118 Delete Asset 119
Get Assets Returns an array of summary asset records.
GET /assetmgmt/assets
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AssetId decimal
AssetName string
AssetTypeId decimal
ProbeId decimal
MachineGroupId decimal
MachineGroup string
OrgId decimal
IsComputerAgent boolean
IsMobileAgent boolean
IsMonitoring byte
IsPatching byte
IsAuditing byte
IsBackingUp byte
IsSecurity byte
C h a p t e r 8
Assets
110
TicketCount decimal
AlarmCount decimal
IsSNMPActive boolean
IsVProActive boolean
NetworkInfo decimal
AgentId decimal
DisplayName string
LastSeenDate string
ProbeAgentGuid decimal
PrimaryProbe string
PrimaryProbeId string
NMapProbeId decimal
HostName string
OSName string
OSType string
OSFamily string
OSGeneration string
DeviceManufacturer string
Attributes object
Assets
111
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AssetId": 0, "AssetName": "string", "AssetTypeId": 0, "ProbeId": 0, "MachineGroupId": 0, "MachineGroup": "string", "OrgId": 0, "IsComputerAgent": true, "IsMobileAgent": true, "IsMonitoring": "string", "IsPatching": "string", "IsAuditing": "string", "IsBackingUp": "string", "IsSecurity": "string", "TicketCount": 0, "AlarmCount": 0, "IsSNMPActive": true, "IsVProActive": true, "NetworkInfo": 0, "AgentId": 0, "DisplayName": "string", "LastSeenDate": "2016-02-02T17:55:17.053Z", "ProbeAgentGuid": 0, "PrimaryProbe": "string", "PrimaryProbeType": "string", "NMapProbeId": 0, "HostName": "string", "OSName": "string", "OSType": "string", "OSFamily": "string", "OSGeneration": "string", "DeviceManufacturer": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Asset Returns a single detailed asset record.
GET /assetmgmt/assets/{assetId}
Does not accepts filter and sort expressions (page 12).
Assets
112
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
AssetId decimal
AssetName string
AssetTypeId decimal
MachineGroupId decimal
MachineGroup string
OrgId decimal
AgentId decimal
DeviceId decimal
DeviceName string
DeviceType decimal
DeviceTime string
ServerTime string
DeviceFound Array[DeviceFound]
Attributes object
DeviceFound
DeviceId decimal
FoundOn string
FoundBy Probe
DeviceInfo DeviceDetails.DeviceInfo
DeviceMotherBoard DeviceDetails.DeviceMotherBoard
DeviceBiosInfo DeviceDetails.DeviceBiosInfo
DeviceProcessors Array[DeviceDetails.DeviceProcessors]
DeviceMemories Array[DeviceDetails.DeviceMemories]
DeviceDrives Array[DeviceDetails.DeviceDrives]
DeviceIPs Array[DeviceDetails.DeviceIPs]
DeviceHwPCI Array[DeviceDetails.DeviceHwPCI]
Probe
ProbeId decimal
ProbeTypeId decimal
Assets
113
ProbeName string
ProbeAgentId decimal
ProbeType ProbeType
Attributes object
DeviceDetails.DeviceInfo
HostName string
Manufacturer string
Version string
SerialNumber string
Port decimal
OSName string
OSType string
OSFamily string
OSVendor string
OSAccuracy decimal
OSInfo string
OSGeneration string
DeviceDetails.DeviceMotherBoard
MotherboardManufacturer string
MotherboardProductName string
MotherboardVersion string
MotherboardSerialNum string
MotherboardAssetTag string
MotherboardReplaceable string
DeviceDetails.DeviceBiosInfo
BiosVendor string
BiosVersion string
BiosReleaseDate string
BiosSupportedFunctions string
DeviceDetails.DeviceProcessor
ProcessorId decimal
ProcessorManufacturer string
Assets
114
ProcessorFamily string
ProcessorVersion string
ProcessorMaxSpeed decimal
ProcessorCurrentSpeed decimal
ProcessorStatus string
ProcessorUpgradeInfo string
ProcessorSocketPopulated string
ProcessorType string
DeviceDetails.DeviceMemory
MemoryManufacturer string
MemorySerialNum string
MemorySize decimal
MemorySpeed decimal
MemoryType string
DeviceDetails.DeviceDrive
DriveManufacturer string
DriveSocketDesignation string
DriveVersion string
DriveMaxSpeed decimal
DriveCurrentSpeed decimal
DriveStatus string
DriveUpgradeInfo string
DriveSocketPopulated string
DeviceDetails.DeviceIPs
IPAddress string
IPAddressType decimal
SubnetMask string
DHCPEnabled boolean
IPv6Address string
MACAddress string
MACManufacturer string
Assets
115
DeviceDetails.DeviceHwPCI
VendorId decimal
ProductId decimal
Revision decimal
DeviceLocation string
BaseClass decimal
SubClass decimal
Bus decimal
Slot decimal
SubVendorId string
SubSystemId string
ProbeType
ProbeTypeId decimal
ProbeTypeName string
Attributes object
Assets
116
Sample Response Model
{ "AssetId": 0, "AssetName": "string", "AssetTypeId": 0, "MachineGroupId": 0, "MachineGroup": "string", "OrgId": 0, "AgentId": 0, "DeviceId": 0, "DeviceName": "string", "DeviceType": 0, "DeviceTime": "2016-02-02T22:50:04.298Z", "ServerTime": "2016-02-02T22:50:04.298Z", "DeviceFounds": [ { "DeviceId": 0, "FoundOn": "2016-02-02T22:50:04.298Z", "FoundBy": { "ProbeId": 0, "ProbeTypeId": 0, "ProbeName": "string", "ProbeAgentId": 0, "ProbeType": { "ProbeTypeId": 0, "ProbeTypeName": "string", "Attributes": {} }, "Attributes": {} }, "DeviceInfo": { "HostName": "string", "Manufacturer": "string", "Version": "string", "SerialNumber": "string", "Port": 0, "OSName": "string", "OSType": "string", "OSFamily": "string", "OSVendor": "string", "OSAccuracy": 0, "OSInfo": "string", "OSGeneration": "string" }, "DeviceMotherBoard": { "MotherboardManufacturer": "string", "MotherboardProductName": "string", "MotherboardVersion": "string", "MotherboardSerialNum": "string", "MotherboardAssetTag": "string", "MotherboardReplaceable": "string" }, "DeviceBiosInfo": { "BiosVendor": "string", "BiosVersion": "string",
Assets
117
"BiosReleaseDate": "2016-02-02T22:50:04.298Z", "BiosSupportedFunctions": "string" }, "DeviceProcessors": [ { "ProcessorId": 0, "ProcessorManufacturer": "string", "ProcessorFamily": "string", "ProcessorVersion": "string", "ProcessorMaxSpeed": 0, "ProcessorCurrentSpeed": 0, "ProcessorStatus": "string", "ProcessorUpgradeInfo": "string", "ProcessorSocketPopulated": "string", "ProcessorType": "string" } ], "DeviceMemories": [ { "MemoryManufacturer": "string", "MemorySerialNum": "string", "MemorySize": 0, "MemorySpeed": 0, "MemoryType": "string" } ], "DeviceDrives": [ { "DriveManufacturer": "string", "DriveSocketDesignation": "string", "DriveVersion": "string", "DriveMaxSpeed": 0, "DriveCurrentSpeed": 0, "DriveStatus": "string", "DriveUpgradeInfo": "string", "DriveSocketPopulated": "string" } ], "DeviceIPs": [ { "IPAddress": "string", "IPAddressType": 0, "SubnetMask": "string", "DHCPEnabled": true, "IPv6Address": "string", "MACAddress": "string", "MACManufacturer": "string" } ], "DeviceHwPCI": { "VendorId": 0, "ProductId": 0, "Revision": 0, "BaseClass": 0, "SubClass": 0,
Assets
118
"Bus": 0, "Slot": 0, "SubVendorId": "string", "SubSystemId": "string", "DeviceLocation": "string" } } ], "Attributes": {} },
Get Asset Types Returns an array of asset type records.
GET /assetmgmt/assettypes
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
AssetTypeId decimal AssetTypeName string ParentAssetTypeId
decimal
Attributes object
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AssetTypeId": 0, "AssetTypeName": "string", "ParentAssetTypeId": 0, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Assets
119
Delete Asset Deletes a single asset.
DELETE /assetmgmt/assets/{assetId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Assets Management
121
Assets Management In This Chapter
Get Agent Note 121 Get Agent Connection Gateway IP 123 Update Agent Note 123 Add Note to Agent 124 Delete Agent Note 125
Get Agent Note Gets an agent notes.
GET /assetmgmt/agent/notes
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s): 560206
500 Server Error
C h a p t e r 9
Assets Management
122
Sample Response Model
{ "TotalRecords": 8, "Result": [ { "Email": null, "AgentGUID": "323682356031518", "UserName": "kadmin", "CreationDate": "2019-03-25T15:02:24.107", "Description": "ddd", "ID": 1 }, { "Email": null, "AgentGUID": "323682356031518", "UserName": "kadmin", "CreationDate": "2019-03-25T15:02:27.48", "Description": "ddd", "ID": 2 }, { "Email": null, "AgentGUID": "323682356031518", "UserName": "kadmin", "CreationDate": "2019-03-25T15:02:30.707", "Description": "sdfsdf", "ID": 3 }, { "Email": null, "AgentGUID": "323682356031518", "UserName": "kadmin", "CreationDate": "2019-03-25T15:46:55.713", "Description": "blahblahblah", "ID": 4 }, { "Email": null, "AgentGUID": "323682356031518", "UserName": "kadmin", "CreationDate": "2019-04-10T14:06:33.563", "Description": "blah", "ID": 14 }, { "Email": null, "AgentGUID": "323682356031518", "UserName": "kadmin", "CreationDate": "2019-04-10T14:06:51.283", "Description": "edite", "ID": 15 } ], "ResponseCode": 200, "Status": "OK",
Assets Management
123
"Error": "None" }
Get Agent Connection Gateway IP Gets all unique values for the ConnectionGatewayIP for Agents.
GET /assetmgmt/connectiongatewayips
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s): 560206
500 Server Error
Sample Response Model
{ "TotalRecords": 4, "Result": [ "10.10.32.6", "10.10.33.59", "10.10.34.250", "127.0.0.1" ], "ResponseCode": 200, "Status": "OK", "Error": "None" }
Update Agent Note Updates a note for an agent.
PUT /assetmgmt/agent/notes
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
Assets Management
124
400 Bad Request
403 Unauthorized - Need access to FID(s): 560206
404 NoteID not found
500 Server Error
Sample Body Model
{ "123" : "updated desc", "456" : "second description", "789" : "something", }
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Add Note to Agent Adds a note to the specified agent associated with the current user.
POST /assetmgmt/agent/{agentID}/note
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
400 Bad Request
403 Unauthorized - Need access to FID(s): 560206
500 Server Error
Sample Body Model
"my note text"
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Assets Management
125
Delete Agent Note Deletes an agent note.
DELETE /assetmgmt/agent/note/{noteID}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s): 560206
404 NoteID not found
500 Server Error
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Alerts and Alarms
127
Alerts and Alarms Alerts - An alert is created when the performance of a machine or device matches a pre-defined
criteria or "alert condition".
Alarms - Alarms are a graphical way of notifying the user that an alert has occurred.
In This Chapter
Get Alarm 127 Get All Alarms 128 Close Alarm 129
Get Alarm Returns the details of a specified alarm.
GET /assetmgmt/alarms/{alarmId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
MonitorType int
AlarmType string
Message string
AlarmEmail string
TicketId string
AdminName string
Field Datatype Filterable Sortable
AlarmId int
AgentId decimal
MachineGroup string
AlertType int16
agentName string
AlarmSubject string
EventTime datetime
MonitorAlarmStateId int16
C h a p t e r 1 0
Alerts and Alarms
128
Sample Response Model
{ "Result": { "MonitorType": 0, "AlarmType": "string", "Message": "string", "AlarmEmail": "string", "TicketId": "string", "AdminName": "string", "AlarmId": 0, "AgentId": 0, "MachineGroup": "string", "AlertType": 0, "agentName": "string", "AlarmSubject": "string", "EventTime": "2017-08-01T15:52:15.151Z", "MonitorAlarmStateId": 0, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get All Alarms Returns an array of all alarms within your VSA user's scope.
GET /assetmgmt/alarms/{returnAllRecords}
Accepts filter and sort expressions (page 12).
URL Parameter
{returnAllRecords}
false - Only new alarms are listed since the last time the alarm list was requested by the
user's session.
true - All alarms are returned in the list
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
MonitorType int
AlarmType string
Message string
AlarmEmail string
TicketId string
AdminName string
Alerts and Alarms
129
Field Datatype Filterable Sortable
AlarmId int
AgentId decimal
MachineGroup string
AlertType int16
agentName string
AlarmSubject string
EventTime datetime
MonitorAlarmStateId int16
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "AlarmId": 0, "AgentId": 0, "MachineGroup": "string", "AlertType": 0, "agentName": "string", "AlarmSubject": "string", "EventTime": "2017-08-01T15:52:15.159Z", "MonitorAlarmStateId": 0, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Close Alarm Closes a specified alarm.
The key is always notes.
The value describes the reason the alarm was closed.
PUT /assetmgmt/alarms/{alarmId}/close
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Alerts and Alarms
130
Sample Request Model
[ { "key": "notes" "value": "<any text>" } ]
Custom Extensions
131
Custom Extensions See Custom Extensions (http://help.kaseya.com/webhelp/EN/VSA/9050000/index.asp#37502.htm) for an introduction to these REST APIs.
In This Chapter
Get Custom Extension Folders and Files 131 Add Custom Extension Folder 132 Upload Custom Extension File 132 Delete Custom Extensions Folder 133
Get Custom Extension Folders and Files Returns an array of the files and folders in a folder of an agent's custom extension repository. For example, apps/exe/utilities. Use / to show the files and folders starting with the top level.
GET /assetmgmt/customextensions/{agentId}/folder/{path}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
Name string
Size long
LastUploadTime DateTime
ParentPath string
isFile boolean
C h a p t e r 1 1
Custom Extensions
132
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Name": "string", "Size": 0, "LastUploadTime": "2016-10-26T16:15:14.330Z", "ParentPath": "string", "isFile": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Custom Extension Folder Adds a folder to the path of a specified agent's custom extension repository. For example, apps/exe/utilities.
PUT /assetmgmt/customextensions/{agentId}/folder/{path}
This is an action API; no business data is returned or changed.
Header
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Upload Custom Extension File Uploads a file from your local computer or network to the custom extension repository path of a specified agent.
PUT /assetmgmt/customextensions/{agentId}/file/{path}
Header
Authorization: Bearer {hash string returned from Authentication}
Custom Extensions
133
Body
Specify a form data file. The image below demonstrates how to specify a form data file using Postman.
Model Schemas
Field Datatype Filterable Sortable
Name string
Size long
LastUploadTime DateTime
ParentPath string
isFile boolean
Model Sample Response
{ "TotalRecords": 1, "Result": [ { "Name": "freeSHd.exe", "Size": 0, "LastUploadTime": "2016-11-11T22:31:00.0594523Z", "ParentPath": "tools", "isFile": true, "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Delete Custom Extensions Folder Deletes a folder in an agent's custom extension repository. A repository path in a URL begins with the top folder's name, prefixed with a //. For example, //apps/exe/utilities.
DELETE /assetmgmt/customextensions/{agentId}/{path}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Custom Extensions
134
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Documents and GetFiles
135
Documents and GetFiles In This Chapter
Get Documents 135 Get Document 136 Update Document Folder 136 Update Document 137 Delete Document 138 Rename Document 138 Get Get Files 138 Get File 139 Delete Get File 139 Move Document 140
Get Documents Returns an array of documents from the Audit > Documents page.
GET /assetmgmt/documents/{agentId}/folder/{path}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Name string
Size long
LastUploadTime datetime
ParentPath string
IsFile boolean
C h a p t e r 1 2
Documents and GetFiles
136
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Name": "string", "Size": 0, "LastUploadTime": "2016-03-14T22:19:31.873Z", "ParentPath": "string", "isFile": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Document Returns a document from the Audit > Documents page.
GET /assetmgmt/documents/{agentId}/file/{path}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Update Document Folder Adds documents folder on the Audit > Documents page.
PUT /assetmgmt/documents/{agentId}/folder/{folders}
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Authentication}
Documents and GetFiles
137
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Update Document Uploads a file from your local computer or network to the Audit > Documents page for a specified agent.
PUT /assetmgmt/documents/{agentId}/file/{path}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Body
Specify a form data file. The image below demonstrates how to specify a form data file using Postman.
Model Schema
Field Datatype Filterable Sortable
Name string
Size long
LastUploadTime datetime
ParentPath string
IsFile boolean
Sample Request Model
[ { "Name": "string", "Size": 0, "LastUploadTime": "2016-03-14T22:19:31.866Z", "ParentPath": "string", "isFile": true, "Attributes": {} } ]
Documents and GetFiles
138
Delete Document Deletes a single document on the Audit > Documents page.
DELETE /assetmgmt/documents/{agentId}/{path}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Rename Document Rename a single document on the Audit > Documents page. Enter the existing name of the document in the {source} parameter and the new name in the {destination} parameter.
DELETE /assetmgmt/documents/{agentId}/Rename/{source}/{destination}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
Returns no content.
Get Get Files Returns an array of files on the Agent Procedures > Get File page
GET /assetmgmt/getfiles/{agentId}/folder/{path}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Name string
Size long
LastUploadTime datetime
Documents and GetFiles
139
ParentPath string
IsFile boolean
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Name": "string", "Size": 0, "LastUploadTime": "2016-03-14T22:19:31.873Z", "ParentPath": "string", "isFile": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get File Returns a file from the Agent Procedures > Get File page.
GET /assetmgmt/getfiles/{agentId}/file/{path}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Delete Get File Deletes a file on the Agent Procedures > Get File page.
DELETE /assetmgmt/getfiles/{agentId}/{path}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Documents and GetFiles
140
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Move Document Moves a document from one folder to another folder on the Audit > Documents page.
PUT /assetmgmt/documents/{agentId}/file/Move/{source}/{destination}
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
Name string
Size long
LastUploadTime DateTime
ParentPath string
isFile boolean
Sample Response Model
{ "Name": "string", "Size": 0, "LastUploadTime": "2016-10-26T16:15:14.330Z", "ParentPath": "string", "isFile": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Info Center
141
Info Center In This Chapter
Get All Inbox Messages 141 Set Message as Read 144 Delete Message 145
Get All Inbox Messages Gets all inbox messages from info center.
GET /infocenter/messages
Accepts filter and sort expressions.
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s): 16810
500 Server Error
C h a p t e r 1 3
Info Center
142
Sample Response Model
{ "TotalRecords": 7, "Result": [ { "ID": "17262321222881121253998111", "ToName": "kadmin", "FromName": "Service Desk", "Subject": "The procedure 'Incident is Changed' failed to execute for ticket IN000001.", "Body": "Error processing Procedure Type: Ticket Change Path: aaaaa ProcedureName: Incident is Changed<br/>The action 'Kaseya.Scripting.Statements.StepToken : Failed to validate:SendEmail\r\n\r\nTo: The value must not be empty.\r\n' cannot be performed because of one or more validation errors.<br/><br/>To: The value must not be empty.<br/>", "Created": "2019-04-07T13:52:02.21", "IsRead": false }, { "ID": "25413515812322111919229178", "ToName": "kadmin", "FromName": "Kaseya Support", "Subject": "Kaseya TechJam - Event Log Monitoring", "Body": "<html>\r\n<head>\r\n</head>\r\n<body>\r\n\r\nDoes your use of event log monitoring match up with best practices? How do you know if you are over or under utilizing event log monitoring? In this TechJam, you will learn how to determine your sweet-spot for event log monitoring, and how to use it proactively through the power of VSA automation. \r\n</p>\r\n\r\nRegister today for one of the upcoing sessions at the links below:\r\n</p>\r\n\r\n\r\n<a href=\"https://info.kaseya.com/emea-techjam-security-automation-and-event-log-monitoring.html\" target=\"_blank\">Europe: April 4th at 14:00h GMT / 15:00h CET</a> \r\n<a href=\"https://info.kaseya.com/na-techjam-security-automation-and-event-log-monitoring.html\" target=\"_blank\">\r\nNorth America and APAC: April 4th at 2PM EDT / 11:00AM PDT</a></p>\r\n\r\n<a href=\"https://info.kaseya.com/apac-techjam-security-automation-and-event-log-monitoring.html\" target=\"_blank\">\r\nNorth America and APAC: April 5th at 10:00 am AEDT / 12:00 pm NZDT</a></p>\r\n\r\n\r\nWe look forward to seeing you online!\r\n</p>\r\n\r\nBest Regards,<br>\r\nThe Kaseya Team!\r\n</p>\r\n</body>\r\n</html>", "Created": "2019-04-02T16:58:34.867", "IsRead": true }, { "ID": "37147412532138271745424563", "ToName": "kadmin", "FromName": "Service Desk", "Subject": "The procedure 'Incident is Changed' failed to execute for ticket IN000001.", "Body": "Error processing Procedure Type: Ticket Change Path: aaaaa ProcedureName: Incident is Changed<br/>The action 'Kaseya.Scripting.Statements.StepToken : Failed to validate:SendEmail\r\n\r\nTo: The value must not be empty.\r\n' cannot be performed because of one or more validation errors.<br/><br/>To: The value must not be empty.<br/>", "Created": "2019-04-08T13:51:53.087",
Info Center
143
"IsRead": true }, { "ID": "51249121712819875514821419", "ToName": "kadmin", "FromName": "Service Desk", "Subject": "The procedure '' failed to execute for ticket IN000001.", "Body": "The type initializer for 'Kaseya.Scripting.Manager' threw an exception.<br/>Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.", "Created": "2019-04-05T13:54:49.297", "IsRead": false }, { "ID": "61971213217683129242261561", "ToName": "kadmin", "FromName": "Service Desk", "Subject": "The procedure 'Incident is Changed' failed to execute for ticket IN000001.", "Body": "Error processing Procedure Type: Ticket Change Path: aaaaa ProcedureName: Incident is Changed<br/>The action 'Kaseya.Scripting.Statements.StepToken : Failed to validate:SendEmail\r\n\r\nTo: The value must not be empty.\r\n' cannot be performed because of one or more validation errors.<br/><br/>To: The value must not be empty.<br/>", "Created": "2019-04-06T13:52:11.527", "IsRead": false }, { "ID": "76881592185164141942247122", "ToName": "kadmin", "FromName": "Service Desk", "Subject": "The procedure 'Incident is Changed' failed to execute for ticket IN000001.", "Body": "Error processing Procedure Type: Ticket Change Path: aaaaa ProcedureName: Incident is Changed<br/>The action 'Kaseya.Scripting.Statements.StepToken : Failed to validate:SendEmail\r\n\r\nTo: The value must not be empty.\r\n' cannot be performed because of one or more validation errors.<br/><br/>To: The value must not be empty.<br/>", "Created": "2019-04-05T13:52:36.77", "IsRead": false }, { "ID": "82718153169143121923572249", "ToName": "kadmin", "FromName": "Service Desk", "Subject": "New Ticket created",
Info Center
144
"Body": "<i><b>The following message could not be delivered to the pool 'Tier1Support' because the pool does not contain any users.</b></i><br/><br/><DIV xmlns=\"http://www.w3.org/1999/xhtml\">\r\n\t\t\t\t\tIncident: <a href='https://tristan2016.dev.kaseya.net:443/vsaPres/Web20/core/KHome.aspx?firstIn=true&activeId=18010&activeAction=View&ticId=IN000001' target='_blank'>IN000001</a><BR />\r\n\t\t\t\t\tSummary: bbbbb<BR />\r\n\t\t\t\t\tStatus: New<BR />\r\n\t\t\t\t\tPriority: Low<BR />\r\n\t\t\t\t\tSubmitter: kadmin<BR />\r\n\t\t\t\t\t<BR />\r\n\t\t\t\t\tDescription:<BR />\r\n\t\t\t\t\t<BR />\r\n\t\t\t\t\t<BR />\r\n\t\t\t\t\tPlease take action as soon as possible.\r\n\t\t\t\t</DIV>", "Created": "2019-04-05T13:52:19.473", "IsRead": false } ], "ResponseCode": 200, "Status": "OK", "Error": "None" }
Set Message as Read Sets the IsRead field on messages.
PUT /infocenter/messages/{isRead}
Does not accept filter and sort expressions.
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s): 16810, 16807, 16808
500 Server Error
Sample Body Model
{ [ 123, 465, 789 ] }
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Info Center
145
Delete Message Deletes a message.
DELETE /infocenter/messages/{messageID}
Does not accept filter and sort expressions.
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s): 16810, 16806
500 Server Error
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Logs
147
Logs In This Chapter
Get Agent Log 147 Get Agent Procedure Log 148 Get Alarm Log 149 Get Configuration Changes Log 149 Get Legacy Remote Control Log 150 Get Monitor Action Log 151 Get Network Statistics Log 151 Get Kaseya Remote Control Log 152 Get Application Event Log 153 Get Directory Services Event Log 154 Get DNS Server Event Log 155 Get Internet Explorer Event Log 156 Get Security Event Log 157 Get System Event Log 158 Get Log Monitoring Log 159 Add Live Connect Audit Log Entry 160
Get Agent Log Returns an array of agent log entries.
GET /assetmgmt/logs/{agentguid}/agent
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Time datetime
Event string
C h a p t e r 1 4
Logs
148
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Time": "2016-03-14T22:19:31.885Z", "Event": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Agent Procedure Log Returns an array of agent procedure log entries.
GET /assetmgmt/logs/{agentguid}/agentprocedure
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
LastExecution datetime
ProcedureHistory string
Status string
Admin string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "LastExecution": "2016-03-14T22:19:31.888Z", "ProcedureHistory": "string", "Status": "string", "Admin": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Logs
149
Get Alarm Log Returns an array of alarm log entries.
GET /assetmgmt/logs/{agentguid}/alarms
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Time datetime
Event string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Time": "2016-03-14T22:19:31.885Z", "Event": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Configuration Changes Log Returns an array of configuration changes log entries.
GET /assetmgmt/logs/{agentguid}/configurationchanges
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Time datetime
Event string
Logs
150
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Time": "2016-03-14T22:19:31.885Z", "Event": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Legacy Remote Control Log Returns an array of legacy remote control log entries.
GET /assetmgmt/logs/{agentguid}/legacyremotecontrol
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Time datetime
Type int
Duration int
Admin string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "StartTime": "2016-03-14T22:19:31.907Z", "LastActiveTime": "2016-03-14T22:19:31.907Z", "SessionType": 0, "Admin": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Logs
151
Get Monitor Action Log Returns an array of monitor action log entries.
GET /assetmgmt/logs/{agentguid}/monitoractions
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
Time datetime
SNMPDevice string
Type int
Message string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "Time": "2016-03-14T22:19:31.900Z", "SNMPDevice": "string", "Type": 0, "Message": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Network Statistics Log Returns an array of network statistics log entries.
GET /assetmgmt/logs/{agentguid}/networkstats
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
NetworkStatID int
Time datetime
Logs
152
Application string
BytesSent int
BytesRcvd int
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "NetworkStatId": 0, "Time": "2016-03-14T22:19:31.904Z", "Application": "string", "BytesSent": 0, "BytesRcvd": 0 } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Kaseya Remote Control Log Returns an array of network statistics log entries.
GET /assetmgmt/logs/{agentguid}/remotecontrol
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
StartTime datetime
LastActiveTime datetime
SessionType int
Admin string
Logs
153
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "StartTime": "2016-03-14T22:19:31.907Z", "LastActiveTime": "2016-03-14T22:19:31.907Z", "SessionType": 0, "Admin": "string" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Application Event Log Returns an array of application event log entries.
GET /assetmgmt/logs/{agentId}/eventlog/application
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
EventId int
User user
Category string
Source string
Type string
Time datetime
Logs
154
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "EventId": 0, "User": "string", "Category": "string", "Source": "string", "Type": "string", "Time": "2016-03-14T22:19:31.911Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Directory Services Event Log Returns an array of directory service event log entries.
GET /assetmgmt/logs/{agentId}/eventlog/directoryservice
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
EventId int
User user
Category string
Source string
Type string
Time datetime
Logs
155
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "EventId": 0, "User": "string", "Category": "string", "Source": "string", "Type": "string", "Time": "2016-03-14T22:19:31.911Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get DNS Server Event Log Returns an array of DNS server event log entries.
GET /assetmgmt/logs/{agentId}/eventlog/dnsserver
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
EventId int
User user
Category string
Source string
Type string
Time datetime
Logs
156
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "EventId": 0, "User": "string", "Category": "string", "Source": "string", "Type": "string", "Time": "2016-03-14T22:19:31.911Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Internet Explorer Event Log Returns an array of Internet Explorer event log entries.
GET /assetmgmt/logs/{agentId}/eventlog/internetexplorer
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
EventId int
User user
Category string
Source string
Type string
Time datetime
Logs
157
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "EventId": 0, "User": "string", "Category": "string", "Source": "string", "Type": "string", "Time": "2016-03-14T22:19:31.911Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Security Event Log Returns an array of security event log entries.
GET /assetmgmt/logs/{agentId}/eventlog/security
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
EventId int
User user
Category string
Source string
Type string
Time datetime
Logs
158
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "EventId": 0, "User": "string", "Category": "string", "Source": "string", "Type": "string", "Time": "2016-03-14T22:19:31.911Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get System Event Log Returns an array of system log entries.
GET /assetmgmt/logs/{agentId}/eventlog/system
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
EventId int
User user
Category string
Source string
Type string
Time datetime
Logs
159
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "EventId": 0, "User": "string", "Category": "string", "Source": "string", "Type": "string", "Time": "2016-03-14T22:19:31.911Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Log Monitoring Log Returns an array of log monitoring log entries.
GET /assetmgmt/logs/{agentId}/logmonitoring
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
EventId int
User user
Category string
Source string
Type string
Time datetime
Logs
160
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "EventId": 0, "User": "string", "Category": "string", "Source": "string", "Type": "string", "Time": "2016-03-14T22:19:31.911Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Live Connect Audit Log Entry Adds a Live Connect audit log entry.
PUT /assetmgmt/agent/{agentId}/KLCAuditLogEntry
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
UserName string
AgentName string
LogMessage string
Sample Request Model
{ "UserName": "string", "AgentName": "string", "LogMessage": "string", "Attributes": {} }
Cloud Backup
161
Cloud Backup Cloud Backup provides backup and recovery of physical and virtual machines, files, and databases to local or cloud storage. Cloud Backup installs an Acronis Backup Service client on agent machines that enables backups to be uploaded to a selected Acronis data center or local storage location. You manage restores for client machines using the Acronis Backup Service website.
In This Chapter
Get Cloud Backup Servers 161 Get Cloud Backup Virtual Machine 161 Get Cloud Backup Workstations 162
Get Cloud Backup Servers Returns the backup status of each physical server installed with Cloud Backup.
GET /kcb/servers
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "830403000030949": "KCB_BackupStatus_NotScheduled", "928520795057310": "KCB_BackupStatus_Successful" }
Get Cloud Backup Virtual Machine Returns the backup status of each virtual machine installed with Cloud Backup.
GET /kcb/virtualmachines
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": {}, "ResponseCode": 0, "Status": "string", "Error": "string" }
C h a p t e r 1 5
Cloud Backup
162
Get Cloud Backup Workstations Returns the backup status of each physical workstation installed with Cloud Backup.
GET /kcb/workstations
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": {}, "ResponseCode": 0, "Status": "string", "Error": "string" }
Core
163
Core Core resources are "global" across the entire VSA.
In This Chapter
Get Authentication 163 Get SessionID 164 Get Echo 165 Get Echo Authentication 165 Test SSL 166 Get Environment 166 Get Functions 166 Get Functions for Module 167 Is Module Installed 168 Get Tenant 168 Send Email 169 Add Notification 170
Get Authentication Authenticates the API username and password, so that subsequent API requests for the same session can be processed using the returned TenantId and Token.
GET /auth
Does not accept filter and sort expressions (page 12).
Headers
username: VSA admin username
password: VSA admin password
C h a p t e r 1 6
Core
164
Model Schema
Sample Response Model
{ "Result": { "TenantId": "1", "Token": "90151280", "UserName": "kadmin", "RoleId": 2, "ScopeId": "2", "AdminId": 55957651, "MachineId": null, "MachineGroupName": null, "SessionExpiration": "2019-03-21T11:33:04.833", "CultureInfo": "en-US", "TimePref": "Browser", "OffSetInMinutes": 420, "ApiToken": "MC5NTlJ6UmsvSnZrby9XQTZFc3dBcnp6WTRZNWdmQ0lwRXVaSXFEZUV4OHoxWEVoa3BVU0xUTzJid28yQnJseXRlZVNqN3g3MUhmQ1RaYjB3Y1BlVGxLQT09", "Attributes": null }, "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get SessionID If you already have a sessionId from a different source, you can use your existing sessionID to create new sessionIDs. Subsequent API requests for the can be processed using the returned TenantId and
Token.
GET /authx
Does not accept filter and sort expressions (page 12).
Headers
username: VSA admin username
password: VSA admin password
Core
165
Model Schema
Sample Response Model
{ "Result": { "TenantId": "1", "Token": "90151280", "UserName": "kadmin", "RoleId": 2, "ScopeId": "2", "AdminId": 55957651, "MachineId": null, "MachineGroupName": null, "SessionExpiration": "2019-04-29T11:28:51.69", "CultureInfo": "en-US", "TimePref": "Browser", "OffSetInMinutes": 480, "ApiToken": "MC5TelF5NXJVZnVLUFpDdFNzdmVGNHI3TnJFTXNvb1lVTHI0K29JSDZnVnZYZ1N5cmlzVE1qb3VxZWQ1V2xscUdhVDRlVlZRSmY0djY4VklKalFyOGZNQT09", "CorrelationId": "dcc341d7f2", "Attributes": null }, "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Echo Tests for connectivity with a Kaseya REST API website. Authentication is not required.
GET /echo
Does not accept filter and sort expressions (page 12).
Sample Response Model
{}
Get Echo Authentication Tests authentication with the <RA> website.
GET /echoauth
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{}
Core
166
Test SSL Tests for connectivity with an SSL-enabled Kaseya REST API website. Authentication is not required.
GET /echo
Does not accept filter and sort expressions (page 12).
Sample Response Model
{}
Get Environment Returns system-wide properties of the VSA. No authentication is required.
GET /environment
Does not accept filter and sort expressions (page 12).
Model Schema
Field Datatype Filterable Sortable
SystemVersion string
PatchLevel string
CustomerID string
TimeZoneOffset int
Attributes object
Sample Response Model
{ "Result": { "SystemVersion": "string", "PatchLevel": "string", "CustomerID": "string", "TimeZoneOffset": 0, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Functions Returns a count and array of all function IDs.
GET /functions
Accepts filter and sort expressions (page 12).
Core
167
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field DataType Filterable Sortable
TotalRecords int
Result int
ResponseCode int
Status string
Error string
Sample Response Model
{ "TotalRecords": 2231, "Result": [ 2, 3, 5, ... 900135, 900136, 900137 ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Functions for Module Returns a count and array of all function IDs for a specified module ID.
GET /functions/{moduleId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field DataType Filterable Sortable
TotalRecords int
Result int
ResponseCode int
Status string
Error string
Core
168
Sample Response Model
{ "TotalRecords": 2231, "Result": [ 2, 3, 5, ... 900135, 900136, 900137 ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Is Module Installed Returns true or false, based on whether the specified module ID is installed.
GET /ismoduleinstalled/{moduleId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Tenant Returns properties for the tenant partition your API authentication (page 1) provides access to in the VSA.
GET /tenant
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Core
169
Model Schema
Field Datatype Filterable Sortable
Id decimal
Ref string
Type string
TimeZoneOffset int
Attributes object
Sample Response Model
{ "Result": { "TenantId": 0, "Ref": "string", "Type": "string", "TimeZoneOffset": 0, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Send Email Sends an email to a specified recipient.
POST /email
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schema
Field Datatype Filterable Sortable
FromAddress string
ToAddress string
Subject string
Body string
IsBodyHtmltrue boolean
Priority int
UniqueTag string
Attributes array
Core
170
Sample Request Model
{ "FromAddress": "string", "ToAddress": "string", "Subject": "string", "Body": "string", "IsBodyHtml": true, "Priority": 0, "UniqueTag": "string", "Attributes": {} }
Add Notification Adds a single notification record.
POST /notification
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Minimum Body Data Required
{ "Title": "string", "Body": "string", }
Model Schema
Field Datatype Filterable Sortable
Title string
Body string
Attributes object
Sample Request Model
{ "Title": "string", "Body": "string", "Attributes": {} }
Departments
171
Departments Departments are human resource groups defined within an organization. Examples are IT, Sales or
Accounting. Within the VSA each organization must have at least one department. The default
department for an organization is root. All staff (page 263) members are defined by the department they
belong to. You can define multi-level hierarchies of departments by identifying a parent department for a department. You can reassign a staff member to any other department within the same organization.
In This Chapter
Get Departments 171 Get Department 172 Add Department 173 Update Department 174 Delete Department 174
Get Departments Returns an array of department records for a specified organization.
GET /system/orgs/{orgId}/departments
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
DepartmentId decimal
DepartmentName string
ParentDepartmentId decimal
ManagerId decimal
OrgId decimal
DepartmentRef string
Attributes object
C h a p t e r 1 7
Departments
172
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "DepartmentId": 0, "DepartmentName": "string", "ParentDepartmentId": 0, "ManagerId": 0, "OrgId": 0, "DepartmentRef": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Department Returns a single department record for a specified department.
GET /system/departments/{deptId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
DepartmentId decimal
DepartmentName string
ParentDepartmentId decimal
ManagerId decimal
OrgId decimal
DepartmentRef string
Attributes object
Departments
173
Sample Response Model
{ "Result": { "DepartmentId": 0, "DepartmentName": "string", "ParentDepartmentId": 0, "ManagerId": 0, "OrgId": 0, "DepartmentRef": "string", "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Department Adds a single department record to a specified organization.
POST /system/orgs/{orgId}/departments
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
DepartmentId decimal
DepartmentName string
ParentDepartmentId decimal
ManagerId decimal
OrgId decimal
DepartmentRef string
Attributes object
Sample Request Model
{ "DepartmentId": 0, "DepartmentName": "string", "ParentDepartmentId": 0, "ManagerId": 0, "OrgId": 0, "DepartmentRef": "string", "Attributes": {} }
Departments
174
Update Department Updates a single department record.
PUT /system/departments/{departmentId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Body Data
DepartmentId is required in the body of the message. Include additional fields and values to be
updated.
{ "DepartmentId":1, "DepartmentName":"Engineering", }
Model Schema
Field Datatype Filterable Sortable
DepartmentId decimal
DepartmentName string
ParentDepartmentId decimal
ManagerId decimal
OrgId decimal
DepartmentRef string
Attributes object
Sample Request Model
{ "DepartmentId": 0, "DepartmentName": "string", "ParentDepartmentId": 0, "ManagerId": 0, "OrgId": 0, "DepartmentRef": "string", "Attributes": {} }
Delete Department Deletes a single department record.
DELETE /system/departments/{departmentId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Departments
175
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Machine Groups
177
Machine Groups Each asset (page 79) must be a member of a machine group. Each organization (page 203) must have at
least one machine group. The default machine group is root. You can define multi-level hierarchies of
machine groups by identifying a parent machine group for a machine group.
In This Chapter
Get Machine Groups 177 Get Machine Group 178 Get Machine Groups in Organization 179 Add Machine Group 180 Update Machine Group 180 Delete Machine Group 181
Get Machine Groups Returns an array of machine group records for all organizations.
GET /system/machinegroups
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
MachineGroupId decimal
MachineGroupName string
ParentMachineGroupId decimal
OrgId decimal
Attributes object
C h a p t e r 1 8
Machine Groups
178
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "MachineGroupId": 0, "MachineGroupName": "string", "ParentMachineGroupId": 0, "OrgId": 0, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Machine Group Returns one machine group record.
GET /system/machinegroups/{machineGroupId}
Does not accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
MachineGroupId decimal
MachineGroupName string
ParentMachineGroupId decimal
OrgId decimal
Attributes object
Machine Groups
179
Sample Response Model
{ "Result": [ { "MachineGroupId": 0, "MachineGroupName": "string", "ParentMachineGroupId": 0, "OrgId": 0, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Machine Groups in Organization Returns an array of machine group records for an organization ID.
GET /system/orgs/{orgId}/machinegroups
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
MachineGroupId decimal
MachineGroupName string
ParentMachineGroupId decimal
OrgId decimal
Attributes object
Machine Groups
180
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "MachineGroupId": 0, "MachineGroupName": "string", "ParentMachineGroupId": 0, "OrgId": 0, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Machine Group Adds a single machine group record to a specified organization.
POST /system/orgs/{orgId}/machinegroups
Does not accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
MachineGroupId decimal
MachineGroupName string
ParentMachineGroupId decimal
OrgId decimal
Attributes object
Sample Request Model
{ "MachineGroupId": 0, "MachineGroupName": "string", "ParentMachineGroupId": 0, "OrgId": 0, "Attributes": {} }
Update Machine Group Updates a single machine group record.
Machine Groups
181
PUT /system/machinegroups/{machineGroupId}
Does not accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Body Data
MachineGroupId is required in the body of the message. Include additional fields and values to be
updated.
{ "MachineGroupId":1, "MachineGroupName":"Sales", }
Model Schema
Field Datatype Filterable Sortable
MachineGroupId decimal
MachineGroupName string
ParentMachineGroupId decimal
OrgId decimal
Attributes object
Sample Request Model
{ "MachineGroupId": 0, "MachineGroupName": "string", "ParentMachineGroupId": 0, "OrgId": 0, "Attributes": {} }
Delete Machine Group Deletes a single machine group record.
DELETE /system/machinegroups/{machineGroupId}
Does not accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Navigation
183
Navigation In This Chapter
Get Modules TAP 183 Get Modules 186 Get Title and Icon 189 Get Agent Status 190 Get Admin Activity 190 Get Alert 191 Get Notifications 192 Get Classic UI 197 Change Role 198 Change Scope 198 Set Alert as Read 199 Update Notification 199 Perform Notification 200 Delete Alert 201 Delete Notification 202
Get Modules TAP Gets a list of TAP Modules, Folders, and Pages if a user is authorized to see the left side navigation.
GET /navigation/modulestap
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
500 Server Error
C h a p t e r 1 9
Navigation
184
Sample Response Model
{ "Result": [ { "Name": "Basic Tap", "Description": "",
Navigation
185
"ImageSource": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZEsRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTsAIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQdli7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtFehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGXwzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNFhImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH554SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJVgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyCqbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiEj6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhGfDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFpB+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJyeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJCYVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQlnyfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48vvacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0CvpvfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15LWytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AAbWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0zllmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHWztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5sxybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPwYyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmRXVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNmWS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wlxqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33zaEb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2vTqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqbPhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h/HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavrXTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxSfNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOwgAADsIBFShKgAAAA11JREFUWEftVktIlFEUvivB9i0iokW0i6CIdm2CgiJatKnIMq0xzczXok0h5ULoQUElEQSShlFalpqvLPJR45gKiqj4zHfmW0qnGT195z7+GWfUUQxaNB9c/vs4957vO/eeMyPoHyNIIEggSGDVBDIcg7TrTg2llXbJ8ZfuSSppHZX99SAgge8zTtp8vZJEZAGJU2/0LNH21CoSEZg7m08isYwOPW6g9Oo+GoH9WrAigXPPm0mceUsirpRE1Du6qdXPOt2YZ8fvSSSVkYhX6+I0bI++VLbl3fTbPS/tV8KSBOr6pkhcKiERXSTViQS02BK9SnTkUb1av6wdIxIH0+sop2FYW3gwNeui0pZRelDRS91js3rWAz8C4dladTycJkEhqzxfSM9qB+X6j2kniRN5MvSbrn2iTLwNAycUZ8Mu7GkTbUmpkPtEOCJlA8kLEMNXBjEJeW00v7Ag9ywisOHKB2XIqtk5N1YPpQYhWNt9y04DE3N6huhqQTuFJJcr4rw/tlhFx/sc01gYR81WJPdaBGS44xBW3w0wfvK5X9q0j/ykxv5p2W/ANe25bVf3Hg2H/A44WvJd6K9335oDAeyp71PnSAI7oUiyNk5NY/Ug5otQPuhYrlLLNsYBN99+gv7KppyXtY3pkzQBucAKzEazGc5TizqloQN53zigWDNqMN5//6v
Navigation
186
KBo4eEzH7zNc0HvM6rqiqa0KfoCAJfOwYJxGGUFp3hi/38dAMxEn18MTFYkp+1aZnFVIKO1Q0+G5NRLyJ8HuILKTO0V96hwfWG8iqG1L3aZTAkQ0ZwUjMbSURo6+I17kPNYeRjlwTDDLsAyqS/PoNEb5aPDzX/NI1wSLAsPdMqorHjOHAShVWZqJjKcMYtYEjF57ZJO0MshwgAgEcsa2omCthEQGGy70gi8y+e7VynIviImxQ5BtW66sjAtVs642Hlb26tzz8CBj0jKn72pFWrUqxn2OfPocchWbbjUoamvLUiEBYloCBOP5alV3j0Luxc6uBACpeKIpZ77h/yV0OAQkwZJ3gDJDVTTu3SMAxE0TJTSlWKbsWrIoAo+bbJG1E7RcRKhWlU5kN+bT3roPmXIF/+ZbCqgkYNA/PUExOCx1ACka9aJH/F9aDNRP42wgSCBL43wkQ/QFzpB5G2mLGTwAAAABJRU5ErkJggg==", "FuncListID": "897fe55a-1e8c-412e-91df-20bce2a6ffc3", "Folders": [ { "Name": "Operations", "Description": "", "FuncListID": "4e1b049d-43f3-41eb-aef7-c8b578a72531", "Items": [ { "Name": "Home", "Description": "", "FuncListID": "57cd0e26-5677-45aa-a70d-1ddeb0cad435" }, { "Name": "Agents", "Description": "", "FuncListID": "85158591-c030-494a-b970-e6ce6f8d4b35" }, { "Name": "Assets", "Description": "", "FuncListID": "4b22854d-c152-438d-a56b-72631836fcd8" } ] } ] } ], "ResponseCode": 200, "Status": "OK", "Error": "None" }
Get Modules Gets the list of Modules, Folders, and Pages if a user is authorized to see the left side navigation.
GET /navigation/modules
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Navigation
187
Response Code Status
200 OK
500 Server Error
Navigation
188
Sample Response Model
{ "Result": [ { "Name": "Service Desk", "Description": "Service Desk", "FuncListID": 18, "ImageUrl": "images/moduleIcons/service-desk.svg", "Folders": [ { "Name": "Operations", "Description": "Maintain service desk tickets", "FuncListID": 18001, "Items": [ { "Name": "Tickets", "Description": "Maintain tickets", "FuncListID": 18010, "HelpLink": "http://help.kaseya.com/WebHelp/EN/KSD/9050000/index.asp#3646.htm" }, { "Name": "Organization Tickets", "Description": "Maintains tickets for an organization", "FuncListID": 18050, "HelpLink": "http://help.kaseya.com/WebHelp/EN/KSD/9050000/index.asp#7470.htm" }, { "Name": "Tasks Associated With Tickets", "Description": "Maintain tasks", "FuncListID": 18060, "HelpLink": "http://help.kaseya.com/WebHelp/EN/KSD/9050000/index.asp#7471.htm" }, { "Name": "Archived Tickets", "Description": "Maintain archived tickets", "FuncListID": 18011, "HelpLink": "http://help.kaseya.com/WebHelp/EN/KSD/9050000/index.asp#3648.htm" }, { "Name": "Knowledge Base", "Description": "View Knowledge Base Articles", "FuncListID": 18012, "HelpLink": "http://help.kaseya.com/WebHelp/EN/KSD/9050000/index.asp#4641.htm" }, { "Name": "Search All", "Description": "Searches all types of service desk articles", "FuncListID": 18005, "HelpLink": "http://help.kaseya.com/WebHelp/EN/KSD/9050000/index.asp#4640.htm"
Navigation
189
} ] }, { "Name": "Common Configuration", "Description": "Configure service desk", "FuncListID": 18002, "Items": [ { "Name": "User Preferences", "Description": "Set ticket preferences by user", "FuncListID": 18021, "HelpLink": "http://help.kaseya.com/WebHelp/EN/KSD/9050000/index.asp#3652.htm" } ] } ] } ], "ResponseCode": 200, "Status": "OK", "Error": "None" }
Get Title and Icon Gets a title and icon for the VSA partition associated with the current user.
GET /navigation/header
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
500 Server Error
Sample Response Model
{ "Result": { "ImageUrl": "themes/default/images/2008logo.gif", "HeaderTitle": "Enterprise Edition****" }, "ResponseCode": 200, "Status": "OK", "Error": "None" }
Navigation
190
Get Agent Status Gets an online/offline status for several types of agents.
GET /navigation/header/agentsstatus
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s):710076
500 Server Error
Sample Response Model
{ "Result": { "TotalOnlineAgentCount": 1, "OnlinePermanentAgentCount": 1, "OnlineTemporaryAgentCount": 0, "TotalOfflineAgentCount": 0, "OfflinePermanentAgentCount": 0, "OfflineTemporaryAgentCount": 0, "TotalKNMAssetCount": 0, "TotalLicensedCount": 1, "TotalNeverCheckedInCount": 0 }, "ResponseCode": 200, "Status": "OK", "Error": "None" }
Get Admin Activity Gets an information about recent admin activity.
GET /navigation/header/onlineadmins
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Navigation
191
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s):10223
500 Server Error
Sample Response Model
{ "Result": [ { "AdminName": "string", "AdminIP": "string", "SecondsUntilExpiration": 0, "SecondsWithoutActivity": 0, "LastActivity": "2019-03-26T18:56:28.795Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Alert Gets an alert for a user.
GET /navigation/header/alerts
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s):710077
500 Server Error
Navigation
192
Sample Response Model
{ "Result": [ { "ID": "54145893822813515322915234", "Title": "Apr 25 2019 7:59PM", "Subject": "Recovered Objects", "Body": "Hidden Tree Objects have been recovered", "CreationDate": "2019-04-25T19:59:06.503", "IsRead": false, "AlertType": 99 }, { "ID": "71858722467635211571713919", "Title": "Apr 25 2019 7:59PM", "Subject": "Recovered Objects", "Body": "Hidden Tree Objects have been recovered", "CreationDate": "2019-04-25T19:59:06.05", "IsRead": false, "AlertType": 99 } ], "ResponseCode": 200, "Status": "OK", "Error": "None" }
Get Notifications Gets all notifications including server notifications if user's role is Master.
GET /navigation/header/notifications
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s):710077
500 Server Error
Navigation
193
Sample Response Model 1
{ "Result": [ { "ID": 0, "MessagePriority": 0, "MessageSubject": "string", "MessageBody": "string", "MessageType": 0, "MessageTypeName": "string", "CreationDate": "2019-04-05T17:18:16.642Z", "MessageData": { "Count": 0, "AgentGuids": [ 0 ], "CurrentAgentVersion": "string", "LatestAgentVersion": "string", "CurrentKlcVersion": "string", "LatestKlcVersion": "string", "DbMaxLimit": "string", "DbSize": "string", "DriveLetter": "string", "FreeSpaceNeeded": "string", "FreeDiskSpace": "string", "DbBackupPath": "string", "MasterCollation": "string", "KsubscriberCollation": "string", "SqlServicePack": "string", "SqlServerMaxMemory": 0, "AvailableMemory": 0, "RecommendedMaxMemory": 0, "NetworkName": "string", "AgentGuid": 0, "DefaultGateway": "string", "SubnetMask": "string", "NMapMask": "string", "KaseyaServices": [ { "Id": "string", "Name": "string", "Status": "string" } ], "DomainName": "string", "Users": [ "string" ], "StorageUsed": 0, "StorageThreshold": 0, "BmsiSyncConfgInactiveIds": [ 0 ] }, "TAPMessageData": {
Navigation
194
"Message": "string", "Title": "string", "Link": "string", "Id": "string", "RedirectUrl": "string", "NavigateTo": "string" }, "StandardSolutionPackageData": { "PartitionId": 0, "OrganizationId": 0, "ContentPackId": 0, "SkipPolicyImportProcess": true, "MessageTypeId": 0, "PartnerUserId": 0, "AdminId": 0, "LanguageId": 0, "TransactionId": 0, "UserName": "string", "FailureReason": 0 }, "BMSISyncConfigurations": [ { "OrgRef": "string", "Company": "string", "Status": 0 } ], "AtAgentLicenseLimitButNotOver": true, "DetectedNetwork": { "DisplayName": "string", "OnlineStatus": 0, "NetworkName": "string", "NetworkAddress": "string", "NetworkDefaultGateway": "string", "NetworkSubnetMask": "string" }, "IsSystemNotification": true, "IsRead": true } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Sample Response Model 2
{ "Result": [ { "ID": "222416359801974", "MessagePriority": 0, "MessageSubject": null, "MessageBody": null, "MessageType": 43, "MessageTypeName": "VSAPatchLevelCheckMessage",
Navigation
195
"CreationDate": "2019-04-03T16:44:11.85", "MessageData": null, "TAPMessageData": null, "StandardSolutionPackageData": null, "BMSISyncConfigurations": null, "AtAgentLicenseLimitButNotOver": false, "DetectedNetwork": null, "IsSystemNotification": true, "IsRead": true }, { "ID": "462756344518976", "MessagePriority": 0, "MessageSubject": null, "MessageBody": null, "MessageType": 36, "MessageTypeName": "OutboundEmailDisabledMessage", "CreationDate": "2018-09-28T16:50:00.763", "MessageData": null, "TAPMessageData": null, "StandardSolutionPackageData": null, "BMSISyncConfigurations": null, "AtAgentLicenseLimitButNotOver": false, "DetectedNetwork": null, "IsSystemNotification": true, "IsRead": false }, { "ID": "628156629310993", "MessagePriority": 0, "MessageSubject": null, "MessageBody": null, "MessageType": 19, "MessageTypeName": "SQLMemoryLowMessage", "CreationDate": "2018-09-28T16:50:00.7", "MessageData": { "Count": 0, "AgentGuids": [], "CurrentAgentVersion": null, "LatestAgentVersion": "", "CurrentKlcVersion": null, "LatestKlcVersion": "", "DbMaxLimit": "", "DbSize": "", "DriveLetter": "", "FreeSpaceNeeded": "", "FreeDiskSpace": "", "DbBackupPath": "", "MasterCollation": "", "KsubscriberCollation": "", "SqlServicePack": "", "SqlServerMaxMemory": 2046, "AvailableMemory": 2046, "RecommendedMaxMemory": 46, "NetworkName": "",
Navigation
196
"AgentGuid": "0", "DefaultGateway": "", "SubnetMask": "", "NMapMask": "", "KaseyaServices": [], "DomainName": "", "Users": [], "StorageUsed": "0", "StorageThreshold": "0", "BmsiSyncConfgInactiveIds": [] }, "TAPMessageData": null, "StandardSolutionPackageData": null, "BMSISyncConfigurations": null, "AtAgentLicenseLimitButNotOver": false, "DetectedNetwork": null, "IsSystemNotification": true, "IsRead": false }, { "ID": "659710921142115", "MessagePriority": 0, "MessageSubject": null, "MessageBody": null, "MessageType": 5, "MessageTypeName": "SQLTraceIsEnabledMessage", "CreationDate": "2019-03-22T15:47:07.583", "MessageData": null, "TAPMessageData": null, "StandardSolutionPackageData": null, "BMSISyncConfigurations": null, "AtAgentLicenseLimitButNotOver": false, "DetectedNetwork": null, "IsSystemNotification": true, "IsRead": false }, { "ID": "372564273920173", "MessagePriority": 0, "MessageSubject": null, "MessageBody": null, "MessageType": 3, "MessageTypeName": "AgentNeedsUpgradeMessage", "CreationDate": "2019-04-02T14:49:52.053", "MessageData": { "Count": 1, "AgentGuids": [ "323682356031518" ], "CurrentAgentVersion": null, "LatestAgentVersion": "9050010", "CurrentKlcVersion": null, "LatestKlcVersion": "6050000", "DbMaxLimit": "", "DbSize": "",
Navigation
197
"DriveLetter": "", "FreeSpaceNeeded": "", "FreeDiskSpace": "", "DbBackupPath": "", "MasterCollation": "", "KsubscriberCollation": "", "SqlServicePack": "", "SqlServerMaxMemory": 0, "AvailableMemory": 0, "RecommendedMaxMemory": 0, "NetworkName": "", "AgentGuid": "0", "DefaultGateway": "", "SubnetMask": "", "NMapMask": "", "KaseyaServices": [], "DomainName": "", "Users": [], "StorageUsed": "0", "StorageThreshold": "0", "BmsiSyncConfgInactiveIds": [] }, "TAPMessageData": null, "StandardSolutionPackageData": null, "BMSISyncConfigurations": null, "AtAgentLicenseLimitButNotOver": false, "DetectedNetwork": null, "IsSystemNotification": false, "IsRead": true } ], "ResponseCode": 200, "Status": "OK", "Error": "None" }
Get Classic UI Gets whether the Classic UI is enabled or not for the current user/partition.
GET /navigation/classicenabled
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
500 Server Error
Navigation
198
Sample Response Model
{ "Result": false, "ResponseCode": 200, "Status": "OK", "Error": "None" }
Change Role Changes the current user`s role.
PUT /navigation/role/{roleID}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
500 Server Error
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Change Scope Changes the current user's scope.
PUT /navigation/scope/{scopeID}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
500 Server Error
Navigation
199
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Set Alert as Read Sets the IsRead field on alerts.
PUT /navigation/header/alerts/isread/{bool}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
400 Bad Request
403 Unauthorized - Need access to FID(s): 710077
404 IDs not found
500 Server Error
Sample Body Model
[ 123, 465, 789 ]
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Update Notification Modifies properties of notifications.
PUT /navigation/header/notifications
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Navigation
200
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s): 710077
404 IDs not found
500 Server Error
Sample Body Model
[ { "ID" : 500536841014654, "HoursToSnoozeFor" : 2 }, { "ID" : 628156629310993, "IsRead" : true }, { "ID" : 569761681651654, "IsRead" : true, "HoursToSnoozeFor" : 2 }, ]
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Perform Notification Performs an action related to a notification. This could be anything from starting a service to downloading a content pack.
POST /navigation/header/notifications/{notificationID}/performaction
Does not accept filter and sort expressions (page 12).
Note: Only applicable for the following message types:
NewNetworkDetectedMessage (2)
InstallStandardSolutionPackageMessage (34)
StandardSolutionPackageFailedMessage (35)
KaseyaServicesMessage (37)
Headers
Authorization: Bearer {hash string returned from Auth}
Navigation
201
Response Codes
The table below explains each response code.
Response Code Status
200 OK
500 Server Error
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Delete Alert Removes an alerts.
DELETE /navigation/header/alerts
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
400 Bad Request
403 Unauthorized - Need access to FID(s): 710077
404 IDs not found
500 Server Error
Sample Body Model
[ 123, 465, 789 ]
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Navigation
202
Delete Notification Deletes a notification.
DELETE /navigation/header/notifications/{notificationID}
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
403 Unauthorized - Need access to FID(s): 710077
500 Server Error
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
Organizations
203
Organizations Typically an organization is a customer, but an organization could also be a business partner. There is
also an internal organization for VSA users using the VSA called MyOrg. Most user defined objects in
the VSA belong to an organization. Every managed machine, managed device and VSA user belongs to an organization. They are optionally associated with scopes, tickets and service desks.
In This Chapter
Get Organizations 203 Get Organization 205 Add Organization 207 Update Organization 209 Delete Organization 211 Get Organization Locations 212 Get Organization Types 213
Get Organizations Returns an array of organization records.
GET /system/orgs
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgId decimal
OrgName string
OrgRef string
OrgType string
DefaultDepartmentName string
DefaultMachineGroupName string
ParentOrgId decimal
Website string
NoOfEmployees int
AnnualRevenue decimal
ContactInfo (see below)
CustomFields (see below)
C h a p t e r 2 0
Organizations
204
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
CustomFields
FieldName string
FieldValue string
Organizations
205
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "OrgId": 0, "OrgName": "string", "OrgRef": "string", "OrgType": "string", "DefaultDepartmentName": "string", "DefaultMachineGroupName": "string", "ParentOrgId": 0, "Website": "string", "NoOfEmployees": 0, "AnnualRevenue": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "CustomFields": [ { "FieldName": "string", "FieldValue": "string" } ], "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Organization Returns a single organization record.
GET /system/orgs/{orgId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Organizations
206
Model Schema
Field Datatype Filterable Sortable
OrgId decimal
OrgName string
OrgRef string
OrgType string
DefaultDepartmentName string
DefaultMachineGroupName string
ParentOrgId decimal
Website string
NoOfEmployees int
AnnualRevenue decimal
ContactInfo (see below)
CustomFields (see below)
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
CustomFields
FieldName string
FieldValue string
Organizations
207
Sample Response Model
{ "OrgId": 0, "OrgName": "string", "OrgRef": "string", "OrgType": "string", "DefaultDepartmentName": "string", "DefaultMachineGroupName": "string", "ParentOrgId": 0, "Website": "string", "NoOfEmployees": 0, "AnnualRevenue": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "CustomFields": [ { "FieldName": "string", "FieldValue": "string" } ], "Attributes": {} }
Add Organization Adds a single organization record.
POST /system/orgs
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgId decimal
OrgName string
OrgRef string
OrgType string
Organizations
208
DefaultDepartmentName string
DefaultMachineGroupName string
ParentOrgId decimal
Website string
NoOfEmployees int
AnnualRevenue decimal
ContactInfo (see below)
CustomFields (see below)
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
CustomFields
FieldName string
FieldValue string
Organizations
209
Sample Request Model
{ "OrgId": 0, "OrgName": "string", "OrgRef": "string", "OrgType": "string", "DefaultDepartmentName": "string", "DefaultMachineGroupName": "string", "ParentOrgId": 0, "Website": "string", "NoOfEmployees": 0, "AnnualRevenue": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "CustomFields": [ { "FieldName": "string", "FieldValue": "string" } ], "Attributes": {} }
Update Organization Updates a single organization record.
PUT /system/orgs/{orgId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Body Data
OrgId is required in the body of the message. Include additional fields and values to be updated.
Organizations
210
{ "OrgId":1, "OrgName":"NorthernLights", }
Model Schema
Field Datatype Filterable Sortable
OrgId decimal
OrgName string
OrgRef string
OrgType string
DefaultDepartmentName string
DefaultMachineGroupName string
ParentOrgId decimal
Website string
NoOfEmployees int
AnnualRevenue decimal
ContactInfo (see below)
CustomFields (see below)
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
CustomFields
FieldName string
FieldValue string
Organizations
211
Sample Request Model
{ "OrgId": 0, "OrgName": "string", "OrgRef": "string", "OrgType": "string", "DefaultDepartmentName": "string", "DefaultMachineGroupName": "string", "ParentOrgId": 0, "Website": "string", "NoOfEmployees": 0, "AnnualRevenue": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "CustomFields": [ { "FieldName": "string", "FieldValue": "string" } ], "Attributes": {} }
Delete Organization Deletes a single organization record.
DELETE /system/orgs/{orgId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Organizations
212
Get Organization Locations Returns an array of organization location records.
GET /system/orgs/locations
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgId decimal
OrgName string
OrgRef string
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
Organizations
213
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "OrgId": 0, "OrgRef": "string", "OrgName": "string", "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Organization Types Returns an array of organization type records.
GET /system/orgs/types
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgTypeId decimal
OrgTypeRef string
Description string
Status int
Organizations
214
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "OrgTypeID": 0, "OrgTypeRef": "string", "Description": "string", "Status": 0, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Roles
215
Roles User roles determine what VSA modules, pages, action buttons and specialized functions a user can access. User role options are constrained by the user roletypes purchased by license and assigned to a specific user role. Each user account (page 311) must be assigned to at least one role and one scope (page 221) and can have multiple roles and scopes.
In This Chapter
Get User Roles 215 Add User Role 216 Get User Role 216 Delete Role 217 Get User Roletypes 218 Get Roletype 218 Add User to User Role 219
Get User Roles Returns an array of user role records.
GET /system/roles
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
RoleId int
RoleName string
RoleTypeIds Array[decimal]
Attributes object
C h a p t e r 2 1
Roles
216
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "RoleId": 0, "RoleName": "string", "RoleTypeIds": [ 0 ], "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add User Role Adds a user role record.
POST /system/roles
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
RoleId int
RoleName string
RoleTypeIds Array[decimal]
Attributes object
Sample Request
{ "RoleName": "rolenametext", "RoleTypeIds": [ 0 ], }
Get User Role Returns a single user role record.
Roles
217
GET /system/roles/{roleId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
RoleId int
RoleName string
RoleTypeIds Array[decimal]
Attributes object
Sample Response Model
{ "Result": [ { "RoleId": 0, "RoleName": "string", "RoleTypeIds": [ 0 ], "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Delete Role Deletes a single user role.
DELETE /system/roles/{roleId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Roles
218
Get User Roletypes Returns an array of user roletype records.
GET /system/roletypes
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
RoleTypeId decimal
RoleTypeName string
RoleTypeDescription string
Attributes object
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "RoleTypeId": 0, "RoleTypeName": "string", "RoleTypeDescription": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Roletype Returns a single user roletype record.
GET /system/roletypes/{roleTypeId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
RoleTypeId decimal
RoleTypeName string
Roles
219
RoleTypeDescription string
Attributes object
Sample Response Model
{ "Result": [ { "RoleTypeId": 0, "RoleTypeName": "string", "RoleTypeDescription": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add User to User Role Adds a user to a user role.
PUT /system/roles/{roleId}/users/{userId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Scopes
221
Scopes Scopes define visibility of user-defined business data objects throughout the VSA. For example, a user could see some machine groups, but not be able to see other machine groups. Once a scope has made a data object visible to a user, the functions the user can perform on that data object are determined by user role. Scopes enables VSA users responsible for user security to create different scopes of data objects and assign them to different populations of users. Each user account (page 311) must be assigned to at least one role (page 215) and one scope and can have multiple roles and scopes.
In This Chapter
Get Scopes 221 Get Scope 222 Add Scope 222 Delete Scope 223 Add Machine Group to Scope 223 Add Organization to Scope 224 Add User to Scope 224
Get Scopes Returns an array of scope records.
GET /system/scopes
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
ScopeId decimal
ScopeName string
Attributes object
C h a p t e r 2 2
Scopes
222
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "ScopeId": 0, "ScopeName": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Scope Returns a single scope record.
GET /system/scopes/{scopeId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
ScopeId decimal
ScopeName string
Attributes object
Sample Response Model
{ "Result": [ { "ScopeId": 0, "ScopeName": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Scope Adds a scope record.
Scopes
223
POST /system/scopes
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
ScopeId decimal
ScopeName string
Attributes object
Sample Request
{ "ScopeName": "scopenametext", }
Delete Scope Deletes a single scope record.
DELETE /system/scopes/{scopeId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Machine Group to Scope Adds a machine group to a scope.
PUT /system/scopes/{scopeId}/machinegroups/{machineGroupId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Scopes
224
Sample Request
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Organization to Scope Adds an organization to a scope.
PUT /system/scopes/{scopeId}/orgs/{orgId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Request
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Add User to Scope Adds a user to a scope.
PUT /system/scopes/{scopeId}/users/{userId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Request
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Service Desks
225
Service Desks Service desks manage and automate an organization's response to a support issue. A support issue may be a question, a problem, a request for service, or a suggestion for a future enhancement. Multiple types of service desks can be configured.
In This Chapter
Get Service Desks 225 Get Service Desk Ticket Categories 227 Get Service Desk Custom Fields 228 Get Service Desk Priorities 229 Get Service Desk Tickets 230 Get Service Desk Ticket Statuses 232 Get Service Desk Ticket 235 Get Service Desk Custom Fields 237 Get Service Desk Ticket Custom Field 239 Update Service Desk Custom Field 239 Assign Staff to Ticket 240 Get Service Desk Ticket Notes 240 Add Service Desk Ticket Note 242 Update Service Desk Ticket Priority 243 Update Service Desk Ticket Status 244
Get Service Desks Returns an array of service desk definitions.
GET /automation/servicedesks
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
ServiceDeskId decimal
ServiceDeskTicketId decimal
TicketRef string
Summary string
TicketStatus string
Stage string
Priority string
C h a p t e r 2 3
Service Desks
226
Severity string
Category string
Resolution string
Submitter string
Assignee string
Owner string
Organization string
Staff string
Phone string
AgentGuid decimal
InventoryAssetId decimal
CreatedDate datetime
ModifiedDate datetime
LastPublicUpdate datetime
Closed datetime
Due datetime
Promised datetime
Escalation datetime
StageGoal string
ResolutionDate string
LockedBy string
LockedOn datetime
SourceType string
Policy string
SubmitterEmail string
Service Desks
227
Sample Response Model
{ "Result": [ { "ServiceDeskId": 0, "defaultServDeskDefnFlag": "string", "Prefix": "string", "ServiceDeskName": "string", "Description": "string", "EditingTemplate": "string", "DefinationTemplate": "string", "DisplayMachineInfo": true, "RequiredMachineInfo": true, "AutoSaveClock": true, "AutoInsertNote": true, "AutoInsertHiddenNote": true, "ShowIncidentNotePan": true, "ShowWorkOrders": true, "ShowSessionTimers": true, "ShowTasks": true, "AllowDeleteNotes": true, "TimeZoneOffset": "string", "DefaultPolicy": "string", "DeskAdministrator": "string", "ChangeProcedure": "string", "GoalProcedure": "string", "AotoArchiveTime": 0, "EmailDisplayName": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Service Desk Ticket Categories Returns an array of ticket categories for a specified service desk.
GET /automation/servicedesks/{serviceDeskId}/categories
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
CategoryId decimal
IsDefault bool
Service Desks
228
CategoryName string
Description string
ParentCategoryId decimal
Sample Response Model
{ "TotalRecords": 4, "Result": [ { "CategoryId": "26466927340076109699854277", "IsDefault": true, "CategoryName": "Feature Request", "Description": null, "ParentCategoryId": null, "Attributes": null }, { "CategoryId": "63155751930006718638328486", "IsDefault": true, "CategoryName": "Question", "Description": null, "ParentCategoryId": null, "Attributes": null }, { "CategoryId": "77280764300051675159894603", "IsDefault": true, "CategoryName": "Defect Report", "Description": null, "ParentCategoryId": null, "Attributes": null }, { "CategoryId": "82249370620001458528679834", "IsDefault": true, "CategoryName": "Request for Information", "Description": null, "ParentCategoryId": null, "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Service Desk Custom Fields Returns an array of custom fields for a specified service desk.
GET /automation/servicedesks/{serviceDeskId}/customfields
Accepts filter and sort expressions (page 12).
Service Desks
229
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
CustomFieldId decimal
Ref string
Caption string
Order int
Format decimal
DefaultValue string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "CustomFieldId": 0, "Ref": "string", "Caption": "string", "Order": 0, "Format": "string", "DefaultValue": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Service Desk Priorities Returns an array of priorities for a specified service desk.
GET /automation/servicedesks/{serviceDeskId}/priorities
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
PriorityId decimal
IsDefault bool
PriorityName string
Service Desks
230
Description string
Sample Response Model
{ "Result": "98765", "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Service Desk Tickets Returns an array of tickets for a specified service desk.
GET /automation/servicedesks/{serviceDeskId}/tickets
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
ServiceDeskId decimal
ServiceDeskTicketId decimal
TicketRef string
Summary string
TicketStatus string
Stage string
Priority string
Severity string
Category string
Resolution string
Submitter string
Assignee string
Owner string
Organization string
Staff string
Phone string
AgentGuid decimal
InventoryAssetId decimal
CreatedDate datetime
ModifiedDate datetime
Service Desks
231
LastPublicUpdate datetime
Closed datetime
Due datetime
Promised datetime
Escalation datetime
StageGoal string
ResolutionDate string
LockedBy string
LockedOn datetime
SourceType string
Policy string
SubmitterEmail string
Service Desks
232
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "ServiceDeskId": 0, "ServiceDeskTicketId": 0, "TicketRef": "string", "Summary": "string", "TicketStatus": "string", "Stage": "string", "Priority": "string", "Severity": "string", "Category": "string", "Resolution": "string", "Submitter": "string", "Assignee": "string", "Owner": "string", "Organization": "string", "Staff": "string", "Phone": "string", "AgentGuid": 0, "InventoryAssetId": 0, "CreatedDate": "2016-03-15T15:50:11.924Z", "ModifiedDate": "2016-03-15T15:50:11.924Z", "LastPublicUpdate": "2016-03-15T15:50:11.924Z", "Closed": "2016-03-15T15:50:11.924Z", "Due": "2016-03-15T15:50:11.924Z", "Promised": "2016-03-15T15:50:11.924Z", "Escalation": "2016-03-15T15:50:11.924Z", "StageGoal": "2016-03-15T15:50:11.924Z", "ResolutionDate": "2016-03-15T15:50:11.924Z", "LockedBy": "string", "LockedOn": "2016-03-15T15:50:11.924Z", "SourceType": "string", "Policy": "string", "SubmitterEmail": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Service Desk Ticket Statuses Returns an array of ticket statuses for a specified service desk.
GET /automation/servicedesks/{serviceDeskId}/status
Accepts filter and sort expressions (page 12).
Service Desks
233
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
StatusId decimal
IsDefault bool
StatusName string
Description string
Service Desks
234
Sample Response Model
{ "TotalRecords": 6, "Result": [ { "StatusId": "34336592150067327671205466", "IsDefault": false, "StatusName": "Request", "Description": null, "Attributes": null }, { "StatusId": "87084711620091766810902353", "IsDefault": false, "StatusName": "Pending", "Description": null, "Attributes": null }, { "StatusId": "87187760870000628708062642", "IsDefault": false, "StatusName": "Need More Info", "Description": null, "Attributes": null }, { "StatusId": "94222004820026340252025382", "IsDefault": false, "StatusName": "Await Approval", "Description": null, "Attributes": null }, { "StatusId": "99720911360093273797141792", "IsDefault": false, "StatusName": "Closed", "Description": null, "Attributes": null }, { "StatusId": "77676091280038109800708269", "IsDefault": true, "StatusName": "Open", "Description": null, "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Service Desks
235
Get Service Desk Ticket Returns a particular ticket.
GET /automation/servicedesktickets/{ticketId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
ServiceDeskTicketDetail() (array of items below)
ServiceDeskTicketNotes() (notes array)
ServiceDeskRelatedTicket() (related tickets array)
AssigneeEmail string
AssigneeType string
EditingTemplate string
IsArchived bool
IsClosed bool
IsParticipant bool
IsPoolAssignee bool
Participant string
PreviousStage string
ResolutionNote string
TotalHours decimal
Service Desks
236
Sample Response Model
{ "Result": { "Notes": [ { "NoteId": 0, "Hidden": true, "SystemFlag": true, "Text": "string", "Timestamp": "2016-12-14T20:34:51.907Z", "User": "string", "Attributes": {} } ], "RelatedTickets": [ { "TicketRef": "string", "Summary": "string", "Status": "string", "Attributes": {} } ], "AssigneeEmail": "string", "AssigneeType": "string", "EditingTemplate": "string", "IsArchived": true, "IsClosed": true, "IsParticipant": true, "IsPoolAssignee": true, "Participant": "string", "PreviousStage": "string", "ResolutionNote": "string", "TotalHours": 0, "ServiceDeskId": 0, "ServiceDeskTicketId": 0, "TicketRef": "string", "Summary": "string", "TicketStatus": "string", "Stage": "string", "Priority": "string", "Severity": "string", "Category": "string", "Resolution": "string", "Submitter": "string", "Assignee": "string", "Owner": "string", "Organization": "string", "Staff": "string", "Phone": "string", "AgentGuid": 0, "InventoryAssetId": 0, "CreatedDate": "2016-12-14T20:34:51.907Z", "ModifiedDate": "2016-12-14T20:34:51.907Z", "LastPublicUpdate": "2016-12-14T20:34:51.907Z", "Closed": "2016-12-14T20:34:51.907Z",
Service Desks
237
"Due": "2016-12-14T20:34:51.907Z", "Promised": "2016-12-14T20:34:51.907Z", "Escalation": "2016-12-14T20:34:51.907Z", "StageGoal": "2016-12-14T20:34:51.907Z", "ResolutionDate": "2016-12-14T20:34:51.907Z", "LockedBy": "string", "LockedOn": "2016-12-14T20:34:51.907Z", "SourceType": "string", "Policy": "string", "SubmitterEmail": "string", "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Service Desk Custom Fields Returns an array of custom fields for a specified service desk.
GET /automation/servicedesks/{serviceDeskId}/customfields
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
CustomFieldId decimal
Ref string
Caption string
Order int
Format decimal
DefaultValue string
Service Desks
238
Sample Response Model
{ "TotalRecords": 6, "Result": [ { "CustomFieldId": "67449975180088004967960281", "Ref": "FollowUpDate", "Caption": "Follow-Up Date", "Order": 5, "Format": "Date", "DefaultValue": null, "Attributes": null }, { "CustomFieldId": "49899726850089664255134865", "Ref": "InvoiceNum", "Caption": "Invoice Number", "Order": 3, "Format": "String", "DefaultValue": null, "Attributes": null }, { "CustomFieldId": "98961439100073759381915709", "Ref": "Product", "Caption": "Product", "Order": 1, "Format": "List", "DefaultValue": null, "Attributes": null }, { "CustomFieldId": "93023866540078435200880949", "Ref": "SerialNum", "Caption": "Serial Number", "Order": 4, "Format": "String", "DefaultValue": null, "Attributes": null }, { "CustomFieldId": "19083190950053999073166592", "Ref": "TimeTrack", "Caption": "Time Tracking", "Order": 6, "Format": "List", "DefaultValue": null, "Attributes": null }, { "CustomFieldId": "59527859240026313175129473", "Ref": "VersionNum", "Caption": "Version Number", "Order": 2, "Format": "String",
Service Desks
239
"DefaultValue": null, "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Service Desk Ticket Custom Field Returns the value of a custom field in a service desk ticket.
GET /automation/servicedesktickets/{ticketId}/customfields/{customFieldId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
CustomFieldId decimal
Ref string
Caption string
Order int
Format decimal
DefaultValue string
Sample Response Model
{ "Result": "12345", "ResponseCode": 0, "Status": "OK", "Error": "None" }
Update Service Desk Custom Field Updates the value of a custom field in a service desk ticket.
PUT /automation/servicedesktickets/{ticketId}/customfields/{customFieldId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Service Desks
240
Body
Include the new value for the custom field in the body of the message enclosed with double quotes.
Model Schema
Field Datatype Filterable Sortable
CustomFieldId decimal
Ref string
Caption string
Order int
Format decimal
DefaultValue string
Sample Response Model
{ "Result": "98765", "ResponseCode": 0, "Status": "OK", "Error": "None" }
Assign Staff to Ticket Assigns a staff record to a service desk ticket.
PUT /automation/servicedesks/assign/{serviceDeskTicketId}/{staffId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Service Desk Ticket Notes Returns an array of notes for a specified service desk ticket.
GET /automation/servicedesktickets/{ticketId}/notes
Accepts filter expressions (page 12).
Service Desks
241
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
NoteId decimal
Hidden bool
SystemFlag bool
Text int
Timestamp datetime
User string
Service Desks
242
Sample Response Model
{ "TotalRecords": 4, "Result": [ { "NoteId": "281365297027568", "Hidden": true, "SystemFlag": false, "Text": "Auto Generated Note:<br/>\r\nTicket Changed<br/> 'invoicenum' assigned '12345'<br/>", "Timestamp": "2016-12-16T04:46:06", "User": "kadmin", "Attributes": null }, { "NoteId": "493734758530623", "Hidden": true, "SystemFlag": false, "Text": "Auto Generated Note:<br/>\r\nTicket Added<br/>", "Timestamp": "2016-12-15T08:34:05", "User": "kadmin", "Attributes": null }, { "NoteId": "680702371280967", "Hidden": true, "SystemFlag": false, "Text": "Auto Generated Note:<br/>\r\nTicket Changed<br/> 'invoicenum' was '12345' now '98765'<br/>", "Timestamp": "2016-12-16T04:49:16", "User": "kadmin", "Attributes": null }, { "NoteId": "772906363510017", "Hidden": true, "SystemFlag": false, "Text": "Auto Generated Note:<br/>\r\nTicket Changed<br/> 'invoicenum' was '98765' now '11111'<br/>", "Timestamp": "2016-12-16T04:58:35.613", "User": "kadmin", "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Add Service Desk Ticket Note Adds a note to a specified service desk ticket.
Service Desks
243
POST /automation/servicedesktickets/{ticketId}/notes
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Body
See the request model below.
Model Schema
Field Datatype Filterable Sortable
NoteId decimal
Hidden bool
SystemFlag bool
Text int
Timestamp datetime
User string
Sample Request Model
{ "Hidden": true, "SystemFlag": true, "Text": "string", }
Update Service Desk Ticket Priority Updates the priority of a service desk ticket.
PUT /automation/servicedesktickets/{ticketId}/priority/{priorityId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
PriorityId decimal
IsDefault bool
PriorityName string
Description string
Sample Response Model
No content is returned.
Service Desks
244
Update Service Desk Ticket Status Updates the status of a service desk ticket.
PUT /automation/servicedesktickets/{ticketId}/status/{statusId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
StatusId decimal
IsDefault bool
StatusName string
Description string
Sample Response Model
No content is returned.
Session Timer
245
Session Timer Reference Types
WorkTypes:
0 - AdminTask
1 - WorkOrder (Service Billing)
2 - Tickets (Service Desk)
Required fields by SessionTimer type
AdminTask Required fields
TimerData Object: clock : int startTime : DateTime string formatted as yyyy-mm-ddTHH:mm:ss state : 1 color : (Hex code) workTypes (SessionTimerWorkTypes object) color : same as TimerData.color hint : string startAtSave : “on” or “” work-types : 0 taskName : the adminTask.Id (string representation of a decimal) taskReference : string taskNote : string xtype : "ktimer" startAtSave : "on" or "" hint : string (same as workTypes.hint)
WorkOrder Required Fields
C h a p t e r 2 4
Session Timer
246
TimerData Object clock : int startTime : DateTime string formatted as yyyy-mm-ddTHH:mm:ss state : 1 color : (Hex code) workTypes (SessionTimerWorkTypes object) color : same as TimerData.color hint : string startAtSave : “on” or “” work-types : 1 customer : customerId (decimal as string) workOrder : workOrderId (decimal as string) workOrderLineItem : workOrderItemId (decimal as string) workOrderNote : string workOrderHiddenNote : "on" or "" workOrderBillable : "on" or "" basicServiceBillingWorkOrdersFlag : "Y" or "N" resourceTypeId : (decimal as string) workOrderActivityType : (decimal as string) workOrderDefaultRate : (currency) overrideRateBoolean : "on" of "" overrideRate : (currency) xtype : "ktimer" startAtSave : "on" or "" hint : string (same as workTypes.hint)
ServiceDesk Required Fields
Session Timer
247
TimerData Object clock : int startTime : DateTime string formatted as yyyy-mm-ddTHH:mm:ss state : 1 color : (Hex code) workTypes (SessionTimerWorkTypes object) color : same as TimerData.color hint : string work-types : 2 serviceDesk : serviceDeskId (decimal as string) serviceDeskStatus : not sure yet.. ticket-filter : 1 incident : ticketId (decimal as string) serviceDeskNote : string serviceDeskHiddenNote : "on" or "" showNoteOnInvoiceFlag : "on" or "" serviceDeskBillable : "on" or "" tasksFlag : "N" customerId : (decimal as string) xtype : "ktimer" startAtSave : "on" or "" hint : string (same as workTypes.hint)
SessionTimer Object Model
{ "id": 0, "ref": "string", "effId": 0, "transId": 0, "hasUserData": "Y", "status": 0, "partitionId": 0, "timerData": { "clock": 0, "startTime": "string", "state": 0, "color": "string", "workTypes": { "color": "string", "hint": "string", "startAtSave": "string", "work-types": 0, "taskName": "My task", "taskReference": "My Task", "taskNote": "Task Note", "customer": "string", "workOrder": "string", "workOrderLineItem": "string", "workOrderNote": "string", "workOrderHiddenNote": "string", "workOrderBillable": "string", "detailedServiceBillingWorkOrdersFlag": "string", "basicServiceBillingWorkOrdersFlag": "string", "workOrderResourceTypeServicebillingLabelHidden": "string",
Session Timer
248
"activityTypeServiceBillingLabelHidden": "string", "serviceDesk": "string", "serviceDeskStatus": "string", "serviceDeskBillable": "string", "ticket-filter": 0, "incident": "string", "serviceDeskCustomerName": "string", "serviceDeskWorkOrderLabel": "string", "activityTypeLabelHidden": "string", "workOrderResourceTypeLabelHidden": "string", "serviceDeskNote": "string", "serviceDeskHiddenNote": "string", "showNoteOnInvoiceFlag": "string", "serviceDeskActivityType": "string", "tasksFlag": "string", "workOrdersFlag": "string", "detailedWorkOrdersFlag": "string", "basicWorkOrdersFlag": "string", "customerId": "string", "task-filter": 0, "resourceTypeId": "string", "workOrderActivityType": "string", "workOrderDefaultRate": "string", "overrideRateBoolean": "string", "overrideRate": "string" }, "xtype": "string", "startatsave": "string", "hint": "string" } }
In This Chapter
Get Admin Task 249 Get Admin Task by ID 249 Get All Customers 250 Get All Work Orders 251 Get Work Order Items 251 Get All Work Order Types 252 Get All Activity Types 253 Get All Service Desks 253 Get Service Desk Status Types 254 Get All Service Desk Tickets 255 Get All Session Timers 256 Get Session Timer Object 257 Create Admin Tasks 257 Create Sessions Timer 258 Delete Session Timer 258 Update Session Timer 259 Remove Session Timer 259
Session Timer
249
Get Admin Task Returns all possible AdminTasks that can be created for WorkTypeId 0.
GET /system/sessiontimers/admintasks
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 100050
Sample Response Model
{ "TotalRecords": 2, "Result": [{ "Id": "1111111111", "Reference": "Misc (System)", "Description": "Misc", "EnabledFlag": true, "TimesheetFlag": true, "PartitionId": "78251223216115117188622189" }, { "Id": "1111111112", "Reference": "Holiday (System)", "Description": "Holiday", "EnabledFlag": true, "TimesheetFlag": true, "PartitionId": "78251223216115117188622189" }], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Admin Task by ID Returns a specific AdminTask by Id.
GET /system/sessiontimers/admintasks/{id:decimal}
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Session Timer
250
Response Code Status
403 Required FID(s): 100050
Sample Response Model
{ "Result": { "Id": "327344268386878", "Reference": "test2", "Description": "", "EnabledFlag": false, "TimesheetFlag": false, "PartitionId": "78251223216115117188622189" }, "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get All Customers Returns all customers in scope of the sessionId.
GET /system/customers
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 100050
Sample Response Model
{ "TotalRecords": 1, "Result": [ { "Id": "201453538891605", "Name": "Kaseya", "OrgId": "61472366192151352143517723", "PartitionId": "78251223216115117188622189" } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Session Timer
251
Get All Work Orders Returns all WorkOrders for the given customer Id and within the scope of the sessionId
GET/system/customers/{id:decimal}/workorders
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 100050
Sample Response Model
{ "TotalRecords": 1, "Result": [ { "Id": "731722397744526", "Name": "Test WO", "ReferenceNumber": "WO00001", "Description": "" } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Work Order Items Returns the WorkOrderItems associated with the customer/workorder and within the scope of the sessionId.
GET /system/customers/{id:decimal}/workorders/{id:decimal}/workorderitems
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 100050
Session Timer
252
Sample Response Model
{ "TotalRecords": 2, "Result": [ { "Id": "278468544817748", "Name": "test 234234", "WorkOrderId": "731722397744526" }, { "Id": "899804964894337", "Name": "test", "WorkOrderId": "731722397744526" } ], "ResponseCode": 200, "Status": "OK", "Error": "None" }
Get All Work Order Types Returns all of the WorkOrder types in scope of the sessionId
GET /system/customers/resourcetypes
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 100050
Sample Response Model
{ "TotalRecords": 1, "Result": [ { "Id": "92151692192441545122372326", "Name": "Installer", "UnitCost": "100.000", "BillRate": "125.000", "ExternalAccountingServicesId": null, "ExternalClassId": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Session Timer
253
Get All Activity Types Returns all of the Activity Types associated with the customer in scope of the sessionId.
GET /system/customers/activitytypes
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 100050
Sample Response Model
{ "TotalRecords": 2, "Result": [ { "Id": "68175242296221353561741391", "Code": "Hardware Installation", "Name": "Hardware Installation", "IsDefault": false, "ExternalAccountingServicesId": null, "ExternalClassId": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get All Service Desks Returns all of the ServiceDesks in scope of the sessionId.
GET /automation/servicedesks
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 18025
Session Timer
254
Sample Response Model
{ "TotalRecords": 1, "Result": [ { "ServiceDeskId": "68356648120026516947479448", "defaultServDeskDefnFlag": "Y", "Prefix": "STD", "ServiceDeskName": "lkjlkj", "Description": "Standard SD", "EditingTemplate": "Fixed_Width_Tabbed.xml", "DefinationTemplate": "Standard", "DisplayMachineInfo": true, "RequiredMachineInfo": false, "AutoSaveClock": true, "AutoInsertNote": false, "AutoInsertHiddenNote": true, "ShowIncidentNotePan": false, "ShowWorkOrders": false, "ShowSessionTimers": false, "ShowTasks": false, "AllowDeleteNotes": false, "TimeZoneOffset": "Pacific Standard Time", "DefaultPolicy": null, "DeskAdministrator": "alice", "ChangeProcedure": "Standard is Changed", "GoalProcedure": "Standard Goal - All Stages", "AotoArchiveTime": 90, "EmailDisplayName": "Support_Desk", "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Service Desk Status Types Returns the status types associated with the ServiceDesk and within the scope of the sessionId.
GET /automation/servicedesks/{id:decimal}/status
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 18127
Session Timer
255
Sample Response Model
{ "TotalRecords": 2, "Result": [ { "StatusId": "16185262010085378407020108", "IsDefault": false, "StatusName": "In Progress", "Description": null, "Attributes": null }, { "StatusId": "57661822160071253780623396", "IsDefault": false, "StatusName": "Awaiting User Feedback", "Description": null, "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get All Service Desk Tickets Returns all of the tickets associated with the service desk within the scope of the sessionId.
GET /automation/servicedesks/{id:decimal}/tickets
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 18010
Session Timer
256
Sample Response Model
{ "TotalRecords": 1, "Result": [ { "ServiceDeskId": "68356648120026516947479448", "ServiceDeskTicketId": "15293212440025500597997781", "TicketRef": "STD000001", "Summary": "Test Ticket 2", "TicketStatus": "InProgress", "Stage": "Identified", "Priority": "Medium", "Severity": null, "Category": null, "Resolution": null, "Submitter": "alice", "Assignee": "Tier1Support", "Owner": "alice", "Organization": "Kaseya", "Staff": null, "Phone": null, "AgentGuid": "568648809224995", "InventoryAssetId": "87125195189425249617991129", "CreatedDate": "2019-03-29T10:56:27.19", "ModifiedDate": "2019-03-30T10:56:17.853", "LastPublicUpdate": "2019-03-30T10:56:17.853", "Closed": null, "Due": "2019-03-30T10:56:27.19", "Promised": null, "Escalation": null, "StageGoal": null, "ResolutionDate": null, "LockedBy": null, "LockedOn": null, "SourceType": "ServiceDesk", "Policy": null, "SubmitterEmail": "[email protected]", "Archived": "N", "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get All Session Timers Returns all of the SessionTimers associated with the sessionId
Session Timer
257
GET /system/sessiontimers
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 100050
Response Model
A collection of Session Timer (page 245) objects.
Get Session Timer Object Returns a single session timer object.
GET /system/sessiontimers/{id:decimal}
Headers
Authorization: Bearer {hash string returned from Auth}
Response Model
A collection of SessionTimer (page 245) objects.
Create Admin Tasks Creates a new AdminTaskType.
POST /system/sessiontimers/admintasks
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
201 Created
400 Bad Request
403 Required FID(s): 100050
409 Conflict (Already Exists)
500 Server Error
Session Timer
258
Sample Response Model
{ "PartitionId" : "123456789" "Reference": "VSA-5210-3", (REQUIRED) "Description": "First New Admin Task", (REQUIRED) "EnabledFlag": false, "TimesheetFlag": true }
Create Sessions Timer Creates a new SessionTimer object in the database.
POST /system/sessiontimers
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
403 Required FID(s): 100050
Response Model
A collection of SessionTimer (page 245) objects.
Delete Session Timer Deletes a SessionTimer without committing the data to the database.
DELETE /system/sessiontimers/{id:decimal}
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
204 (NoContent) Success
304 (NotModified) Failed
403 Required FID(s): 100050
500 Server Error
Session Timer
259
Update Session Timer Updates the SessionTimer data stored in the database. Does not commit the timer to the database.
PUT /system/sessiontimers/{id:decimal}
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
204 (NoContent) Success
304 (NotModified) Failed
403 Required FID(s): 100050
500 Server Error
Response Model
A collection of SessionTimer (page 245) objects.
Remove Session Timer Commits the SessionTimer data to the VSA system and removes the SessionTimer from the database.
PATCH /system/sessiontimers/{id:decimal}
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
204 (NoContent) Success
304 (NotModified) Failed
400 Bad Request
403 Required FID(s): 100050
500 Server Error
Sample Response Model
{ "SessionTimerId": 0, "Duration": 0, "WorkTypeId": 0 }
System Session
261
System Session In This Chapter
Delete Session 261
Delete Session Deletes the user's current session. It is equivalent to logging out.
DELETE /system/users/session
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Response Codes
The table below explains each response code.
Response Code Status
200 OK
500 Server Error
Sample Response Model
{ "ResponseCode": 200, "Status": "OK", "Error": "None" }
C h a p t e r 2 5
Staff
263
Staff Staff are members of departments (page 171) within organizations (page 203). Each VSA user must
have a corresponding staff member record, typically as part of the internal MyOrg organization.
Additional staff member records can be created for any department and organization without corresponding VSA user records. Contact information is maintained for each staff member. The contacts and phone numbers of customer organizations are typically associated with tickets and service desk definitions. Staff member information can be updated by Active Directory domain using Discovery > Domains > Domain Watch.
In This Chapter
Get Staff 263 Get Staff in Organization 265 Get Staff in Department 266 Get Staff 268 Add Staff 270 Update Staff 272 Delete Staff 273
Get Staff Returns an array of staff records for all organizations.
GET /system/staff
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgStaffId decimal
StaffFullName string
DeptId decimal
SupervisorId decimal
Title string
Function string
UserId decimal
OrgId decimal
ViewAllTickets boolean
ApproveAllTimeSheets boolean
C h a p t e r 2 6
Staff
264
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "OrgStaffId": 0, "StaffFullName": "string", "DeptId": 0, "SupervisorId": 0, "Title": "string", "Function": "string", "UserId": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "OrgId": 0, "ViewAllTickets": true, "ApproveAllTimeSheets": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Staff
265
Get Staff in Organization Returns an array of staff records for a single org.
GET /system/orgs/{orgId}/staff
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgStaffId decimal
StaffFullName string
DeptId decimal
SupervisorId decimal
Title string
Function string
UserId decimal
OrgId decimal
ViewAllTickets boolean
ApproveAllTimeSheets boolean
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
Staff
266
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "OrgStaffId": 0, "StaffFullName": "string", "DeptId": 0, "SupervisorId": 0, "Title": "string", "Function": "string", "UserId": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "OrgId": 0, "ViewAllTickets": true, "ApproveAllTimeSheets": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Staff in Department Returns an array of staff records for a single org.
GET /system/departments/{deptId}/staff
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgStaffId decimal
StaffFullName string
DeptId decimal
Staff
267
SupervisorId decimal
Title string
Function string
UserId decimal
OrgId decimal
ViewAllTickets boolean
ApproveAllTimeSheets boolean
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
Staff
268
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "OrgStaffId": 0, "StaffFullName": "string", "DeptId": 0, "SupervisorId": 0, "Title": "string", "Function": "string", "UserId": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "OrgId": 0, "ViewAllTickets": true, "ApproveAllTimeSheets": true, "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Staff Returns a single staff record.
GET /system/staff/{staffId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgStaffId decimal
StaffFullName string
DeptId decimal
Staff
269
SupervisorId decimal
Title string
Function string
UserId decimal
OrgId decimal
ViewAllTickets boolean
ApproveAllTimeSheets boolean
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
Staff
270
Sample Response Model
{ "Result": { "OrgStaffId": 0, "StaffFullName": "string", "DeptId": 0, "SupervisorId": 0, "Title": "string", "Function": "string", "UserId": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "OrgId": 0, "ViewAllTickets": true, "ApproveAllTimeSheets": true, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Staff Adds a single staff record to a single department.
POST /system/departments/{deptId}/staff
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgStaffId decimal
StaffFullName string
DeptId decimal
SupervisorId decimal
Staff
271
Title string
Function string
UserId decimal
OrgId decimal
ViewAllTickets boolean
ApproveAllTimeSheets boolean
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
Staff
272
Sample Request Model
{ "OrgStaffId": 0, "StaffFullName": "string", "DeptId": 0, "SupervisorId": 0, "Title": "string", "Function": "string", "UserId": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "OrgId": 0, "ViewAllTickets": true, "ApproveAllTimeSheets": true, "Attributes": {} }
Update Staff Updates a single staff record.
PUT /system/staff/{staffId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
OrgStaffId decimal
StaffFullName string
DeptId decimal
SupervisorId decimal
Title string
Function string
UserId decimal
OrgId decimal
ViewAllTickets boolean
Staff
273
ApproveAllTimeSheets boolean
Attributes object
ContactInfo
PreferredContactMethod string
PrimaryPhone string
PrimaryFax string
PrimaryEmail string
Country string
Street string
City string
State string
ZipCode string
PrimaryTextMessagePhone string
Sample Response Model
{ "OrgStaffId": 0, "StaffFullName": "string", "DeptId": 0, "SupervisorId": 0, "Title": "string", "Function": "string", "UserId": 0, "ContactInfo": { "PreferredContactMethod": "string", "PrimaryPhone": "string", "PrimaryFax": "string", "PrimaryEmail": "string", "Country": "string", "Street": "string", "City": "string", "State": "string", "ZipCode": "string", "PrimaryTextMessagePhone": "string" }, "OrgId": 0, "ViewAllTickets": true, "ApproveAllTimeSheets": true, "Attributes": {} }
Delete Staff Deletes a single staff record.
Staff
274
DELETE /system/staff/{staffId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Storage
275
Storage See System > Storage Configuration for an introduction to these REST APIs.
In This Chapter
Get Storage File Contents 275
Get Storage File Contents Returns the file contents of a remote control recording in the body of the response. The {fileId} is
specified using the GUID in the AgentFileId column of the Storage.Agent table.
GET /storage/file/{fileId}/contents
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Field Datatype Filterable Sortable
Filename string
stream content
PartitionId string
Sample Response Model
{ ... "content-disposition": "attachment; filename=kadmin-2017-03-10-03-08-1.webm", ... }
C h a p t e r 2 7
Tenants
277
Tenants The tenant REST APIs perform tasks that are done manually using the Tenant Management (http://help.kaseya.com/webhelp/EN/TM/9050000/index.asp#home.htm) module in partition 1.
In This Chapter
Get Module Licenses 277 Get Module Licenses for Tenant 278 Get Roletypes and Funclists 279 Get Roletype and Funclists 280 Get Tenants 282 Get Tenant 282 Rename Tenant 285 Activate Modules for Tenant 285 Set Roletype Limit for Tenant 286 Activate Roletype for Tenant 287 Add Roletype 287 Add Tenant 288 Delete Roletype 290 Delete Tenant 291 Deactivate Tenant 291 Remove Module from Tenant 292 Remove Roletype from Tenant 293 Set Tenant License Limit 293 Set Module Usage Type 294 Is Module Activated 295
Get Module Licenses Returns an array of module licenses for a specified {moduleId}.
GET /tenantmanagement/licensing/module/{moduleId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
DataType decimal
Name int
StringValue int
DateValue int
C h a p t e r 2 8
Tenants
278
Field Datatype Filterable Sortable
zzValId Int32
LicenseType Int32
Limit Decimal
zzVal String
Sample Response Model
{ "Result": { "ModuleId": 0, "Name": "string", "ModuleLicenses": [ { "DataType": 0, "Name": "string", "StringValue": "string", "DateValue": "2016-10-26T16:15:14.657Z", "zzValId": 0, "LicenseType": 0, "Limit": 0, "zzVal": "string" } ] }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Module Licenses for Tenant Returns an array of module licenses for a specified {tenantId}.
GET /tenantmanagement/licensing/modules/{tenantId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
DataType decimal
Name int
StringValue int
DateValue int
Tenants
279
Field Datatype Filterable Sortable
zzValId Int32
LicenseType Int32
Limit Decimal
zzVal String
Sample Response Model
{ "Result": { "ModuleId": 0, "Name": "string", "ModuleLicenses": [ { "DataType": 0, "Name": "string", "StringValue": "string", "DateValue": "2016-10-26T16:15:14.657Z", "zzValId": 0, "LicenseType": 0, "Limit": 0, "zzVal": "string" } ] }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Roletypes and Funclists Returns an array of funclist entries for each roletype.
GET /tenantmanagement/roletypes
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
RoleTypeId decimal
FuncListId int
UsageType int
FeatureMask int
Tenants
280
Field Datatype Filterable Sortable
RoleTypeId decimal
Name string
Status int
HasUserData char
Description string
Zzvalsid int
Zzvals string
AdminGroupType int
Sample Response Model
{ "Result": [ { "FuncListEntries": [ { "RoleTypeId": 0, "FuncListId": 0, "UsageType": 0, "FeatureMask": 0 } ], "RoleTypeId": 0, "Name": "string", "Status": 0, "HasUserData": "string", "Description": "string", "Zzvalsid": 0, "Zzvals": "string", "AdminGroupType": 0 } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Roletype and Funclists Returns an array of funclist entries for a specified roletype.
GET /tenantmanagement/roletypes/{roleTypeId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Tenants
281
Model Schemas
Field Datatype Filterable Sortable
RoleTypeId decimal
FuncListId int
UsageType int
FeatureMask int
Field Datatype Filterable Sortable
RoleTypeId decimal
Name string
Status int
HasUserData char
Description string
Zzvalsid int
Zzvals string
AdminGroupType int
Sample Response Model
{ "Result": [ { "FuncListEntries": [ { "RoleTypeId": 0, "FuncListId": 0, "UsageType": 0, "FeatureMask": 0 } ], "RoleTypeId": 0, "Name": "string", "Status": 0, "HasUserData": "string", "Description": "string", "Zzvalsid": 0, "Zzvals": "string", "AdminGroupType": 0 } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Tenants
282
Get Tenants Returns an array of tenant partitions in the VSA. Does not include partition 1.
Note: This API requires the VSA to be using SSL.
GET /tenantmanagement/tenants
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
Active boolean
Suspended boolean
Id decimal
Ref string
Type string
TimeZoneOff int
Attributes string
Sample Response Model
{ "TotalRecords": 1, "Result": [ { "Active": true, "Suspended": false, "Id": "25193872152351397221212252", "Ref": "CalicoIT", "Type": null, "TimeZoneOffset": null, "Attributes": null } ], "ResponseCode": 0, "Status": "OK", "Error": "None" }
Get Tenant Returns the activated modules, activated roletypes, and other properties of a single tenant partition.
Tenants
283
GET /tenantmanagement/tenant/{tenantId}
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
Active boolean
Suspended boolean
Id decimal
Ref string
Type string
TimeZoneOff int
Attributes string
Field Datatype Filterable Sortable
DataType decimal
Name int
StringValue int
DateValue int
Field Datatype Filterable Sortable
zzValId Int32
LicenseType Int32
Limit Decimal
zzVal String
Tenants
284
Sample Response Model
{ "Result": { "ModuleIds": [ { "ModuleId": 0, "Name": "string", "ModuleLicenses": [ { "DataType": 0, "Name": "string", "StringValue": "string", "DateValue": "2016-10-31T18:55:05.948Z", "zzValId": 0, "LicenseType": 0, "Limit": 0, "zzVal": "string" } ] } ], "LicenseValues": [ { "zzValId": 0, "LicenseType": 0, "Limit": 0, "zzVal": "string" } ], "NamedRoleTypeLimits": [ { "RoleName": "string", "RoleType": 0, "Limit": 0 } ], "Active": true, "Suspended": true, "Id": 0, "Ref": "string", "Type": "string", "TimeZoneOffset": 0, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Tenants
285
Rename Tenant Renames the tenant partition.
PUT /tenantmanagement/tenant
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
Active boolean
Suspended boolean
Id decimal
Ref string
Type string
TimeZoneOff int
Attributes string
Sample Response Model
{ "Result": { "Active": true, "Suspended": true, "Id": 0, "Ref": "string", "Type": "string", "TimeZoneOffset": 0, "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Activate Modules for Tenant Activates selected modules for a specified tenant.
PUT /tenantmanagement/tenant/modules/{tenantId}
Header
Authorization: Bearer {hash string returned from Authentication}
Body
Enter an array of integers. Example: [9,3,0,70]
Tenants
286
9 Agent
3 Agent Procedures
97 Anti-Malware
95 Antivirus
115 AuthAnvil
12 Backup
54 Cloud Backup
34 Data Backup
29 Desktop Management: Migration
30 Desktop Management: Policy
70 Discovery
0 Kaseya System Patch
50 Mobility
47 Network Monitoring
6 Patch Management
44 Policy
42 Service Billing
18 Service Desk
53 Software Deployment
60 Software Management
64 System Backup and Recovery
41 Time Tracking
85 vPro Management
57 Web Service API
Set Roletype Limit for Tenant Sets the maximum number of users allowed for a given role type within the tenant partition.
PUT /tenantmanagement/tenant/roletypes/limits/{tenantId}
Header
Authorization: Bearer {hash string returned from Authentication}
Schema Model
Field Datatype Filterable Sortable
RoleName string
RoleType decimal
Limit decimal
Sample Body
Tenants
287
[ { "RoleName": "string", "RoleType": 0, "Limit": 0 } ]
Activate Roletype for Tenant Activates selected roletypes for a specified tenant.
PUT /tenantmanagement/tenant/roletypes/{tenantId}
Header
Authorization: Bearer {hash string returned from Authentication}
Body
Enter an array of integers. Example: [4,6,8]
4 VSA Admin
6 End User
8 Basic Machine
100 Service Desk Admin
101 Service Desk Technician
105 SB Admin
116 KDP Admin
117 KDM Admin
Add Roletype Adds a roletype and an array of funclist entries.
POST /tenantmanagement/roletypes
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
RoleTypeId decimal
FuncListId int
UsageType int
FeatureMask int
Tenants
288
Field Datatype Filterable Sortable
RoleTypeId decimal
Name string
Status int
HasUserData char
Description string
Zzvalsid int
Zzvals string
AdminGroupType int
Sample Response Model
{ "FuncListEntries": [ { "RoleTypeId": 0, "FuncListId": 0, "UsageType": 0, "FeatureMask": 0 } ], "RoleTypeId": 0, "Name": "string", "Status": 0, "HasUserData": "string", "Description": "string", "Zzvalsid": 0, "Zzvals": "string", "AdminGroupType": 0 }
Add Tenant Adds a tenant partition, including activated modules, activated roletypes, and license limits.
POST /tenantmanagement/tenant
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
Active boolean
Suspended boolean
Tenants
289
Id decimal
Ref string
Type string
TimeZoneOff int
Attributes string
Field Datatype Filterable Sortable
DataType decimal
Name int
StringValue int
DateValue int
Field Datatype Filterable Sortable
zzValId Int32
LicenseType Int32
Limit Decimal
zzVal String
Tenants
290
Sample Response Model
{ "TenantUser": { "UserName": "string", "HashedPassword": "string", "Password": "string", "Email": "string", "ScopeRef": "string", "RoleRef": "string" }, "ModuleIds": [ 0 ], "LicenseValues": [ { "DataType": 0, "Name": "string", "StringValue": "string", "DateValue": "2016-11-01T16:00:12.655Z", "zzValId": 0, "LicenseType": 0, "Limit": 0, "zzVal": "string" } ], "NamedRoleTypeLimits": [ { "RoleName": "string", "RoleType": 0, "Limit": 0 } ], "Id": 0, "Ref": "string", "Type": "string", "TimeZoneOffset": 0, "Attributes": {} }
Delete Roletype Removes a roletype from the entire VSA.
DELETE /tenantmanagement/roletypes/{roleTypeId}
Does not accept filter and sort expressions (page 12).
Header
Authorization: Bearer {hash string returned from Auth}
Tenants
291
Path Parameter
RoleTypeId RoleType
4 VSA Admin
6 End User
8 Basic Machine
100 Service Desk Admin
101 Service Desk Technician
105 SB Admin
116 KDP Admin
117 KDM Admin
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Delete Tenant Removes a tenant partition.
DELETE /tenantmanagement/tenant
Does not accept filter and sort expressions (page 12).
Header
Authorization: Bearer {hash string returned from Auth}
Query Parameter
tenantID
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Deactivate Tenant Deactivates a tenant partition instead of deleting it.
DELETE /tenantmanagement/tenant/deactivate.
Does not accept filter and sort expressions (page 12).
Tenants
292
Header
Authorization: Bearer {hash string returned from Auth}
Query Parameter
tenantID
Sample Response Model
{ "TotalRecords": 0, "Result": true, "ResponseCode": 0, "Status": "OK", "Error": "None" }
Remove Module from Tenant Removes a module from a tenant partition.
DELETE /tenantmanagement/tenant/modules/{tenantId}?moduleId=<moduleId>
Does not accept filter and sort expressions (page 12).
Header
Authorization: Bearer {hash string returned from Auth}
Query Parameter
moduleId Module
9 Agent
3 Agent Procedures
97 Anti-Malware
95 Antivirus
115 AuthAnvil
12 Backup
54 Cloud Backup
34 Data Backup
29 Desktop Management: Migration
30 Desktop Management: Policy
70 Discovery
0 Kaseya System Patch
50 Mobility
47 Network Monitoring
6 Patch Management
44 Policy
42 Service Billing
18 Service Desk
53 Software Deployment
Tenants
293
60 Software Management
64 System Backup and Recovery
41 Time Tracking
85 vPro Management
57 Web Service API
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Remove Roletype from Tenant Removes a roletype from a tenant partition.
DELETE /tenantmanagement/tenant/roletypes/{tenantId}?roleTypeId=<roleTypeId>
Does not accept filter and sort expressions (page 12).
Header
Authorization: Bearer {hash string returned from Auth}
Query Parameter
RoleTypeId RoleType
4 VSA Admin
6 End User
8 Basic Machine
100 Service Desk Admin
101 Service Desk Technician
105 SB Admin
116 KDP Admin
117 KDM Admin
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Set Tenant License Limit Updates a selected license within a specified tenant. Typically only the Limit field is updated.
Tenants
294
PUT /tenantmanagement/tenant/modules/licenses/{tenantId}
Headers
Authorization: Bearer {hash string returned from Authentication}
Model Schemas
Field Datatype Filterable Sortable
DataType decimal
Name int
StringValue int
DateValue int
Field Datatype Filterable Sortable
zzValId Int32
LicenseType Int32
Limit Decimal
zzVal String
Sample Request
[ { "DataType": 0, "Name": "string", "StringValue": "string", "DateValue": "2016-10-31T18:55:05.405Z", "zzValId": 0, "LicenseType": 0, "Limit": 0, "zzVal": "string" } ]
Set Module Usage Type Sets the usage type for a module in a tenant ID. A usage type, if available for a module, enables a specialized feature in a module.
PUT /tenantmanagement/tenant/modules/usagetype/{tenantId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Query Parameters
moduleId - See GET /tenantmanagement/licensing/modules/{tenantId} (page 278)
usageType - An integer
Tenants
295
Is Module Activated Returns true or false, based on whether the specified module ID is activated.
GET /ismoduleactivated/{moduleId}
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Authentication}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Ticketing
297
Ticketing Ticketing manages responses to a support requests.
In This Chapter
Get Ticketing Tickets 297 Add Ticketing Ticket 298 Get Ticketing Ticket 299 Add Ticketing Ticket Note 301 Get Ticketing Ticket Note 301 Get Requested Ticket 302
Get Ticketing Tickets Returns an array of Ticketing tickets.
GET /automation/tickets
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
TicketId int
MachineGroup string
AgentGuid decimal
Summary string
C h a p t e r 2 9
Ticketing
298
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "TicketId": 0, "MachineGroup": "string", "AgentGuid": 0, "Summary": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add Ticketing Ticket Adds a Ticketing ticket.
POST /automation/tickets
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable Required Field
AssocMachineGroupId string
AssocMachineId string
Subject string
SubmitterEmailAddr string
SubmitterName string
Body string
NewTicketFlag string
NoNotificationFlag string
SourceType string
SourceTag1 string
SourceValue1 string
SourceTag2 string
SourceValue2 string
SourceTag3 string
Ticketing
299
SourceValue3 string
Sample Request Model
{ "AssocMachineGroupId": "unnamed.root", "AssocMachineId": "njl_win_7_2.root.unnamed", "Subject": "Test API Call 001", "SubmitterEmailAddr": "[email protected]", "SubmitterName": "Kadmin", "Body": "This is a test ticket created from the API", "NewTicketFlag": "", "NoNotificationFlag": "", "SourceType": "API", "SourceTag1": "Priority", "SourceValue1": "Low", "SourceTag2": "", "SourceValue2": "", "SourceTag3": "", "SourceValue3": "", "Attributes": {} }
NOTE! A sample request provided above is a sample. Your request should be populated with values
related to your VSA account.
Sample Request Model
{ "Result": "string", "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Ticketing Ticket Returns a single ticket.
GET /automation/tickets/{ticketId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
TicketId int
MachineGroup string
AgentGuid decimal
Summary string
Ticketing
300
Assignee string
CreatedBy string
CreationDate datetime
DueDate datetime
LastModifiedDate datetime
ResolutionDate datetime
UserName string
UserPhone string
Fields
Label string
IntegerValue int
NumberValue decimal
StringValue string
ListValue string
Sample Response Model
{ "Result": { "TicketId": 0, "MachineGroup": "string", "AgentGuid": 0, "Summary": "string", "Assignee": "string", "CreatedBy": "string", "CreationDate": "2017-08-01T15:52:15.633Z", "DueDate": "2017-08-01T15:52:15.633Z", "LastModifiedDate": "2017-08-01T15:52:15.633Z", "ResolutionDate": "2017-08-01T15:52:15.633Z", "UserName": "string", "UserPhone": "string", "Fields": [ { "Label": "string", "IntegerValue": 0, "NumberValue": 0, "StringValue": "string", "ListValue": "string" } ], "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Ticketing
301
Add Ticketing Ticket Note Adds a note to a Ticketing ticket.
PUT /automation/tickets/{ticketId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Specifying Key and Value in Body Text
Use the following query to identify labels to enter in the key field.
SELECT * FROM dbo.ticFieldDef WHERE partitionId=1
Use the following query to identify data to enter in the value field. For a specified fieldid select data
from the listOrder field.
SELECT * FROM dbo.ticListLabels WHERE fieldid=<fieldid> AND partitionId=1
Sample Request Model
{ "AddNote": "<add note text here>", "HideNote": true, "TicketFields": [ { "key": "string", "value": "string" } ] }
Get Ticketing Ticket Note Returns the notes of a Ticketing ticket.
GET /automation/tickets/{ticketId}/notes
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
TicketId int
Author string
DateEntered datetime
NoteText string
Ticketing
302
Sample Request Model
{ "Result": [ { "TicketID": 0, "Author": "string", "DateEntered": "2017-08-01T15:52:15.641Z", "NoteText": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Requested Ticket Returns the ticket created by the {ticketRequestId} request.
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
TicketId int
MachineGroup string
AgentGuid decimal
Summary string
Assignee string
CreatedBy string
CreationDate datetime
DueDate datetime
LastModifiedDate datetime
ResolutionDate datetime
UserName string
UserPhone string
Fields
Label string
IntegerValue int
NumberValue decimal
Ticketing
303
StringValue string
ListValue string
Sample Request Model
{ "Result": { "TicketId": 0, "MachineGroup": "string", "AgentGuid": 0, "Summary": "string", "Assignee": "string", "CreatedBy": "string", "CreationDate": "2017-08-01T15:52:15.644Z", "DueDate": "2017-08-01T15:52:15.644Z", "LastModifiedDate": "2017-08-01T15:52:15.644Z", "ResolutionDate": "2017-08-01T15:52:15.644Z", "UserName": "string", "UserPhone": "string", "Fields": [ { "Label": "string", "IntegerValue": 0, "NumberValue": 0, "StringValue": "string", "ListValue": "string" } ], "Attributes": {} }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Third Party Apps
305
Third Party Apps Third Party Apps are custom modules added to the VSA.
In This Chapter
Get Third Party App Status 305 Enable/Disable Third Party Apps 306 Add Third Party Notification 307 Get Third Party App Notifications 307 Delete Third Party App Notification 308 Get Third Party App Notification 308
Get Third Party App Status Returns the status of third party apps in a tenant.
GET /thirdpartyapps/{tenantId}/status
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
Id decimal
Name string
Install Apps
AppId int32
AppName string
CompanyName string
AppVersion string
Registered boolean
Status appstatus
DateInstalled datetime
C h a p t e r 3 0
Third Party Apps
306
Sample Response Model
{ "TotalRecords": 1, "Result": { "Id": "22142258351669134234614323", "Name": "Tenant One", "InstalledApps": [ { "AppId": 7, "AppName": "BasicTap", "CompanyName": "Kaseya", "AppVersion": "1.0", "Registered": true, "Status": "Enabled", "DateInstalled": "2017-07-13T09:17:02" }, { "AppId": 12, "AppName": "BasicTap2", "CompanyName": "Kaseya", "AppVersion": "1.0", "Registered": true, "Status": "Enabled", "DateInstalled": "2017-07-28T10:26:54" } ] }, "ResponseCode": 0, "Status": "OK", "Error": "None" }
Enable/Disable Third Party Apps Enables or disables third party apps in a tenant.
PUT /thirdpartyapps/{tenantId}/status/{enable}
Does not accept filter and sort expressions (page 12).
URL Parameter
{enable} - true to enable. false to disable.
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Third Party Apps
307
Add Third Party Notification Adds a notification to display to admins when they log into a tenant.
POST /thirdpartyapps/notification
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
AppId* int32
TenantId* decimal
Title* string
Message* string
NavigateTo string
* = required
Sample Response Model
{ "AppId": 0, "TenantId": 0, "Title": "string", "Message": "string", "NavigateTo": "string" }
Get Third Party App Notifications Returns an array of third party notifications for a specified app.
GET /thirdpartyapps/notification/{appId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
Id* guid
AppId* int32
TenantId* decimal
Title* string
Message* string
Third Party Apps
308
NavigateTo* string
DateCreated* datetime
* = required
Sample Response Model
{ "Result": [ { "Id": "string", "AppId": 0, "TenantId": 0, "Title": "string", "Message": "string", "NavigateTo": "string", "DateCreated": "2017-08-02T22:11:20.693Z" } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Delete Third Party App Notification Deletes a third party app notification message.
DELETE /thirdpartyapps/notification/{appId}/{messageId}
Does not accept filter and sort expressions (page 12).
Header
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Get Third Party App Notification Adds a notification to display to admins when they log into a tenant.
GET /thirdpartyapps/notification/{appId}/{messageId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Third Party Apps
309
Model Schema
Field Datatype Filterable Sortable
Id* guid
AppId* int32
TenantId* decimal
Title* string
Message* string
NavigateTo* string
DateCreated* datetime
* = required
Sample Response Model
{ "Result": { "Id": "string", "AppId": 0, "TenantId": 0, "Title": "string", "Message": "string", "NavigateTo": "string", "DateCreated": "2017-08-02T22:11:20.699Z" }, "ResponseCode": 0, "Status": "string", "Error": "string" }
Users
311
Users VSA user accounts authenticate and authorize access to the VSA. This can include master dministrators and standard users (http://help.kaseya.com/webhelp/EN/VSA/9050000/index.asp#7171.htm). This also includes limited access to specialized VSA functions for endpoint machine users. Each user account must be assigned to at least one role (page 215) and one scope (page 221) and can have multiple roles and scopes.
In This Chapter
Get Users 311 Get User 312 Add User 313 Update User 314 Disable User 316 Enable User 316 Delete User 317
Get Users Returns an array of user account records.
GET /system/users
Accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
UserId int
AdminName string
AdminPassword string
Admintype int
DisableUntil string
CreationDate string
AdminScopeIds Array[decimal]
AdminRoleIds Array[int]
FirstName string
LastName string
DefaultStaffOrgId decimal
C h a p t e r 3 1
Users
312
DefaultStaffDepartmentId decimal
Email string
Attributes object
Sample Response Model
{ "TotalRecords": 0, "Result": [ { "UserId": 0, "AdminName": "string", "AdminPassword": "string", "Admintype": 0, "DisableUntil": "2015-08-07T16:27:40.223Z", "CreationDate": "2015-08-07T16:27:40.223Z", "AdminScopeIds": [ 0 ], "AdminRoleIds": [ 0 ], "FirstName": "string", "LastName": "string", "DefaultStaffOrgId": 0, "DefaultStaffDepartmentId": 0, "Email": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Get User Get a single user account record.
GET /system/users/{userId}
Does not accepts filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
UserId int
AdminName string
AdminPassword string
Users
313
Admintype int
DisableUntil string
CreationDate string
AdminScopeIds Array[decimal]
AdminRoleIds Array[int]
FirstName string
LastName string
DefaultStaffOrgId decimal
DefaultStaffDepartmentId decimal
Email string
Attributes object
Sample Response Model
{ "Result": [ { "UserId": 0, "AdminName": "string", "AdminPassword": "string", "Admintype": 0, "DisableUntil": "2015-08-07T16:27:40.223Z", "CreationDate": "2015-08-07T16:27:40.223Z", "AdminScopeIds": [ 0 ], "AdminRoleIds": [ 0 ], "FirstName": "string", "LastName": "string", "DefaultStaffOrgId": 0, "DefaultStaffDepartmentId": 0, "Email": "string", "Attributes": {} } ], "ResponseCode": 0, "Status": "string", "Error": "string" }
Add User Adds a single user account record.
POST /system/users
Does not accepts filter and sort expressions (page 12).
Users
314
Headers
Authorization: Bearer {hash string returned from Auth}
Model Schema
Field Datatype Filterable Sortable
UserId int
AdminName string
AdminPassword string
Admintype int
DisableUntil string
CreationDate string
AdminScopeIds Array[decimal]
AdminRoleIds Array[int]
FirstName string
LastName string
DefaultStaffOrgId decimal
DefaultStaffDepartmentId decimal
Email string
Attributes object
Sample Request Model
{ "UserId": 0, "AdminName": "string", "AdminPassword": "string", "Admintype": 0, "DisableUntil": "2015-08-07T16:27:40.223Z", "CreationDate": "2015-08-07T16:27:40.223Z", "AdminScopeIds": [ 0 ], "AdminRoleIds": [ 0 ], "FirstName": "string", "LastName": "string", "DefaultStaffOrgId": 0, "DefaultStaffDepartmentId": 0, "Email": "string", "Attributes": {} }
Update User Updates a single user account record.
Users
315
PUT /system/users/{userId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Body Data
UserId is required in the body of the message. Include additional fields and values to be updated.
{ "UserId":1, "AdminName":"Jesse Sisko", }
Model Schema
Field Datatype Filterable Sortable
UserId int
AdminName string
AdminPassword string
Admintype int
DisableUntil string
CreationDate string
AdminScopeIds Array[decimal]
AdminRoleIds Array[int]
FirstName string
LastName string
DefaultStaffOrgId decimal
DefaultStaffDepartmentId decimal
Email string
Attributes object
Users
316
Sample Request Model
{ "UserId": 0, "AdminName": "string", "AdminPassword": "string", "Admintype": 0, "DisableUntil": "2015-08-07T16:27:40.223Z", "CreationDate": "2015-08-07T16:27:40.223Z", "AdminScopeIds": [ 0 ], "AdminRoleIds": [ 0 ], "FirstName": "string", "LastName": "string", "DefaultStaffOrgId": 0, "DefaultStaffDepartmentId": 0, "Email": "string", "Attributes": {} }
Disable User Disables a single user account record.
PUT /system/users/{userId}/disable
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Enable User Enables a single user account record.
PUT /system/users/{userId}/enable
Does not accept filter and sort expressions (page 12).
This is an action API; no business data is returned or changed.
Users
317
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Delete User Deletes a single user.
DELETE /system/users/{userId}
Does not accept filter and sort expressions (page 12).
Headers
Authorization: Bearer {hash string returned from Auth}
Sample Response Model
{ "Result": true, "ResponseCode": 0, "Status": "string", "Error": "string" }
Index
319
Index A
Activate Modules for Tenant • 285 Activate Roletype for Tenant • 287 Add Agent Custom Field • 106 Add Agent Install Packages • 100 Add Custom Extension Folder • 132 Add Department • 173 Add Live Connect Audit Log Entry • 160 Add Machine Group • 180 Add Machine Group to Scope • 223 Add Note to Agent • 124 Add Notification • 170 Add Organization • 207 Add Organization to Scope • 224 Add Roletype • 287 Add Scope • 222 Add Service Desk Ticket Note • 242 Add Staff • 270 Add Tenant • 288 Add Third Party Notification • 307 Add Ticketing Ticket • 298 Add Ticketing Ticket Note • 301 Add User • 313 Add User Role • 216 Add User to Scope • 224 Add User to User Role • 219 Agent Custom Fields • 105 Agent Install Packages • 99 Agent Procedures • 19 Agents • 79, 177 Alerts and Alarms • 127 Assets • 109 Assets Management • 121 Assign Staff to Ticket • 240 Audit • 37 Authentication • 14
C
Cancel a Scheduled Patch • 74 Cancel Scheduled Agent Procedure • 33 Change Role • 198 Change Scope • 198 Close Alarm • 129 Cloud Backup • 161 Core • 163 Create Admin Tasks • 257 Create Agent Install Link for Machine Group • 101 Create Sessions Timer • 258 Custom Extensions • 131 Customize the Agent Deployment Page • 102
D
Deactivate Tenant • 291 Delete Agent • 87 Delete Agent Custom Field • 107
Delete Agent Install Package • 101 Delete Agent Note • 125 Delete Alert • 201 Delete Asset • 119 Delete Custom Extensions Folder • 133 Delete Department • 174 Delete Document • 138 Delete Get File • 139 Delete Machine Group • 181 Delete Message • 145 Delete Notification • 202 Delete Organization • 211 Delete Patch • 75 Delete Quick Launch Agent Procedure • 34 Delete Role • 217 Delete Roletype • 290 Delete Scope • 223 Delete Session • 261 Delete Session Timer • 258 Delete Staff • 273 Delete Tenant • 291 Delete Third Party App Notification • 308 Delete User • 317 Departments • 171, 263 Deprecated Resources • 18 Disable User • 316 Documents and GetFiles • 135
E
Enable User • 316 Enable/Disable Third Party Apps • 306
F
Filter, Sort and Paging Expressions • 12, 19, 20, 27, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 57, 58, 60, 62, 65, 67, 69, 71, 73, 74, 75, 77, 79, 83, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 99, 100, 101, 105, 106, 107, 109, 111, 118, 119, 121, 123, 125, 127, 128, 129, 131, 133, 135, 136, 137, 138, 139, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 177, 178, 179, 180, 181, 183, 186, 189, 190, 191, 192, 197, 198, 199, 200, 201, 203, 205, 207, 209, 211, 212, 213, 215, 216, 217, 218, 219, 221, 222, 223, 224, 225, 227, 228, 229, 230, 232, 235, 237, 239, 240, 243, 244, 249, 261, 263, 265, 266, 268, 270, 272, 274, 275, 277, 278, 279, 280, 282, 287, 288, 290, 291, 292, 293, 294, 295, 297, 298, 299, 301, 302, 305, 306, 307, 308, 311, 312, 313, 315, 316, 317
G
Get 2FA Settings • 95 Get Add/Remove Programs • 47 Get Admin Activity • 190 Get Admin Task • 249 Get Admin Task by ID • 249 Get Agent • 83 Get Agent Connection Gateway IP • 123 Get Agent Custom Fields • 105
Index
320
Get Agent Install Packages • 99 Get Agent Log • 147 Get Agent Note • 121 Get Agent Procedure History • 32 Get Agent Procedure Log • 148 Get Agent Procedures • 19 Get Agent Settings • 86 Get Agent Status • 190 Get Agent Uptime • 93 Get Agent Views • 92 Get Agents • 79 Get Agents in Agent View • 90 Get Agents on Network • 94 Get Alarm • 127 Get Alarm Log • 149 Get Alert • 191 Get All Activity Types • 253 Get All Alarms • 128 Get All Customers • 250 Get All Inbox Messages • 141 Get All Service Desk Tickets • 255 Get All Service Desks • 253 Get All Session Timers • 256 Get All Work Order Types • 252 Get All Work Orders • 251 Get Application Event Log • 153 Get 'Ask Before Running' Setting • 35 Get Asset • 111 Get Asset Types • 118 Get Assets • 109 Get Audit Summaries • 37 Get Audit Summary • 52 Get Authentication • 163 Get Classic UI • 197 Get Cloud Backup Servers • 161 Get Cloud Backup Virtual Machine • 161 Get Cloud Backup Workstations • 162 Get Configuration Changes Log • 149 Get Credentials • 41 Get Custom Extension Folders and Files • 131 Get Department • 172 Get Departments • 171 Get Directory Services Event Log • 154 Get Disk Volumes • 43 Get DNS Server Event Log • 155 Get Document • 136 Get Documents • 135 Get Echo • 165 Get Echo Authentication • 165 Get Environment • 166 Get File • 139 Get Functions • 166 Get Functions for Module • 167 Get Get Files • 138 Get Installed Applications • 48 Get Internet Explorer Event Log • 156 Get Kaseya Remote Control Log • 152 Get Legacy Remote Control Log • 150 Get Local User Group Members • 47 Get Local User Groups • 42 Get Log Monitoring Log • 159 Get Machine Group • 178
Get Machine Groups • 177 Get Machine Groups in Organization • 179 Get Missing Patches • 69 Get Module Licenses • 277 Get Module Licenses for Tenant • 278, 294 Get Modules • 186 Get Modules TAP • 183 Get Monitor Action Log • 151 Get Network Statistics Log • 151 Get Notifications • 192 Get Organization • 205 Get Organization Locations • 212 Get Organization Types • 213 Get Organizations • 203 Get Patch History • 71 Get Patch Status • 67 Get PCI and Disks • 44 Get Printers • 45 Get Purchase and Warranty Expiration Dates • 46 Get Quick Launch Agent Procedures • 33 Get Remote Control Notify Policy • 96 Get Requested Ticket • 302 Get Roletype • 218 Get Roletype and Funclists • 280 Get Roletypes and Funclists • 279 Get Scheduled Agent Procedures • 20 Get Scope • 222 Get Scopes • 221 Get Security Event Log • 157 Get Security Products • 50 Get Service Desk Custom Fields • 228, 237 Get Service Desk Priorities • 229 Get Service Desk Status Types • 254 Get Service Desk Ticket • 235 Get Service Desk Ticket Categories • 227 Get Service Desk Ticket Custom Field • 239 Get Service Desk Ticket Notes • 240 Get Service Desk Ticket Statuses • 18, 232 Get Service Desk Tickets • 18, 230 Get Service Desks • 18, 225 Get Session Timer Object • 257 Get SessionID • 164 Get Software Licences • 49 Get Staff • 263, 268 Get Staff in Department • 266 Get Staff in Organization • 265 Get Startup Apps • 51 Get Storage File Contents • 275 Get System Event Log • 158 Get Tenant • 168, 282 Get Tenants • 282 Get Third Party App Notification • 308 Get Third Party App Notifications • 307 Get Third Party App Status • 305 Get Ticketing Ticket • 299 Get Ticketing Ticket Note • 301 Get Ticketing Tickets • 297 Get Title and Icon • 189 Get User • 312 Get User Accounts • 57 Get User Portal Agent Procedures • 36 Get User Role • 216
Index
321
Get User Roles • 215 Get User Roletypes • 218 Get Users • 311 Get Work Order Items • 251
I
Info Center • 141 Is Module Activated • 295 Is Module Installed • 168
K
Kaseya REST API Overview • 9, 168
L
Logs • 147
M
Machine Groups • 177 Move Document • 140
N
Navigation • 183
O
Organizations • 177, 203, 263
P
Patch Management • 65 Perform Notification • 200
R
Remove Module from Tenant • 292 Remove Patch Ignore • 77 Remove Roletype from Tenant • 293 Remove Session Timer • 259 Rename Agent • 88 Rename Document • 138 Rename Tenant • 285 Request Guidelines • 10 Roles • 215, 221, 311 Run a Baseline Audit • 57 Run Agent Procedure • 26 Run Latest Audit • 59 Run Patch Scan • 65 Run Patch Update • 73 Run SysInfo Audit • 61
S
Sample Request and Response • 11 Sample VSA REST API Client • 15 Schedule Agent Procedure • 27 Schedule Baseline Audit • 58 Schedule Latest Audit • 60 Schedule Patch Scan • 65 Schedule SysInfo Audit • 62 Scopes • 215, 221, 311 Send Email • 169 Service Desks • 225
Session Timer • 245, 257, 258, 259 Set Alert as Read • 199 Set 'Ask Before Running' Setting • 35 Set Message as Read • 144 Set Module Usage Type • 294 Set Patch Ignore • 75 Set Roletype Limit for Tenant • 286 Set Tenant License Limit • 293 Staff • 171, 263 Storage • 275 System Session • 261
T
Tenants • 277 Test SSL • 166 Third Party Apps • 305 Ticketing • 297
U
Update Agent Custom Field Name • 106 Update Agent Custom Field Value • 107 Update Agent Note • 123 Update Checkin Control • 89 Update Department • 174 Update Document • 137 Update Document Folder • 136 Update Machine Group • 180 Update Notification • 199 Update Organization • 209 Update Purchase and Warranty Expiration Dates • 46 Update Quick Launch Agent Procedure • 34 Update Service Desk Custom Field • 239 Update Service Desk Ticket Priority • 243 Update Service Desk Ticket Status • 244 Update Session Timer • 259 Update Staff • 272 Update Temp Directory • 89 Update User • 314 Update User Profile • 88 Upload Custom Extension File • 132 Users • 215, 221, 311