Document toolboxDocument toolbox

Plan operations

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 /plan see below

Get multitenant plans.

GET /plan/{planName} see below

Get plan info.

GET /plan/{planName}/configuration see below

Get plan configuration info.

GET /plan/{planName}/roles see below

Get plan roles.

GET /plan/{planName}/roles/{roleName} see below

Get plan info by name.

GET /plan/{planName}/policies see below

Get all policies of a given plan.

GET /plan/{planName}/applications see below

Get all applications of a given plan.

GET /plan/{planName}/roles/vaults see below

Get all vaults of a given plan.

GET /plan/{planName}/retention see below

Get the retention values of a given plan.

POST /plan/{planName}/roles see below

Create a new price plan role.

PUT /plan/{planName}/configuration see below

Update plan configuration.

PUT /plan/{planName}/roles see below

Update plan roles.

PUT /plan/{planName}/roles/{roleName} see below

Update a plan role by name.

PUT /plan/{planName}/applications see below

Update the applications of a given plan.

PUT /plan/{planName}/retention see below

Update the retention values of a given plan.

DELETE /plan/{planName}/roles/{roleName} see below

Delete a plan role by name.

Endpoints and methods

GET /plan

Returns the list of plans valid for your multitenant structure.

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

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     }, ]

 

4xx

Bad request.

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

GET /plan/{planName}

Returns information about a given service plan.

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

Path parameters

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

planName required

string

Name of the required plan.

Find below a request example:

Code

Description

Code

Description

200

Successful response. Plan info retrieved.

4xx

Bad request.


GET /plan/{planName}/configuration

Returns information about the configuration of a given service plan.

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

Path parameters

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

Parameter

Type

Description

planName required

string

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 price plan custom role to match the provided specification.

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.

Â