Domain operations

Domain operations

Overview

Check the list of available endpoints and methods to modify and update domains (both common and multitenant domains) using the Provisioning API:

Endpoints and methods

Description

Endpoints and methods

Description

1

GET/domainsee below

Get a list of all the domains in a multitenant structure.

2

GET /domain/{domainName}see below

Get basic information about a given domain in a multitenant structure.

3

GET /domains/{domainName}see below

Returns a list of all the children domains a root domain has in a multitenant structure.

4

GET /domain/{domainName}/retentionsee below

Get the price plan retention values of the given multitenant domain.

5

GET /domain/{domainName}/rolessee below

Get details of all the roles in the given domain.

6

GET /domain/{domainName}/roles/{roleName}see below

Get details of a specific role in a given domain.

7

GET /domain/{domainName}/policiessee below

Get the list of role policies available in a given domain.

8

GET /domain/{domainName}/applicationssee below

Get the list of applications available in a given domain.

9

GET /domain/{domainName}/resourcessee below

Get the list of role resources available in a given domain.

10

GET /domain/{domainName}/roles/vaultssee below

Get the list of role vaults available in a given domain.

11

GET /domain/{domainName}/preferencessee below

Retrieve the subset of preferences of the given domain.

12

GET /domain/{domainName}/preferences/limitssee below

Retrieve the limits in the preferences of the given domain.

13

GET /domain/{domainName}/visibilitysee below

Returns a list of all the domains from which a root domain can access data in a multitenant structure.

14

GET /domain/{domainName}/authsee below

Returns the configuration info of a multitenant domain.

15

GET /domain/{domainName}/keyssee below

Returns a list of all the API keys associated to the given domain.

16

GET /domain/{domainName}/keys/{key}see below

Returns info of a specific API key.

17

POST/domainsee below

Create a new domain in a multitenant structure.

18

POST/domain/{domainName}/disablesee below

Disable a multitenant domain.

19

POST/domain/{domainName}/enablesee below

Enable a multitenant domain.

20

POST/domain/{domainName}/visibilitysee below

Creates a new domain visibility configuration (i.e., custom data access) for a given domain.

21

POST/domain/{domainName}/rolessee below

Create a new role in a given domain.

22

POST/domain/{domainName}/keyssee below

Generate a new API key/secret pair in the domain.

23

PUT /domain/{domainName}/plansee below

Change the current plan of a multitenant domain.

24

PUT /domain/{domainName}/retentionsee below

Update the given domain plan retention configuration.

25

PUT /domain/{domainName}/roles see below

Update a role in a given domain.

26

PUT /domain/{domainName}/roles/{roleName} see below

Update a role.

27

PUT /domain/{domainName}/preferences see below

Update the subset of preferences of a given domain.

28

PUT /domain/{domainName}/preferences/limits see below

Update the limits in the preferences of a given domain.

29

PUT /domain/{domainName}/certificates/download see below

Download a certificate.

30

PUT /domain/{domainName}/auth see below

Update the configuration of a multitenant domain.

31

Put/domain/{domainName}/visibilitysee below

Updates a domain visibility configuration (i.e., custom data access) for a given domain.

32

DELETe /domain/{domainName}see below

Delete a domain.

33

DELETe /domain/{domainName}/roles/{roleName}see below

Delete a role in a given domain.

34

DELETe /domain/{domainName}/keys/{key}see below

Delete a specific API key.

35

delete/domain/{domainName}/visibilitysee below

Deletes a domain visibility configuration (i.e., custom data access) for a given domain.

Endpoints and methods

GET /domain

Get a list of all the domains in a multitenant structure. By default, only active domains are retrieved.

Note that this endpoint requires multitenant API credentials. Common domain API key/secret pairs wont work.

 

Request

 

Query string parameters

 

Query string parameters are optionally added after the path parameters, preceded by a question mark (?) and separated by an ampersand ()

Parameter

Type

Description

Parameter

Type

Description

all

boolean

Set this parameter to true if you want to get all the domains, including disabled ones. The default value is false.

Find below a request example:

https://api-us.devo.com/probio/domain

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of domains retrieved.

[ { "name": "domain_1@demo", "plan": "default", "time": 36.0, "volume": 10.0, "status": "Active" }, { "name": "domain_2@demo", "plan": "default", "time": 60.0, "volume": 1.3, "status": "Active" } ]

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domain/{domainName}

Get basic information about a given domain in a multitenant structure.

Note that this endpoint requires multitenant API credentials. Common domain API key/secret pairs wont work.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain. Using the format {domainName}@{multitenantName} is optional.

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. Domain details retrieved.

{ "name": "domainName@multitenantName", "plan": "default", "time": 36.0, "volume": 10.0, "status": "Active" }

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domains/{domainName}

