Plan operations
- Juan Tomás Alonso Nieto (Deactivated)
Overview
Check the list of available endpoints and methods to create and modify multitenant plans using the Provisioning API.
Endpoints and methods | Description |
---|
Endpoints and methods | Description |
---|---|
GET | Get multitenant plans. |
GET | Get plan info. |
GET | Get plan configuration info. |
GET | Get plan roles. |
GET | Get plan info by name. |
GET | Get all policies of a given plan. |
GET | Get all applications of a given plan. |
GET | Get all vaults of a given plan. |
GET | Get the retention values of a given plan. |
POST | Create a new price plan role. |
PUT | Update plan configuration. |
PUT | Update plan roles. |
PUT | Update a plan role by name. |
PUT | Update the applications of a given plan. |
PUT | Update the retention values of a given plan. |
DELETE | Delete a plan role by name. |
Endpoints and methods
GET /plan
Returns the list of plans valid for your multitenant structure.
Find below a request example:
https://api-us.devo.com/probio/plan
Code | Description |
---|
Code | Description |
---|---|
200 | Successful response. Plans retrieved. [
{
"id": 30,
"name": "test",
"roles": [
{
"id": 332,
"name": "Administrator",
"type": "ADMIN",
"policies": [
{
"op": "op_manage",
"action": "permalinks",
"label": "policy.permalinks.manage"
},
{
"op": "op_view",
"action": "credentials",
"label": "policy.credentials.view"
},
{
"op": "op_view",
"action": "certs",
"label": "policy.certs.view"
},
{
"op": "op_view",
"action": "oDataFeeds",
"label": "policy.oDataFeeds.view"
},
{
"op": "op_view",
"action": "query_management",
"label": "policy.query_management.view"
},
{
"op": "op_manage",
"action": "inject_myapp",
"label": "policy.inject_myapp.manage"
},
{
"op": "op_manage",
"action": "loxcope_columns",
"label": "policy.loxcope_columns.manage"
},
{
"op": "op_manage",
"action": "vault",
"label": "policy.vault.manage"
},
{
"op": "op_view",
"action": "finder",
"label": "policy.finder.view"
},
{
"op": "op_view",
"action": "alertSM_pagerduty",
"label": "policy.alertSM_pagerduty.view"
},
{
"op": "op_view",
"action": "lookups",
"label": "policy.lookups.view"
},
{
"op": "op_view",
"action": "http_tokens",
"label": "policy.http_tokens.view"
},
{
"op": "op_view",
"action": "permalinks",
"label": "policy.permalinks.view"
},
{
"op": "op_view",
"action": "view_profile",
"label": "policy.view_profile.view"
},
{
"op": "op_view",
"action": "alertSM_email",
"label": "policy.alertSM_email.view"
},
{
"op": "op_view",
"action": "redadaDashboards",
"label": "policy.redadaDashboards.view"
},
{
"op": "op_view",
"action": "alertSM_pushover",
"label": "policy.alertSM_pushover.view"
},
{
"op": "op_manage",
"action": "oDataFeeds",
"label": "policy.oDataFeeds.manage"
},
{
"op": "op_manage",
"action": "landing",
"label": "policy.landing.manage"
},
{
"op": "op_view",
"action": "dyn_lookups",
"label": "policy.dyn_lookups.view"
},
{
"op": "op_manage",
"action": "alertSM_servicedesk",
"label": "policy.alertSM_servicedesk.manage"
},
{
"op": "op_manage",
"action": "preference_account",
"label": "policy.preference_account.manage"
},
{
"op": "op_view",
"action": "apiv2_tokens",
"label": "policy.apiv2_tokens.view"
},
{
"op": "op_manage",
"action": "relays",
"label": "policy.relays.manage"
},
{
"op": "op_manage",
"action": "users",
"label": "policy.users.manage"
},
{
"op": "op_view",
"action": "alertSM_httpjson",
"label": "policy.alertSM_httpjson.view"
},
{
"op": "op_view",
"action": "social_networks",
"label": "policy.social_networks.view"
},
{
"op": "op_view",
"action": "domain_permalinks",
"label": "policy.domain_permalinks.view"
},
{
"op": "op_manage",
"action": "redadaDashboards",
"label": "policy.redadaDashboards.manage"
},
{
"op": "op_manage",
"action": "auth_prefs",
"label": "policy.auth_prefs.manage"
},
{
"op": "op_manage",
"action": "userdsh",
"label": "policy.userdsh.manage"
},
{
"op": "op_manage",
"action": "alertSM_httpjson",
"label": "policy.alertSM_httpjson.manage"
},
{
"op": "op_manage",
"action": "alertSM_email",
"label": "policy.alertSM_email.manage"
},
{
"op": "op_view",
"action": "alerts",
"label": "policy.alerts.view"
},
{
"op": "op_view",
"action": "contact",
"label": "policy.contact.view"
},
{
"op": "op_manage",
"action": "lookups_restriction",
"label": "policy.lookups_restriction.manage"
},
{
"op": "op_view",
"action": "alertSM_slack",
"label": "policy.alertSM_slack.view"
},
{
"op": "op_manage",
"action": "roles",
"label": "policy.roles.manage"
},
{
"op": "op_view",
"action": "domain_activity",
"label": "policy.domain_activity.view"
},
{
"op": "op_manage",
"action": "free-query",
"label": "policy.free-query.manage"
},
{
"op": "op_manage",
"action": "casperables_custom",
"label": "policy.casperables_custom.manage"
},
{
"op": "op_manage",
"action": "alertSM_pushover",
"label": "policy.alertSM_pushover.manage"
},
{
"op": "op_view",
"action": "go_to_query",
"label": "policy.go_to_query.view"
},
{
"op": "op_view",
"action": "alertSM_jira",
"label": "policy.alertSM_jira.view"
},
{
"op": "op_manage",
"action": "alertSM_jira",
"label": "policy.alertSM_jira.manage"
},
{
"op": "op_view",
"action": "alertSM_servicedesk",
"label": "policy.alertSM_servicedesk.view"
},
{
"op": "op_manage",
"action": "alerts",
"label": "policy.alerts.manage"
},
{
"op": "op_view",
"action": "home",
"label": "policy.home.view"
},
{
"op": "op_view",
"action": "roles",
"label": "policy.roles.view"
},
{
"op": "op_view",
"action": "domain_connections",
"label": "policy.domain_connections.view"
},
{
"op": "op_view",
"action": "notifications",
"label": "policy.notifications.view"
},
{
"op": "op_view",
"action": "domain-queries",
"label": "policy.domain-queries.view"
},
{
"op": "op_manage",
"action": "domain_permalinks",
"label": "policy.domain_permalinks.manage"
},
{
"op": "op_manage",
"action": "alertSM_slack",
"label": "policy.alertSM_slack.manage"
},
{
"op": "op_manage",
"action": "alertSM_servicenow",
"label": "policy.alertSM_servicenow.manage"
},
{
"op": "op_view",
"action": "auth_prefs",
"label": "policy.auth_prefs.view"
},
{
"op": "op_manage",
"action": "custom_tables",
"label": "policy.custom_tables.manage"
},
{
"op": "op_manage",
"action": "admin_user_resources",
"label": "policy.admin_user_resources.manage"
},
{
"op": "op_manage",
"action": "apiv2_tokens",
"label": "policy.apiv2_tokens.manage"
},
{
"op": "op_manage",
"action": "send_data",
"label": "policy.send_data.manage"
},
{
"op": "op_view",
"action": "lookups_restriction",
"label": "policy.lookups_restriction.view"
},
{
"op": "op_manage",
"action": "lookups",
"label": "policy.lookups.manage"
},
{
"op": "op_view",
"action": "alerts_config",
"label": "policy.alerts_config.view"
},
{
"op": "op_manage",
"action": "alertSM_pagerduty",
"label": "policy.alertSM_pagerduty.manage"
},
{
"op": "op_view",
"action": "inject_myapp",
"label": "policy.inject_myapp.view"
},
{
"op": "op_manage",
"action": "finder",
"label": "policy.finder.manage"
},
{
"op": "op_manage",
"action": "alerts_resetglobe",
"label": "policy.alerts_resetglobe.manage"
},
{
"op": "op_view",
"action": "landing",
"label": "policy.landing.view"
},
{
"op": "op_view",
"action": "users",
"label": "policy.users.view"
},
{
"op": "op_view",
"action": "relays",
"label": "policy.relays.view"
},
{
"op": "op_manage",
"action": "credentials",
"label": "policy.credentials.manage"
},
{
"op": "op_manage",
"action": "app_gallery",
"label": "policy.app_gallery.manage"
},
{
"op": "op_view",
"action": "casperables_custom",
"label": "policy.casperables_custom.view"
},
{
"op": "op_manage",
"action": "alerts_config",
"label": "policy.alerts_config.manage"
},
{
"op": "op_manage",
"action": "dyn_lookups",
"label": "policy.dyn_lookups.manage"
},
{
"op": "op_manage",
"action": "http_tokens",
"label": "policy.http_tokens.manage"
},
{
"op": "op_manage",
"action": "certs",
"label": "policy.certs.manage"
},
{
"op": "op_view",
"action": "social_intelligence",
"label": "policy.social_intelligence.view"
},
{
"op": "op_view",
"action": "alertSM_servicenow",
"label": "policy.alertSM_servicenow.view"
},
{
"op": "op_view",
"action": "userdsh",
"label": "policy.userdsh.view"
},
{
"op": "op_manage",
"action": "query_management",
"label": "policy.query_management.manage"
},
{
"op": "op_manage",
"action": "notifications",
"label": "policy.notifications.manage"
},
{
"op": "op_manage",
"action": "logautoparser",
"label": "policy.logautoparser.manage"
}
],
"apps": [],
"finder": null
},
{
"id": 333,
"name": "No Privileges",
"type": "NO_PRIVILEGES",
"policies": [
{
"op": "op_view",
"action": "social_intelligence",
"label": "policy.social_intelligence.view"
},
{
"op": "op_view",
"action": "notifications",
"label": "policy.notifications.view"
},
{
"op": "op_manage",
"action": "userdsh",
"label": "policy.userdsh.manage"
},
{
"op": "op_manage",
"action": "preference_account",
"label": "policy.preference_account.manage"
},
{
"op": "op_view",
"action": "contact",
"label": "policy.contact.view"
},
{
"op": "op_view",
"action": "landing",
"label": "policy.landing.view"
},
{
"op": "op_view",
"action": "view_profile",
"label": "policy.view_profile.view"
},
{
"op": "op_manage",
"action": "landing",
"label": "policy.landing.manage"
},
{
"op": "op_view",
"action": "finder",
"label": "policy.finder.view"
},
{
"op": "op_view",
"action": "home",
"label": "policy.home.view"
},
{
"op": "op_view",
"action": "alerts",
"label": "policy.alerts.view"
},
{
"op": "op_view",
"action": "social_networks",
"label": "policy.social_networks.view"
}
],
"apps": [],
"finder": null
},
{
"id": 19611,
"name": "notifications",
"type": "CUSTOM",
"policies": [
{
"op": "op_view",
"action": "notifications",
"label": "policy.notifications.view"
},
{
"op": "op_manage",
"action": "notifications",
"label": "policy.notifications.manage"
}
],
"apps": [],
"finder": null
}
],
"apps": [
"lib.custom",
"app.avm",
"lib.appserver",
"lib.attack",
"lib.system",
"lib.tracking",
"lib.logtrust",
"lib.webserver",
"app.report.firewall",
"app.custom.SecurityInsights_1_2_0"
],
"menu": [
{
"id": "menu.home",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 0
},
{
"id": "menu.dashboards",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 1
},
{
"id": "menu.search",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 2
},
{
"id": "menu.send_data",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 4
},
{
"id": "menu.administration",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 5
},
{
"id": "menu.admin.users",
"route": null,
"cssClass": null,
"parent": "menu.administration",
"roles": null,
"action": null,
"textI18n": null,
"position": 6
},
{
"id": "menu.admin.roles",
"route": null,
"cssClass": null,
"parent": "menu.administration",
"roles": null,
"action": null,
"textI18n": null,
"position": 7
},
{
"id": "menu.admin.relays",
"route": null,
"cssClass": null,
"parent": "menu.administration",
"roles": null,
"action": null,
"textI18n": null,
"position": 8
},
{
"id": "menu.admin.credentials",
"route": null,
"cssClass": null,
"parent": "menu.administration",
"roles": null,
"action": null,
"textI18n": null,
"position": 9
},
{
"id": "menu.admin.subscription",
"route": null,
"cssClass": null,
"parent": "menu.administration",
"roles": null,
"action": null,
"textI18n": null,
"position": 11
},
{
"id": "menu.admin.appgallery",
"route": null,
"cssClass": null,
"parent": "menu.administration",
"roles": null,
"action": null,
"textI18n": null,
"position": 12
},
{
"id": "menu.admin.alert_config",
"route": null,
"cssClass": null,
"parent": "menu.administration",
"roles": null,
"action": null,
"textI18n": null,
"position": 13
},
{
"id": "menu.admin.ci",
"route": null,
"cssClass": null,
"parent": "menu.administration",
"roles": null,
"action": null,
"textI18n": null,
"position": 14
},
{
"id": "menu.applications",
"route": null,
"cssClass": "nt-apps",
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 15
},
{
"id": "menu.marketplace",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 16
},
{
"id": "menu.alerts",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 17
},
{
"id": "menu.notifications",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 18
},
{
"id": "menu.preferences",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 19
},
{
"id": "menu.social_intelligence",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 20
},
{
"id": "menu.makeijan",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 21
},
{
"id": "menu.flow",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 22
},
{
"id": "menu.redadashboard",
"route": null,
"cssClass": null,
"parent": null,
"roles": null,
"action": null,
"textI18n": null,
"position": 1
}
],
"retentionUnit": "DAYS",
"retentionValue": 1080,
"volume": 10.0,
"config": {
"usersCount": 50,
"redefineTablesRetention": false,
"shareAcrossPlan": false,
"queryForever": false
},
"dataDeletion": false,
"archivingDays": 0
},
]
|
400 | Bad request. {
"code": {
"10": "Invalid signature"
},
"message": "string"
} |
GET /plan/{planName}
Returns information about a given service plan.
Path parameters
Add the following path parameters as part of the endpoint:
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|---|---|
|
| Name of the required plan. |
Find below a request example:
Code | Description |
---|
Code | Description |
---|---|
200 | Successful response. Plan info retrieved. |
400 | Bad request. |
GET /plan/{planName}/configuration
Returns information about the configuration of a given service plan.
Path parameters
Add the following path parameters as part of the endpoint:
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|---|---|
|
| Name of the required plan. |
Find below a request example:
GET /plan/{planName}/roles
Retrieves all roles belonging to the provided domain.
GET /plan/{planName}/roles/{roleName}
Retrieves information about a specific role in a plan.
GET /plan/{planName}/policies
Given a price plan, returns all the role policies (or permissions) that can be given to any custom role.
GET /plan/{planName}/applications
Given a price plan, returns all the applications that can be given to any custom role.
GET /plan/{planName}/roles/vaults
Given a price plan, returns all the vaults that can be given to any custom role.
GET /plan/{planName}/retention
Given a price plan, returns all the retention values.
POST /plan/{planName}/roles
Creates a new role assigned to a given price plan.
There are custom roles that can be configured for a given multitenant plan. Those roles cannot be managed in the Devo application, only through the API.
This allows the multitenant administrator to manage the policies and resources the users of a domain can access without exposing some resources that only should be applied to other domains in the plan.
You should know that:
Basic roles Administrator and No privileges are taken from the defaults at the price plan instead of the global ones.
The owner of a domain is a role Administrator flagged as
owner
.Multiple roles apply.
PUT /plan/{planName}/configuration
Updates the configuration of a given price plan.
PUT /plan/{planName}/roles
Updates a custom role of a given price plan.
PUT /plan/{planName}/roles/{roleName}
Updates a custom role of a given price plan indicating its name.
PUT /plan/{planName}/applications
Update the applications of a given plan.
PUT /plan/{planName}/retention
Update the retention values of a given plan. Partial updates are allowed.
DELETE /plan/{planName}/roles/{roleName}
Deletes a role from a given plan.