WebTitan API (1.0.0)

Download OpenAPI specification:Download

OAuth1 Authentication (Deprecated)

Authentication via the OAuth 1.0 protocol

This protocol defines a way by which different servers can work together over a series of steps to authenticate and provide access to a user.

A full set of keys and secrets is already in place for the Administrator, these can be seen in the UI under Settings > Access.

As the initial steps are already done, no further registration/authentication etc. needs to be performed.

An API client can simply provide the required oauth_signature to authorise a request to a protected resource.

Please note:

  • It is easiest to use an OAuth 1.0 library to generate the signature.
  • For PHP, oauth-php is recommended.
  • The oauth_signature can either be in the header (recommended), in the query or in the body.
  • Postman is recommended for testing.
  • When sending POST requests with Postman,the body should be sent as x-www-form-urlencoded. Some APIs accept JSON input, for these APIs the body should be sent in raw format with Content-Type application/json.

Customers can also connect to the API to perform operations restricted to their own account. Customer users created via the API will automatically have a full set of keysand secrets created. Customers created via the UI will not have a set of keys and secrets. However, the admin can create the keys and secrets on their behalf using the adminregister endpoint.

Authentication

oauth2

Authorization Code Grant with PKCE

access_token lifetime is 24h, refresh_token lifetime is 30 days

The Authorization Code grant with 'Proof Key for Code Exchange' (PKCE) is a secure way to authenticate single page applications or native applications to access your API.

A combination of a 'code verifier' and a 'code challenge' replaces the client secret when exchanging the authorization code for an access token.

A PCKE-enabled client generated will be used to authorize the application. For instance

  • client_id: 1 (This is the generate client_id)

As this authorization grant does not provide a client secret, a combination of a code verifier and a code challenge is used in order to request a token.

  • Code Challenge Method: S256 (Set code challenge method to SHA-256, leave code verifier blank)

Request an access_token/refresh_token

The following parameters are needed to retrieve an access_token/refresh_token:

  • Basic Auth
    • Username: <username>
    • Password: <password>
  • GET Request Payload
    • state: self generated random 40 character string
    • code_verifier: self generated random 128 character string
    • code_challenge: SHA-256 encoded code_verifier
    • code_challenge_method: S256
    • client_id: <users client ID>
    • redirect_uri: {{url}}/restapi/oauth/callback
    • code: Only applied if 2fa is enabled. This is a 6-digit code from your authenticator app

This endpoint performs a few redirects and if successful returns the access_token/refresh_token to be used for any further request.

Bearer token format

Bearer token format is JWT with the following additional claims on it:

Field / ClaimRole(s)Description
vue_role all(integer) id of the one of 4 Vue roles
name all(string) administrator's fullname
email all(string) administrator's username, which in practice is always email except main admin with id 1
2fa_enabled all(boolean integer) 1 - enabled, 0 - disabled 2FA;
calculated base on the number of 2FA setups for administrator. If no 2FA setup records then it is set to zero(disabled)
msp_id MSP(integer) id of the MSP
user_id Customer(integer) id of the customer/user
account_name Customer
MSP
(string) Customer's account name
(string) MSP's account name
Security Scheme Type OAuth2
authorizationCode OAuth Flow
Authorization URL: {{url}}/restapi/oauth/authorize
Token URL: {{url}}/restapi/oauth/token
Refresh URL: {{url}}/restapi/token/refresh
Scopes:
  • system -

    System Admin - full global access

  • sales -

    Sales Admin - limited global access

  • msp -

    MSP Admin - limited access to its own customers base only

  • customer -

    Customer Admin - limited access to specific customer only

Batch

Send a batch request to execute multiple endpoint requests concurrently

Send a batch request to execute multiple endpoint requests concurrently

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:
object

The request-key pair (example: create-user)

Responses

Request samples

Content type
{
  • "request-key": {
    }
}

Response samples

Content type
application/json
{
  • "create-user": {
    }
}

Machine Certificate

Download machine's active SSL certificate

Download machine's active SSL certificate file in one of formats: .der(Windows) and .pem

Authorizations:
None
query Parameters
type
string
Enum: "der" "pem"

The type of the certificate to download; default: der

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "error": "Error: The selected format is invalid."
}

Get list of all machine certificates

Get list of all machine certificates details

Authorizations:
oauth2 (systemsales)

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 4,
  • "data": [
    ]
}

Create a machine certificate

Authorizations:
oauth2 (systemsales)
Request Body schema:

SSL certificate object for creating

duration
required
integer [ 1 .. 10 ]

Certificate duration in years

common_name
required
string

SSL Certificate Common Name (CN)

organization
required
string

Organization (O)

unit
required
string

Organization Unit (OU)

city
required
string
state
required
string

State or province

country_code
required
string 2 characters

Responses

Request samples

Content type
{
  • "duration": 1,
  • "common_name": "WebTitan Cloud",
  • "organization": "TitanHQ",
  • "unit": "Engineering Department",
  • "city": "Galway",
  • "state": "Galway",
  • "country_code": "st"
}

Response samples

Content type
application/json
{
  • "object": "ssl_cert",
  • "code": 200,
  • "issuer": "TitnaHQ",
  • "commonname": "WebTitanCloud",
  • "serialnumber": "62:9d:2b:a8:4e:b9:98:3a:f5:f5:19:e4:93:17:ee:9a:e3:64:18:94",
  • "expires": "2022-02-01 12:22:33",
  • "filename": "wt_WfPwci.pem"
}

Get single machine certificate details

Get single machine certificate details

Authorizations:
oauth2 (systemsales)
path Parameters
id
required
string <string>

SSL certificate serial number

Responses

Response samples

Content type
application/json
{
  • "object": "ssl_cert",
  • "code": 200,
  • "issuer": "TitnaHQ",
  • "commonname": "WebTitanCloud",
  • "serialnumber": "62:9d:2b:a8:4e:b9:98:3a:f5:f5:19:e4:93:17:ee:9a:e3:64:18:94",
  • "expires": "2022-02-01 12:22:33",
  • "filename": "wt_WfPwci.pem"
}

Delete a single machine certificate

Delete a specific SSL certificate for machine

Authorizations:
oauth2 (systemsales)
path Parameters
id
required
string <string>

SSL certificate serial number

Responses

Response samples

Content type
application/json
{
  • "object": "ssl_cert",
  • "code": 200,
  • "issuer": "TitnaHQ",
  • "commonname": "WebTitanCloud",
  • "serialnumber": "62:9d:2b:a8:4e:b9:98:3a:f5:f5:19:e4:93:17:ee:9a:e3:64:18:94",
  • "expires": "2022-02-01 12:22:33",
  • "filename": "wt_WfPwci.pem"
}

Get machine's active certificate details

Get machine's active certificate details

Authorizations:
oauth2 (systemsales)

Responses

Response samples

Content type
application/json
{
  • "object": "ssl_cert",
  • "code": 200,
  • "issuer": "TitnaHQ",
  • "commonname": "WebTitanCloud",
  • "serialnumber": "62:9d:2b:a8:4e:b9:98:3a:f5:f5:19:e4:93:17:ee:9a:e3:64:18:94",
  • "expires": "2022-02-01 12:22:33",
  • "filename": "wt_WfPwci.pem"
}

Set the machine's active SSL certificate

Set the active SSL certificate for machine

Authorizations:
oauth2 (systemsales)
Request Body schema:

Details of machine SSL certificate to be set as active

id
required
string <string>

SSL certificate serial number

Responses

Request samples

Content type
{
  • "id": "62:9d:2b:a8:4e:b9:98:3a:f5:f5:19:e4:93:17:ee:9a:e3:64:18:94"
}

Response samples

Content type
application/json
{
  • "object": "ssl_cert",
  • "code": 200,
  • "issuer": "TitnaHQ",
  • "commonname": "WebTitanCloud",
  • "serialnumber": "62:9d:2b:a8:4e:b9:98:3a:f5:f5:19:e4:93:17:ee:9a:e3:64:18:94",
  • "expires": "2022-02-01 12:22:33",
  • "filename": "wt_WfPwci.pem"
}

Download single machine certificate

Download specific machine certificate

Authorizations:
oauth2 (systemsales)
path Parameters
id
required
string <string>

SSL certificate serial number

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "error": "Error: The id may not be greater than 59 characters."
}

Cloud Keys

List a customer's cloud keys

List a customer's cloud keys

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

query Parameters
offset
integer <int64>

Number of items to exclude in the returned list, counting from 0

limit
integer <int64>

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 2,
  • "data": [
    ]
}

Create a new cloud key

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

Request Body schema:
logname
string

Cloud key name used in reporting

keyid
string

Key ID for users to use the cloud key

expiresafter
integer

The amount of time a cloud key will expire after its first use

expiresafterperiod
string

Expire after time units (days, hours, mins). Used with expiresafter field

maxuse
integer

Maximum number of times the cloud key can be used

validfrom
string

When the cloud key will take effect (YYYY-MM-DD). Defaults to current date

validto
string

When the cloud key will expire (YYYY-MM-DD)

active
boolean

Specify whether the key can be used (true / false)

comment
string

comment

Responses

Request samples

Content type
{
  • "logname": "sales",
  • "keyid": "47D98D411F089",
  • "expiresafter": 2,
  • "expiresafterperiod": "days",
  • "maxuse": 1000,
  • "validfrom": "2018-01-01",
  • "validto": null,
  • "active": false,
  • "comment": "desc"
}

Response samples

Content type
application/json
{
  • "object": "cloudkey",
  • "id": 2,
  • "logname": "sales",
  • "keyid": "47D98D411F089",
  • "expiresafter": 2,
  • "expiresafterperiod": "days",
  • "maxuse": 1000,
  • "validfrom": "2018-01-01",
  • "validto": null,
  • "active": false,
  • "comment": "desc",
  • "timeused": 1,
  • "created": "2018-07-17 15:58:58",
  • "lastused": null,
  • "lastip": null
}

Get a cloud key

Get a particular cloudkey by ID

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

cloudkeyid
required
integer <int64>

Cloud key identifier

Responses

Response samples

Content type
application/json
{
  • "object": "cloudkey",
  • "id": 2,
  • "logname": "sales",
  • "keyid": "47D98D411F089",
  • "expiresafter": 2,
  • "expiresafterperiod": "days",
  • "maxuse": 1000,
  • "validfrom": "2018-01-01",
  • "validto": null,
  • "active": false,
  • "comment": "desc",
  • "timeused": 1,
  • "created": "2018-07-17 15:58:58",
  • "lastused": null,
  • "lastip": null
}

Update a cloud key

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

cloudkeyid
required
integer <int64>

Cloud Key Identifier

Request Body schema:
logname
string

Cloud key name used in reporting

keyid
string

Key ID for users to use the cloud key

expiresafter
integer

The amount of time a cloud key will expire after its first use

expiresafterperiod
string

Expire after time units (days, hours, mins). Used with expiresafter field

reset
boolean

Reset the times used count to zero

maxuse
integer

Maximum number of times the cloud key can be used

validfrom
string

When the cloud key will take effect (YYYY-MM-DD). Defaults to current date

validto
string or null

When the cloud key will expire (YYYY-MM-DD)

active
boolean

Specify whether the key can be used (true / false)

comment
string

comment

Responses

Request samples

Content type
{
  • "logname": "sales",
  • "keyid": "47D98D411F089",
  • "expiresafter": 2,
  • "expiresafterperiod": "days",
  • "reset": false,
  • "maxuse": 1000,
  • "validfrom": "2018-01-01",
  • "validto": null,
  • "active": false,
  • "comment": "desc"
}

Response samples

Content type
application/json
{
  • "object": "cloudkey",
  • "id": 2,
  • "logname": "sales",
  • "keyid": "47D98D411F089",
  • "expiresafter": 2,
  • "expiresafterperiod": "days",
  • "maxuse": 1000,
  • "validfrom": "2018-01-01",
  • "validto": null,
  • "active": false,
  • "comment": "desc",
  • "timeused": 1,
  • "created": "2018-07-17 15:58:58",
  • "lastused": null,
  • "lastip": null
}

Delete a cloud key

Delete a cloud key

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

cloudkeyid
required
integer <int64>

Cloud key identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 1
}

Data Offload

List and download available log files. A customer admin can list and download their own log files. A system or MSP admin can list and download all customer log files.

List all customer log files

A Customer admin can get a list of all log files. A System/MSP admin can specify a customer UUID and get a list of log files for that customer. Log files are retained for 35 days and made available in GZIP format.

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
list_type
integer <int64>

This is an optional parameter that is defined in s3api. If a value is passed, it must be 2.

prefix
string
Example: prefix=0130ae8f-3712-4dad-9e1b-f2ad5ebc136c/2022-07-13

For System/MSP admin, prefix must contain a valid customer UUID (use Get Customer Account). Prefix is not required for a customer admin, unless you want to get logs for a specific date. To get logs for a specific date, append that date to the UUID in YYYY-MM-DD format.

Responses

Response samples