Returns a list of all the domains a root domain has in a multitenant structure.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain. You must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domains/domainName@multitenantName

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of domains retrieved.

[ "domain1@multitenant", "domain2@multitenant", "domain3@multitenant" ]

204

Successful response. No children domains.

400

Bad request.

403

Not a multitenant.

GET /domain/{domainName}/retention

Get the price plan retention values of the given multitenant domain.

Note that this endpoint requires multitenant API credentials. Common domain API key/secret pairs wont work.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain. You must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/retention

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. Domain retention values retrieved.

{ "retentionUnit": "DAYS", "retentionValue": 1080, "volume": 10.0 }

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domain/{domainName}/roles

Get details of all the roles in the given domain, including the default ones.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain.

If it is a multitenant domain, you must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domainName@multitenantName/roles

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. Domain roles retrieved.

[ { "name": "Administrator", "description": null, "id": 724, "type": "ADMIN", "finderId": -1 }, { "name": "No Privileges", "description": null, "id": 725, "type": "NO_PRIVILEGES", "finderId": -1 } ]

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domain/{domainName}/roles/{roleName}

Get details of a specific role in a given domain, either a default or a custom role.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain.

If it is a multitenant domain, you must enter the full domain name using the format {domainName}@{multitenantName}

roleName required

string

Enter the name of the required role.

Note that this parameter is case sensitive. For Devo default roles, you must type:

  • Administrator

  • No privileges

Query string parameters

Query string parameters are optionally added after the path parameters, preceded by a question mark (?) and separated by an ampersand (&).

Parameter

Type

Description

Parameter

Type

Description

full

boolean

Set this to true if you want to get additional details about the role (assigned policies, resources, applications). The default value is false.

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/roles/Administrator?full=true

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. Role info retrieved.

Parameter full set to true:

{ "name": "Administrator", "description": null, "id": 724, "type": "ADMIN", "finderId": -1, "policies": [ { "action": "admin_user_resources", "level": 5, "label": "policy.admin_user_resources.manage", "id": 142, "justForReseller": false }, { "action": "lookups_restriction", "level": 5, "label": "policy.lookups_restriction.manage", "id": 25, "justForReseller": false }, { "action": "domain-queries", "level": 1, "label": "policy.domain-queries.view", "id": 88, "justForReseller": false }, { "action": "landing", "level": 1, "label": "policy.landing.view", "id": 78, "justForReseller": false }, { "action": "loxcope_columns", "level": 5, "label": "policy.loxcope_columns.manage", "id": 121, "justForReseller": false }, { "action": "lookups", "level": 5, "label": "policy.lookups.manage", "id": 139, "justForReseller": false }, { "action": "query_management", "level": 1, "label": "policy.query_management.view", "id": 23, "justForReseller": false }, { "action": "permalinks", "level": 5, "label": "policy.permalinks.manage", "id": 131, "justForReseller": false }, { "action": "lookups", "level": 1, "label": "policy.lookups.view", "id": 137, "justForReseller": false }, { "action": "go_to_query", "level": 1, "label": "policy.go_to_query.view", "id": 140, "justForReseller": false }, { "action": "alertSM_pushover", "level": 5, "label": "policy.alertSM_pushover.manage", "id": 173, "justForReseller": false }, { "action": "home", "level": 1, "label": "policy.home.view", "id": 41, "justForReseller": false }, { "action": "redadaDashboards", "level": 5, "label": "policy.redadaDashboards.manage", "id": 157, "justForReseller": false }, { "action": "http_tokens", "level": 5, "label": "policy.http_tokens.manage", "id": 125, "justForReseller": false } ], "applications": [], "dashboards": [], "lookups": [], "finder": { "id": -1, "name": "Default", "description": null }, "defVault": { "id": 2, "name": "normal", "label": "vault.normal", "share": 2 }, "maxVault": { "id": 2, "name": "normal", "label": "vault.normal", "share": 2 }, "alertPermission": [ { "level": "all", "granted": "all", "editable": 1 } ], "activeboards": [] }

Parameter full set to false:

{ "name": "Administrator", "description": null, "id": 724, "type": "ADMIN", "finderId": -1 }

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domain/{domainName}/policies

Get the list of role policies (or permissions) available in a given domain.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain.

If it is a multitenant domain, you must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/policies

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of available policies retrieved.

