Dynatrace Policy management API
Manage IAM policies, policy bindings, and permission boundaries.
Operations 27
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
POST
/iam/v1/repo/{level-type}/{level-id}/policies/validation
Validate a new policy draft (deprecated) · Validates the payload for the `POST /iam/v1/repo/{levelType}/{levelId}/policies`…
#
Ask an LLM
“Can I dry-run a brand-new IAM policy statement before creating it?”
“Is the separate new-policy validation endpoint being retired?”
Tell an agent
Validate a new policy {name} with statement {statement} and description {description} for {levelType} {level} using the deprecated check.
Dry-run creating policy {name} on {levelType} {level} with statement {statement}, description {description}.
POST
/iam/v1/repo/{level-type}/{level-id}/policies/validation/{policy-uuid}
Validate changes to an existing policy (deprecated) · Validates the payload for the `PUT /iam/v1/repo/{levelType}/{levelId}/policies/{…
#
Ask an LLM
“Can I check an edit to an existing policy is valid before saving it?”
“Does the legacy validator for policy updates still work?”
Tell an agent
Validate an update to policy {policy} on {levelType} {level}: name {name}, description {description}, statement {statement}.
Dry-run my edit of existing policy {policy} at {levelType} {level} with statement {statement}, name {name}, description {description}.
GET
/iam/v1/resolution/{level-type}/{level-id}/effectivepermissions
Get effective permissions for a user or group · Gets effective permissions for a user or group
#
Ask an LLM
“What can a given user actually do once all their policies are combined?”
“Can I resolve a group's effective permissions for specific services?”
Tell an agent
Resolve effective permissions for {entityType} {entity} on {levelType} {level}.
Show what {entityType} {entity} is allowed to do in {services} at {levelType} {level}.
GET
/iam/v1/repo/{level-type}/{level-id}/policies/aggregate
List policies for a level including inherited ones · Lists all policies for a level, including inherited from higher levels
#
Ask an LLM
“Which policies apply to an environment, including ones inherited from the account?”
“Can I see an aggregated policy overview across parent levels?”
Tell an agent
List all policies at {levelType} {level}, including inherited ones.
Show the aggregated policy overview for {levelType} {level}.
GET
/iam/v1/repo/{level-type}/{level-id}/policies
List policies defined natively on a level · Lists all native policies of a level
#
Ask an LLM
“Which policies were created directly on this level, not inherited?”
“Can I filter a level's own policies by name or category?”
Tell an agent
List the native policies on {levelType} {level}.
Find policies named {name} defined on {levelType} {level}.
Ask an LLM
“How do I write a new IAM policy with my own statement?”
“Can policies be created at the environment level?”
Tell an agent
Create policy {name} on {levelType} {level} with statement {statement} and description {description}.
Add a new {levelType} policy at {level} called {name}, described {description}, allowing {statement}.
GET
/iam/v1/repo/{level-type}/{level-id}/policies/{policy-uuid}
Get one policy's statement and details · Gets a policy
#
Ask an LLM
“What statement does a specific policy contain?”
“Can I read a single policy by its UUID?”
Tell an agent
Get policy {policy} on {levelType} {level}.
Show me the statement of policy {policy} at {levelType} {level}.
PUT
/iam/v1/repo/{level-type}/{level-id}/policies/{policy-uuid}
Update or create a policy by UUID · Updates a policy
#
Ask an LLM
“How do I change the statement of an existing policy?”
“Does updating a policy UUID that doesn't exist create it?”
Tell an agent
Update policy {policy} on {levelType} {level} to statement {statement}, name {name}, description {description}.
Save policy {policy} at {levelType} {level} as {name} ({description}) with statement {statement}.
DELETE
/iam/v1/repo/{level-type}/{level-id}/policies/{policy-uuid}
Delete a policy · Deletes a policy
#
Ask an LLM
“Can I delete a policy that is still bound to groups?”
“What does the force flag do when removing a policy?”
Tell an agent destructive · confirm first
Delete policy {policy} from {levelType} {level} with force {force}.
Remove the policy {policy} at {levelType} {level}, force={force}.
GET
/iam/v1/repo/{level-type}/{level-id}/bindings/groups/{group-uuid}
List the policies bound to a user group · Lists all policies for a user group
#
Ask an LLM
“Which policies does a particular group have attached?”
“Can I get full policy details, not just IDs, for a group's bindings?”
Tell an agent
List the policies bound to group {group} at {levelType} {level}.
Show group {group}'s attached policies on {levelType} {level} with details {details}.
PUT
/iam/v1/repo/{level-type}/{level-id}/bindings/groups/{group-uuid}
Replace all policies bound to a group · Updates policy bindings for a user group
#
Ask an LLM
“How do I set exactly which policies a group has, dropping the rest?”
“Does rebinding a group's policies overwrite its existing ones?”
Tell an agent
Bind group {group} at {levelType} {level} to exactly policies {policies}.
Replace group {group}'s policy set on {levelType} {level} with {policies}.
GET
/iam/v1/repo/{level-type}/{level-id}/bindings
List every policy binding on a level · Lists all policy bindings of a level
#
Ask an LLM
“Which groups use which policies across a whole level?”
“Can I dump all policy-to-group bindings for an account?”
Tell an agent
List all policy bindings on {levelType} {level}.
Show the full binding map of policies to groups at {levelType} {level}.
DELETE
/iam/v1/repo/{level-type}/{level-id}/bindings
Delete every policy binding on a level · Deletes all policy bindings from a level
#
Ask an LLM
“Is there a way to wipe all policy bindings from an environment at once?”
“What happens if I clear every binding on a level?”
Tell an agent destructive · confirm first
Delete all policy bindings on {levelType} {level}.
Clear every group-policy binding at {levelType} {level}.
GET
/iam/v1/repo/{level-type}/{level-id}/bindings/{policy-uuid}
List the groups bound to one policy · Get policy bindings within a level
#
Ask an LLM
“Which groups are using a specific policy on this level?”
“Who is affected if I change a given policy?”
Tell an agent
List the groups bound to policy {policy} at {levelType} {level}.
Show bindings of policy {policy} on {levelType} {level}.
POST
/iam/v1/repo/{level-type}/{level-id}/bindings/{policy-uuid}
Bind a policy to additional groups · Adds policy bindings to a level
#
Ask an LLM
“Can I attach one policy to several more groups without disturbing current bindings?”
“How do I bind a policy to groups with a boundary applied?”
Tell an agent
Bind policy {policy} at {levelType} {level} to groups {groups}.
Attach policy {policy} on {levelType} {level} to groups {groups} limited by boundaries {boundaries}.
DELETE
/iam/v1/repo/{level-type}/{level-id}/bindings/{policy-uuid}
Unbind a policy from all its groups · Deletes all bindings of a policy
#
Ask an LLM
“How do I detach a policy from every group that uses it?”
“What does forceMultiple mean when unbinding a policy?”
Tell an agent destructive · confirm first
Remove all bindings of policy {policy} at {levelType} {level}, forceMultiple {force}.
Detach policy {policy} from every group on {levelType} {level} with forceMultiple={force}.
GET
/iam/v1/repo/{level-type}/{level-id}/bindings/descendants/{policy-uuid}
List a policy's bindings in child levels · Get policy bindings within descendants of a level
#
Ask an LLM
“Where is an account policy bound in the environments beneath it?”
“Can I see a policy's bindings across descendant levels?”
Tell an agent
List bindings of policy {policy} in levels below {levelType} {level}.
Show descendant-level bindings for policy {policy} under {levelType} {level}, page {page}.
GET
/iam/v1/repo/{level-type}/{level-id}/bindings/{policy-uuid}/{group-uuid}
Get the binding between one policy and one group · Get policy bindings within a level
#
Ask an LLM
“Is a specific policy bound to a specific group, and with what parameters?”
“Which boundaries apply to one group's binding of a policy?”
Tell an agent
Get the binding of policy {policy} to group {group} at {levelType} {level}.
Check whether group {group} is bound to policy {policy} on {levelType} {level}.
POST
/iam/v1/repo/{level-type}/{level-id}/bindings/{policy-uuid}/{group-uuid}
Append a binding of a policy for one group · Append policy bindings within a level for a user group
#
Ask an LLM
“Can I add another parameterised binding of a policy for a group, keeping the old one?”
“What's the way to stack an extra boundary-limited binding on one group?”
Tell an agent
Append a binding of policy {policy} for group {group} at {levelType} {level} with parameters {parameters}.
Add an extra binding for group {group} to policy {policy} on {levelType} {level}, keeping existing ones.
PUT
/iam/v1/repo/{level-type}/{level-id}/bindings/{policy-uuid}/{group-uuid}
Set one group's binding to a policy · Updates or creates a policy binding for a particular group and policy
#
Ask an LLM
“How do I change the parameters on one group's policy binding?”
“Can I create or overwrite a single policy-group binding with boundaries?”
Tell an agent
Set the binding of policy {policy} to group {group} at {levelType} {level} with parameters {parameters}.
Overwrite group {group}'s binding to policy {policy} on {levelType} {level} using boundaries {boundaries}.
DELETE
/iam/v1/repo/{level-type}/{level-id}/bindings/{policy-uuid}/{group-uuid}
Unbind a policy from one group · Deletes a policy binding from a user group
#
Ask an LLM
“How do I detach a single policy from just one group?”
“Can I remove one group's policy binding while other groups keep it?”
Tell an agent destructive · confirm first
Unbind policy {policy} from group {group} at {levelType} {level}, forceMultiple {force}.
Remove group {group}'s binding to policy {policy} on {levelType} {level} with forceMultiple={force}.
GET
/iam/v1/repo/account/{account-id}/boundaries
List policy boundaries in an account · Get a list of policy boundaries within a level
#
Ask an LLM
“What policy boundaries have been defined for my account?”
“Can I page through the list of boundaries?”
Tell an agent
List the policy boundaries on account {account}.
Show page {page} of boundaries for account {account}.
POST
/iam/v1/repo/account/{account-id}/boundaries
Create a policy boundary · Create a policy boundary within a level
#
Ask an LLM
“How do I restrict a policy's reach to certain resources with a boundary?”
“What goes into a boundary query when creating one?”
Tell an agent
Create boundary {name} on account {account} with query {query} and metadata {metadata}.
Add a new policy boundary called {name} to {account} limiting to {query}, metadata {metadata}.
GET
/iam/v1/repo/account/{account-id}/boundaries/{policy-boundary-uuid}
Get one policy boundary · Get policy boundary within a level
#
Ask an LLM
“What does a particular boundary restrict?”
“Can I read a boundary's query by its UUID?”
Tell an agent
Get boundary {boundary} on account {account}.
Show the query of policy boundary {boundary} in {account}.
PUT
/iam/v1/repo/account/{account-id}/boundaries/{policy-boundary-uuid}
Update or create a policy boundary by UUID · Update or create a new policy boundary by uuid within a level
#
Ask an LLM
“How do I change the query of an existing boundary?”
“Will updating a boundary UUID that doesn't exist create it?”
Tell an agent
Update boundary {boundary} on {account} to name {name}, query {query}, metadata {metadata}.
Save boundary {boundary} in account {account} as {name} restricting to {query} with metadata {metadata}.
DELETE
/iam/v1/repo/account/{account-id}/boundaries/{policy-boundary-uuid}
Delete a policy boundary · Delete policy boundary by uuid within a level
#
Ask an LLM
“Can I delete a boundary I no longer need?”
“How do I remove a policy boundary from my account?”
Tell an agent destructive · confirm first
Delete boundary {boundary} from account {account}.
Remove policy boundary {boundary} on {account}.
GET
/iam/v1/repo/{level-type}/{level-id}/limits
Show the IAM limits for a level · Returns limits defined for a level
#
Ask an LLM
“How many policies or bindings can an environment hold?”
“What IAM limits apply at a specific level?”
Tell an agent
Show the limits defined for {levelType} {level}.
Check the policy and binding caps on {levelType} {level}.
Specifications
Schemas & Data
📊
JSONSchema
https://artifacts.apis.io/dynatrace/json-schema/dynatrace-level-policy-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/dynatrace/json-schema/dynatrace-policy-boundary-overview-schema.json
📊
JSONSchema
https://artifacts.apis.io/dynatrace/json-schema/dynatrace-level-limits-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/dynatrace/json-schema/dynatrace-create-or-update-level-policy-request-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/dynatrace/json-schema/dynatrace-append-level-policy-binding-for-group-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/dynatrace/json-schema/dynatrace-policy-boundary-dto-schema.json