Content type
application/json
{
  • "object": "logs",
  • "code": 200,
  • "data": [
    ]
}

Download all log files for specified customer and date (System/MSP Admin)

A Systems or MSP admin can download all log files from a specified date for a specified customer. Log files are retained for 35 days and made available in GZIP format.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
uuid
required
string
Example: 0130ae8f-3712-4dad-9e1b-f2ad5ebc136c

The customer UUID (use Get Customer Account) for the customer who's log files you want to download.

date
required
string
Example: 2022-07-13

The specific date you want to download log files for in YYYY-MM-DD format.

Responses

Response samples

Content type
application/json
Example
{
  • "code": 400,
  • "error": "Error: Uuid cannot be empty"
}

Download all log files for specified date (Customer Admin)

A Customer admin can download all log files for a specified date. Log files are retained for * 35 days and made available in GZIP format.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
date
required
string
Example: 2022-07-21

The specific date you want to download log files for in YYYY-MM-DD format.

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "error": "Error: The date does not match the format Y-m-d."
}

Download a single log file for date provided (System/MSP Admin)

A Systems or MSP admin can download a single log file for a specified date and customer. Log files are retained for 35 days and made available in GZIP format.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
uuid
required
string
Example: 056e2235-00f7-4494-9149-cbedbb5bd9db

The customer UUID (use Get Customer Account) for the customer who's log files you want to download.

date
required
string
Example: 2022-07-13

The specific date you want to download log files for in YYYY-MM-DD format.

filename
required
string
Example: 1100.wtc.json.gz

The filename of the single log file you want to download (use List all Customer Log Files to get file name).

Responses

Response samples

Content type
application/json
Example
{
  • "code": 400,
  • "error": "Error: Uuid cannot be empty"
}

Download a single log file for specified customer and date (Customer Admin)

A Customer admin can download a single log file for a specified date. Log files are retained for 35 days and made available in GZIP format.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
date
required
string
Example: 2022-07-13

The specific date you want to download log files for in YYYY-MM-DD format.

filename
required
string
Example: 1100.wtc.json.gz

The filename of the single log file you want to download (use List all Customer Log Files to get file name).

Responses

Response samples

Content type
application/json
Example
{
  • "code": 400,
  • "error": "Error: Customer uuid entered is invalid"
}

Customer Devices

List, Get, Update and Delete customer devices. These endpoints do not have * support for MSP layer. Please refer to the General Devices endpoints for MSP support.

Get the list of customer's devices

Get the list of all the customer devices

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

policyid
integer <int64> [ 1 .. 2147483647 ]

Customer Policy ID

location_id
integer <int64> [ 1 .. 2147483647 ]

Location Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "object",
  • "code": 200,
  • "count": 2,
  • "total": 4,
  • "data": [
    ]
}

Get the customers OTG key

Get the customers OTG key

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Responses

Response samples

Content type
application/json
{
  • "object": "otgkey",
  • "code": 200,
  • "key": "5957356a-e77e-476c-ae3d-153a440d2d6a"
}

Regenerate the customers OTG key

Regenerate the customers OTG key

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Responses

Response samples

Content type
application/json
{
  • "object": "otgkey",
  • "code": 200,
  • "reset": "true"
}

Get a single customer device

Get a single customer device

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

deviceid
required
integer <int64> [ 1 .. 2147483647 ]

Device identifier

Responses

Response samples

Content type
application/json
{
  • "object": "device",
  • "code": 200,
  • "id": 1,
  • "name": "Claude-PC",
  • "key": "3cfa0937-763b-4977-bbd4-b38e4324c637",
  • "version": "2.0.1",
  • "last_contact": "2021-05-18 11:37:35",
  • "status": "DEVICE CONFIGURATION: CREATED",
  • "location": "Dublin",
  • "location_id": 3,
  • "user": "claude@example.local",
  • "user_id": 3,
  • "extra_info": "{'info':'some extra info'}",
  • "configuration": "{'filter:{'type':'value'}}",
  • "configuration_inherited": true,
  • "policyid": 3,
  • "policyname": "Default Policy",
  • "created": "2021-05-18 11:37:16",
  • "modified": "2021-05-18 11:37:16"
}

Update a single customer device

Update a single customer device

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

deviceid
required
integer <int64> [ 1 .. 2147483647 ]

Device identifier

Request Body schema:
name
string <= 250 characters
location_id
integer >= 1
device_exception_id
integer >= 1

Responses

Request samples

Content type
{
  • "name": "Claude-PC",
  • "location_id": 3,
  • "device_exception_id": 3
}

Response samples

Content type
application/json
{
  • "object": "device",
  • "code": 200,
  • "id": 1,
  • "name": "Claude-PC",
  • "key": "3cfa0937-763b-4977-bbd4-b38e4324c637",
  • "version": "2.0.1",
  • "last_contact": "2021-05-18 11:37:35",
  • "status": "DEVICE CONFIGURATION: CREATED",
  • "location": "Dublin",
  • "location_id": 3,
  • "user": "claude@example.local",
  • "user_id": 3,
  • "extra_info": "{'info':'some extra info'}",
  • "configuration": "{'filter:{'type':'value'}}",
  • "configuration_inherited": true,
  • "policyid": 3,
  • "policyname": "Default Policy",
  • "created": "2021-05-18 11:37:16",
  • "modified": "2021-05-18 11:37:16"
}

Delete a single customer device

Delete a single customer device

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

deviceid
required
integer <int64> [ 1 .. 2147483647 ]

Device identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 48
}

Devices - Config

Get Device Default Configuration (Default Policy)

Get Device Default Configuration (Default Policy)

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Responses

Response samples

Content type
application/json
{
  • "object": "deviceconfiguration",
  • "code": 200,
  • "policy_id": "10",
  • "device_exception_id": "10"
}

Update a device's default policy for a specific device

Update a device's default policy for a specific device

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Request Body schema:
policy_id
integer

Policy Identifier

Responses

Request samples

Content type
{
  • "policy_id": 10
}

Response samples

Content type
application/json
{
  • "object": "deviceconfiguration",
  • "code": 200,
  • "policy_id": "10",
  • "device_exception_id": "10"
}

Devices - Config Advanced

Get the device configuration template

Get device configuration template

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Responses

Response samples

Content type
application/json
{
  • "object": "deviceconfiguration_advanced",
  • "code": 200,
  • "configuration": {
    }
}

Update the device configuration template

Update device configuration template

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Request Body schema:
configuration
string

json formatted string

Responses

Request samples

Content type
{
  • "configuration": "{'filter:{'type':'value'}}"
}

Response samples

Content type
application/json
{
  • "object": "deviceconfiguration_advanced",
  • "code": 200,
  • "configuration": {
    }
}

Reset the device configuration template

Reset device configuration template, Reset uses delete request

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Responses

Response samples

Content type
application/json
{
  • "object": "deviceconfiguration_advanced",
  • "code": 200,
  • "reset": true
}

Update a device configuration for a specific device

Update a specific device configuration

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

deviceid
required
integer <int64> >= 1

Device identifier

Request Body schema:
configuration
string

json formatted string

Responses

Request samples

Content type
{
  • "configuration": "{'filter:{'type':'value'}}"
}

Response samples

Content type
application/json
{
  • "object": "deviceconfiguration_advanced",
  • "code": 200,
  • "configuration": {
    }
}

Reset the device configuration for a specific device

Reset device configuration for a customer device, Reset uses delete request

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

deviceid
required
integer <int64> [ 1 .. 2147483647 ]

Device identifier

Responses

Response samples

Content type
application/json
{
  • "object": "deviceconfiguration_advanced",
  • "code": 200,
  • "reset": true
}

General Devices

List, Get, Update or Delete devices for customers of the MSP layer.

List all the MSP customers devices

Get a list of all the MSP customer's devices. You can filter the devices either by msp_id or user_id

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
msp_id
integer <int64> [ 0 .. 2147483647 ]

MSP Account Identifier

user_id
integer <int64> [ 0 .. 2147483647 ]

Customer Account Identifier

offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

policyid
integer <int64> [ 1 .. 2147483647 ]

Customer Policy ID

location_id
integer <int64> [ 1 .. 2147483647 ]

Location Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "object",
  • "code": 200,
  • "count": 2,
  • "total": 4,
  • "data": [
    ]
}

Get An MSP Customer Device

Get a device for an MSP Customer

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Device Identfieir

Responses

Response samples

Content type
application/json
{
  • "object": "device",
  • "code": 200,
  • "id": 1,
  • "name": "Claude-PC",
  • "key": "3cfa0937-763b-4977-bbd4-b38e4324c637",
  • "version": "2.0.1",
  • "last_contact": "2021-05-18 11:37:35",
  • "status": "DEVICE CONFIGURATION: CREATED",
  • "location": "Dublin",
  • "location_id": 3,
  • "user": "claude@example.local",
  • "user_id": 3,
  • "extra_info": "{'info':'some extra info'}",
  • "configuration": "{'filter:{'type':'value'}}",
  • "configuration_inherited": true,
  • "policyid": 3,
  • "policyname": "Default Policy",
  • "created": "2021-05-18 11:37:16",
  • "modified": "2021-05-18 11:37:16"
}

Update An MSP Customer Device

Update a device for an MSP Customer

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Device Identfieir

Request Body schema:
name
string <= 250 characters
location_id
integer >= 1
device_exception_id
integer >= 1

Responses

Request samples

Content type
{
  • "name": "Claude-PC",
  • "location_id": 3,
  • "device_exception_id": 3
}

Response samples

Content type
application/json
{
  • "object": "device",
  • "code": 200,
  • "id": 1,
  • "name": "Claude-PC",
  • "key": "3cfa0937-763b-4977-bbd4-b38e4324c637",
  • "version": "2.0.1",
  • "last_contact": "2021-05-18 11:37:35",
  • "status": "DEVICE CONFIGURATION: CREATED",
  • "location": "Dublin",
  • "location_id": 3,
  • "user": "claude@example.local",
  • "user_id": 3,
  • "extra_info": "{'info':'some extra info'}",
  • "configuration": "{'filter:{'type':'value'}}",
  • "configuration_inherited": true,
  • "policyid": 3,
  • "policyname": "Default Policy",
  • "created": "2021-05-18 11:37:16",
  • "modified": "2021-05-18 11:37:16"
}

Delete An MSP Customer Device

Delete a device for an MSP Customer

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Device Identfieir

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 48
}

Device Exceptions

Create, List, Get, Update or Delete device Exceptions for customers

List all the device exceptions

Get a list of all the device exceptions for the user. If logged in as admin you can pass user_id as a query param to get the list of device exceptions for the user.

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
user_id
integer <int64> [ 0 .. 2147483647 ]

Customer Account Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "device_exception",
  • "code": 200,
  • "count": 2,
  • "total": 4,
  • "data": [
    ]
}

Create a new device exception

Create a new device exception for users

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
user_id
integer <int64> [ 0 .. 2147483647 ]

Customer Account Identifier

Request Body schema:
One of
name
string <= 250 characters
description
string <= 2000 characters

Responses

Request samples

Content type
{
  • "name": "Device Exception",
  • "description": "Device Exception "
}

Response samples

Content type
application/json
{
  • "object": "device_exception",
  • "code": 200,
  • "id": 1,
  • "name": "Claude-PC",
  • "description": "Device exception created",
  • "rules": 0,
  • "devices": 0,
  • "default": "2021-05-18 11:37:16",
  • "created_at": "2021-05-18 11:37:16",
  • "updated_at": "2021-05-18 11:37:16"
}

Get device exceptions

Get a single device exception

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception identifier

Responses

Response samples

Content type
application/json
{
  • "object": "device_exception",
  • "code": 200,
  • "id": 1,
  • "name": "Claude-PC",
  • "description": "Device exception created",
  • "rules": 0,
  • "devices": 0,
  • "default": "2021-05-18 11:37:16",
  • "created_at": "2021-05-18 11:37:16",
  • "updated_at": "2021-05-18 11:37:16"
}

Update device exceptions

Update a single update device exception

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception identifier

Request Body schema:
One of
name
string <= 250 characters
description
string <= 2000 characters

Responses

Request samples

Content type
{
  • "name": "Device Exception",
  • "description": "Device Exception "
}

Response samples

Content type
application/json
{
  • "object": "device_exception",
  • "code": 200,
  • "id": 1,
  • "name": "Claude-PC",
  • "description": "Device exception created",
  • "rules": 0,
  • "devices": 0,
  • "default": "2021-05-18 11:37:16",
  • "created_at": "2021-05-18 11:37:16",
  • "updated_at": "2021-05-18 11:37:16"
}

Delete device exceptions

Delete a single device exception

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 48
}

Device Exception Rules

Create, List, Get, Update or Delete device exception rules for customers

List device exception rules

List all device exception rules for the device exception id passed

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
exceptionid
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception Identifier

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 4,
  • "data": [
    ]
}

Create a new device exception rule

Create a new device exception rule for the exception

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
exceptionid
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception Identifier