[ "policy.alertSM_slack.manage", "policy.lookups_restriction.view", "policy.alertSM_httpjson.manage", "policy.alertSM_jira.manage", "policy.casperables_custom.view", "policy.notifications.view", "policy.alertSM_jira.view", "policy.notifications.manage", "policy.alertSM_servicenow.manage", "policy.logautoparser.manage", "policy.landing.manage", "policy.relays.manage", "policy.users.manage", "policy.query_management.manage", "policy.alerts.view", "policy.alertSM_httpjson.view", "policy.domain_activity.view", "policy.userdsh.view", "policy.domain_connections.view", "policy.view_profile.view", "policy.permalinks.view", "policy.inject_myapp.view", "policy.redadaDashboards.manage", "policy.alerts_resetglobe.manage", "policy.lookups.view", "policy.inject_myapp.manage", "policy.home.view", "policy.domain_permalinks.view", "policy.http_tokens.view", "policy.alertSM_servicedesk.view", "policy.alertSM_email.manage", ]

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domain/{domainName}/applications

Get the list of applications available in a given domain, both installed and not installed.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain.

If it is a multitenant domain, you must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/applications

 

Response

Application codes

The response list the domain applications with their corresponding codes. Check here the codes for the most common applications in Devo. If you need to know some other app codes, get in touch with us.

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of available applications retrieved.

[ "app.avm", "lib.tracking", "lib.system", "lib.webserver", "app.report.firewall", "app.custom.SecurityInsights_1_2_0", "lib.appserver", "lib.logtrust", "lib.custom", "lib.attack"" ]

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domain/{domainName}/resources

Get the list of role resources available in a given domain. Resources refer to lookups and activeboards created in the domain.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain.

If it is a multitenant domain, you must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/resources

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of available resources retrieved.

[ { "id": 506, "name": "gondor-lookup-2", "description": null, "editable": false "type": "LOOKUP" }, { "id": 503, "name": "my-activeboard", "description": null, "editable": false "type": "ACTIVEBOARD" } ]

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domain/{domainName}/roles/vaults

Get the list of role vaults available in a given domain.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain.

If it is a multitenant domain, you must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/roles/vaults

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of vaults retrieved.

[ { "id": 1, "name": "low", "label": "vault.low", "share": 1 }, { "id": 2, "name": "normal", "label": "vault.normal", "share": 2 }, ]

4xx

Bad request.

{ "error": { "code": 4xx, "message": "string" } }

GET /domain/{domainName}/preferences

Retrieves the subset of preferences of the given domain.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain. You must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/preferences

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of preferences retrieved.

{ "inactivityPeriod": 10, "expiresSession": true, "getLocaleFromBrowser": true, "locale": 1000, "hideDemoTablesChecked": false, "loxcopeCaseSensitivity": "yes", "defaultRange": "1000", "queryForever": "yes" }

400

Bad request.

{ "code": { "10": "Invalid signature" }, "message": "string" }

GET /domain/{domainName}/preferences/limits

Retrieve the limits in the preferences of the given domain.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain. You must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/preferences/limits

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of limits retrieved.

{ "userLimit": 99999, "certificateLimit": 9999, "keyLimit": 9999 }

400

Bad request.

{ "code": { "10": "Invalid signature" }, "message": "string" }

GET /domain/{domainName}/visibility

Returns a list of all the domains from which a root domain can access data in a multitenant structure.

Note that this request requires multitenant API credentials.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required domain. You must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/visibility

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of domains retrieved.

[ "domain1@multitenant", "domain2@multitenant", "domain3@multitenant" ]

400

Bad request.

{ "code": { "10": "Invalid signature" }, "message": "string" }

GET /domain/{domainName}/auth

Returns the configuration info of a multitenant domain.

Note that this request requires multitenant API credentials.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required multitenant domain. You must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/auth

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. Authentication info retrieved.

{ "password": { "active": true, "disabled": null, "mfaActive": false, "mfaSkip": false } }

400

Bad request.

{ "code": { "10": "Invalid signature" }, "message": "string" }

GET /domain/{domainName}/keys

Returns a list of all the API keys associated to the given multitenant domain.

Note that this request will only return API keys, not API secrets.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required multitenant domain. You must enter the full domain name using the format {domainName}@{multitenantName}

Find below a request example:

https://api-us.devo.com/probio/domain/domainName@multitenantName/keys

 

Response

Code

Description and sample body

Code

Description and sample body

200

Successful response. List of API keys retrieved.

[ { "id": 12345, "userEmail": null, "apiKey": "27ffa******", "status": 0, "updateDate": 1692171865000, "creationDate": 1692171865000 } ]

400

Bad request.

{ "code": { "10": "Invalid signature" }, "message": "string" }

GET /domain/{domainName}/keys/{key}

Returns information of a specific API key.

 

Request

 

Path parameters

 

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

domainName required

string

Enter the name of the required multitenant domain. You must enter the full domain name using the format {domainName}@{multitenantName}