Resolve whether the caller has requested permissions in Dynatrace with the Platform Management API, using optional context for conditional results.
| POST | SaaS | https://{your-environment-id}.apps.dynatrace.com/platform/management/v1/effective-permissions:resolve |
One of the following scopes is required:
This endpoint resolves whether the caller (based on the provided OAuth token when calling this endpoint) has the requested permissions (see IAM policy reference for a list of permissions and their conditions). It resolves the permission via IAM and uses the optional context to evaluate conditional results. The provided context consists of key-value pairs where the key must correspond to the name of a supported condition of the requested permission and the value is the value that it this condition is evaluated against given a user's policies.
For each requested permission the response indicates whether the user has the requested permission ("granted": "true"), does not have it ("granted": "false") or only has it conditionally ("granted": "condition"), meaning that the provided values for conditions in the context are not sufficient to decide whether the caller has the permission.
For environment API v2 scopes (i.e. scopes starting with environment-api:) roles on the environment and management zone level will also be considered.
ℹ️ Settings permission requests for scopes
settings:schemas:read,settings:objects:read, andsettings:objects:writewill always result in a result with"granted": "condition". You can use the dedicated effective permissions endpoint for settings instead.
ℹ️ Apps must list all permissions they check in the list of
scopesin their app configuration.
You can learn more about querying user permissions on Dynatrace Developer.
To execute this request, you need a platform token or OAuth access token with one of the following scopes:
app-engine:apps:runapp-engine:functions:runplatform-management:effective-permissions:resolveTo learn how to obtain and use it, see Tokens and authentication.
| Parameter | Type | Description | In | Required |
|---|---|---|---|---|
| body | Resolution | - | body | Required |
ResolutionRequest object| Element | Type | Description | Required |
|---|---|---|---|
| permissions | Single | - | Required |
SinglePermissionRequest objectOptional generic set of context data
| Element | Type | Description | Required |
|---|---|---|---|
| permission | string | - | Required |
| context | Permission | - | Optional |
PermissionContext object| Element | Type | Description | Required |
|---|---|---|---|
| key | string | - | Required |
| value | string | - | Required |
This is a model of the request body, showing the possible elements. It has to be adjusted for usage in an actual request.
{"permissions": [{"permission": "state:app-states:write","context": [{"key": "shared:app-id","value": "dynatrace.notebooks"}]}]}
| Code | Description |
|---|---|
| 200 | - |
| default | - |