Request Body schema:
One of
domain
string <= 250 characters
description
string <= 2000 characters
ip
string
resolver
string
device_exception_rule_type_id
integer [ 1 .. 2 ]

Responses

Request samples

Content type
{
  • "domain": "google.com",
  • "description": "Device Exception Rule",
  • "ip": "192.134.23.32",
  • "resolver": "154.134.23.32",
  • "device_exception_rule_type_id": "1"
}

Response samples

Content type
application/json
{
  • "object": "device_exception_rule",
  • "code": 200,
  • "id": 1,
  • "description": "Device exception rule created",
  • "domain": "google.com",
  • "ip": "192.23.32.32",
  • "resolver": "152.23.32.32",
  • "rule_type": "ByPass OTG",
  • "created_at": "2021-05-18 11:37:16",
  • "updated_at": "2021-05-18 11:37:16"
}

Get device exception rule

Get a specific device exception rule for the device exception rule id passed

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
exceptionid
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception Identifier

id
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception Rules Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "device_exception_rule",
  • "code": 200,
  • "id": 1,
  • "description": "Device exception rule created",
  • "domain": "google.com",
  • "ip": "192.23.32.32",
  • "resolver": "152.23.32.32",
  • "rule_type": "ByPass OTG",
  • "created_at": "2021-05-18 11:37:16",
  • "updated_at": "2021-05-18 11:37:16"
}

Update device exception rule

Update a specific device exception rule for the device exception rule id passed

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
exceptionid
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception Identifier

id
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception Rules Identifier

Request Body schema:
One of
domain
string <= 250 characters
description
string <= 2000 characters
ip
string
resolver
string
device_exception_rule_type_id
integer [ 1 .. 2 ]

Responses

Request samples

Content type
{
  • "domain": "google.com",
  • "description": "Device Exception Rule",
  • "ip": "192.134.23.32",
  • "resolver": "154.134.23.32",
  • "device_exception_rule_type_id": "1"
}

Response samples

Content type
application/json
{
  • "object": "device_exception_rule",
  • "code": 200,
  • "id": 1,
  • "description": "Device exception rule created",
  • "domain": "google.com",
  • "ip": "192.23.32.32",
  • "resolver": "152.23.32.32",
  • "rule_type": "ByPass OTG",
  • "created_at": "2021-05-18 11:37:16",
  • "updated_at": "2021-05-18 11:37:16"
}

Delete device exception rule

Delete a specific device exception rule for the device exception rule id passed

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
exceptionid
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception Identifier

id
required
integer <int64> [ 1 .. 2147483647 ]

Device Exception Rules Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "device_exception_rule",
  • "code": 200,
  • "id": 1,
  • "description": "Device exception rule created",
  • "domain": "google.com",
  • "ip": "192.23.32.32",
  • "resolver": "152.23.32.32",
  • "rule_type": "ByPass OTG",
  • "created_at": "2021-05-18 11:37:16",
  • "updated_at": "2021-05-18 11:37:16"
}

Global Domains

List global domains

List global domains based on allow, block or all

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • block - block
  • allow - allow
  • all - all

Action can be either allow, block or all.

query Parameters
offset
integer <int64>

Number of items to exclude in the returned list, counting from 0

limit
integer <int64>

Number of items to return

Responses

Response samples

Content type
application/json
Example
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

Create a new global domain for action, it can either be block or allow

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

Request Body schema:
domain
required
string
subdomains
boolean
log_requests
boolean
comment
string <= 250 characters

Responses

Request samples

Content type
{
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site"
}

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Get a global blocked domain entry

Get a global blocked domain entry

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain identifier

Responses

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Update a global domain entry based on the action, it can either be block or allow

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain identifier

Request Body schema:
domain
required
string
subdomains
boolean
log_requests
boolean
comment
string <= 250 characters

Responses

Request samples

Content type
{
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site"
}

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Delete a global domain entry based on action

Delete a global domain entry based on action

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 13
}

Import domain entries by action

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

query Parameters
overwrite
boolean
Default: false
Example: overwrite=true

Overwrite boolean (set true to overwrite domains)

Request Body schema:
Array of objects (createGlobalDomain)

Responses

Request samples

Content type
{
  • "": [
    ]
}

Response samples

Content type
application/json
{
  • "": [
    ]
}

Customer Domains

List all the customer's domains based on action

List all the customer's domains based on action type. * Action type is either allow, block or all

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

action
required
string
Examples:
  • allow - allow
  • block - block
  • all - allow and block

action is either allow, block or all

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
Example
{
  • "object": "object",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

Customer Domains - Default Policy

List customer's default domains based on action

List customer's default domains based on action

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 0 .. 2147483647 ]

Customer identifier

action
required
string
Examples:
  • block - block
  • allow - allow
  • all - all

Action can be either be allow or block

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
Example
{
  • "object": "object",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

Create a new default domain entry for a customer

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

Request Body schema:
domain
required
string
subdomains
boolean
Default: true
log_requests
boolean
Default: true
comment
string <= 250 characters

Responses

Request samples

Content type
{
  • "domain": "apple.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site"
}

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Get customer's default domain entry by action

Get a customer's default domain entry by action

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain identifier

Responses

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Update default domain entry for a customer based on the action

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain identifier

Request Body schema:
domain
required
string
subdomains
boolean
Default: true
log_requests
boolean
Default: true
comment
string <= 250 characters

Responses

Request samples

Content type
{
  • "domain": "apple.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site"
}

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Delete a default domain entry for a customer based on action

Delete a default domain entry for a customer based on action

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 13
}

Import default domain entries for customers by action

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

query Parameters
overwrite
boolean
Default: false
Example: overwrite=true

Overwrite boolean (set true to overwrite domains)

Request Body schema:
csv
string <csv>

Import Domain via CSV

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
Example
{
  • "object": "object",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

Customer Domains - Policy

Import domain entries for customers for a specific policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

policyid
required
integer <int64>

Policy identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

query Parameters
overwrite
boolean
Default: false
Example: overwrite=true

Overwrite boolean (set true to overwrite domains)

Request Body schema:
csv
string <csv>

Import Domain via CSV

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
Example
{
  • "object": "object",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

List customer's domain based on action

List customer's domain based on action type. Action type is either allow, block or all

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> >= 1

Customer identifier

policyid
required
integer <int64> >= 1

Policy identifier

action
required
string
Examples:
  • allow - allow
  • block - block
  • all - all

action is either allow, block or all

query Parameters
offset
integer <int64> >= 0

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> >= 0

Number of items to return

Responses

Response samples

Content type
application/json
Example
{
  • "object": "object",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

Get a customer's domain entry based on action

Get a customer's domain entry based on allow or block

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> >= 1

Customer identifier

policyid
required
integer <int64> >= 1

Policy identifier

action
required
string
Examples:
  • allow - allow
  • block - block

action is either allow or block

domainid
required
integer <int64> >= 1

Domain identifier

Responses

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Update a domain entry for a specific customer for a policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> >= 1

Customer identifier

policyid
required
integer <int64> >= 1

Policy identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

domainid
required
integer <int64> >= 1

Domain identifier

Request Body schema:
domain
required
string
subdomains
boolean
Default: true
log_requests
boolean
Default: true
comment
string <= 250 characters

Responses

Request samples

Content type
{
  • "domain": "apple.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site"
}

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Delete a domain entry for a customer for a specific policy

Delete a allowed domain entry for a customer for a specific policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

policyid
required
integer <int64>

Policy identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

domainid
required
integer <int64>

Domain identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 13
}

Create a domain entry for a specific customer for a policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> >= 1

Customer identifier

policyid
required
integer <int64> >= 1

Policy identifier

action
required
string
Examples:
  • block - block
  • allow - allow

Action can be either be allow or block

Request Body schema:
domain
required
string
subdomains
boolean
Default: true
log_requests
boolean
Default: true
comment
string <= 250 characters

Responses

Request samples

Content type
{
  • "domain": "apple.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site"
}

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

General Domains

Domains for a policy type. If no user type is given (user_id or msp_id) * with the policyid as default the global domains are considered.

List Policy Domains

List Policy Domains

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy Identifier

action
required
string
Enum: "allow" "block" "all"

Action Type

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
Example
{
  • "object": "object",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

Create A Policy Domain

Create A Policy Domain

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy Identifier

action
required
string
Enum: "allow" "block"

Action Type

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Request Body schema:
domain
required
string
subdomains
boolean
Default: true
log_requests
boolean
Default: true
comment
string <= 250 characters

Responses

Request samples

Content type
{
  • "domain": "apple.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site"
}

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Get a policy domain

Get a policy domain

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy Identifier

action
required
string
Enum: "allow" "block"

Action Type

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain Identifier

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Responses

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Update A Policy Domain

Update A Policy Domain

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy Identifier

action
required
string
Enum: "allow" "block"

Action Type

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain Identifier

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Request Body schema:
domain
string
subdomains
boolean
log_requests
boolean
comment
string <= 250 characters

Responses

Request samples

Content type
{
  • "domain": "apple.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site"
}

Response samples

Content type
application/json
Example
{
  • "object": "block",
  • "code": 200,
  • "id": 5,
  • "domain": "redlight.com",
  • "subdomains": false,
  • "log_requests": true,
  • "comment": "Block access to this site",
  • "policyid": 3,
  • "policyname": "Created Policy 1"
}

Delete a policy domain

Delete a policy domain

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy Identifier

action
required
string
Enum: "allow" "block"

Action Type

domainid
required
integer <int64> [ 1 .. 2147483647 ]

Domain Identifier

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 13
}

Import Policy Domains

Import Policy Domains

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy Identifier

action
required
string
Enum: "allow" "block"

Action Type

query Parameters
user_id
integer <int64> >= 1

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

overwrite
boolean
Default: false
Example: overwrite=true

Overwrite boolean (set true to overwrite domains)

Request Body schema:
csv
string <csv>

Import Domain via CSV

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
Example
{
  • "object": "object",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

Groups

List all the groups of a customer account

List all the groups of a customer account.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "object": "list",
  • "count": 2,
  • "total": 2,
  • "data": [
    ]
}

Get a single group of a customer account

Get single customer account group.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

groupid
required
integer <int64> [ 1 .. 2147483647 ]

Group identifier

Responses

Response samples

Content type
application/json
{
  • "object": "group",
  • "id": 1,
  • "name": "groupname",
  • "description": "groupdescription",
  • "policy_id": 1,
  • "policy_name": "policyname",
  • "users": "2",
  • "disabled": false,
  • "weight": 5,
  • "last_updated": "2022-02-02 17:23:42"
}

Update a single group of a customer account

Update single customer account group.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

groupid
required
integer <int64> [ 1 .. 2147483647 ]

Group identifier

Request Body schema:
policyid
integer <int64> [ 1 .. 2147483647 ]

Policy Identifier. Also takes the value 'default' for default policy

description
string <= 250

Group Description

Responses

Request samples

Content type
{
  • "policyid": 4,
  • "description": "This is an updated decription"
}

Response samples

Content type
application/json
{
  • "object": "group",
  • "id": 1,
  • "name": "groupname",
  • "description": "This is an updated description",
  • "policy_id": 4,
  • "policy_name": "Created Policy",
  • "users": "2",
  • "disabled": false,
  • "weight": 5,
  • "last_updated": "2022-02-02 17:23:42"
}

Customer History

Get Customer History

Customer history for a specific date.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked
  • bypassed - bypassed
  • all - all

Action can be 'allowed', 'blocked', 'bypassed' or 'all'

date
required
string

Date (YYYY-MM-DD)

query Parameters
offset
integer <int64>

Number of items to exclude in the returned list, counting from 0

limit
integer <int64>

Number of items to return

order_dir
string

Sorting order can be either 'desc' or 'asc' (descending or ascending). Default is 'desc'

starttime
string

Time (HH-MM)

endtime
string

Time (HH-MM)

q
string

Input string to search from any history field, Searchable fields are:

  • user, url, category, externalip, internalip, policy, location
order_by
string
Enum: "user" "policy" "location" "time" "externalip" "internalip"

Input string to sort by attributes, attributes listed in enum are sortable

  • If no attribute is passed it will order_by time by default.

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 10,
  • "date": "2019-01-16",
  • "order_by": "time",
  • "order_dir": "desc",
  • "data": [
    ]
}

Customer Locations

List a customer's locations

List locations of a specific type for a particular customer.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

locationtype
required
string
Examples:
  • staticip - staticip
  • dynamicip - dynamicip
  • dynamicdns - dynamicdns
  • roaming - roaming
  • virtual - virtual
  • all - all

Location type: staticip, dynamicip, dynamicdns, roaming, virtual, all

query Parameters
policyid
integer <int64> [ 1 .. 2147483647 ]

Customer Policy ID

offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 4,
  • "data": [
    ]
}

Create a new location

Create a new location

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

locationtype
required
string
Examples:
  • staticip - staticip
  • dynamicip - dynamicip
  • dynamicdns - dyanmicdns
  • roaming - roaming
  • virtual - virtual

