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 | |
---|---|---|
1 | GET | Get a list of all the domains in a multitenant structure. |
2 | GET | Get basic information about a given domain in a multitenant structure. |
3 | GET | Returns a list of all the children domains a root domain has in a multitenant structure. |
4 | GET | Get the price plan retention values of the given multitenant domain. |
5 | GET | Get details of all the roles in the given domain. |
6 | GET | Get details of a specific role in a given domain. |
7 | GET | Get the list of role policies available in a given domain. |
8 | GET | Get the list of applications available in a given domain. |
9 | GET | Get the list of role resources available in a given domain. |
10 | GET | Get the list of role vaults available in a given domain. |
11 | GET | Retrieve the subset of preferences of the given domain. |
12 | GET | Retrieve the limits in the preferences of the given domain. |
13 | GET | Returns a list of all the domains from which a root domain can access data in a multitenant structure. |
14 | GET | Returns the configuration info of a multitenant domain. |
15 | GET | Returns a list of all the API keys associated to the given domain. |
16 | GET | Returns info of a specific API key. |
17 | POST | Create a new domain in a multitenant structure. |
18 | POST | Disable a multitenant domain. |
19 | POST | Enable a multitenant domain. |
20 | POST | Creates a new domain visibility configuration (i.e., custom data access) for a given domain. |
21 | POST | Create a new role in a given domain. |
22 | POST | Generate a new API key/secret pair in the domain. |
23 | PUT | Change the current plan of a multitenant domain. |
24 | PUT | Update the given domain plan retention configuration. |
25 | PUT | Update a role in a given domain. |
26 | PUT | Update a role. |
27 | PUT | Update the subset of preferences of a given domain. |
28 | PUT | Update the limits in the preferences of a given domain. |
29 | PUT | Download a certificate. |
30 | PUT | Update the configuration of a multitenant domain. |
31 | Put | Updates a domain visibility configuration (i.e., custom data access) for a given domain. |
32 | DELETe | Delete a domain. |
33 | DELETe | Delete a role in a given domain. |
34 | DELETe | Delete a specific API key. |
35 | delete | 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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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} |
|
| Enter the name of the required role. Note that this parameter is case sensitive. For Devo default roles, you must type:
|
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 |
---|---|---|
|
| Set this to |
Find below a request example:
https://api-us.devo.com/probio/domain/domainName@multitenantName/roles/Administrator?full=true
Response
Code | Description and sample body |
---|---|
200 | Successful response. Role info retrieved. Parameter {
"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 {
"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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| 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 |
---|---|
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 |
---|---|---|
|
| Enter the name of the required multitenant domain. You must enter the full domain name using the format {domainName}@{multitenantName} |