Location type: staticip, dynamicip, dynamicdns, roaming, virtual

Request Body schema:
One of
name
required
string

Location Name

policyid
integer

Policy applied to the location. The value 'null' means the default policy is applied

Responses

Request samples

Content type
Example
{
  • "name": "Main Office",
  • "policyid": 123
}

Response samples

Content type
application/json
Example
{
  • "object": "location",
  • "code": 200,
  • "type": "staticip",
  • "id": 2,
  • "name": "Main Office",
  • "policy_id": 123,
  • "policy_name": "Created Policy",
  • "deletable": true,
  • "customer_id": 1,
  • "customer_name": "TitanHQ",
  • "ip": "11.22.123.45",
  • "addresses": [
    ]
}

Get a customer's location

Get any location for a customer.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

locationid
required
integer <int64> [ 1 .. 2147483647 ]

Location identifier

Responses

Response samples

Content type
application/json
Example
{
  • "object": "location",
  • "code": 200,
  • "type": "staticip",
  • "id": 2,
  • "name": "Main Office",
  • "policy_id": 123,
  • "policy_name": "Created Policy",
  • "deletable": true,
  • "customer_id": 1,
  • "customer_name": "TitanHQ",
  • "ip": "11.22.123.45",
  • "addresses": [
    ]
}

Get a customer's location with Specific Location Type

Get location of a specific type for a particular customer.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

locationtype
required
string
Examples:
  • staticip - staticip
  • dynamicip - dynamicip
  • dynamicdns - dynamicdns
  • roaming - roaming
  • virtual - virtual

Location type: staticip, dynamicip, dynamicdns, roaming, virtual

locationid
required
integer <int64> [ 1 .. 2147483647 ]

Location identifier

Responses

Response samples

Content type
application/json
Example
{
  • "object": "location",
  • "code": 200,
  • "type": "staticip",
  • "id": 2,
  • "name": "Main Office",
  • "policy_id": 123,
  • "policy_name": "Created Policy",
  • "deletable": true,
  • "customer_id": 1,
  • "customer_name": "TitanHQ",
  • "ip": "11.22.123.45",
  • "addresses": [
    ]
}

Update a location

Update a location, any parameters not provided will be left unchanged

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

locationtype
required
string
Examples:
  • staticip - staticip
  • dynamicip - dynamicip
  • dynamicdns - dyanmicdns
  • roaming - roaming
  • virtual - virtual

Location type: staticip, dynamicip, dynamicdns, roaming, virtual

locationid
required
integer <int64>

Location identifier

Request Body schema:
One of
name
string

Location Name

ip
string

IP Address

description
string

Description for the location address

policyid
integer

Policy applied to the location. The value 'null' means the default policy is applied

Responses

Request samples

Content type
Example
{
  • "name": "Main Office",
  • "ip": "198.51.100.3",
  • "description": "Public Ip",
  • "policyid": 123
}

Response samples

Content type
application/json
Example
{
  • "object": "location",
  • "code": 200,
  • "type": "staticip",
  • "id": 2,
  • "name": "Main Office",
  • "policy_id": 123,
  • "policy_name": "Created Policy",
  • "deletable": true,
  • "customer_id": 1,
  • "customer_name": "TitanHQ",
  • "ip": "11.22.123.45",
  • "addresses": [
    ]
}

Delete a location

Delete a location

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

locationtype
required
string
Enum: "staticip" "dynamicip" "dynamicdns" "roaming" "virtual"
Examples:
  • staticip - staticip
  • dynamicip - dynamicip
  • dynamicdns - dyanmicdns
  • roaming - roaming
  • virtual - virtual

Location type: staticip, dynamicip, dynamicdns, roaming, virtual

locationid
required
integer <int64> [ 1 .. 2147483647 ]

Location identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 17
}

Customer Location Addresses

List, Get, Create, Update or Delete Customer Location Addresses.

List a location's IP addresses

List IP addresses associated with a Static IP location.

Authorizations:
path Parameters
id
required
integer <int64>

Customer identifier

locationid
required
integer <int64>

Location identifier

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 4,
  • "data": [
    ]
}

Add address to location

Add address to location

Authorizations:
path Parameters
id
required
integer <int64>

Customer identifier

locationid
required
integer <int64>

Location identifier

Request Body schema:
ip
required
string

IP Address. IPv4 / IPv6, single host or CIDR

description
required
integer

Description for the location address

Responses

Request samples

Content type
{
  • "ip": "33.44.55.66",
  • "description": "Connection 1"
}

Response samples

Content type
application/json
{
  • "object": "address",
  • "code": 200,
  • "id": 1,
  • "description": "Connection 1",
  • "ip": "33.44.55.66"
}

Get a location's IP addresses

Get IP address associated with a Static IP location.

Authorizations:
path Parameters
id
required
integer <int64>

Customer identifier

locationid
required
integer <int64>

Location identifier

addressid
required
integer <int64>

Address identifier

Responses

Response samples

Content type
application/json
{
  • "object": "address",
  • "code": 200,
  • "id": 1,
  • "description": "Connection 1",
  • "ip": "33.44.55.66"
}

Update an address

Update an address

Authorizations:
path Parameters
id
required
integer <int64>

Customer identifier

locationid
required
integer <int64>

Location identifier

addressid
required
integer <int64>

Address identifier

Request Body schema:
ip
string

IP Address. IPv4 / IPv6, single host or CIDR

description
integer

Description for the location address

Responses

Request samples

Content type
{
  • "ip": "33.44.55.66",
  • "description": "Connection 1"
}

Response samples

Content type
application/json
{
  • "object": "address",
  • "code": 200,
  • "id": 1,
  • "description": "Connection 1",
  • "ip": "33.44.55.66"
}

Delete a location address

Delete a location address

Authorizations:
path Parameters
id
required
integer <int64>

Customer identifier

locationid
required
integer <int64>

Location identifier

addressid
required
integer <int64>

Address identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 3
}

General Locations

List all locations

List locations of a specific type.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
locationtype
required
string
Examples:
  • staticip - staticip
  • dynamicip - dynamicip
  • dynamicdns - dynamicdns
  • roaming - roaming
  • virtual - virtual
  • all - all

Location type: staticip, dynamicip, dynamicdns, roaming, virtual, all

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP account identifier

policyid
integer <int64> [ 1 .. 2147483647 ]

Customer Policy ID

offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 4,
  • "data": [
    ]
}

Create a new location

Create a new location for MSP's customer

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:
One of
user_id
required
integer

Customer identifier

locationtype
required
string
Value: "staticip"

Static IP Address Location Type

name
required
string

Location Name

policyid
integer

Policy applied to the location. The value 'null' means the default policy is applied

Responses

Request samples

Content type
Example
{
  • "user_id": 123,
  • "locationtype": "staticip",
  • "name": "Main Office",
  • "policyid": 123
}

Response samples

Content type
application/json
Example
{
  • "object": "location",
  • "code": 200,
  • "type": "staticip",
  • "id": 2,
  • "name": "Main Office",
  • "policy_id": 123,
  • "policy_name": "Created Policy",
  • "deletable": true,
  • "customer_id": 1,
  • "customer_name": "TitanHQ",
  • "ip": "11.22.123.45",
  • "addresses": [
    ]
}

Get the specific location

Get any location.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Location identifier

Responses

Response samples

Content type
application/json
Example
{
  • "object": "location",
  • "code": 200,
  • "type": "staticip",
  • "id": 2,
  • "name": "Main Office",
  • "policy_id": 123,
  • "policy_name": "Created Policy",
  • "deletable": true,
  • "customer_id": 1,
  • "customer_name": "TitanHQ",
  • "ip": "11.22.123.45",
  • "addresses": [
    ]
}

Update a location of particular type

Update a location, any parameters not provided will be left unchanged

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Location identifier

Request Body schema:
One of
name
string

Location Name

ip
string

IP Address

description
string

Description for the location address

policyid
integer

Policy applied to the location. The value 'null' means the default policy is applied

Responses

Request samples

Content type
Example
{
  • "name": "Main Office",
  • "ip": "198.51.100.3",
  • "description": "Public Ip",
  • "policyid": 123
}

Response samples

Content type
application/json
Example
{
  • "object": "location",
  • "code": 200,
  • "type": "staticip",
  • "id": 2,
  • "name": "Main Office",
  • "policy_id": 123,
  • "policy_name": "Created Policy",
  • "deletable": true,
  • "customer_id": 1,
  • "customer_name": "TitanHQ",
  • "ip": "11.22.123.45",
  • "addresses": [
    ]
}

Delete a location

Delete a specific location

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Location identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 17
}

General Location Addresses

List, Get, Create, Update or Delete Customer Location Addresses with * support for MSP layer.

List Location Addresses

List IP addresses associated with a Static IP location.

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
locationid
required
integer <int64> [ 0 .. 2147483647 ]

Location identifier

offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 4,
  • "data": [
    ]
}

Create Location Address

Create IP addresses associated with a Static IP location.

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:
locationid
required
integer

Location Identifier

ip
required
string

IP Address. IPv4 / IPv6, single host or CIDR

description
required
integer

Description for the location address

Responses

Request samples

Content type
{
  • "locationid": 10,
  • "ip": "33.44.55.66",
  • "description": "Connection 1"
}

Response samples

Content type
application/json
{
  • "object": "address",
  • "code": 200,
  • "id": 1,
  • "description": "Connection 1",
  • "ip": "33.44.55.66"
}

Get Location Address

Get IP addresses associated with a Static IP location.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 0 .. 2147483647 ]

Location Address identifier

Responses

Response samples

Content type
application/json
{
  • "object": "address",
  • "code": 200,
  • "id": 1,
  • "description": "Connection 1",
  • "ip": "33.44.55.66"
}

Update Location Address

Update IP addresses associated with a Static IP location.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 0 .. 2147483647 ]

Location Address identifier

Request Body schema:
ip
string

IP Address. IPv4 / IPv6, single host or CIDR

description
integer

Description for the location address

Responses

Request samples

Content type
{
  • "ip": "33.44.55.66",
  • "description": "Connection 1"
}

Response samples

Content type
application/json
{
  • "object": "address",
  • "code": 200,
  • "id": 1,
  • "description": "Connection 1",
  • "ip": "33.44.55.66"
}

Delete Location Address

Get IP addresses associated with a Static IP location.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 0 .. 2147483647 ]

Location Address identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 3
}

Default Policy

Get the default filtering policy

Get the default filtering policy

Authorizations:
oauth2 (systemsalesmsp)

Responses

Response samples

Content type
application/json
{
  • "object": "policy",
  • "code": 200,
  • "id": 1,
  • "name": "Default",
  • "description": "Default filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27"
}

Update default filtering policy

Any parameters not provided will be left unchanged.

Authorizations:
oauth2 (systemsalesmsp)
Request Body schema:
emailnotifications
string

Email address for notifications

allowunclassified
boolean

True or False to decide whether to allow unclassified

  • traffic for the policy
safesearch
string

Enforce safe search (values: ON/OFF)

level
string
Enum: "C" "L" "M" "H"

Level (Custom/Low/Moderate/High)

Responses

Request samples

Content type
{
  • "emailnotifications": "string",
  • "allowunclassified": true,
  • "safesearch": "string",
  • "level": "C"
}

Response samples

Content type
application/json
{
  • "object": "policy",
  • "code": 200,
  • "id": 1,
  • "name": "Default",
  • "description": "Default filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27"
}

List all default filtering policy category settings

Authorizations:
oauth2 (systemsalesmsp)
query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 53,
  • "data": [
    ]
}

Update settings for all/multiple default policy categories

Authorizations:
oauth2 (systemsalesmsp)
Request Body schema:
One of
allowed
boolean

If specified, all categories are set to allowed (true) / blocked (false)

notify
boolean

If specified, enable (true) or disable (false) a notification email all categories

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Get a specific category setting of the default policy

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
categoryid
required
integer <int64> [ 0 .. 2147483647 ]

Category identifier

Responses

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Update a specific category setting of the default policy

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
categoryid
required
integer <int64> [ 0 .. 2147483647 ]

Category identifier

Request Body schema:
allowed
boolean

If specified, all categories are set to allowed (true) / blocked (false)

notify
boolean

If specified, enable (true) or disable (false) a notification email all categories

Responses

Request samples

Content type
{
  • "allowed": true,
  • "notify": false
}

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Customer Policies

Get the list of customer's non-default policies

Get the list of customer's non-default policies

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 2,
  • "data": [
    ]
}

Create a new customer's policy

Create a new customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Request Body schema:
name
required
string <= 250 characters

Policy name

description
required
string <= 250 characters

Policy description

emailnotifications
string

Email address for notifications

allowunclassified
boolean

True or False to decide whether to allow unclassified traffic for the policy

safesearch
string
Enum: "ON" "OFF"

Enforce safe search (values: ON/OFF)

level
string
Enum: "L" "M" "H"

Level (Low/Moderate/High)

inherit_default_allow_list
boolean

True or False to decide whether to inherit the Customer's default policy allow list

inherit_default_block_list
boolean

True or False to decide whether to inherit the Customer's default policy block list

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "emailnotifications": "string",
  • "allowunclassified": true,
  • "safesearch": "ON",
  • "level": "L",
  • "inherit_default_allow_list": true,
  • "inherit_default_block_list": true
}

Response samples

Content type
application/json
{
  • "object": "policy",
  • "code": 200,
  • "id": 12,
  • "name": "Custom Policy",
  • "description": "Custom filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27",
  • "inherit_default_allow_list": false,
  • "inherit_default_block_list": false,
  • "locations": [
    ]
}

Get a customer's policy

Get a customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

policyid
required
integer <int64> [ 1 .. 2147483647 ]

Policy identifier or 'default'

Responses

Response samples

Content type
application/json
{
  • "object": "policy",
  • "code": 200,
  • "id": 12,
  • "name": "Custom Policy",
  • "description": "Custom filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27",
  • "inherit_default_allow_list": false,
  • "inherit_default_block_list": false,
  • "locations": [
    ]
}

Update a customer's policy

Update a customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

policyid
required
integer <int64> [ 1 .. 2147483647 ]

Policy identifier or 'default'

Request Body schema:
name
string <= 250 characters

Policy name

description
string <= 250 characters

Policy description

emailnotifications
string

Email address for notifications

allowunclassified
boolean

True or False to decide whether to allow unclassified traffic for the policy

safesearch
string

Enforce safe search (values: ON/OFF)

level
string
Enum: "C" "L" "M" "H"

Level (Custom/Low/Moderate/High)

inherit_default_allow_list
boolean

True or False to decide whether to inherit the Customer's default policy allow list

inherit_default_block_list
boolean

True or False to decide whether to inherit the Customer's default policy block list

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "emailnotifications": "string",
  • "allowunclassified": true,
  • "safesearch": "string",
  • "level": "C",
  • "inherit_default_allow_list": true,
  • "inherit_default_block_list": true
}

Response samples

Content type
application/json
{
  • "object": "policy",
  • "code": 200,
  • "id": 12,
  • "name": "Custom Policy",
  • "description": "Custom filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27",
  • "inherit_default_allow_list": false,
  • "inherit_default_block_list": false,
  • "locations": [
    ]
}

Delete a customer's policy

Delete a customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

policyid
required
integer <int64> [ 1 .. 2147483647 ]

Policy identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 19
}

List all the category settings from a customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

policyid
required
integer <int64> [ 1 .. 2147483647 ]

Policy identifier or 'default' for the default policy

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 53,
  • "data": [
    ]
}

Update a customer's policy category settings

All categories in a customer's policy can be set to allowed or blocked and notification * emails can be enabled or disabled using the 'allowed' and 'notify' parameters respectively. * Alternatively all or any subset of categories can be updated using a JSON body listing each category and * the allowed and/or notify setting. Any category not provided will be left unchanged.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> >= 1

Customer identifier

policyid
required
integer <int64> >= 1

Policy identifier or 'default' for the default policy

Request Body schema:
One of
allowed
boolean

If specified, all categories are set to allowed (true) / blocked (false)

notify
boolean

If specified, enable (true) or disable (false) a notification email all categories

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Get a specific category settings from a customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> >= 1

Customer identifier

policyid
required
integer <int64> >= 1

Policy identifier or 'default' for the default policy

categoryid
required
integer <int64> >= 1

Category identifier

Responses

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Update a specific category settings from a customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> >= 1

Customer identifier

policyid
required
integer <int64> >= 1

Policy identifier or 'default' for the default policy

categoryid
required
integer <int64> >= 1

Category identifier

Request Body schema:
allowed
boolean

If specified, all categories are set to allowed (true) / blocked (false)

notify
boolean

If specified, enable (true) or disable (false) a notification email all categories

Responses

Request samples

Content type
{
  • "allowed": true,
  • "notify": false
}

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Customer Default Policies

Get a users default policy

Get a users default policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

User identifier

Responses

Response samples

Content type
application/json
{
  • "object": "policy",
  • "code": 200,
  • "id": 1,
  • "name": "Default",
  • "description": "Default filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27",
  • "locations": [
    ]
}

Update a customer's default policy

Update a customer's default policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

User identifier

Request Body schema:
emailnotifications
string

Email address for notifications

allowunclassified
boolean

True or False to decide whether to allow unclassified

  • traffic for the policy
safesearch
string

Enforce safe search (values: ON/OFF)

level
string
Enum: "C" "L" "M" "H"

Level (Custom/Low/Moderate/High)

Responses

Request samples

Content type
{
  • "emailnotifications": "string",
  • "allowunclassified": true,
  • "safesearch": "string",
  • "level": "C"
}

Response samples

Content type
application/json
{
  • "object": "policy",
  • "code": 200,
  • "id": 1,
  • "name": "Default",
  • "description": "Default filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27",
  • "locations": [
    ]
}

List all customer default policy categories

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 53,
  • "data": [
    ]
}

Update settings for all/multiple customer default policy categories

All categories in the default policy can be set to allowed or blocked and notification * emails can be enabled or disabled using the 'allowed' and 'notify' * parameters respectively. Alternatively all or any subset of categories can be * updated using a JSON body listing each category and the allowed and/or notify setting. * Any category not provided will be left unchanged.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

User identifier

Request Body schema:
One of
allowed
boolean

If specified, all categories are set to allowed (true) / blocked (false)

notify
boolean

If specified, enable (true) or disable (false) a notification email all categories

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Get a specific category setting of the customer default policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

categoryid
required
integer <int64> [ 1 .. 2147483647 ]

Category identifier

Responses

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Update a specific category setting of the customer default policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

categoryid
required
integer <int64> [ 0 .. 2147483647 ]

Category identifier

Request Body schema:
allowed
boolean

If specified, all categories are set to allowed (true) / blocked (false)

notify
boolean

If specified, enable (true) or disable (false) a notification email all categories

Responses

Request samples

Content type
{
  • "allowed": true,
  • "notify": false
}

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

General Policies

List all the policies.

Get the list of all the policies policies (Global|Customer|MSP)

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

show_default
boolean

To display default policies

include_children
boolean

Includes child policies

Responses

Response samples

Content type
application/json
Example
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 2,
  • "data": [
    ]
}

Create a policy

Create a policy

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
user_id
required
integer <int64> [ 1 .. 2147483647 ]

Customer Identifier

Request Body schema:
name
required
string <= 250 characters

Policy name

description
required
string <= 250 characters

Policy description

emailnotifications
string

Email address for notifications

allowunclassified
boolean

True or False to decide whether to allow unclassified traffic for the policy

safesearch
string
Enum: "ON" "OFF"

Enforce safe search (values: ON/OFF)

level
string
Enum: "L" "M" "H"

Level (Low/Moderate/High)

inherit_default_allow_list
boolean

True or False to decide whether to inherit the Customer's default policy allow list

inherit_default_block_list
boolean

True or False to decide whether to inherit the Customer's default policy block list

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "emailnotifications": "string",
  • "allowunclassified": true,
  • "safesearch": "ON",
  • "level": "L",
  • "inherit_default_allow_list": true,
  • "inherit_default_block_list": true
}

Response samples

Content type
application/json
Example
{
  • "object": "policy",
  • "code": 200,
  • "id": 12,
  • "name": "Custom Policy",
  • "description": "Custom filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27",
  • "inherit_default_allow_list": false,
  • "inherit_default_block_list": false,
  • "locations": [
    ]
}

Get a policy

Get a policy (Global|Customer|MSP)

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
policyid
required
integer <int64> [ 1 .. 2147483647 ]

Policy identifier

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Responses

Response samples

Content type
application/json
Example
{
  • "object": "policy",
  • "code": 200,
  • "id": 12,
  • "name": "Custom Policy",
  • "description": "Custom filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27",
  • "inherit_default_allow_list": false,
  • "inherit_default_block_list": false,
  • "locations": [
    ]
}

Update a policy

Update a policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
policyid
required
integer <int64> [ 1 .. 2147483647 ]

Policy identifier

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Identifier

msp_id
string <UUID>

MSP Identifier

Request Body schema:
One of
name
string <= 250 characters

Policy name

description
string <= 250 characters

Policy description

emailnotifications
string

Email address for notifications

allowunclassified
boolean

True or False to decide whether to allow unclassified traffic for the policy

safesearch
string

Enforce safe search (values: ON/OFF)

level
string
Enum: "C" "L" "M" "H"

Level (Custom/Low/Moderate/High)

inherit_default_allow_list
boolean

True or False to decide whether to inherit the Customer's default policy allow list

inherit_default_block_list
boolean

True or False to decide whether to inherit the Customer's default policy block list

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
Example
{
  • "object": "policy",
  • "code": 200,
  • "id": 12,
  • "name": "Custom Policy",
  • "description": "Custom filtering Policy",
  • "emailnotifications": "",
  • "safesearch": "OFF",
  • "allowunclassified": false,
  • "level": "C",
  • "last_updated": "2021-07-27 10:41:27",
  • "inherit_default_allow_list": false,
  • "inherit_default_block_list": false,
  • "locations": [
    ]
}

Delete a policy.

Delete a policy.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
policyid
required
integer <int64> [ 1 .. 2147483647 ]

Policy identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 19
}

List all the category settings from policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy identifier or 'default' for the default policy

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account identifier

msp_id
string

Msp Account identifier

offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 53,
  • "data": [
    ]
}

Update a customer's policy category settings

All categories in a customer's policy can be set to allowed or blocked and notification * emails can be enabled or disabled using the 'allowed' and 'notify' parameters respectively. * Alternatively all or any subset of categories can be updated using a JSON body listing each category and * the allowed and/or notify setting. Any category not provided will be left unchanged.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy identifier or 'default' for the default policy

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account identifier

msp_id
string

Msp Account identifier

Request Body schema:
One of
allowed
boolean

If specified, all categories are set to allowed (true) / blocked (false)

notify
boolean

If specified, enable (true) or disable (false) a notification email all categories

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Get a specific category settings from a customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy identifier or 'default' for the default policy

categoryid
required
integer <int64> [ 1 .. 2147483647 ]

Category identifier

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account identifier

msp_id
string

Msp Account identifier

Responses

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Update a specific category settings from a customer's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
required
integer or string

Policy identifier or 'default' for the default policy

categoryid
required
integer <int64> [ 1 .. 2147483647 ]

Category identifier

query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account identifier

msp_id
string

Msp Account identifier

Request Body schema:
allowed
boolean

If specified, all categories are set to allowed (true) / blocked (false)

notify
boolean

If specified, enable (true) or disable (false) a notification email all categories

Responses

Request samples

Content type
{
  • "allowed": true,
  • "notify": false
}

Response samples

Content type
application/json
{
  • "object": "category",
  • "code": 200,
  • "id": 15,
  • "name": "Alcohol",
  • "allowed": true,
  • "notify": false,
  • "description": "Web pages that promote, advocate or sell alcohol including beer, wine and hard liquor",
  • "level": "L"
}

Customer Reports

List customer's reports

List all customer's reports

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 7,
  • "data": [
    ]
}

Create a new report for a customer

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

Request Body schema:
name
string

The name of the report

scheduled_frequency
string
Enum: "daily" "weekly" "monthly"

Frequency(daily/weekly/monthly). Defaults to daily.

scheduled_run_now
boolean

If the scheduled report should run once before being scheduled

scheduled_times
integer

How many times the scheduled report should run

Responses

Request samples

Content type
{
  • "name": "new report",
  • "scheduled_frequency": "daily",
  • "scheduled_run_now": "true",
  • "scheduled_times": 5
}

Response samples

Content type
application/json
{
  • "object": "report",
  • "code": 200,
  • "id": "6d918e1d-e1f0-4a57-bd08-453a9e04e63f",
  • "name": "Report name",
  • "scheduled_frequency": "daily",
  • "scheduled_run_once": "true",
  • "scheduled_times": 5
}

Get a customer's report

Get a customer's single report

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

reportid
required
string <uuid>

Report identifier

Responses

Response samples

Content type
application/json
{
  • "object": "report",
  • "code": 200,
  • "id": "6d918e1d-e1f0-4a57-bd08-453a9e04e63f",
  • "name": "Report name",
  • "scheduled_frequency": "daily",
  • "scheduled_run_once": "true",
  • "scheduled_times": 5
}

Update a report for a customer

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

reportid
required
string <uuid>

Report identifier

Request Body schema:
name
string

The name of the report

scheduled_frequency
string
Enum: "daily" "weekly" "monthly"

Frequency(daily/weekly/monthly). Defaults to daily.

scheduled_run_now
boolean

If the scheduled report should run once before being scheduled

scheduled_times
integer

How many times the scheduled report should run

Responses

Request samples

Content type
{
  • "name": "new report",
  • "scheduled_frequency": "daily",
  • "scheduled_run_now": "true",
  • "scheduled_times": 5
}

Response samples

Content type
application/json
{
  • "object": "report",
  • "code": 200,
  • "id": "6d918e1d-e1f0-4a57-bd08-453a9e04e63f",
  • "name": "Report name",
  • "scheduled_frequency": "daily",
  • "scheduled_run_once": "true",
  • "scheduled_times": 5
}

Delete a customer account report

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

reportid
required
string <uuid>

Report identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 19
}

Scheduled Reports

List a customers scheduled report

List scheduled reports for a particular customer

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

query Parameters
offset
integer <int64>

Number of items to exclude in the returned list, counting from 0

limit
integer <int64>

Number of items to return

order_dir
string

Sorting order can be either 'desc' or 'asc' (descending or ascending). Default is 'desc'

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 4,
  • "data": [
    ]
}

Create a new scheduled report

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

Request Body schema:
report
required
string

Report: eg. r_requests_user, r_requests_category, r_requests_domain

sender
required
string

Senders email address

recipients
required
string

one or more recipient email addresses, separated by commas

subject
required
string

Subject line for scheduled report emails

description
string

Further details for scheduled report

format
string

Format (pdf/csv). Defaults to pdf.

frequency
string

Frequency(daily/weekly/monthly). Defaults to daily.

records
integer

Number of records to return in the report. Defaults to 20.

range
boolean

Range (today, yesterday, last7days, last14days, last30days, thisweek, lastweek, thismonth, lastmonth). Defaults to yesterday.

Responses

Request samples

Content type
{
  • "report": "r_requests_user",
  • "sender": "sender@examplle.com",
  • "recipients": "user@example.com",
  • "subject": "Requests By Category for Last Month",
  • "description": "This report lists the top 10 categories for last month",
  • "format": "pdf",
  • "frequency": "monthly",
  • "records": 10,
  • "range": "lastmonth"
}

Response samples

Content type
application/json
{
  • "object": "scheduledreport",
  • "code": 200,
  • "id": 4,
  • "report": "r_requests_category",
  • "recipients": "user@example.com",
  • "sender": "sender@example.com",
  • "subject": "Requests By Category for Last Month",
  • "description": "This report lists the top 10 categories for last month",
  • "format": "pdf",
  • "frequency": "monthly",
  • "records": 20,
  • "range": "lastmonth",
  • "has_filter": false
}

Get a scheduled report

Get a particular scheduled report for a particular customer.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

scheduledreportid
required
integer <int64>

Scheduled Report identifier

Responses

Response samples

Content type
application/json
{
  • "object": "scheduledreport",
  • "code": 200,
  • "id": 4,
  • "report": "r_requests_category",
  • "recipients": "user@example.com",
  • "sender": "sender@example.com",
  • "subject": "Requests By Category for Last Month",
  • "description": "This report lists the top 10 categories for last month",
  • "format": "pdf",
  • "frequency": "monthly",
  • "records": 20,
  • "range": "lastmonth",
  • "has_filter": false
}

Update a scheduled report

Update a scheduled report, any parameters not provided will be left unchanged.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

scheduledreportid
required
integer <int64>

Scheduled report identifier

Request Body schema:
report
required
string

Report: eg. r_requests_user, r_requests_category, r_requests_domain

sender
required
string

Senders email address

recipients
required
string

one or more recipient email addresses, separated by commas

subject
required
string

Subject line for scheduled report emails

description
string

Further details for scheduled report

format
string

Format (pdf/csv). Defaults to pdf.

frequency
string

Frequency(daily/weekly/monthly). Defaults to daily.

records
integer

Number of records to return in the report. Defaults to 20.

range
boolean

Range (today, yesterday, last7days, last14days, last30days, thisweek, lastweek, thismonth, lastmonth). Defaults to yesterday.

Responses

Request samples

Content type
{
  • "report": "r_requests_user",
  • "sender": "sender@examplle.com",
  • "recipients": "user@example.com",
  • "subject": "Requests By Category for Last Month",
  • "description": "This report lists the top 10 categories for last month",
  • "format": "pdf",
  • "frequency": "monthly",
  • "records": 10,
  • "range": "lastmonth"
}

Response samples

Content type
application/json
{
  • "object": "scheduledreport",
  • "code": 200,
  • "id": 4,
  • "report": "r_requests_category",
  • "recipients": "user@example.com",
  • "sender": "sender@example.com",
  • "subject": "Requests By Category for Last Month",
  • "description": "This report lists the top 10 categories for last month",
  • "format": "pdf",
  • "frequency": "monthly",
  • "records": 20,
  • "range": "lastmonth",
  • "has_filter": false
}

Delete a scheduled report

Delete a scheduled report

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

scheduledreportid
required
integer <int64>

Scheduled Report identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 19
}

Run a scheduled report

Add a scheduled report to run queue so that it will be run asap.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

scheduledreportid
required
integer <int64>

Scheduled report identifier

Request Body schema:
code
required
integer

Code

queued
required
boolean

Report added to the run queue - success or failure

id
required
integer

Identifier of the queued scheduled report

Responses

Request samples

Content type
{
  • "code": 200,
  • "queued": true,
  • "id": 4
}

Response samples

Content type
application/json
{
  • "object": "scheduledreport",
  • "code": 200,
  • "id": 4,
  • "report": "r_requests_category",
  • "recipients": "user@example.com",
  • "sender": "sender@example.com",
  • "subject": "Requests By Category for Last Month",
  • "description": "This report lists the top 10 categories for last month",
  • "format": "pdf",
  • "frequency": "monthly",
  • "records": 20,
  • "range": "lastmonth",
  • "has_filter": false
}

System Stats

System Overview

Get system stats

Authorizations:
oauth2 (systemsalesmsp)
query Parameters
date
string

Date (YYYY-MM-DD)

start
string

Date (YYYY-MM-DD)

end
string

Date (YYYY-MM-DD)

Responses

Response samples

Content type
application/json
{
  • "object": "stats",
  • "code": 200,
  • "date": "2019-01-31",
  • "requests": 55,
  • "allowed": 49,
  • "blocked": 6,
  • "unique_domains": 10,
  • "users": 3,
  • "top_user": "Customer A"
}

System Top Categories

Get System top categories

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked

Type is either allowed or blocked

query Parameters
date
string

Date (YYYY-MM-DD)

start
string

Date (YYYY-MM-DD)

end
string

Date (YYYY-MM-DD), must before todays's date

limit
integer
Example: limit=10

Number of categories returned, default is 10

Responses

Response samples

Content type
application/json
null

System Top Domains

Return the System's Top Domains accessed with allowed or blocked requests, depending on :type.

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked

Type is either allowed or blocked

query Parameters
date
string

Date (YYYY-MM-DD)

start
string

Start of range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD), must be before today's date

limit
string

Number of domains returned, default 10

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 3,
  • "date": "2019-01-31",
  • "order_by": "count",
  • "order_dir": "desc",
  • "limit": 10,
  • "data": [
    ]
}

System Top Users

Return the System's Top Users accessed with allowed or blocked requests, depending on :type.

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked

Type is either allowed or blocked

query Parameters
date
string

Date (YYYY-MM-DD)

start
string

Start of range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD), must be before today's date

limit
string

Number of domains returned, default 10

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 3,
  • "date": "2019-01-31",
  • "order_by": "count",
  • "order_dir": "desc",
  • "limit": 10,
  • "data": [
    ]
}

System Traffic History

Return the system traffic history

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
days
required
integer

Number of previous days of traffic history. 0 returns all history.

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 5,
  • "total": 5,
  • "data": [
    ]
}

System Recent Traffic

Get system recent traffic for either today or yesterday

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
day
required
string
Examples:
  • yesterday - yesterday
  • today - today

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 5,
  • "total": 5,
  • "data": [
    ]
}

Customer History

Get Customer History

Customer history for a specific date.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked
  • bypassed - bypassed
  • all - all

Action can be 'allowed', 'blocked', 'bypassed' or 'all'

date
required
string

Date (YYYY-MM-DD)

query Parameters
offset
integer <int64>

Number of items to exclude in the returned list, counting from 0

limit
integer <int64>

Number of items to return

order_dir
string

Sorting order can be either 'desc' or 'asc' (descending or ascending). Default is 'desc'

starttime
string

Time (HH-MM)

endtime
string

Time (HH-MM)

q
string

Input string to search from any history field, Searchable fields are:

  • user, url, category, externalip, internalip, policy, location
order_by
string
Enum: "user" "policy" "location" "time" "externalip" "internalip"

Input string to sort by attributes, attributes listed in enum are sortable

  • If no attribute is passed it will order_by time by default.

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 10,
  • "date": "2019-01-16",
  • "order_by": "time",
  • "order_dir": "desc",
  • "data": [
    ]
}

Customer Stats

Customer Overview

Get Customer stats

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

query Parameters
date
string

Date (YYY-MM-DD)

start
string

Start of date range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD). Must be before today's date

Responses

Response samples

Content type
application/json
{
  • "object": "stats",
  • "code": 200,
  • "date": "2019-01-31",
  • "requests": 55,
  • "allowed": 49,
  • "blocked": 6,
  • "unique_domains": 10,
  • "users": 3,
  • "top_user": "Internal user 1"
}

Customer Top Categories

Get Customer top categories

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked

Type is either allowed or blocked

query Parameters
date
string

Date (YYY-MM-DD)

start
string

Start of date range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD). Must be before today's date

limit
integer <int64>

Number of items returned, default is 10

Responses

Response samples

Content type
application/json
null

Customer Top Domains

Return a Customer's Top Domains accessed with allowed or blocked requests, depending on action

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked

Type is either allowed or blocked

query Parameters
date
string

Date (YYY-MM-DD)

start
string

Start of date range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD). Must be before today's date

limit
integer <int64>

Number of items returned, default is 10

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 3,
  • "date": "2019-01-31",
  • "order_by": "count",
  • "order_dir": "desc",
  • "limit": 10,
  • "data": [
    ]
}

Customer Top Users

Return a Customer's Top Internal Users with allowed or blocked requests, depending on :type.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked

Type is either allowed or blocked

query Parameters
date
string

Date (YYY-MM-DD)

start
string

Start of date range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD). Must be before today's date

limit
integer <int64>

Number of items returned, default is 10

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 3,
  • "date": "2019-01-31",
  • "order_by": "count",
  • "order_dir": "desc",
  • "limit": 10,
  • "data": [
    ]
}

Customer Traffic History

Return a Customer's Traffic history.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

days
required
string

Number of previous days of traffic history. 0 returns all history.

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 5,
  • "total": 5,
  • "data": [
    ]
}

Customer Recent Traffic

Get customer recent traffic for either today or yesterday

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

day
required
string
Examples:
  • yesterday - yesterday
  • today - today

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 5,
  • "total": 5,
  • "data": [
    ]
}

Location Stats

Location Stats Overview

Get customer location stats overview

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

locationid
required
integer <int64>

Location identifier

query Parameters
date
string

Date (YYY-MM-DD)

start
string

Start of date range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD). Must be before today's date

Responses

Response samples

Content type
application/json
{
  • "object": "stats",
  • "code": 200,
  • "date": "2019-01-31",
  • "allowed": 80,
  • "blocked": 20,
  • "requests": 100
}

Location Top Categories

Get Customer Location top categories

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

locationid
required
integer <int64>

Location identifier

action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked

Type is either allowed or blocked

query Parameters
date
string

Date (YYY-MM-DD)

start
string

Start of date range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD). Must be before today's date

limit
integer <int64>

Number of items returned, default is 10

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 3,
  • "date": "2019-01-31",
  • "order_by": "count",
  • "order_dir": "desc",
  • "limit": 10,
  • "data": [
    ]
}

Location Top Domains

Return a Customer Locations Top Domains,

  • accessed with allowed or blocked requests depending on :action
Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64>

Customer identifier

locationid
required
integer <int64>

Location identifier

action
required
string
Examples:
  • allowed - allowed
  • blocked - blocked

Type is either allowed or blocked

query Parameters
date
string

Date (YYY-MM-DD)

start
string

Start of date range (YYYY-MM-DD)

end
string

End of date range (YYYY-MM-DD). Must be before today's date

limit
integer <int64>

Number of items returned, default is 10

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 3,
  • "date": "2019-01-31",
  • "order_by": "count",
  • "order_dir": "desc",
  • "limit": 10,
  • "data": [
    ]
}

Block Page

Get the block page details

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "blockpage",
  • "code": 200,
  • "title": "New Block Title",
  • "access_denied_message": "New Access Denied Message",
  • "logo": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAs...",
  • "footer": "TitanHQ c/o Copperfasten Technologies"
}

Reset Blockpage Details

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "blockpage",
  • "code": 200,
  • "reset": true
}

Update the block page details

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Request Body schema:

Update the blockpage details

title
required
string [ 4 .. 250 ] characters
access_denied_message
required
string [ 10 .. 250 ] characters
logo
string <binary>

Logo must be file type of jpeg, png, bmp, gif or svg

footer
string

Responses

Request samples

Content type
{
  • "title": "New Block Title",
  • "access_denied_message": "New Access Denied Message",
  • "logo": "string",
  • "footer": "TitanHQ c/o Copperfasten Technologies"
}

Response samples

Content type
application/json
{
  • "object": "blockpage",
  • "code": 200,
  • "title": "New Block Title",
  • "access_denied_message": "New Access Denied Message",
  • "logo": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAs...",
  • "footer": "TitanHQ c/o Copperfasten Technologies"
}

Support

Get admin support details

Get admin support details

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
own
string
Example: own=true

Determines if the result is one's own data or the Admin's data * (only applicable if logged in user is MSP Admin)

msp_id
integer <int64> [ 1 .. 2147483647 ]
Example: msp_id=10

Get the support information for MSP Account * (only applicable if logged in user is System Admin)

Responses

Response samples

Content type
application/json
{}

Create/Update Support

Create/Update Support link and email

Authorizations:
oauth2 (systemsalesmsp)
Request Body schema:
email
string

Support Email

link
string

Support link

msp_id
integer

MSP Account Identifier

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{}

Mail

Get Mail Server Request

Get Mail Server Request

Authorizations:
oauth2 (systemsalesmsp)
query Parameters
msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier is optional and used to get msp mail server settings

Responses

Response samples

Content type
application/json
{
  • "object": "mail",
  • "code": 200,
  • "server": "webtitan.com",
  • "notification_period": 60,
  • "sender": "notification-test@webtitan.com"
}

Update Mail Server Request

Update Mail Server Request

Authorizations:
oauth2 (systemsalesmsp)
query Parameters
msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier is optional and used to get msp mail server settings

Request Body schema: application/json
mail_server
string

Mail Server domain

notification_period
integer

Notification Period in minutes

sender
string

Sender Email

Responses

Request samples

Content type
application/json
{
  • "mail_server": "webtitan.com",
  • "notification_period": 60,
  • "sender": "notification-test@webtitan.com"
}

Response samples

Content type
application/json
{
  • "object": "mail",
  • "code": 200,
  • "server": "webtitan.com",
  • "notification_period": 60,
  • "sender": "notification-test@webtitan.com"
}

Create Mail Server Request

Create Mail Server Request

Authorizations:
oauth2 (systemsalesmsp)
query Parameters
msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier is optional and used to get msp mail server settings

Request Body schema: application/json
mail_server
string

Mail Server domain

notification_period
integer

Notification Period in minutes

sender
string

Sender Email

Responses

Request samples

Content type
application/json
{
  • "mail_server": "webtitan.com",
  • "notification_period": 60,
  • "sender": "notification-test@webtitan.com"
}

Response samples

Content type
application/json
{
  • "object": "mail",
  • "code": 200,
  • "server": "webtitan.com",
  • "notification_period": 60,
  • "sender": "notification-test@webtitan.com"
}

Delete Mail Server Request

Reset Mail Server Request

Authorizations:
oauth2 (systemsalesmsp)
query Parameters
msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier is optional and used to get msp mail server settings

Responses

Response samples

Content type
application/json
{
  • "object": "mail",
  • "code": 200,
  • "reset": true
}

Get Mail Server setup

Get Mail Server setup

query Parameters
msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier is optional and used to get msp mail server settings

Responses

Response samples

Content type
application/json
{
  • "object": "mail_setup",
  • "code": 200,
  • "setup": true
}

Dns

Get Dns Name servers

Get Dns Name servers

Authorizations:
oauth2 (systemsalesmspcustomer)

Responses

Response samples

Content type
application/json
{
  • "object": "dns",
  • "code": 200,
  • "dns1": "1.1.1.1",
  • "dns2": "8.8.8.8",
  • "dns3": "null"
}

System Information

Get System Information Details.

Get System Information Details.

Authorizations:
oauth2 (systemsalesmspcustomer)

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "object": "system",
  • "version": 5,
  • "buildno": 34350,
  • "description": "WebTitan Cloud Production License",
  • "license_number": "WCP-3-0210-612910",
  • "type": "Production",
  • "license_category": "Production",
  • "no_of_accounts": "Unlimited",
  • "no_of_ips": "Unlimited",
  • "status": "License Valid",
  • "organistion": "Titan HQ",
  • "address": "Salthill Galway IE",
  • "contact": "Will Smith",
  • "email": "willsmith@titanhq.com",
  • "telephone": "+353 91 54 55 00",
  • "fax": "+1 323 555 123",
  • "issued_date": "January 03, 2021",
  • "update_expiry_date": "January 04, 2023",
  • "no_of_users": 5
}

License

Get, check or import WTC license operations

Get System License Details.

Get License Details.

Authorizations:
oauth2 (systemsalesmspcustomer)

Responses

Response samples

Content type
application/json
{
  • "object": "license",
  • "description": "WebTitan Cloud Production License",
  • "license_number": "WCP-3-0210-612910",
  • "type": "Production",
  • "license_category": "Production",
  • "no_of_accounts": "Unlimited",
  • "no_of_ips": "Unlimited",
  • "status": "License Valid",
  • "organistion": "Titan HQ",
  • "address": "Salthill Galway IE",
  • "contact": "Will Smith",
  • "email": "willsmith@titanhq.com",
  • "telephone": "+353 91 54 55 00",
  • "fax": "+1 323 555 123",
  • "issued_date": "January 03, 2021",
  • "update_expiry_date": "January 04, 2023",
  • "no_of_users": 5
}

Import License File.

Import License File.

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema: multipart/form-data
license
required
string <binary>

Webtitan Cloud License File

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "imported": true,
  • "license_information": {
    }
}

Interface

Get Logo and title details

Get Logo and title details

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
own
string
Example: own=true

Determines if the result is one's own data or the Admin's data * (only applicable if logged in user is MSP Admin)

msp_id
integer <integer64> [ 1 .. 2147483647 ]
Example: msp_id=10

Get interface settings for an msp account with id (msp_id) * (only applicable if logged in user is System Admin)

Responses

Response samples

Content type
application/json
{
  • "object": "interface",
  • "code": 200,
  • "logo": "{{url}}/storage/logo/IgSeN927TWAu807N5MmKlB6JoJdvwSYIUgrChNOt",
  • "title": "Titan HQ",
  • "powered_by": "TitanHQ",
  • "footer": []
}

Create or Update Interface with Logo, Title, Footer and Powered By Details.

Create or Update Interface with Logo, Title, Footer and Powered By Details.

Authorizations:
oauth2 (systemsalesmsp)
Request Body schema:
logo
string <binary>

Logo must be file type of jpeg, png, bmp, gif or svg

title
string

Page Title

msp_id
integer [ 1 .. 2147483647 ]

MSP Account Identifier

powered_by
string <= 50

Powered By Details

footer
string

Footer Information

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "object": "interface",
  • "code": 200,
  • "logo": "{{url}}/storage/logo/IgSeN927TWAu807N5MmKlB6JoJdvwSYIUgrChNOt",
  • "title": "Titan HQ",
  • "powered_by": "TitanHQ",
  • "footer": []
}

Delete title

Delete title

Authorizations:
oauth2 (systemsalesmsp)

Responses

Response samples

Content type
application/json
{
  • "object": "interface",
  • "code": 200,
  • "deleted": true
}

Domains Tools

Recategorize Domains

Recategorize Domains

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:
domain
string <URL>
category1
integer <int64>
category2
integer <int64>
category3
integer <int64>

Responses

Request samples

Content type
{
  • "domain": "titanhq.com",
  • "category1": "1",
  • "category2": "2",
  • "category3": "3"
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "recategorize": true
}

Test DNS Lookup tool

Performs DNS lookup on the machine via dig command and returns the output

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
domain
required
string <URL>
Example: domain=rte.ie

domain to check via DNS lookup

Responses

Response samples

Content type
application/json
{
  • "object": "test_dns_lookup",
  • "code": "200",
  • "success": true,
  • "output": "\\n; <<>> DiG 9.16.3 <<>> rte.ie\\n;; global options: +cmd\\n;; Got answer:\\n;; ->>HEADER<<- opcode: QUERY\n , status: NOERROR, id: 61236\\n;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1\\n\\n;; OPT PSEUDOSECT\n ION:\\n; EDNS: version: 0, flags:; udp: 4096\\n;; QUESTION SECTION:\\n;rte.ie.\\t\\t\\t\\tIN\\tA\\n\\n;; ANSWER SECTION:\\nrte.ie.\n \\t\\t\\t300\\tIN\\tA\\t104.18.143.17\\nrte.ie.\\t\\t\\t300\\tIN\\tA\\t104.18.142.17\\n\\n;; Query time: 13 msec\\n;; SERVER: 172.31.0.\n 2#53(172.31.0.2)\\n;; WHEN: Thu Feb 17 08:21:17 GMT 2022\\n;; MSG SIZE rcvd: 67\\n"
}

Test

Test Category

Test Category

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:
domain
required
string <URL>

Responses

Request samples

Content type
{
  • "domain": "rte.ie"
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "object": "test_categories",
  • "success": true,
  • "categories": [
    ]
}

Test Filtering

Test Filtering

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:
domain
required
string <URL>
ip
string

Responses

Request samples

Content type
{
  • "domain": "rte.ie",
  • "ip": "52.142.70.22"
}

Response samples

Content type
application/json
{
  • "object": "test_filtering",
  • "code": "200",
  • "success": true,
  • "result": "Allowed",
  • "ip": "52.142.70.22",
  • "category": [
    ]
}

Auth

Register an existing customer for OAuth

Authorizations:
oauth2 (systemsalesmsp)
Request Body schema:

AuthRegister object

id
integer <int64> >= 1
email
string <email>

Responses

Request samples

Content type
{
  • "id": 123,
  • "email": "email@example.com"
}

Response samples

Content type
application/json
{
  • "object": "user",
  • "id": "1",
  • "created": "2018-06-25 10:03:56",
  • "accountname": "John",
  • "description": "Example User",
  • "timezone": "Europe/London",
  • "email": "email@example.com",
  • "license": "WCE-M-0000-005599",
  • "lastlogin": "2018-06-26 10:03:56",
  • "2fa_enabled": false,
  • "consumer_key": "baf661c138fbb3138f8e476209714103055dd9abe",
  • "consumer_secret": "b38d82c09de695606e2df3148f52fce7",
  • "access_token": "8f0a7eaf22c1cd03c2fcab01956aebef055dd9abe",
  • "access_token_secret": "8b0217681f0975c0437fc99010663fbd",
  • "install_key": "4d20e977-0ec4-434a-b21d-2c529fb1d062"
}

Update Password

Update the password of the logged in user

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:
old_password
required
string >= 6

The current password of the account

new_password
required
string >= 8

The new password of the account

Responses

Request samples

Content type
{
  • "old_password": "string",
  • "new_password": "string"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "updated": true,
  • "id": 4
}

Logout the user

Invalidate users token and session

Authorizations:
oauth2 (systemsalesmspcustomer)

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "logout": true,
  • "id": 4
}

Forgot Password

Send a reset password mail to the email address

Request Body schema:
email
required
string <email>

Email account to send the reset mail to.

Responses

Request samples

Content type
{
  • "email": "customer@customer.com"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "object": "password_forgotten"
}

Enable 2FA

Enables two factor authentication for the Authenticated User.

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:

AuthRegister object

code
string

The 6 digit code provided by the user. This parameter is required.

secret
string

This is required to validate the one time password.

Responses

Request samples

Content type
{
  • "code": "123456",
  • "secret": "ABCDEFGHIJKLMN"
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "created": true,
  • "recovery": true,
  • "backupCodes": "[1,2,3,4,5,6,7,8,9,10]"
}

Disable 2FA

Disables two factor authentication for the Authenticated User.

Authorizations:
oauth2 (systemsalesmspcustomer)

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "disabled": true
}

Admins

List, Get, Update or Delete alias admins of an account type.
* The System Admin can perform alias admins CRUD operation on all account types.
* The Sales and Customer can only perform alias admins CRUD operations on their own account.
* The MSP can perform alias admins CRUD operations on their account and their customer accounts.
For MSP account the msp_id and/or user_id is required. For customer accounts the user_id is required.

List Admin Accounts

Get the list of all admin accounts for an account type.

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier

offset
integer <int64> [ 0 .. 2147483647 ]

Offset for listing

limit
integer <int64> [ 0 .. 2147483647 ]

Limit for listing

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 2,
  • "total": 2,
  • "data": [
    ]
}

Create Admin Account

Create an alias admin account. A system admin can create any alias admin. The sales account can only create an alias sales admin. An MSP can create an MSP or their customer alias admin. A customer can only create an alias admin for themselves.

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier. Required by System Admin when creating MSP Alias Admin.

user_id
integer <int64> [ 1 .. 2147483647 ]

Customer Account Identifier. Required by System Admin when creating Customer Alias Admin.

Request Body schema:
fullname
string
email
required
string
description
string
password
required
string
vue_role_id
integer >= 1

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "object": "admin",
  • "code": 200,
  • "id": 2,
  • "username": "AccountAdmin1",
  • "email": "accountadmin@wtc.com",
  • "description": "This is a new admin account",
  • "lastip": "127.0.0.1",
  • "lastlogin": "12/01/2021",
  • "fullname": "Francis Xavier",
  • "2fa_enabled": true,
  • "account_type": "System Admin"
}

Get Admin Account

Get a single admin account for an account type

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]
Example: 2

Admin Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "admin",
  • "code": 200,
  • "id": 2,
  • "username": "AccountAdmin1",
  • "email": "accountadmin@wtc.com",
  • "description": "This is a new admin account",
  • "lastip": "127.0.0.1",
  • "lastlogin": "12/01/2021",
  • "fullname": "Francis Xavier",
  • "2fa_enabled": true,
  • "account_type": "System Admin"
}

Update Admin Account

Update an alias admin account for an account type (System/Sales/MSP/Customer)

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]
Example: 2

Admin Identifier

Request Body schema:
fullname
string
email
string
description
string
password
string

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "object": "admin",
  • "code": 200,
  • "id": 2,
  • "username": "AccountAdmin1",
  • "email": "accountadmin@wtc.com",
  • "description": "This is a new admin account",
  • "lastip": "127.0.0.1",
  • "lastlogin": "12/01/2021",
  • "fullname": "Francis Xavier",
  • "2fa_enabled": true,
  • "account_type": "System Admin"
}

Delete Admin Account

Delete an admin account for account type. Cannot delete the admin account linked to the main account.

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]
Example: 2

Admin Identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 19
}

Msp

Get all msps

Get all msps

Authorizations:
oauth2 (systemsalesmspcustomer)
query Parameters
offset
integer <int64> >= 0

Offset for listing

limit
integer <int64> >= 0

Limit for listing

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": "200",
  • "count": "1",
  • "total": "1",
  • "data": [
    ]
}

Create msp user

Authorizations:
oauth2 (systemsales)
Request Body schema:

Msp object for creating

name
required
string <= 250 characters

Msp account name

email
required
string <email>

Msp account email address

password
required
string >= 6 characters

Password primary contact will use (minimum 6 characters)

description
string

Msp account description

uuid_str
string

UUID identifier

Responses

Request samples

Content type
{
  • "name": "MSP - The French Gaul",
  • "email": "email@example.com",
  • "password": "password123",
  • "description": "Msp account description",
  • "uuid_str": "5e81b8bc-8c5e-417b-85db-5166981951cb"
}

Response samples

Content type
application/json
{
  • "object": "msp",
  • "code": "200",
  • "id": "144",
  • "name": "MSP - The French Gaul",
  • "email": "email@example.com",
  • "description": "Msp description",
  • "policy_id": "42",
  • "uuid_str": "4d20e977-0ec4-434a-b21d-2c529fb1d062",
  • "created_at": "2021-08-04 10:34:31",
  • "2fa_enabled": false
}

Get a msp

Get a msp

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
id
required
integer <int64>

The Msp ID

Responses

Response samples

Content type
application/json
{
  • "object": "msp",
  • "code": "200",
  • "id": "144",
  • "name": "MSP - The French Gaul",
  • "email": "email@example.com",
  • "description": "Msp description",
  • "policy_id": "42",
  • "uuid_str": "4d20e977-0ec4-434a-b21d-2c529fb1d062",
  • "created_at": "2021-08-04 10:34:31",
  • "2fa_enabled": false
}

Update an exisitng msp account

Update an existing msp account

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
id
required
integer <int64>

The Msp ID

Request Body schema:

Msp object for updating

name
string <= 250 characters

Msp account name

email
string <email>

Msp account email address

password
string >= 6 characters

Password primary contact will use (minimum 6 characters)

description
string

Msp account description

Responses

Request samples

Content type
{
  • "name": "MSP - The Gaul",
  • "email": "msp@example.com",
  • "password": "password123",
  • "description": "Msp account description"
}

Response samples

Content type
application/json
{
  • "object": "msp",
  • "code": "200",
  • "id": "144",
  • "name": "MSP - The French Gaul",
  • "email": "email@example.com",
  • "description": "Msp description",
  • "policy_id": "42",
  • "uuid_str": "4d20e977-0ec4-434a-b21d-2c529fb1d062",
  • "created_at": "2021-08-04 10:34:31",
  • "2fa_enabled": false
}

Delete a msp account

Delete a msp account

Authorizations:
oauth2 (systemsales)
path Parameters
id
required
integer <int64>

The msp ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 19
}

MSP Stats

Get the MSP Stats

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
id
required
integer <int64>

The Msp ID

date
required
string

Date (YYYY-MM-DD)

Responses

Response samples

Content type
application/json
{
  • "object": "stats",
  • "code": "200",
  • "date": "2021-08-04",
  • "allowed": 25,
  • "blocked": 5,
  • "average": 12,
  • "malware_allowed": 0,
  • "malware_blocked": 1
}

Users

Get all users

Get all users

Authorizations:
oauth2 (systemsalesmsp)
query Parameters
offset
integer <int64> [ 0 .. 2147483647 ]

Offset for listing

limit
integer <int64> [ 0 .. 2147483647 ]

Limit for listing

msp_id
integer <int64> [ 1 .. 2147483647 ]

MSP Account Identifier

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": "200",
  • "count": "1",
  • "total": "1",
  • "data": [
    ]
}

Create a new customer account

Authorizations:
oauth2 (systemsalesmsp)
Request Body schema:

User object for creating

accountname
required
string <= 250 characters

Customer name

email
required
string <email>

Customers primary email address

description
string <= 250 characters

An arbitrary string that can be associated with this entry, and is displayed in the UI

license
required
string

WTC license number

password
required
string >= 6 characters

Password primary contact will use (minimum 6 characters)

timezone
string
Default: "System Time Zone"

Set the timezone for the customer account. If the timezone is empty or not included in the request it assigns the system default timezone.

policy_level
string
Enum: "L" "M" "H"

Policy Level (Low/Moderate/High)

msp_id
integer

MSP Account Identifier (To Create a Customer For an MSP)

uuid_str
integer

UUID identifier

Responses

Request samples

Content type
{
  • "accountname": "John",
  • "email": "email@example.com",
  • "description": "Example User",
  • "license": "WCE-M-0000-005599",
  • "password": "password123",
  • "timezone": "UTC",
  • "policy_level": "L",
  • "msp_id": 10,
  • "uuid_str": "5e81b8bc-8c5e-417b-85db-5166981951cb"
}

Response samples

Content type
application/json
{
  • "object": "user",
  • "id": "1",
  • "created": "2018-06-25 10:03:56",
  • "accountname": "John",
  • "description": "Example User",
  • "timezone": "Europe/London",
  • "email": "email@example.com",
  • "license": "WCE-M-0000-005599",
  • "lastlogin": "2018-06-26 10:03:56",
  • "2fa_enabled": false,
  • "consumer_key": "baf661c138fbb3138f8e476209714103055dd9abe",
  • "consumer_secret": "b38d82c09de695606e2df3148f52fce7",
  • "access_token": "8f0a7eaf22c1cd03c2fcab01956aebef055dd9abe",
  • "access_token_secret": "8b0217681f0975c0437fc99010663fbd",
  • "install_key": "4d20e977-0ec4-434a-b21d-2c529fb1d062"
}

Get a user

Get a user

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

The user ID

Responses

Response samples

Content type
application/json
{
  • "object": "user",
  • "code": "200",
  • "id": "1",
  • "created": "2018-06-25 10:03:56",
  • "accountname": "John",
  • "description": "Example User",
  • "timezone": "Europe/London",
  • "email": "email@example.com",
  • "license": "WCE-M-0000-005599",
  • "lastlogin": "2018-06-26 10:03:56",
  • "install_key": "4d20e977-0ec4-434a-b21d-2c529fb1d062",
  • "2fa_enabled": false,
  • "suspended": false,
  • "uuid_str": "4d20e977-0ec4-434a-b21d-2c529fb1d062"
}

Update an exisitng customer account

Update an existing customer account

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

The user ID

Request Body schema:

User object for updating

accountname
string <= 250 characters

Customer name

email
string <email>

Customers primary email address

description
string <= 250 characters

An arbitrary string that can be associated with this entry, and is displayed in the UI

license
string

WTC license number

password
string >= 6 characters

Password primary contact will use (minimum 6 characters)

timezone
string
Default: "System Time Zone"

If the timezone is passed as an empty string it assigns the default system timezone. If the timezone is not included in the request (null) it keeps the current timezone attached to the user.

policy_level
string
Enum: "L" "M" "H"

Policy Level (Low/Moderate/High)

Responses

Request samples

Content type
{
  • "accountname": "Josn",
  • "email": "email@example.com",
  • "description": "Example User",
  • "license": "WCE-M-0000-005599",
  • "password": "password123",
  • "timezone": "UTC",
  • "policy_level": "L"
}

Response samples

Content type
application/json
{
  • "object": "user",
  • "code": "200",
  • "id": "1",
  • "created": "2018-06-25 10:03:56",
  • "accountname": "John",
  • "description": "Example User",
  • "timezone": "Europe/London",
  • "email": "email@example.com",
  • "license": "WCE-M-0000-005599",
  • "lastlogin": "2018-06-26 10:03:56",
  • "install_key": "4d20e977-0ec4-434a-b21d-2c529fb1d062",
  • "2fa_enabled": false,
  • "suspended": false,
  • "uuid_str": "4d20e977-0ec4-434a-b21d-2c529fb1d062"
}

Delete a customer account

Delete a customer account

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

The user ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 19
}

Suspend user

Suspend user sets the user suspended boolean flag to true

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

The user ID

Responses

Response samples

Content type
application/json
{
  • "object": "user",
  • "code": 200,
  • "id": 19,
  • "suspended": true
}

Reinstate user

Reinstate suspended user

Authorizations:
oauth2 (systemsalesmsp)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

The user ID

Responses

Response samples

Content type
application/json
{
  • "object": "user",
  • "code": 200,
  • "id": 19,
  • "suspended": false
}

Internal users

List internal users for a customer

List all the internal users of a customer account

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> >= 1

Customer identifier

query Parameters
group_id
integer <int64> [ 1 .. 2147483647 ]

Filter by group IDs the user belongs to

offset
integer <int64> [ 0 .. 2147483647 ]

Number of items to exclude in the returned list, counting from 0

limit
integer <int64> [ 0 .. 2147483647 ]

Number of items to return

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "code": 200,
  • "count": 1,
  • "total": 1,
  • "data": [
    ]
}

Get an internal user

List all the internal users of a customer account

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

userid
required
integer <int64> [ 1 .. 2147483647 ]

User identifier

Responses

Response samples

Content type
application/json
{
  • "object": "internaluser",
  • "code": 200,
  • "id": "65",
  • "name": "John Doe",
  • "email": "john_doe@customer.com",
  • "description": "",
  • "policyid": "18",
  • "policyname": "Default Policy",
  • "effective_group": "Group Name",
  • "deletable": true
}

Update an internal user's policy

Update an internal user's policy

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

userid
required
integer <int64> [ 1 .. 2147483647 ]

User identifier

Request Body schema:

Update the policy and description of an internal user

description
string <= 250 characters
policyid
integer <int64> [ 1 .. 2147483647 ]

Policy Identifier. Also takes the value 'default' for default policy

Responses

Request samples

Content type
{
  • "description": "This is an internal user",
  • "policyid": 4
}

Response samples

Content type
application/json
{
  • "object": "internaluser",
  • "code": 200,
  • "id": "65",
  • "name": "John Doe",
  • "email": "john_doe@customer.com",
  • "description": "",
  • "policyid": "18",
  • "policyname": "Default Policy",
  • "effective_group": "Group Name",
  • "deletable": true
}

Delete an internal user

Delete an internal user

Authorizations:
oauth2 (systemsalesmspcustomer)
path Parameters
id
required
integer <int64> [ 1 .. 2147483647 ]

Customer identifier

userid
required
integer <int64> [ 1 .. 2147483647 ]

User identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "deleted": true,
  • "id": 19
}

Powerbi - Config

Get powerbi config details

Get powerbi config details including workspace id and report id

Authorizations:
oauth2 (systemsalesmspcustomer)

Responses

Response samples

Content type
application/json
{
  • "object": "powerbi_config",
  • "code": "200",
  • "config": [
    ]
}

Powerbi - Authorization

Authenticate to powerbi

Autheticate logged in customer to powerbi via webtitan-api

Authorizations:
oauth2 (systemsalesmspcustomer)
Request Body schema:

Authenticate user to powerbi

rid
required
string

Report identifier

uuid
string

Customer identifier

Responses

Request samples

Content type
{
  • "rid": "761e05a5-321d-4911-87be-8110cf",
  • "uuid": "942d9c2d-8eaa-4797-9986-308f29c7760"
}

Response samples

Content type
application/json
{
  • "object": "powerbi_authenticate",
  • "code": "200",
  • "authentication": [
    ]
}