{"openapi":"3.0.0","paths":{"/iam/v1/accounts/{accountUuid}/limits":{"get":{"operationId":"getLimitsForAccount","x-token-scopes":["account-idm-read","sso-idm:account-limits:read"],"summary":"Returns limits defined for an account","parameters":[{"name":"accountUuid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response - information about limits defined for a level.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountLimitsPage"}}}}},"tags":["Account limits"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/users":{"get":{"operationId":"UsersController_getUsers","summary":"Lists all users of an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"service-users","required":false,"in":"query","description":"Specifies whether service users are included in results.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success. The response contains the list of users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListDto"}}}}},"tags":["User management"],"security":[{"bearer":[]}]},"post":{"operationId":"UsersController_createUserForAccount","summary":"Creates a new user in an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains the email address of the new user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEmailDto"}}}},"responses":{"201":{"description":"Success. The new user has been created. Response contains userUuid."}},"tags":["User management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/users/{email}":{"get":{"operationId":"UsersController_getUserGroups","summary":"Lists all groups of a user","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"email","required":true,"in":"path","description":"The email address of the required user.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains the groups of the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUserDto"}}}}},"tags":["User management"],"security":[{"bearer":[]}]},"post":{"operationId":"UsersController_addUserToGroups","summary":"Adds a user to groups. Any existing group membership remains unaffected.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"email","required":true,"in":"path","description":"The email address of the required user.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The body of the request. Contains a list of groups (specified by UUIDs) to which the user is to be added. The limit is 200 groups. \n\n Any existing group membership remains unaffected.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"201":{"description":"Success. The user has been added to the groups. Response doesn't have a body."}},"tags":["User management"],"security":[{"bearer":[]}]},"delete":{"operationId":"UsersController_removeUserFromAccount","summary":"Removes a user from an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"email","required":true,"in":"path","description":"The email address of the required user.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The user has been deleted. Response doesn't have a body."}},"tags":["User management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/users/{email}/groups":{"put":{"operationId":"UsersController_replaceUserGroups","summary":"Sets group membership of a user. Any existing membership is overwritten.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"email","required":true,"in":"path","description":"The email address of the required user.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The body of the request. Contains a list of groups (specified by UUIDs) where the user is to be a member. The limit is 200 groups. \n\n The user will be removed from any group that is not specified here.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Success. The group membership has been set. Response doesn't have a body."}},"tags":["User management"],"security":[{"bearer":[]}]},"delete":{"operationId":"UsersController_removeUserFromGroups","summary":"Removes a user from groups","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"email","required":true,"in":"path","description":"The email address of the required user.","schema":{"type":"string"}},{"name":"group-uuid","required":true,"in":"query","description":"A list of groups the user is no longer a member of. \n\n To specify several groups, use the following format: `group-uuid=aaaaaa&group-uuid=bbbb`. \n\n The limit is 200 groups.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Success. The user has been removed from groups. Response doesn't have a body."}},"tags":["User management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/groups":{"get":{"operationId":"GroupsController_getGroups","summary":"Lists all user groups of an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains the list of user groups.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupListDto"}}}}},"tags":["Group management"],"security":[{"bearer":[]}]},"post":{"operationId":"GroupsController_createGroups","summary":"Creates new user groups","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The body of the request. Contains a list of configurations for new groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InsertGroupDto"}}}}},"responses":{"201":{"description":"Success. The response contains descriptions of newly created groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GetGroupDto"}}}}}},"tags":["Group management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/groups/{groupUuid}/users":{"get":{"operationId":"GroupsController_getUsersForGroup","summary":"Lists all members of a group","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"groupUuid","required":true,"in":"path","description":"The UUID of the required user group.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains members of the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUserListDto"}}}}},"tags":["Group management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/groups/{groupUuid}":{"put":{"operationId":"GroupsController_editGroup","summary":"Edits a user group","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"groupUuid","required":true,"in":"path","description":"The UUID of the required user group.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The body of the request. Contains the updated parameters of the group. \n\n You can't change the UUID of the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutGroupDto"}}}},"responses":{"200":{"description":"Success. The group has been modified. The response doesn't have a body."}},"tags":["Group management"],"security":[{"bearer":[]}]},"delete":{"operationId":"GroupsController_deleteGroup","summary":"Deletes a user group","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"groupUuid","required":true,"in":"path","description":"The UUID of the required user group.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The group has been deleted. The response doesn't have a body."}},"tags":["Group management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/groups/{groupUuid}/permissions":{"get":{"operationId":"PermissionsController_getGroupPermissions","summary":"Lists all permissions of a user group","deprecated":true,"description":"Consider upgrading your role-based permissions to IAM policies by following this guide. <a href=\"https://dt-url.net/gx03uwa\">Learn how to manage policies<a>","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"groupUuid","required":true,"in":"path","description":"The UUID of the required user group.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains permissions of the user group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsGroupDto"}}}}},"tags":["Permission management"],"security":[{"bearer":[]}]},"post":{"operationId":"PermissionsController_addGroupPermissions","summary":"Assigns permissions to a user group. Existing permissions remain unaffected.","deprecated":true,"description":"Consider upgrading your role-based permissions to IAM policies by following this guide. <a href=\"https://dt-url.net/gx03uwa\">Learn how to manage policies<a>","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"groupUuid","required":true,"in":"path","description":"The UUID of the required user group.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The body of the request. Contains a list of permissions to be assigned to the group. \n\nExisting permissions remain unaffected.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionsDto"}}}}},"responses":{"201":{"description":"Success. Permissions have been assigned to the user group. Response doesn't have a body."}},"tags":["Permission management"],"security":[{"bearer":[]}]},"put":{"operationId":"PermissionsController_overwriteGroupPermissions","summary":"Sets permissions of a user group. Existing permissions are overwritten.","deprecated":true,"description":"Consider upgrading your role-based permissions to IAM policies by following this guide. <a href=\"https://dt-url.net/gx03uwa\">Learn how to manage policies<a>","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"groupUuid","required":true,"in":"path","description":"The UUID of the required user group.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The body of the request. Contains a list of permissions to be assigned to the group. \n\n Existing permissions are overwritten.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionsDto"}}}}},"responses":{"200":{"description":"Success. User group's permissions have been set. Response doesn't have a body."}},"tags":["Permission management"],"security":[{"bearer":[]}]},"delete":{"operationId":"PermissionsController_removeGroupPermissions","summary":"Removes a permission from a user group","deprecated":true,"description":"Consider upgrading your role-based permissions to IAM policies by following this guide. <a href=\"https://dt-url.net/gx03uwa\">Learn how to manage policies<a>","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"groupUuid","required":true,"in":"path","description":"The UUID of the required user group.","schema":{"type":"string"}},{"name":"scope","required":true,"in":"query","description":"The scope of the permission to be deleted. Depending on the type of the scope, specify one of the following: \n\n * `account`: The UUID of the account. \n* `tenant`: The ID of the environment. \n* `management-zone`: The ID of the management zone from an environment in `{environment-id}:{management-zone-id}` format.","schema":{"type":"string"}},{"name":"permission-name","required":true,"in":"query","description":"The name of the permission to be deleted.","schema":{"enum":["account-company-info","account-user-management","account-viewer","account-saml-flexible-federation","tenant-viewer","tenant-manage-settings","tenant-agent-install","tenant-logviewer","tenant-view-sensitive-request-data","tenant-configure-request-capture-data","tenant-replay-sessions-with-masking","tenant-replay-sessions-without-masking","tenant-manage-security-problems","tenant-view-security-problems","tenant-manage-support-tickets"],"type":"string"}},{"name":"scope-type","required":true,"in":"query","description":"The scope type of the permission to be deleted.","schema":{"enum":["account","tenant","management-zone"],"type":"string"}}],"responses":{"200":{"description":"Success. The permission has been deleted from the group."}},"tags":["Permission management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/policies/validation":{"post":{"operationId":"validateNewLevelPolicy","x-token-scopes":["iam-policies-management","iam:policies:read"],"summary":"Validates the payload for the `POST /iam/v1/repo/{levelType}/{levelId}/policies` request","deprecated":true,"description":"This endpoint is unavailable within global level. Validation moved to create/update policy endpoints. ","parameters":[{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains the configuration of a policy to be validated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrUpdateLevelPolicyRequestDto"}}}},"responses":{"200":{"description":"Success. The submitted policy is valid. Check the response body for possible validation warnings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationDto"}}}},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/policies/validation/{policyUuid}":{"post":{"operationId":"validateLevelPolicy","x-token-scopes":["iam-policies-management","iam:policies:read"],"summary":"Validates the payload for the `PUT /iam/v1/repo/{levelType}/{levelId}/policies/{policyUuid}` request","deprecated":true,"description":"This endpoint is unavailable within global level. Validation moved to create/update policy endpoints. ","parameters":[{"name":"policyUuid","required":true,"in":"path","description":"The ID of the policy to be validated.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains the configuration of a policy to be validated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrUpdateLevelPolicyRequestDto"}}}},"responses":{"200":{"description":"Success. The submitted policy is valid. Check the response body for possible validation warnings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationDto"}}}},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/resolution/{levelType}/{levelId}/effectivepermissions":{"get":{"operationId":"getEffectivePermissions","x-token-scopes":["iam-policies-management","iam:effective-permissions:read"],"summary":"Gets effective permissions for a user or group","parameters":[{"name":"size","required":false,"in":"query","schema":{"default":100,"type":"integer"}},{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"integer"}},{"name":"services","required":false,"in":"query","description":"Optional services list. Policies for given services will be returned","schema":{}},{"name":"entityId","required":true,"in":"query","description":"Required entity id.","schema":{}},{"name":"entityType","required":true,"in":"query","description":"Required entity type. The following values are available: \n\n* user \n* group","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EffectivePermissions"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/policies/aggregate":{"get":{"operationId":"getPolicyOverviewList","x-token-scopes":["iam-policies-management"],"summary":"Lists all policies for a level, including inherited from higher levels","parameters":[{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"description":"This endpoint is unavailable within global level","responses":{"200":{"description":"Success. The response contains the list of policies.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyOverviewDtoList"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/policies":{"get":{"operationId":"getLevelPolicies","x-token-scopes":["iam-policies-management","iam:policies:read"],"summary":"Lists all native policies of a level","parameters":[{"name":"categories","required":false,"in":"query","description":"Optional policy categories set. Only policies that match given categories will be returned.","schema":{}},{"name":"name","required":false,"in":"query","description":"Optional policy name. Only policies that are of equal name will be returned.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* global: use the `global` value. \n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `global`: A global policy applies to all accounts and environments. It is defined and managed by Dynatrace. \n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Success. The response contains the list of policies.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyDtoList"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"post":{"operationId":"createLevelPolicy","x-token-scopes":["iam-policies-management","iam:policies:write"],"summary":"Creates a new policy","description":"This endpoint is unavailable within global level","parameters":[{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains the configuration of a new policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrUpdateLevelPolicyRequestDto"}}}},"responses":{"201":{"description":"Success. The policy has been created. The response contains the configuration of the policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LevelPolicyDto"}}}},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/policies/{policyUuid}":{"get":{"operationId":"getLevelPolicy","x-token-scopes":["iam-policies-management","iam:policies:read"],"summary":"Gets a policy","parameters":[{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* global: use the `global` value. \n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `global`: A global policy applies to all accounts and environments. It is defined and managed by Dynatrace. \n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Success. The response contains the configuration of the policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LevelPolicyDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"put":{"operationId":"updateLevelPolicy","x-token-scopes":["iam-policies-management","iam:policies:write"],"summary":"Updates a policy","description":"If the specified policy doesn't exist, a new one is created.\nThis endpoint is unavailable within global level","parameters":[{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains the updated configuration of a policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrUpdateLevelPolicyRequestDto"}}}},"responses":{"201":{"description":"Success. The policy has been created. The response contains the configuration of the policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LevelPolicyDto"}}}},"204":{"description":"Success. The policy has been updated. The response doesn't have a body."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"delete":{"operationId":"deleteLevelPolicy","x-token-scopes":["iam-policies-management","iam:policies:write"],"summary":"Deletes a policy","description":"This endpoint is unavailable within global level","parameters":[{"name":"force","required":true,"in":"query","description":"Set to `true` to delete a policy that is still in use.","schema":{"default":false}},{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"204":{"description":"Success. The policy has been deleted. The response doesn't have a body."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/bindings/groups/{groupUuid}":{"get":{"operationId":"getPolicyUuidsBindings","x-token-scopes":["iam-policies-management","iam:bindings:read"],"summary":"Lists all policies for a user group","parameters":[{"name":"details","required":false,"in":"query","description":"Optional parameter to print-out additional details containing boundaries, metadata, parameters.","schema":{}},{"name":"groupUuid","required":true,"in":"path","description":"The ID of the required user group.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* global: use the `global` value. \n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `global`: A global policy applies to all accounts and environments. It is defined and managed by Dynatrace. \n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Success. The response contains the list of policies.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyUuidsWithoutMetadataDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"put":{"operationId":"updatePolicyBindingsToGroup","x-token-scopes":["iam-policies-management","iam:bindings:write"],"summary":"Updates policy bindings for a user group. The request overwrites an existing set of policy bindings","description":"The request overwrites existing policies.\nThis endpoint is unavailable within global level","parameters":[{"name":"groupUuid","required":true,"in":"path","description":"The ID of the required user group.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains new policies for the group. \n\n Any policy not presented in the request is discarded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyUuidsDto"}}}},"responses":{"204":{"description":"Success. The group policies have been updated. The response doesn't have a body."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/bindings":{"get":{"operationId":"getAllLevelPoliciesBindings","x-token-scopes":["iam-policies-management","iam:bindings:read"],"summary":"Lists all policy bindings of a level","description":"A policy binding shows which user groups use the policy.","parameters":[{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* global: use the `global` value. \n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `global`: A global policy applies to all accounts and environments. It is defined and managed by Dynatrace. \n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Success. The response contains bindings of the level policies.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LevelPolicyBindingDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"delete":{"operationId":"deleteLevelPolicyBindings","x-token-scopes":["iam-policies-management","iam:bindings:write"],"summary":"Deletes all policy bindings from a level","description":"This endpoint is unavailable within global level","parameters":[{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"204":{"description":"Success. Policy bindings have been deleted. The response doesn't have a body."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/bindings/{policyUuid}":{"get":{"operationId":"getLevelPolicyBindings","x-token-scopes":["iam-policies-management","iam:bindings:read"],"summary":"Get policy bindings within a level","description":"This endpoint is unavailable within global level","parameters":[{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* global: use the `global` value. \n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `global`: A global policy applies to all accounts and environments. It is defined and managed by Dynatrace. \n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Successful response - list of policy bindings with parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LevelPolicyBindingDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"post":{"operationId":"appendLevelPolicyBindings","x-token-scopes":["iam-policies-management","iam:bindings:write"],"summary":"Adds policy bindings to a level","description":"Existing bindings remain unaffected.\nThis endpoint is unavailable within global level","parameters":[{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains user groups that must use the policy and optional boundaries.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppendLevelPolicyBindingsRequestDto"}}}},"responses":{"204":{"description":"Success. Policy bindings created."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"delete":{"operationId":"deleteLevelPolicyBindingsForPolicy","x-token-scopes":["iam-policies-management","iam:bindings:write"],"summary":"Deletes all bindings of a policy","description":"This endpoint is unavailable within global level","parameters":[{"name":"forceMultiple","required":true,"in":"query","description":"Forces multiple in case delete by parameters and metadata query","schema":{"default":false}},{"name":"query-params","required":false,"in":"query","description":"Key-value pairs for policy template parameters and metadata. Only bindings matching given parameters and metadata will be updated or deleted.","schema":{"example":" { \n   \"parameters[param1]\": \"value1\",\n   \"parameters[param2]\": \"value2\",\n   \"metadata[param1]\": \"value1\" \n }","type":"object"}},{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"204":{"description":"Success. Policy binding has been deleted. The response doesn't have a body."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/bindings/descendants/{policyUuid}":{"get":{"operationId":"getLevelDescendantsPolicyBindings","x-token-scopes":["iam-policies-management","iam:bindings:read"],"summary":"Get policy bindings within descendants of a level","description":"This endpoint is unavailable within global level","parameters":[{"name":"size","required":false,"in":"query","schema":{"default":100,"type":"integer"}},{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"integer"}},{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* global: use the `global` value. \n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n\nEach level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Successful response - list of policy bindings with parameters for all descendants of given account level","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LevelPolicyBindingDtoList"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/bindings/{policyUuid}/{groupUuid}":{"get":{"operationId":"getLevelPolicyBindingsForGroup","x-token-scopes":["iam-policies-management","iam:bindings:read"],"summary":"Get policy bindings within a level","description":"This endpoint is unavailable within global level","parameters":[{"name":"groupUuid","required":true,"in":"path","description":"The ID of the required user group.","schema":{}},{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* global: use the `global` value. \n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `global`: A global policy applies to all accounts and environments. It is defined and managed by Dynatrace. \n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Successful response - list of policy bindings with parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LevelPolicyBindingDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"post":{"operationId":"appendParticularGroupBinding","x-token-scopes":["iam-policies-management","iam:bindings:write"],"summary":"Append policy bindings within a level for a user group","description":"This endpoint is unavailable within global level","parameters":[{"name":"groupUuid","required":true,"in":"path","description":"The ID of the required user group.","schema":{}},{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains parameters, metadata and boundaries","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppendLevelPolicyBindingForGroupDto"}}}},"responses":{"204":{"description":"Success. Policy bindings created."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"put":{"operationId":"updateLevelPolicyBindingForPolicyAndGroup","x-token-scopes":["iam-policies-management","iam:bindings:write"],"summary":"Updates or creates a policy binding for a particular group and policy","description":"This endpoint is unavailable within global level","parameters":[{"name":"query-params","required":false,"in":"query","description":"Key-value pairs for policy template parameters and metadata. Only bindings matching given parameters and metadata will be updated or deleted.","schema":{"example":" { \n   \"parameters[param1]\": \"value1\",\n   \"parameters[param2]\": \"value2\",\n   \"metadata[param1]\": \"value1\" \n }","type":"object"}},{"name":"groupUuid","required":true,"in":"path","description":"The ID of the required user group.","schema":{}},{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains parameters, metadata and boundaries","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppendLevelPolicyBindingForGroupDto"}}}},"responses":{"204":{"description":"Success. Policy bindings created or updated."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"The specified response not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"delete":{"operationId":"deleteLevelPolicyBindingsForPolicyAndGroup","x-token-scopes":["iam-policies-management","iam:bindings:write"],"summary":"Deletes a policy binding from a user group","description":"This endpoint is unavailable within global level","parameters":[{"name":"forceMultiple","required":true,"in":"query","description":"Forces multiple in case delete by parameters and metadata query","schema":{"default":false}},{"name":"query-params","required":false,"in":"query","description":"Key-value pairs for policy template parameters and metadata. Only bindings matching given parameters and metadata will be updated or deleted.","schema":{"example":" { \n   \"parameters[param1]\": \"value1\",\n   \"parameters[param2]\": \"value2\",\n   \"metadata[param1]\": \"value1\" \n }","type":"object"}},{"name":"groupUuid","required":true,"in":"path","description":"The ID of the required user group.","schema":{}},{"name":"policyUuid","required":true,"in":"path","description":"The ID of the required policy.","schema":{}},{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"204":{"description":"Success. Policy binding has been deleted. The response doesn't have a body."},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/account/{accountId}/boundaries":{"get":{"operationId":"getPolicyBoundaries","x-token-scopes":["iam-policies-management","iam:boundaries:read"],"summary":"Get a list of policy boundaries within a level","parameters":[{"name":"size","required":false,"in":"query","schema":{"default":100,"type":"integer"}},{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"integer"}},{"name":"accountId","required":true,"in":"path","description":"The ID of the policy boundary level. Use the UUID of the account.","schema":{}}],"responses":{"200":{"description":"Successful response - list of policy boundaries","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBoundaryDtoList"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"post":{"operationId":"postPolicyBoundary","x-token-scopes":["iam-policies-management","iam:boundaries:write"],"summary":"Create a policy boundary within a level","parameters":[{"name":"accountId","required":true,"in":"path","description":"The ID of the policy boundary level. Use the UUID of the account.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains new policy boundary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBoundaryDto"}}}},"responses":{"201":{"description":"Successful response - policy boundary created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBoundaryOverview"}}}},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/account/{accountId}/boundaries/{policyBoundaryUuid}":{"get":{"operationId":"getPolicyBoundary","x-token-scopes":["iam-policies-management","iam:boundaries:read"],"summary":"Get policy boundary within a level","parameters":[{"name":"policyBoundaryUuid","required":true,"in":"path","description":"The ID of the required boundary.","schema":{}},{"name":"accountId","required":true,"in":"path","description":"The ID of the policy boundary level. Use the UUID of the account.","schema":{}}],"responses":{"200":{"description":"Successful response - policy boundary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBoundaryOverview"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"put":{"operationId":"putPolicyBoundary","x-token-scopes":["iam-policies-management","iam:boundaries:write"],"summary":"Update or create a new policy boundary by uuid within a level","parameters":[{"name":"policyBoundaryUuid","required":true,"in":"path","description":"The ID of the required boundary.","schema":{}},{"name":"accountId","required":true,"in":"path","description":"The ID of the policy boundary level. Use the UUID of the account.","schema":{}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains policy boundary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBoundaryDto"}}}},"responses":{"201":{"description":"Successful response - policy boundary created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBoundaryOverview"}}}},"204":{"description":"Successful response - policy boundary updated"},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]},"delete":{"operationId":"deletePolicyBoundary","x-token-scopes":["iam-policies-management","iam:boundaries:write"],"summary":"Delete policy boundary by uuid within a level","parameters":[{"name":"policyBoundaryUuid","required":true,"in":"path","description":"The ID of the required boundary.","schema":{}},{"name":"accountId","required":true,"in":"path","description":"The ID of the policy boundary level. Use the UUID of the account.","schema":{}}],"responses":{"204":{"description":"Successful response - policy boundary deleted"},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/repo/{levelType}/{levelId}/limits":{"get":{"operationId":"getLimitsForLevel","x-token-scopes":["iam-policies-management","iam:limits:read"],"summary":"Returns limits defined for a level","parameters":[{"name":"levelId","required":true,"in":"path","description":"The ID of the policy level. Use one of the following values, depending on the level type: \n\n* account: use the UUID of the account. \n* environment: use the ID of the environment.","schema":{}},{"name":"levelType","required":true,"in":"path","description":"The type of the [policy](https://dt-url.net/eu03uap) level. The following values are available: \n\n* `account`: An account policy applies to all environments of an account. \n* `environment`: An environment policy applies to a specific environment. \n\n Each level inherits the policies of the higher level and extends them with its own policies.","schema":{}}],"responses":{"200":{"description":"Successful response - information about limits defined for a level.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LevelLimitsDto"}}}},"400":{"description":"Failed. The request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"404":{"description":"Failed. The specified resource is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}}},"tags":["Policy management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/service-users":{"post":{"operationId":"ServiceUsersController_createServiceUserForAccount","x-token-scopes":["account-idm-write"],"summary":"Creates a new service user in an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains the name of the new service user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUserDto"}}}},"responses":{"201":{"description":"Success. The new service user has been created. The response contains service user details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalServiceUserWithGroupUuidDto"}}}}},"tags":["Service user management"],"security":[{"bearer":[]}]},"get":{"operationId":"ServiceUsersController_getServiceUsersFromAccount","x-token-scopes":["account-idm-read"],"summary":"Get service users assigned to account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"The number of the requested page. Can be increased as long as **nextPageKey** is available in the response.","schema":{"type":"integer"}},{"name":"page-size","required":false,"in":"query","description":"Defines the requested number of entries for the next page.","schema":{"type":"integer"}},{"name":"page-key","required":false,"in":"query","description":"The cursor for the next page of results. You can find it in the **nextPageKey** field of the previous response.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. Service users assigned to account fetched successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalServiceUsersPageDto"}}}}},"tags":["Service user management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/service-users/{userUuid}":{"put":{"operationId":"ServiceUsersController_updateServiceUserForAccount","x-token-scopes":["account-idm-write"],"summary":"Updates name and description of service user in an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"userUuid","required":true,"in":"path","description":"The UUID of the required user.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains changed name and description of the service user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUserDto"}}}},"responses":{"default":{"description":"Success. The service user has been updated."}},"tags":["Service user management"],"security":[{"bearer":[]}]},"get":{"operationId":"ServiceUsersController_getServiceUser","x-token-scopes":["account-idm-read"],"summary":"Get service user by uuid","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"userUuid","required":true,"in":"path","description":"The UUID of the required user.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The user has been fetched.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalServiceUserWithGroupUuidDto"}}}}},"tags":["Service user management"],"security":[{"bearer":[]}]},"delete":{"operationId":"ServiceUsersController_deleteUser","x-token-scopes":["account-idm-write"],"summary":"Removes service user","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"userUuid","required":true,"in":"path","description":"The UUID of the required user.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The user has been deleted. Response doesn't have a body."}},"tags":["Service user management"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/platform-tokens":{"get":{"operationId":"getPlatformTokensForAccount","x-token-scopes":["platform-token:tokens:manage"],"summary":"Returns platform tokens within account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"searchTerm","required":false,"in":"query","description":"Optional search term. Only platform tokens that match values of tokenId, name, createdBy or scope will be returned.","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Optional platform token status. Only platform tokens that status matches the value will be returned.","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"The number of the requested page.","schema":{"type":"number"}},{"name":"size","required":false,"in":"query","description":"Defines the requested number of entries for the next page.","schema":{"type":"number"}}],"responses":{"200":{"description":"Successful response - platform tokens fetched.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformTokenPageDto"}}}}},"tags":["Platform tokens"],"security":[{"bearer":[]}]},"post":{"operationId":"generatePlatformToken","x-token-scopes":["platform-token:tokens:write"],"summary":"Creates platform token for user","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Platform token creation form","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratePlatformTokenForm"}}}},"responses":{"200":{"description":"Platform token created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformTokenSecret"}}}}},"tags":["Platform tokens"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/platform-tokens/{platformTokenId}":{"delete":{"operationId":"deletePlatformToken","x-token-scopes":["platform-token:tokens:manage"],"summary":"Deletes platform token","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"platformTokenId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response - platform token deleted."}},"tags":["Platform tokens"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/platform-tokens/{platformTokenId}/expiration-date":{"put":{"operationId":"updatePlatformTokenExpirationDate","x-token-scopes":["platform-token:tokens:manage"],"summary":"Updates platform token expiration data","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"platformTokenId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains the new expiration date of platform token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformTokenExpirationDateDto"}}}},"responses":{"200":{"description":"Successful response - platform tokens fetched."}},"tags":["Platform tokens"],"security":[{"bearer":[]}]}},"/iam/v1/accounts/{accountUuid}/platform-tokens/{platformTokenId}/status":{"put":{"operationId":"updatePlatformTokenStatus","x-token-scopes":["platform-token:tokens:manage"],"summary":"Updates platform token status","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"platformTokenId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The JSON body of the request. Contains the status the platform token should be changed to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformTokenStatusUpdateDto"}}}},"responses":{"204":{"description":"Successful response - platform token updated."}},"tags":["Platform tokens"],"security":[{"bearer":[]}]}},"/env/v1/accounts/{accountUuid}/environments":{"get":{"operationId":"EnvironmentResourcesController_getEnvironmentResources","summary":"Lists all environments and management zones of an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains a list of the account's environments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentResourceDto"}}}}},"tags":["Environment management"],"security":[{"bearer":[]}]}},"/env/v2/accounts/{accountUuid}/environments":{"get":{"operationId":"EnvironmentResourcesController_getEnvironments","summary":"Lists all environments in an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentListDto"}}}}},"tags":["Environment management"],"security":[{"bearer":[]}]}},"/env/v2/accounts/{accountUuid}/clusters":{"get":{"operationId":"EnvironmentResourcesController_getClusters","summary":"Lists all clusters in a managed account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClusterListDto"}}}}},"tags":["Environment management"],"security":[{"bearer":[]}]}},"/env/v1/accounts/{accountUuid}/environments/{environmentUuid}/ip-allowlist":{"get":{"operationId":"EnvironmentResourcesController_getConfig","summary":"Get IP configuration for a specific tenant","parameters":[{"name":"accountUuid","required":true,"in":"path","schema":{"type":"string"}},{"name":"environmentUuid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"The IP configuration has been successfully fetched.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpConfigDto"}}}}},"tags":["Environment management"],"security":[{"bearer":[]}]},"put":{"operationId":"EnvironmentResourcesController_setConfig","summary":"Set IP configuration for a specific tenant","parameters":[{"name":"accountUuid","required":true,"in":"path","schema":{"type":"string"}},{"name":"environmentUuid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The body of the request. Contains the key and serialized value for setting a ip config for a specific tenant on a specific cluster.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpConfigDto"}}}},"responses":{"201":{"description":"Success. The IP configuration has been successfully set."}},"tags":["Environment management"],"security":[{"bearer":[]}]}},"/sub/v2/accounts/{accountUuid}/subscriptions":{"get":{"operationId":"SubscriptionsController_listSubscriptions","summary":"Lists all subscriptions of an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains a list of the account's subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionListDto"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v2/accounts/{accountUuid}/subscriptions/forecast":{"get":{"operationId":"SubscriptionsController_getForecast","summary":"Gets a forecast of the subscription usage by the end of the annual commitment period","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains the forecast of the subscription's usage.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forecast"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v2/accounts/{accountUuid}/subscriptions/{subscriptionUuid}":{"get":{"operationId":"SubscriptionsController_getSubscription","summary":"Get a subscription","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"subscriptionUuid","required":true,"in":"path","description":"The UUID of the requested subscription. \n\nFetch the list of subscriptions via the [GET all subscriptions](https://dt-url.net/jq03jvq) request.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains the details of the subscription.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionDto"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v2/accounts/{accountUuid}/subscriptions/{subscriptionUuid}/environments/usage":{"get":{"operationId":"SubscriptionsController_getEnvironmentUsage","summary":"Gets the account usage of a SaaS subscription per environment","deprecated":true,"description":"This endpoint is SaaS only.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required SaaS account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"subscriptionUuid","required":true,"in":"path","description":"The UUID of the requested subscription. \n\nFetch the list of subscriptions via the [GET all subscriptions](https://dt-url.net/jq03jvq) request.","schema":{"type":"string"}},{"name":"startTime","required":true,"in":"query","description":"The start of the requested timeframe in `2021-05-01T15:11:00Z` format.","schema":{"type":"string","format":"date-time"}},{"name":"endTime","required":true,"in":"query","description":"The end of the requested timeframe in `2021-05-01T15:11:00Z` format.","schema":{"type":"string","format":"date-time"}},{"name":"environmentIds","required":false,"in":"query","description":"A list of environments for which you want to read the usage data. To specify several environments, separate them with a comma (`,`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"capabilityKeys","required":false,"in":"query","description":"A list of capabilities for which you want to read the usage data. To specify several capabilities, separate them with a comma (`,`). \n\nTo obtain capability keys, use the [GET subscriptions](https://dt-url.net/qd43uld) call and look for the **capabilities** field of the response.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Success. The response contains the usage data of the subscription, split by environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionEnvironmentUsageListV2Dto"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v2/accounts/{accountUuid}/subscriptions/{subscriptionUuid}/usage":{"get":{"operationId":"SubscriptionsController_getTotalSubscriptionUsage","summary":"Gets usage data of a subscription by date","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"subscriptionUuid","required":true,"in":"path","description":"The UUID of the requested subscription. \n\nFetch the list of subscriptions via the [GET all subscriptions](https://dt-url.net/jq03jvq) request.","schema":{"type":"string"}},{"name":"environmentIds","required":false,"in":"query","description":"A list of environments for which you want to read the usage data. To specify several environments, separate them with a comma (`,`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"capabilityKeys","required":false,"in":"query","description":"A list of capabilities for which you want to read the usage data. To specify several capabilities, separate them with a comma (`,`). \n\nTo obtain capability keys, use the [GET subscriptions](https://dt-url.net/qd43uld) call and look for the **capabilities** field of the response.","schema":{"type":"array","items":{"type":"string"}}},{"name":"clusterIds","required":false,"in":"query","description":"A list of Managed clusters for which you want to read the usage data. \n\n Not applicable to SaaS environments.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Success. The response contains the usage data of the subscription, split by date.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionUsageListDto"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v2/accounts/{accountUuid}/subscriptions/{subscriptionUuid}/cost":{"get":{"operationId":"SubscriptionsController_getTotalSubscriptionCost","summary":"Gets aggregated cost data of a subscription by date","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"subscriptionUuid","required":true,"in":"path","description":"The UUID of the requested subscription. \n\nFetch the list of subscriptions via the [GET all subscriptions](https://dt-url.net/jq03jvq) request.","schema":{"type":"string"}},{"name":"environmentIds","required":false,"in":"query","description":"A list of environments for which you want to read the usage data. To specify several environments, separate them with a comma (`,`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"capabilityKeys","required":false,"in":"query","description":"A list of capabilities for which you want to read the usage data. To specify several capabilities, separate them with a comma (`,`). \n\nTo obtain capability keys, use the [GET subscriptions](https://dt-url.net/qd43uld) call and look for the **capabilities** field of the response.","schema":{"type":"array","items":{"type":"string"}}},{"name":"clusterIds","required":false,"in":"query","description":"A list of Managed clusters for which you want to read the usage data. \n\n Not applicable to SaaS environments.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Success. The response contains the costs of the subscription, split by date.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCostListDto"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v2/accounts/{accountUuid}/subscriptions/{subscriptionUuid}/environments/cost":{"get":{"operationId":"SubscriptionsController_getEnvironmentCost","summary":"Gets the account costs of a SaaS subscription per environment","deprecated":true,"description":"This endpoint is SaaS only.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required SaaS account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"subscriptionUuid","required":true,"in":"path","description":"The UUID of the requested subscription. \n\nFetch the list of subscriptions via the [GET all subscriptions](https://dt-url.net/jq03jvq) request.","schema":{"type":"string"}},{"name":"startTime","required":true,"in":"query","description":"The start time of the query in `2021-05-01T15:11:00Z` format.","schema":{"type":"string","format":"date-time"}},{"name":"endTime","required":true,"in":"query","description":"The end time of the query in `2021-05-01T15:11:00Z` format.","schema":{"type":"string","format":"date-time"}},{"name":"environmentIds","required":false,"in":"query","description":"A list of environments for which you want to read the usage data. To specify several environments, separate them with a comma (`,`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"capabilityKeys","required":false,"in":"query","description":"A list of capabilities for which you want to read the usage data. To specify several capabilities, separate them with a comma (`,`). \n\nTo obtain capability keys, use the [GET subscriptions](https://dt-url.net/qd43uld) call and look for the **capabilities** field of the response.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionEnvironmentCostListV2Dto"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v3/accounts/{accountUuid}/subscriptions/{subscriptionUuid}/environments/cost":{"get":{"operationId":"SubscriptionsController_getEnvironmentCostV3","summary":"Gets cost data of a subscription by environment","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"subscriptionUuid","required":true,"in":"path","description":"The UUID of the requested subscription. \n\nFetch the list of subscriptions via the [GET all subscriptions](https://dt-url.net/jq03jvq) request.","schema":{"type":"string"}},{"name":"startTime","required":true,"in":"query","description":"The start time of the query in `2021-05-01T15:11:00Z` format. Timeframe limits (startTime, endTime) are both required, unless a \"page-key\" is provided instead.","schema":{"type":"string","format":"date-time"}},{"name":"endTime","required":true,"in":"query","description":"The end time of the query in `2021-05-01T15:11:00Z` format. Timeframe limits (startTime, endTime) are both required, unless a \"page-key\" is provided instead.","schema":{"type":"string","format":"date-time"}},{"name":"environmentIds","required":false,"in":"query","description":"A list of environments for which you want to read the usage data. To specify several environments, separate them with a comma (`,`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"capabilityKeys","required":false,"in":"query","description":"A list of capabilities for which you want to read the usage data. To specify several capabilities, separate them with a comma (`,`). \n\nTo obtain capability keys, use the [GET subscriptions](https://dt-url.net/qd43uld) call and look for the **capabilities** field of the response.","schema":{"type":"array","items":{"type":"string"}}},{"name":"clusterIds","required":false,"in":"query","description":"A list of Managed clusters for which you want to read the usage data. \n\n Not applicable to SaaS environments.","schema":{"type":"array","items":{"type":"string"}}},{"name":"page-key","required":false,"in":"query","description":"The cursor for the next page of results. You can find it in the **nextPageKey** field of the previous response.","schema":{"type":"string"}},{"name":"page-size","required":false,"in":"query","description":"Defines the requested number of entries for the next page.","schema":{"type":"number"}}],"responses":{"200":{"description":"Success. The response contains the costs of the subscription, split by environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionEnvironmentCostListV3Dto"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v3/accounts/{accountUuid}/subscriptions/{subscriptionUuid}/environments/usage":{"get":{"operationId":"SubscriptionsController_getEnvironmentUsageV3","summary":"Gets usage data of a subsctiption by environment","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"subscriptionUuid","required":true,"in":"path","description":"The UUID of the requested subscription. \n\nFetch the list of subscriptions via the [GET all subscriptions](https://dt-url.net/jq03jvq) request.","schema":{"type":"string"}},{"name":"startTime","required":true,"in":"query","description":"The start time of the query in `2021-05-01T15:11:00Z` format. Timeframe limits (startTime, endTime) are both required, unless a \"page-key\" is provided instead.","schema":{"type":"string","format":"date-time"}},{"name":"endTime","required":true,"in":"query","description":"The end time of the query in `2021-05-01T15:11:00Z` format. Timeframe limits (startTime, endTime) are both required, unless a \"page-key\" is provided instead.","schema":{"type":"string","format":"date-time"}},{"name":"environmentIds","required":false,"in":"query","description":"A list of environments for which you want to read the usage data. To specify several environments, separate them with a comma (`,`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"capabilityKeys","required":false,"in":"query","description":"A list of capabilities for which you want to read the usage data. To specify several capabilities, separate them with a comma (`,`). \n\nTo obtain capability keys, use the [GET subscriptions](https://dt-url.net/qd43uld) call and look for the **capabilities** field of the response.","schema":{"type":"array","items":{"type":"string"}}},{"name":"clusterIds","required":false,"in":"query","description":"A list of Managed clusters for which you want to read the usage data. \n\n Not applicable to SaaS environments.","schema":{"type":"array","items":{"type":"string"}}},{"name":"page-key","required":false,"in":"query","description":"The cursor for the next page of results. You can find it in the **nextPageKey** field of the previous response.","schema":{"type":"string"}},{"name":"page-size","required":false,"in":"query","description":"Defines the requested number of entries for the next page.","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionEnvironmentUsageListV3Dto"}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/sub/v1/accounts/{accountUuid}/rate-cards":{"get":{"operationId":"SubscriptionsController_listRateCards","summary":"Lists all rate cards of an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains a list of the account's rate-cards.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RateCardSummaryDto"}}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/v1/accounts/{accountUuid}/settings/costcenters":{"get":{"operationId":"AccountsController_listCostcenterCostAllocationValues","summary":"Lists all possible values for the costcenter field.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"The number of the requested page. Can be increased as long as **hasNextPage** is true in the response.","schema":{"type":"number"}},{"name":"page-size","required":false,"in":"query","description":"Defines the requested number of entries for the next page.","schema":{"type":"number"}}],"responses":{"200":{"description":"Success. The response contains a page of allowed cost-allocation values for the costcenter field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedFieldValueDto"}}}},"400":{"description":"The request was unacceptable, often due to missing a required parameter"},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Settings"],"security":[{"bearer":[]}]},"post":{"operationId":"AccountsController_createCostcenterCostAllocationValues","summary":"Add the provided values to the costcenter field.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldValuesRequestDto"}}}},"responses":{"204":{"description":"The response doesn't have a body. The values were added to the field."},"400":{"description":"The existing and provided values combined should not contain duplicate keys."},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Settings"],"security":[{"bearer":[]}]},"put":{"operationId":"AccountsController_replaceCostcenterCostAllocationValues","summary":"Replace the current values of the costcenter field.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldValuesRequestDto"}}}},"responses":{"204":{"description":"The response doesn't have a body. The values of the field were replaced."},"400":{"description":"The provided values should not contain duplicate keys."},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Settings"],"security":[{"bearer":[]}]}},"/v1/accounts/{accountUuid}/settings/costcenters/{key}":{"delete":{"operationId":"AccountsController_deleteCostcenterCostAllocationValue","summary":"Delete a value by key on the costcenter field.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"key","required":true,"in":"path","description":"The key for the field value.","schema":{"type":"string"}}],"responses":{"204":{"description":"The given value on the costcenter field was deleted."},"400":{"description":"The request was unacceptable, often due to missing a required parameter"},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Settings"],"security":[{"bearer":[]}]}},"/v1/accounts/{accountUuid}/settings/products":{"get":{"operationId":"AccountsController_listProductCostAllocationValues","summary":"Lists all possible values for the product field.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"The number of the requested page. Can be increased as long as **hasNextPage** is true in the response.","schema":{"type":"number"}},{"name":"page-size","required":false,"in":"query","description":"Defines the requested number of entries for the next page.","schema":{"type":"number"}}],"responses":{"200":{"description":"Success. The response contains a page of allowed cost-allocation values for the product field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedFieldValueDto"}}}},"400":{"description":"The request was unacceptable, often due to missing a required parameter"},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Settings"],"security":[{"bearer":[]}]},"post":{"operationId":"AccountsController_createProductCostAllocationValues","summary":"Add the provided values to the product field.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldValuesRequestDto"}}}},"responses":{"204":{"description":"The response doesn't have a body. The values were added to the field."},"400":{"description":"The existing and provided values combined should not contain duplicate keys."},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Settings"],"security":[{"bearer":[]}]},"put":{"operationId":"AccountsController_replaceProductCostAllocationValues","summary":"Replace the current values of the product field.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldValuesRequestDto"}}}},"responses":{"204":{"description":"The response doesn't have a body. The values of the field were replaced."},"400":{"description":"The provided values should not contain duplicate keys."},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Settings"],"security":[{"bearer":[]}]}},"/v1/accounts/{accountUuid}/settings/products/{key}":{"delete":{"operationId":"AccountsController_deleteProductCostAllocationValue","summary":"Delete a value by key on the product field.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"key","required":true,"in":"path","description":"The key for the field value.","schema":{"type":"string"}}],"responses":{"204":{"description":"The given value on the product field was deleted."},"400":{"description":"The request was unacceptable, often due to missing a required parameter"},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Settings"],"security":[{"bearer":[]}]}},"/audit/v1/accounts/{accountUuid}":{"get":{"operationId":"AuditsController_listAuditsByAccount","summary":"List account level audit logs.","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}},{"name":"startTime","required":false,"in":"query","description":"The start of the requested timeframe Supports absolute timestamps (ISO-8601 or Unix epoch in milliseconds) and relative timestamps (e.g., now()-2d). If using a relative timestamp, it follows the format [now()][-|+]<offset>, where now() represents the current  time and the offset specifies a duration (e.g., d for days or h for hours).","schema":{"type":"string"}},{"name":"endTime","required":false,"in":"query","description":"The end of the requested timeframe. Supports absolute timestamps (ISO-8601 or Unix epoch in milliseconds) and relative timestamps (e.g., now()-2d). If using a relative timestamp, it follows the format [now()][-|+]<offset>, where now() represents the current  time and the offset specifies a duration (e.g., d for days or h for hours).","schema":{"type":"string"}},{"name":"addFields","required":false,"in":"query","style":"form","explode":false,"description":"Comma separated list of additional fields to be included in the response.","schema":{"type":"array","items":{"type":"string"}}},{"name":"filter","required":false,"in":"query","description":"Additional filter to be included in the request.\nSupported fields are:\n<table>  <thead>    <tr>      <th>Field</th>      <th>Supported Operators</th>    </tr>  </thead>  <tbody>    <tr>      <td><code>timestamp</code></td>     <td><code>== = != > >= < <=</code></td>   </tr>    <tr>      <td><code>accountUuid</code></td>     <td><code>== = != contains starts-with ends-with in</code></td>   </tr>    <tr>      <td><code>user</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>    <tr>      <td><code>eventProvider</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>    <tr>      <td><code>eventType</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>    <tr>      <td><code>resource</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>    <tr>      <td><code>resourceName</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>    <tr>      <td><code>authenticationClientId</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>    <tr>      <td><code>authenticationGrantType</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>    <tr>      <td><code>authenticationToken</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>authenticationType</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>eventOutcome</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>eventReason</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>eventVersion</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>originAddress</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>originSession</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>originType</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>originXForwardedFor</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>resourceId</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>environmentUuid</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>      <td><code>userOrganization</code></td>      <td><code>== = != contains starts-with ends-with in</code></td>    </tr>  </tbody> </table>\n\nExpressions can be combined with boolean operators <code>and</code>, <code>or</code> and <code>not</code>.\n\nExample: <code>(resourceName contains 'user' and resource = 'Policy') or not (resourceName starts-with 'test')</code>.","schema":{"maxLength":256}},{"name":"limit","required":false,"in":"query","description":"The maximum number of audit entries to return.","schema":{"default":50}},{"name":"scanLimitGigabyte","required":false,"in":"query","description":"Limit in gigabytes for the amount of data that will be scanned during read.","schema":{"default":500,"minimum":1,"maximum":1500000000}},{"name":"resultSizeLimitMegabyte","required":false,"in":"query","description":"The maximum size of the result set, in megabytes, that will be returned.","schema":{"default":2,"minimum":1,"maximum":15}}],"responses":{"200":{"description":"Success. The response contains a list of all account level audit entries for the provided query.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditsByAccountDto"}}}},"400":{"description":"The request was unacceptable, often due to missing a required parameter"},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Account Audits"],"security":[{"bearer":[]}]}},"/ref/v1/time-zones":{"get":{"operationId":"ReferenceDataController_","summary":"Lists all available time zones","parameters":[],"responses":{"200":{"description":"Success. The response contains the list of time zones.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TimeZoneDto"}}}}}},"tags":["Reference data"],"security":[{"bearer":[]}]}},"/ref/v1/regions":{"get":{"operationId":"ReferenceDataController_","summary":"Lists all available regions","parameters":[],"responses":{"200":{"description":"Success. The response contains the list of regions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionDto"}}}}}},"tags":["Reference data"],"security":[{"bearer":[]}]}},"/ref/v1/account/permissions":{"get":{"operationId":"ReferenceDataController_getPermissions","summary":"Lists all available permissions","parameters":[],"responses":{"200":{"description":"Success. The response contains the list of permissions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionDto"}}}}}},"tags":["Reference data"],"security":[{"bearer":[]}]}},"/v1/subscriptions/{subscription-uuid}/cost-allocation":{"get":{"operationId":"InsightsController_getCostAllocationBreakdownPage","summary":"Get usage data by cost allocation field.","parameters":[{"name":"subscription-uuid","required":false,"in":"path","description":"The UUID of the requested subscription. \n\nFetch the list of subscriptions via the [GET all subscriptions](https://dt-url.net/jq03jvq) request. (required)","schema":{"type":"string"}},{"name":"field","required":false,"in":"query","description":"Field by which costs and usage should be split. Allowed values: `COSTCENTER`, `PRODUCT` (required unless page-key is provided)","schema":{"type":"string"}},{"name":"environment-id","required":false,"in":"query","description":"The identifier of an environment. (required unless page-key is provided)","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","description":"The start of the requested timeframe in `2021-05-01` format.","schema":{"type":"string"}},{"name":"to","required":false,"in":"query","description":"The end of the requested timeframe in `2021-05-01` format.","schema":{"type":"string"}},{"name":"page-size","required":false,"in":"query","description":"Defines the requested number of entries for the next page.","schema":{"type":"number"}},{"name":"page-key","required":false,"in":"query","description":"A base64 encoded key to retrieve a specific page. If this query parameter is set, no other query parameters can be set.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. The response contains a page of the requested chargeback breakdown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedEnvironmentBreakdownDto"}}}},"400":{"description":"The request was unacceptable, often due to missing a required parameter"},"401":{"description":"No valid session provided"},"403":{"description":"Access denied"},"500":{"description":"Something went wrong on Account Management's end"}},"tags":["Dynatrace Platform Subscription"],"security":[{"bearer":[]}]}},"/v1/accounts/{accountUuid}/notifications":{"post":{"operationId":"NotificationsController_listNotifications","summary":"Lists notifications for an account","parameters":[{"name":"accountUuid","required":true,"in":"path","description":"The ID of the required account. \n\n You can find the UUID on the **Account Management** > **Identity & access management** > **OAuth clients** page, during creation of an OAuth client.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationQueryParamsDto"}}}},"responses":{"200":{"description":"Success. The response contains a list of notifications based on the given query.","example":{"records":[{"key":"budget-key-example","accountUuid":"00000000-0000-0000-0000-000000000000","message":"Message for budget 0 0","severity":"WARN","type":"budget","details":{"environments":[{"uuid":"env-uuid","clusterUuid":"cluster-uuid"}],"capabilities":["cap1"],"allEnvironments":false,"allCapabilities":true},"date":"2025-12-14T10:02:09.297Z"},{"key":"byok-key-example","accountUuid":"00000000-0000-0000-0000-000000000000","message":"BYOK event message","severity":"WARN","type":"byok-revoked","details":{"environmentUuid":"env-uuid","keyName":"key-name"},"date":"2025-12-14T10:02:09.297Z"}],"totalRecordCount":300,"hasNextPage":true},"headers":{"Warning":{"description":"Warning message if invalid sort columns were provided and ignored","schema":{"type":"string","example":"199 - \"Invalid sort keys: badColumn. Valid sort keys are: type, date\""}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationListDto"},"example":{"records":[{"key":"budget-key-example","accountUuid":"00000000-0000-0000-0000-000000000000","message":"Message for budget 0 0","severity":"WARN","type":"budget","details":{"environments":[{"uuid":"env-uuid","clusterUuid":"cluster-uuid"}],"capabilities":["cap1"],"allEnvironments":false,"allCapabilities":true},"date":"2025-12-14T10:02:09.297Z"},{"key":"byok-key-example","accountUuid":"00000000-0000-0000-0000-000000000000","message":"BYOK event message","severity":"WARN","type":"byok-revoked","details":{"environmentUuid":"env-uuid","keyName":"key-name"},"date":"2025-12-14T10:02:09.297Z"}],"totalRecordCount":300,"hasNextPage":true}}}},"400":{"description":"Failed. The request was unacceptable, often due to missing a required parameter"},"401":{"description":"Failed. The bearer token is incorrect/expired or the requested account information does not match the bearer token"},"403":{"description":"Access denied"},"404":{"description":"Failed. The requested resource was not found"},"500":{"description":"Failed. Something went wrong in Account Management API"}},"tags":["Notifications"],"security":[{"bearer":[]}]}}},"info":{"title":"Dynatrace Account Management API","description":"The enterprise management API for Dynatrace SaaS enables automation of operational tasks related to user access and environment lifecycle management.","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"AccountLimitsDto":{"type":"object","properties":{"currentValue":{"type":"number"},"limitType":{"type":"string"},"limitValue":{"type":"number"}},"required":["currentValue","limitType","limitValue"]},"AccountLimitsPage":{"type":"object","properties":{"pageSize":{"type":"number","description":"Page size."},"pageNumber":{"type":"number","description":"Page number."},"total":{"type":"number","description":"Total count of entries."},"results":{"type":"array","items":{"$ref":"#/components/schemas/AccountLimitsDto"}}},"required":["pageSize","pageNumber","total","results"]},"UserLoginMetaDataDto":{"type":"object","properties":{"successfulLoginCounter":{"type":"number","description":"The number of successful sign-ins."},"failedLoginCounter":{"type":"number","description":"The number of failed sign-ins."},"lastSuccessfulLogin":{"type":"string","description":"The date and time of the most recent successful sign-in in `2021-05-01T15:11:00Z` format."},"lastFailedLogin":{"type":"string","description":"The date and time of the most recent failed sign-in in `2021-05-01T15:11:00Z` format."},"createdAt":{"type":"string","description":"The date and time of user creation in `2021-05-01T15:11:00Z` format."},"updatedAt":{"type":"string","description":"The date and time of the most recent modification to the user in `2021-05-01T15:11:00Z` format."}},"required":["successfulLoginCounter","failedLoginCounter","lastSuccessfulLogin","lastFailedLogin","createdAt","updatedAt"]},"UsersDto":{"type":"object","properties":{"uid":{"type":"string","description":"The UUID of the user."},"email":{"type":"string","description":"The email address of the user."},"name":{"type":"string","description":"The first name of the user."},"surname":{"type":"string","description":"The last name of the user."},"userStatus":{"type":"string","enum":["ACTIVE","INACTIVE","PENDING","DELETED","ECUSTOMS_MANUALLY_BLOCKED"],"description":"The status of this user in Dynatrace: \n\n* `ACTIVE`: The user is active.\n* `INACTIVE`: The user is deactivated and cannot sign in to Dynatrace. \n* `PENDING`: The user received an invitation, but hasn't completed sign-up yet. \n* `DELETED`: The user was deleted and cannot sign in to Dynatrace anymore. \n* `ECUSTOMS_MANUALLY_BLOCKED`: The user is blocked due to to a trade and export compliance violation. \n"},"emergencyContact":{"type":"boolean","description":"The user is (`true`) or is not (`false`) an emergency contact for the account."},"userLoginMetadata":{"description":"Available if user has logged into Dynatrace at least once","allOf":[{"$ref":"#/components/schemas/UserLoginMetaDataDto"}]}},"required":["uid","email"]},"UserListDto":{"type":"object","properties":{"count":{"type":"number","description":"The number of entries in the list."},"items":{"description":"A list of the account's users.","type":"array","items":{"$ref":"#/components/schemas/UsersDto"}}},"required":["count","items"]},"AccountGroupDto":{"type":"object","properties":{"groupName":{"type":"string","description":"The name of the user group."},"uuid":{"type":"string","description":"The UUID of the user group."},"owner":{"type":"string","enum":["LOCAL","SCIM","SAML","DCS","ALL_USERS"],"description":"The type of the group. `LOCAL`, `SCIM`, `SAML` and `DCS` corresponds to the identity provider from which the group originates. `ALL_USERS` is a special case of `LOCAL` group. It means that group is always assigned to all users in the account."},"accountUUID":{"type":"string","description":"The UUID of the Dynatrace account."},"accountName":{"type":"string","description":"The name of the Dynatrace account."},"description":{"type":"string","description":"A short description of the group."},"createdAt":{"type":"string","description":"The date and time of the group creation in `2021-05-01T15:11:00Z` format."},"updatedAt":{"type":"string","description":"The date and time of the most recent modification to the group in `2021-05-01T15:11:00Z` format."}},"required":["groupName","uuid","owner","accountUUID","accountName","description","createdAt","updatedAt"]},"GroupUserDto":{"type":"object","properties":{"uid":{"type":"string","description":"The UUID of the user."},"email":{"type":"string","description":"The email address of the user."},"name":{"type":"string","description":"The first name of the user."},"surname":{"type":"string","description":"The last name of the user."},"userStatus":{"type":"string","enum":["ACTIVE","INACTIVE","PENDING","DELETED","ECUSTOMS_MANUALLY_BLOCKED"],"description":"The status of this user in Dynatrace: \n\n* `ACTIVE`: The user is active.\n* `INACTIVE`: The user is deactivated and cannot sign in to Dynatrace. \n* `PENDING`: The user received an invitation, but hasn't completed sign-up yet. \n* `DELETED`: The user was deleted and cannot sign in to Dynatrace anymore. \n* `ECUSTOMS_MANUALLY_BLOCKED`: The user is blocked due to to a trade and export compliance violation. \n"},"emergencyContact":{"type":"boolean","description":"The user is (`true`) or is not (`false`) an emergency contact for the account."},"groups":{"description":"A list of groups of which the user is a member.","type":"array","items":{"$ref":"#/components/schemas/AccountGroupDto"}}},"required":["uid","email","groups"]},"UserEmailDto":{"type":"object","properties":{"email":{"type":"string","description":"The email address of the user."}},"required":["email"]},"GetGroupDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the user group."},"name":{"type":"string","description":"The name of the user group."},"description":{"type":"string","description":"A short description of the user group."},"federatedAttributeValues":{"description":"A list of values associating this group with the corresponding claim from an identity provider.","type":"array","items":{"type":"string"}},"owner":{"type":"string","enum":["LOCAL","SCIM","SAML","DCS","ALL_USERS"],"description":"The type of the group. `LOCAL`, `SCIM`, `SAML` and `DCS` corresponds to the identity provider from which the group originates. `ALL_USERS` is a special case of `LOCAL` group. It means that group is always assigned to all users in the account."},"createdAt":{"type":"string","description":"The date and time of the group creation in `2021-05-01T15:11:00Z` format."},"updatedAt":{"type":"string","description":"The date and time of the most recent group modification in `2021-05-01T15:11:00Z` format."}},"required":["name","owner","createdAt","updatedAt"]},"GroupListDto":{"type":"object","properties":{"count":{"type":"number","description":"The number of entries in the list."},"items":{"type":"array","items":{"$ref":"#/components/schemas/GetGroupDto"}}},"required":["count","items"]},"UserDto":{"type":"object","properties":{"uid":{"type":"string","description":"The UUID of the user."},"email":{"type":"string","description":"The email address of the user."},"name":{"type":"string","description":"The first name of the user."},"surname":{"type":"string","description":"The last name of the user."},"userStatus":{"type":"string","enum":["ACTIVE","INACTIVE","PENDING","DELETED","ECUSTOMS_MANUALLY_BLOCKED"],"description":"The status of this user in Dynatrace: \n\n* `ACTIVE`: The user is active.\n* `INACTIVE`: The user is deactivated and cannot sign in to Dynatrace. \n* `PENDING`: The user received an invitation, but hasn't completed sign-up yet. \n* `DELETED`: The user was deleted and cannot sign in to Dynatrace anymore. \n* `ECUSTOMS_MANUALLY_BLOCKED`: The user is blocked due to to a trade and export compliance violation. \n"},"emergencyContact":{"type":"boolean","description":"The user is (`true`) or is not (`false`) an emergency contact for the account."}},"required":["uid","email"]},"GroupUserListDto":{"type":"object","properties":{"count":{"type":"number","description":"The number of entries in the list."},"items":{"type":"array","items":{"$ref":"#/components/schemas/UserDto"}}},"required":["count","items"]},"InsertGroupDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the user group.","readOnly":true},"name":{"type":"string","description":"The name of the user group."},"description":{"type":"string","description":"A short description of the user group. Max length is 255 characters."},"federatedAttributeValues":{"description":"A list of values associating this group with the corresponding claim from an identity provider. \n\n If present and the group has owner = `LOCAL`, then group owner is set to `SAML`. \n\n If missing and the group has owner = `SAML`, then group owner is set to `LOCAL`. \n\n Cannot set this value for groups having owner set to `SCIM` or `ALL_USERS`.","type":"array","items":{"type":"string"}}},"required":["name"]},"PutGroupDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the user group."},"name":{"type":"string","description":"The name of the user group."},"description":{"type":"string","description":"A short description of the user group. Max length is 255 characters."},"federatedAttributeValues":{"description":"A list of values associating this group with the corresponding claim from an identity provider. \n\n If present and the group has owner = `LOCAL`, then group owner is set to `SAML`. \n\n If missing and the group has owner = `SAML`, then group owner is set to `LOCAL`. \n\n Cannot set this value for groups having owner set to `SCIM` or `ALL_USERS`.","type":"array","items":{"type":"string"}}},"required":["name"]},"PermissionsDto":{"type":"object","properties":{"permissionName":{"type":"string","description":"The name of the permission.","enum":["account-company-info","account-user-management","account-viewer","account-saml-flexible-federation","tenant-viewer","tenant-manage-settings","tenant-agent-install","tenant-logviewer","tenant-view-sensitive-request-data","tenant-configure-request-capture-data","tenant-replay-sessions-with-masking","tenant-replay-sessions-without-masking","tenant-manage-security-problems","tenant-view-security-problems","tenant-manage-support-tickets"]},"scope":{"type":"string","description":"The scope of the permission. Depending on the scope type, it is defined by: \n\n* `account`: The UUID of the account. \n* `tenant`: The ID of the environment. \n* `management-zone`: The ID of the management zone from an environment in `{environment-id}:{management-zone-id}` format."},"scopeType":{"type":"string","description":"The type of the permission scope.","enum":["account","tenant","management-zone"]},"createdAt":{"type":"string","description":"The date and time of the permission creation in `2021-05-01T15:11:00Z` format."},"updatedAt":{"type":"string","description":"The date and time of the most recent permission modification in `2021-05-01T15:11:00Z` format."}},"required":["permissionName","scope","scopeType"]},"PermissionsGroupDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the user group."},"name":{"type":"string","description":"The name of the user group."},"description":{"type":"string","description":"A short description of the user group."},"federatedAttributeValues":{"description":"A list of values associating this group with the corresponding claim from an identity provider.","type":"array","items":{"type":"string"}},"owner":{"type":"string","enum":["LOCAL","SCIM","SAML","DCS","ALL_USERS"],"description":"The type of the group. `LOCAL`, `SCIM`, `SAML` and `DCS` corresponds to the identity provider from which the group originates. `ALL_USERS` is a special case of `LOCAL` group. It means that group is always assigned to all users in the account."},"createdAt":{"type":"string","description":"The date and time of the group creation in `2021-05-01T15:11:00Z` format."},"updatedAt":{"type":"string","description":"The date and time of the most recent group modification in `2021-05-01T15:11:00Z` format."},"permissions":{"description":"A list of permissions assigned to the group.","type":"array","items":{"$ref":"#/components/schemas/PermissionsDto"}}},"required":["name","owner","createdAt","updatedAt","permissions"]},"CreateOrUpdateLevelPolicyRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"The display name of the policy."},"description":{"type":"string","description":"A short description of the policy."},"tags":{"description":"A list of tags.","type":"array","items":{"type":"string"}},"statementQuery":{"type":"string","description":"The [statement](https://dt-url.net/ht03ucb) of the policy."}},"required":["name","description","statementQuery"]},"ValidationDto":{"type":"object","properties":{"warnings":{"description":"A list of validation warnings.","type":"array","items":{"type":"string"}}},"required":["warnings"]},"ErrorDto":{"type":"object","properties":{"code":{"type":"number","description":"The code of the error."},"message":{"type":"string","description":"A short description of the error."},"errorsMap":{"type":"object","additionalProperties":{"type":"string"}}},"required":["code","message","errorsMap"]},"Condition":{"type":"object","properties":{"name":{"type":"string","description":"The name of the condition. \n\n It indicates which part of the **services** is checked by the condition."},"operator":{"type":"string","description":"The operator of the condition."},"values":{"description":"A list of reference values of the condition.","type":"array","items":{"type":"string"}}},"required":["name","operator","values"]},"EffectivePolicy":{"type":"object","properties":{"uuid":{"type":"string","description":"The ID of the policy."},"name":{"type":"string","description":"The display name of the policy."},"statementQuery":{"type":"string","description":"The statement query of the policy."},"levelType":{"type":"string","description":"The type of the level to which the policy applies."},"levelId":{"type":"string","description":"The ID of the level to which the policy applies."}},"required":["uuid","name","statementQuery","levelType","levelId"]},"EffectiveBinding":{"type":"object","properties":{"groupUuid":{"type":"string","description":"The UUID of group"},"levelType":{"type":"string","description":"The type of the level to which the binding applies."},"levelId":{"type":"string","description":"The ID of the level to which the binding applies."}},"required":["groupUuid","levelType","levelId"]},"EffectivePolicyWithBinding":{"type":"object","properties":{"policy":{"description":"Effective policy","allOf":[{"$ref":"#/components/schemas/EffectivePolicy"}]},"binding":{"description":"Effective binding","allOf":[{"$ref":"#/components/schemas/EffectiveBinding"}]}},"required":["policy","binding"]},"EffectivePermissionEffects":{"type":"object","properties":{"effect":{"type":"string","description":"Effect of policy"},"conditions":{"description":"Policy condition","type":"array","items":{"$ref":"#/components/schemas/Condition"}},"effectivePolicies":{"description":"A list of effective policies.","type":"array","items":{"$ref":"#/components/schemas/EffectivePolicyWithBinding"}}},"required":["effect","conditions","effectivePolicies"]},"EffectivePermission":{"type":"object","properties":{"permission":{"type":"string","description":"One of a effective permissions"},"effects":{"description":"A list of policies.","type":"array","items":{"$ref":"#/components/schemas/EffectivePermissionEffects"}}},"required":["permission","effects"]},"EffectivePermissions":{"type":"object","properties":{"effectivePermissions":{"description":"List of effective permissions.","type":"array","items":{"$ref":"#/components/schemas/EffectivePermission"}}},"required":["effectivePermissions"]},"PolicyOverview":{"type":"object","properties":{"uuid":{"type":"string","description":"The ID of the policy."},"name":{"type":"string","description":"The display name of the policy."},"description":{"type":"string","description":"A short description of the policy."},"levelId":{"type":"string","description":"The ID of the level to which the policy applies."},"levelType":{"type":"string","description":"The type of the level to which the policy applies."}},"required":["uuid","name","description","levelId","levelType"]},"PolicyOverviewDtoList":{"type":"object","properties":{"policyOverviewList":{"description":"A list of policies.","type":"array","items":{"$ref":"#/components/schemas/PolicyOverview"}}},"required":["policyOverviewList"]},"PolicyDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The ID of the policy."},"name":{"type":"string","description":"The display name of the policy."},"description":{"type":"string","description":"A short description of the policy."}},"required":["uuid","name","description"]},"PolicyDtoList":{"type":"object","properties":{"policies":{"description":"A list of policies.","type":"array","items":{"$ref":"#/components/schemas/PolicyDto"}}},"required":["policies"]},"Statement":{"type":"object","properties":{"effect":{"type":"string","description":"The effect of the policy (for example, allow something)."},"permissions":{"description":"A list of granted permissions.","type":"array","items":{"type":"string"}},"conditions":{"description":"A list of conditions limiting the granted permissions.","type":"array","items":{"$ref":"#/components/schemas/Condition"}}},"required":["effect","permissions","conditions"]},"LevelPolicyDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The ID of the policy."},"name":{"type":"string","description":"The display name of the policy."},"tags":{"description":"A list of tags.","type":"array","items":{"type":"string"}},"description":{"type":"string","description":"A short description of the policy."},"statementQuery":{"type":"string","description":"The [statement](https://dt-url.net/ht03ucb) of the policy."},"statements":{"description":"The expanded form of the policy statement.","type":"array","items":{"$ref":"#/components/schemas/Statement"}}},"required":["uuid","name","tags","description","statementQuery","statements"]},"PolicyUuidsWithoutMetadataDto":{"type":"object","properties":{"policyUuids":{"description":"A list of policies bound to the user group.","type":"array","items":{"type":"string"}}},"required":["policyUuids"]},"PolicyUuidsDto":{"type":"object","properties":{"policyUuids":{"description":"A list of policies bound to the user group.","type":"array","items":{"type":"string"}}},"required":["policyUuids"]},"Binding":{"type":"object","properties":{"policyUuid":{"type":"string","description":"The ID of the policy."},"groups":{"description":"A list of user groups to which the policy applies.","type":"array","items":{"type":"string"}},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Parameters from bound policies"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata from bound policies"},"boundaries":{"description":"List of boundary UUIDs used in the binding.","type":"array","items":{"type":"string"}}},"required":["policyUuid","groups","boundaries"]},"LevelPolicyBindingDto":{"type":"object","properties":{"levelType":{"type":"string","description":"The type of the policy level."},"levelId":{"type":"string","description":"The ID of the policy level."},"policyBindings":{"type":"array","items":{"$ref":"#/components/schemas/Binding"}}},"required":["levelType","levelId","policyBindings"]},"LevelPolicyBindingDtoList":{"type":"object","properties":{"pageSize":{"type":"number"},"pageNumber":{"type":"number"},"totalCount":{"type":"number"},"content":{"type":"array","items":{"$ref":"#/components/schemas/LevelPolicyBindingDto"}}},"required":["pageSize","pageNumber","totalCount","content"]},"AppendLevelPolicyBindingsRequestDto":{"type":"object","properties":{"groups":{"description":"A list of user groups (specified by IDs) to which the policy applies.","type":"array","items":{"type":"string"}},"boundaries":{"description":"List of boundary UUIDs used in the binding.","type":"array","items":{"type":"string"}}},"required":["groups"]},"AppendLevelPolicyBindingForGroupDto":{"type":"object","properties":{"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Parameters provided for bindings"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata provided for bindings"},"boundaries":{"description":"List of boundary UUIDs used in the binding.","type":"array","items":{"type":"string"}}}},"Map":{"type":"object","properties":{}},"PolicyBoundaryOverview":{"type":"object","properties":{"uuid":{"type":"string"},"levelType":{"type":"string"},"levelId":{"type":"string"},"name":{"type":"string","description":"The display name of the policy boundary."},"boundaryQuery":{"type":"string","description":"The boundary query of the policy boundary."},"boundaryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Condition"}},"metadata":{"description":"The metadata of the policy boundary.","allOf":[{"$ref":"#/components/schemas/Map"}]}},"required":["uuid","levelType","levelId","name","boundaryQuery","boundaryConditions","metadata"]},"PolicyBoundaryDtoList":{"type":"object","properties":{"pageSize":{"type":"number"},"pageNumber":{"type":"number"},"totalCount":{"type":"number"},"content":{"type":"array","items":{"$ref":"#/components/schemas/PolicyBoundaryOverview"}}},"required":["pageSize","pageNumber","totalCount","content"]},"PolicyBoundaryDto":{"type":"object","properties":{"name":{"type":"string","description":"The display name of the policy boundary."},"boundaryQuery":{"type":"string","description":"The boundary query of the policy boundary."},"metadata":{"description":"The metadata of the policy boundary.","allOf":[{"$ref":"#/components/schemas/Map"}]}},"required":["name","boundaryQuery","metadata"]},"LimitEntry":{"type":"object","properties":{"count":{"type":"number"},"limit":{"type":"string"}},"required":["count","limit"]},"LevelLimitsDto":{"type":"object","properties":{"policies":{"description":"Information about policies limit set for a level.","allOf":[{"$ref":"#/components/schemas/LimitEntry"}]},"bindings":{"description":"Information about policy bindings limit set for a level.","allOf":[{"$ref":"#/components/schemas/LimitEntry"}]},"boundaries":{"description":"Information about policy boundaries limit set for a level.","allOf":[{"$ref":"#/components/schemas/LimitEntry"}]}},"required":["policies","bindings","boundaries"]},"ServiceUserDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the new service user"},"description":{"type":"string","description":"The description of the new service user"}},"required":["name"]},"ExternalServiceUserWithGroupUuidDto":{"type":"object","properties":{"uid":{"type":"string","description":"UUID of service user"},"email":{"type":"string","description":"Email of service user"},"name":{"type":"string","description":"Name of service user"},"surname":{"type":"string","description":"Surname of service user"},"description":{"type":"string","description":"The description of the service user"},"createdAt":{"type":"string","description":"The date and time when the user was created in `2021-05-01T15:11:00Z` format."},"groupUuid":{"type":"string","description":"Uuid of the group which enables assigning policy to service user"}},"required":["uid","email","name","createdAt","groupUuid"]},"ExternalServiceUserDto":{"type":"object","properties":{"uid":{"type":"string","description":"UUID of service user"},"email":{"type":"string","description":"Email of service user"},"name":{"type":"string","description":"Name of service user"},"surname":{"type":"string","description":"Surname of service user"},"description":{"type":"string","description":"The description of the service user"},"createdAt":{"type":"string","description":"The date and time when the user was created in `2021-05-01T15:11:00Z` format."}},"required":["uid","email","name","createdAt"]},"ExternalServiceUsersPageDto":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/ExternalServiceUserDto"}},"nextPageKey":{"type":"string","description":"Next page key to be used in querying for next results page"},"totalCount":{"type":"number","description":"Total number of service users"}},"required":["results","totalCount"]},"PlatformTokenMetadataDto":{"type":"object","properties":{"lastUsedAt":{"format":"date-time","type":"string"},"lastClientIp":{"type":"string"}},"required":["lastUsedAt","lastClientIp"]},"PlatformTokenDto":{"type":"object","properties":{"tokenId":{"type":"string"},"accountUuid":{"type":"number"},"description":{"type":"string"},"name":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"resource":{"type":"array","items":{"type":"string"}},"expirationDate":{"format":"date-time","type":"string"},"userUuid":{"type":"string"},"metadata":{"$ref":"#/components/schemas/PlatformTokenMetadataDto"}},"required":["tokenId","accountUuid","description","name","scope","tags","resource","expirationDate","userUuid","metadata"]},"PlatformTokenPageDto":{"type":"object","properties":{"pageSize":{"type":"number","description":"Page size."},"pageNumber":{"type":"number","description":"Page number."},"total":{"type":"number","description":"Total count of entries."},"results":{"type":"array","items":{"$ref":"#/components/schemas/PlatformTokenDto"}}},"required":["pageSize","pageNumber","total","results"]},"PlatformTokenExpirationDateDto":{"type":"object","properties":{"expirationDate":{"format":"date-time","type":"string"}},"required":["expirationDate"]},"PlatformTokenStatusUpdateDto":{"type":"object","properties":{"status":{"type":"string","enum":["ACTIVE","INACTIVE"]}},"required":["status"]},"GeneratePlatformTokenForm":{"type":"object","properties":{"name":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"resource":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"expirationDate":{"format":"date-time","type":"string"},"userUuid":{"type":"string"}},"required":["name","scope","resource","tags","expirationDate","userUuid"]},"PlatformTokenSecret":{"type":"object","properties":{"name":{"type":"string"},"tokenId":{"type":"string"},"token":{"type":"string"}},"required":["name","tokenId","token"]},"TenantResourceDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the environment."},"id":{"type":"string","description":"The ID of the environment."}},"required":["name","id"]},"ManagementZoneResourceDto":{"type":"object","properties":{"parent":{"type":"string","description":"The ID of the environment to which the management zone belongs."},"name":{"type":"string","description":"The name of the management zone."},"id":{"type":"string","description":"The ID of the management zone."}},"required":["parent","name","id"]},"EnvironmentResourceDto":{"type":"object","properties":{"tenantResources":{"description":"A list of environments in the account.","type":"array","items":{"$ref":"#/components/schemas/TenantResourceDto"}},"managementZoneResources":{"description":"A list of management zones in the account.","type":"array","items":{"$ref":"#/components/schemas/ManagementZoneResourceDto"}}},"required":["tenantResources","managementZoneResources"]},"EnvironmentDto":{"type":"object","properties":{"id":{"type":"string","description":"The UUID of the environment."},"name":{"type":"string","description":"Friendly name of the environment"},"active":{"type":"boolean","description":"Property to determine if environment is active"},"url":{"type":"string","description":"The url of the environment"}},"required":["id","active","url"]},"EnvironmentListDto":{"type":"object","properties":{"data":{"description":"Lists all environments in an account","type":"array","items":{"$ref":"#/components/schemas/EnvironmentDto"}}},"required":["data"]},"ClusterDto":{"type":"object","properties":{"clusterId":{"type":"string","description":"The UUID of the cluster."}},"required":["clusterId"]},"ClusterListDto":{"type":"object","properties":{"data":{"description":"Lists all clusters in a managed account","type":"array","items":{"$ref":"#/components/schemas/ClusterDto"}}},"required":["data"]},"AllowlistItem":{"type":"object","properties":{"name":{"type":"string","description":"The name of the list.","example":"Some IP-range"},"ipRange":{"type":"string","description":"One ip address or the range of ip addresses. Supports the CIDR format.","example":"10.0.0.0/32"}},"required":["name","ipRange"]},"IpConfigDto":{"type":"object","properties":{"enabled":{"type":"boolean","description":"If enabled the ip config allow list gets applied."},"allowWebhookOverride":{"type":"boolean","description":"If enabled the webhook ip allowlists will ignore the main allowlist CIDR range limitations."},"allowlist":{"description":"Contains a list of valid IP addresses in CIDR format which are allowed. If enabled it must not be empty.","type":"array","items":{"$ref":"#/components/schemas/AllowlistItem"}}},"required":["enabled","allowWebhookOverride"]},"SubscriptionSummaryDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the Dynatrace Platform Subscription."},"type":{"type":"string","description":"The type of the Dynatrace Platform Subscription."},"subType":{"type":"string","description":"The sub-type of the Dynatrace Platform Subscription."},"name":{"type":"string","description":"The display name of the Dynatrace Platform Subscription."},"status":{"type":"string","description":"The status of the Dynatrace Platform Subscription."},"startTime":{"type":"string","description":"The start date of the subscription in `2021-05-01` format."},"endTime":{"type":"string","description":"The end date of the subscription in `2021-05-01` format."}},"required":["uuid","type","subType","name","status","startTime","endTime"]},"SubscriptionListDto":{"type":"object","properties":{"data":{"description":"A list of subscriptions of the account.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionSummaryDto"}}},"required":["data"]},"Forecast":{"type":"object","properties":{"forecastMedian":{"type":"number","description":"The median forecasted usage."},"forecastLower":{"type":"number","description":"The lower bound of forecasted usage."},"forecastUpper":{"type":"number","description":"The upper bound of forecasted usage."},"budget":{"type":"number","description":"The budget quota used in the forecast."},"forecastBudgetPct":{"type":"number","description":"The forecasted usage of the budget, in percent."},"forecastBudgetDate":{"format":"date-time","type":"string","description":"The date when the forecasted usage consumes all the budget quota."},"forecastCreatedAt":{"format":"date-time","type":"string","description":"The date when the forecast was created."}},"required":["forecastMedian","forecastLower","forecastUpper","budget","forecastBudgetPct","forecastBudgetDate","forecastCreatedAt"]},"SubscriptionAccountDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the account."}},"required":["uuid"]},"SubscriptionBudgetDto":{"type":"object","properties":{"total":{"type":"number","description":"The total budget of the subscription."},"used":{"type":"number","description":"The used budget of the subscription."},"currencyCode":{"type":"string","description":"The currency of the subscription."}},"required":["total","used","currencyCode"]},"SubscriptionCurrentPeriodDto":{"type":"object","properties":{"startTime":{"type":"string","description":"The current period start date in `2021-05-01` format."},"endTime":{"type":"string","description":"The current period end date in `2021-05-01` format."},"daysRemaining":{"type":"number","description":"Remaining days in the current period."}},"required":["startTime","endTime","daysRemaining"]},"SubscriptionPeriodDto":{"type":"object","properties":{"startTime":{"type":"string","description":"The subscription period start time in `2021-05-01T15:11:00Z` format."},"endTime":{"type":"string","description":"The subscription period end time in `2021-05-01T15:11:00Z` format."}},"required":["startTime","endTime"]},"SubscriptionCapabilityDto":{"type":"object","properties":{"key":{"type":"string","description":"The key of the subscription capability."},"name":{"type":"string","description":"The display name of the subscription capability."}},"required":["key","name"]},"SubscriptionDto":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the Dynatrace Platform Subscription."},"type":{"type":"string","description":"The type of the Dynatrace Platform Subscription."},"subType":{"type":"string","description":"The sub-type of the Dynatrace Platform Subscription."},"name":{"type":"string","description":"The display name of the Dynatrace Platform Subscription."},"status":{"type":"string","description":"The status of the Dynatrace Platform Subscription."},"startTime":{"type":"string","description":"The start date of the subscription in `2021-05-01` format."},"endTime":{"type":"string","description":"The end date of the subscription in `2021-05-01` format."},"account":{"description":"The account associated with the subscription.","allOf":[{"$ref":"#/components/schemas/SubscriptionAccountDto"}]},"budget":{"description":"The budget associated with the subscription.","allOf":[{"$ref":"#/components/schemas/SubscriptionBudgetDto"}]},"currentPeriod":{"description":"The current period associated with the subscription.","allOf":[{"$ref":"#/components/schemas/SubscriptionCurrentPeriodDto"}]},"periods":{"description":"A list of subscription periods.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionPeriodDto"}},"capabilities":{"description":"A list of subscription capabilities.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionCapabilityDto"}}},"required":["uuid","type","subType","name","status","startTime","endTime","account","budget","currentPeriod","periods","capabilities"]},"SubscriptionUsageDto":{"type":"object","properties":{"capabilityKey":{"type":"string","description":"The key of the subscription capability."},"capabilityName":{"type":"string","description":"The display name of the subscription capability."},"startTime":{"type":"string","description":"The start time of the capability usage in `2021-05-01T15:11:00Z` format."},"endTime":{"type":"string","description":"The end time of the capability usage in `2021-05-01T15:11:00Z` format."},"value":{"type":"number","description":"The subscription usage by the capability."},"unitMeasure":{"type":"string","description":"The unit of the capability usage."}},"required":["capabilityKey","capabilityName","startTime","endTime","value","unitMeasure"]},"SubscriptionEnvironmentUsageV2Dto":{"type":"object","properties":{"environmentId":{"type":"string","description":"The UUID of the environment"},"usage":{"description":"A list of subscription usage for the environment.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionUsageDto"}}},"required":["environmentId","usage"]},"SubscriptionEnvironmentUsageListV2Dto":{"type":"object","properties":{"data":{"description":"Usage data of the subscription.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionEnvironmentUsageV2Dto"}},"lastModifiedTime":{"type":"string","description":"The time the subscription data was last modified in `2021-05-01T15:11:00Z` format."}},"required":["data","lastModifiedTime"]},"SubscriptionUsageListDto":{"type":"object","properties":{"data":{"description":"Usage data of the subscription.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionUsageDto"}},"lastModifiedTime":{"type":"string","description":"The time the subscription data was last modified in `2021-05-01T15:11:00Z` format."}},"required":["data","lastModifiedTime"]},"SubscriptionCostBookingDto":{"type":"object","properties":{"startTime":{"type":"string","description":"The start time for the capability cost in `2021-05-01T15:11:00Z` format."},"endTime":{"type":"string","description":"The end time for the capability cost in `2021-05-01T15:11:00Z` format."},"value":{"type":"number","description":"The total cost for all the capabilities."},"currencyCode":{"type":"string","description":"The currency of the cost."},"lastBookingDate":{"type":"string","description":"The last booking date for the capability cost"}},"required":["startTime","endTime","value","currencyCode","lastBookingDate"]},"SubscriptionCostListDto":{"type":"object","properties":{"data":{"description":"Cost data of the subscription.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionCostBookingDto"}},"lastModifiedTime":{"type":"string","description":"The time the subscription data was last modified in `2021-05-01T15:11:00Z` format."}},"required":["data","lastModifiedTime"]},"SubscriptionCapabilityCostDto":{"type":"object","properties":{"startTime":{"type":"string","description":"The start time for the capability cost in `2021-05-01T15:11:00Z` format."},"endTime":{"type":"string","description":"The end time for the capability cost in `2021-05-01T15:11:00Z` format."},"value":{"type":"number","description":"The total cost for all the capabilities."},"currencyCode":{"type":"string","description":"The currency of the cost."},"capabilityKey":{"type":"string","description":"The key of the subscription capability."},"capabilityName":{"type":"string","description":"The display name of the subscription capability."}},"required":["startTime","endTime","value","currencyCode","capabilityKey","capabilityName"]},"SubscriptionEnvironmentCostV2Dto":{"type":"object","properties":{"environmentId":{"type":"string","description":"The UUID of the environment"},"cost":{"description":"A list of subscription cost for the environment.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionCapabilityCostDto"}}},"required":["environmentId","cost"]},"SubscriptionEnvironmentCostListV2Dto":{"type":"object","properties":{"data":{"description":"Cost data of the subscription.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionEnvironmentCostV2Dto"}},"lastModifiedTime":{"type":"string","description":"The time the subscription data was last modified in `2021-05-01T15:11:00Z` format."}},"required":["data","lastModifiedTime"]},"SubscriptionCapabilityCostReceivedDto":{"type":"object","properties":{"startTime":{"type":"string","description":"The start time for the capability cost in `2021-05-01T15:11:00Z` format."},"endTime":{"type":"string","description":"The end time for the capability cost in `2021-05-01T15:11:00Z` format."},"value":{"type":"number","description":"The total cost for all the capabilities."},"currencyCode":{"type":"string","description":"The currency of the cost."},"capabilityKey":{"type":"string","description":"The key of the subscription capability."},"capabilityName":{"type":"string","description":"The display name of the subscription capability."},"bookingDate":{"type":"string","description":"The booking date of the subscription capability in `2021-05-01T15:11:00Z` format."}},"required":["startTime","endTime","value","currencyCode","capabilityKey","capabilityName","bookingDate"]},"SubscriptionEnvironmentCostV3Dto":{"type":"object","properties":{"clusterId":{"type":"string","description":"The UUID of the Managed cluster"},"environmentId":{"type":"string","description":"The UUID of the environment."},"cost":{"description":"Subscription costs for the environment.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionCapabilityCostReceivedDto"}}},"required":["clusterId","environmentId","cost"]},"SubscriptionEnvironmentCostListV3Dto":{"type":"object","properties":{"data":{"description":"Subscription cost data","type":"array","items":{"$ref":"#/components/schemas/SubscriptionEnvironmentCostV3Dto"}},"lastModifiedTime":{"type":"string","description":"The time the subscription data was last modified in `2021-05-01T15:11:00Z` format."},"nextPageKey":{"type":"string","description":"The next page key for pagination if next page exists"}},"required":["data","lastModifiedTime","nextPageKey"]},"SubscriptionEnvironmentUsageV3Dto":{"type":"object","properties":{"clusterId":{"type":"string","description":"The UUID of the Managed cluster."},"environmentId":{"type":"string","description":"The UUID of the environment."},"usage":{"description":"Subscription usage information for the environment.","type":"array","items":{"$ref":"#/components/schemas/SubscriptionUsageDto"}}},"required":["clusterId","environmentId","usage"]},"SubscriptionEnvironmentUsageListV3Dto":{"type":"object","properties":{"data":{"description":"Subscription usage data","type":"array","items":{"$ref":"#/components/schemas/SubscriptionEnvironmentUsageV3Dto"}},"lastModifiedTime":{"type":"string","description":"The time the subscription data was last modified in `2021-05-01T15:11:00Z` format."},"nextPageKey":{"type":"string","description":"The next page key for pagination if next page exists"}},"required":["data","lastModifiedTime","nextPageKey"]},"RateCardCapabilitiesDto":{"type":"object","properties":{"key":{"type":"string","description":"The capability key"},"name":{"type":"string","description":"The capability name"},"quotedPrice":{"type":"string","description":"The quoted price for the capability"},"quotedUnitOfMeasure":{"type":"string","description":"The quoted unit of measure for the capability"},"price":{"type":"string","description":"The price for the capability"},"deploymentType":{"type":"string","description":"THe deployment type"}},"required":["key","name","quotedPrice","quotedUnitOfMeasure","price"]},"RateCardSummaryDto":{"type":"object","properties":{"quoteNumber":{"type":"string","description":"The quote number for a rate-card"},"startTime":{"type":"string","description":"The start date of the rate-card in `2021-05-01T15:11:00Z` format."},"endTime":{"type":"string","description":"The end date of the rate-card in `2021-05-01T15:11:00Z` format."},"currencyCode":{"type":"string","description":"The currency code of a rate-card"},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/RateCardCapabilitiesDto"}}},"required":["quoteNumber","startTime","endTime","currencyCode","capabilities"]},"FieldValueDto":{"type":"object","properties":{"key":{"type":"string","description":"The key of this value."}},"required":["key"]},"PaginatedFieldValueDto":{"type":"object","properties":{"records":{"description":"The records on the current page.","type":"array","items":{"$ref":"#/components/schemas/FieldValueDto"}},"hasNextPage":{"type":"boolean","description":"Indicates if there is another page to load."}},"required":["records","hasNextPage"]},"FieldValuesRequestDto":{"type":"object","properties":{"values":{"description":"The requested values.","type":"array","items":{"$ref":"#/components/schemas/FieldValueDto"}}},"required":["values"]},"AuditDto":{"type":"object","properties":{"eventId":{"type":"string","description":"The ID of the event.","format":"uuid","example":"af1f98c9-c611-4056-841b-d039b1af3f98"},"timestamp":{"type":"string","description":"The timestamp of the audit event (in UTC).","format":"date-time"},"user":{"type":"string","description":"The email address of the user that performed the operation or DYNATRACE in case the operation was performed by an Dynatrace internal employee.","example":"user@company.com"},"resource":{"type":"string","description":"The resource (entity) affected by the operation.","example":"POLICY"},"resourceName":{"type":"string","description":"The name of the resource.","example":"Standard User"},"eventProvider":{"type":"string","description":"Display name of the system that created the event.","example":"Identity & Account Management"},"eventType":{"type":"string","description":"The type of the event.","example":"CREATE"},"accountUuid":{"type":"string","format":"uuid","description":"The unique identifier of the account.","example":"6b929f34-bf86-47c6-8a67-4de81011affc"},"authenticationClientId":{"type":"string","description":"The client ID used for authentication."},"authenticationGrantType":{"type":"string","description":"The type of grant used for authentication.","example":"AUTHORIZATION_CODE"},"authenticationToken":{"type":"string","description":"The token used for authentication."},"authenticationType":{"type":"string","description":"The type of authentication used.","example":"OAUTH2"},"details":{"type":"object","description":"A map that contains additional fields.","additionalProperties":{"type":"string"},"example":{"json_before":"{property: \"value_old\"}","json_after":"{property: \"value_new\"}"}},"eventOutcome":{"type":"string","description":"If the operation was successful or failed.","example":"SUCCESS"},"eventReason":{"type":"string","description":"Optional reason for the change."},"eventVersion":{"type":"string","description":"The version of the audit event.","example":"1.0.0"},"originAddress":{"type":"string","description":"The originating address of the request.","example":"0.0.0.0"},"originSession":{"type":"string","description":"The session ID of the origin."},"originType":{"type":"string","description":"The origin type of the request","example":"REST"},"originXForwardedFor":{"type":"string","description":"The X-Forwarded-For header value from the origin.","example":"192.168.1.1"},"resourceId":{"type":"string","description":"The unique identifier of the resource.","example":"fc2adb60-5291-43bb-b759-03985ef9a5b0"},"environmentUuid":{"type":"string","description":"The unique identifier of the environment.","example":"bfe96125"},"userOrganization":{"type":"string","description":"Organization of the user that performed the operation.","example":"CUSTOMER"}},"required":["eventId","timestamp","user","resource","resourceName","eventProvider","eventType","accountUuid","authenticationClientId","authenticationGrantType","authenticationToken","authenticationType","details","eventOutcome","eventReason","eventVersion","originAddress","originSession","originType","originXForwardedFor","resourceId","environmentUuid","userOrganization"]},"AuditWarningDto":{"type":"object","properties":{"message":{"type":"string","description":"A warning message related to the request.","example":"Your result has been limited to 1."}},"required":["message"]},"AuditsByAccountDto":{"type":"object","properties":{"audits":{"description":"A list of audit records for the account.","type":"array","items":{"$ref":"#/components/schemas/AuditDto"}},"warnings":{"description":"A list of warning messages related to the request.","type":"array","items":{"$ref":"#/components/schemas/AuditWarningDto"}}},"required":["audits","warnings"]},"TimeZoneDto":{"type":"object","properties":{"displayName":{"type":"string","description":"The UTC-based name of the time zone."},"name":{"type":"string","description":"The standard name of the time zone."}},"required":["displayName","name"]},"RegionDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the region."}},"required":["name"]},"PermissionDto":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission."},"description":{"type":"string","description":"The display name of the permission."}},"required":["id","description"]},"PaginatedEnvironmentBreakdownDto":{"type":"object","properties":{"environmentId":{"type":"string","description":"Identifier of the environment"},"field":{"type":"string","description":"Field used to generate the breakdown. Can be `COSTCENTER` or `PRODUCT`"},"records":{"description":"List of individual breakdown entries.","type":"array","items":{"type":"string"}},"nextPageKey":{"type":"string","description":"Key to request the next page."}},"required":["environmentId","field","records","nextPageKey"]},"SubscriptionRelatedEventDataDto":{"type":"object","properties":{"environments":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"type":"string"}},"allEnvironments":{"type":"boolean"},"allCapabilities":{"type":"boolean"}},"required":["environments","capabilities","allEnvironments","allCapabilities"]},"ByokEventDto":{"type":"object","properties":{"environmentUuid":{"type":"string"},"keyName":{"type":"string"}},"required":["environmentUuid","keyName"]},"NotificationQueryParamsDto":{"type":"object","properties":{"startDateTime":{"type":"string","description":"Start date and time to filter notifications.","example":"2023-01-01T00:00:00Z"},"endDateTime":{"type":"string","description":"End date and time to filter notifications.","example":"2023-12-31T23:59:59Z"},"types":{"type":"array","description":"Notification types to filter notifications.","items":{"type":"string","enum":["FORECAST","BUDGET","COST","BYOK_REVOKED","BYOK_ACTIVATED"]}},"severities":{"type":"array","description":"Notification severities to filter notifications.","items":{"type":"string","enum":["SEVERE","WARN","INFO"]}},"capabilities":{"description":"Capabilities to filter notifications.","example":["LOG_MANAGEMENT_ANALYZE"],"type":"array","items":{"type":"array"}},"environments":{"description":"Environments to filter notifications.","example":["abc12345"],"type":"array","items":{"type":"array"}},"page":{"type":"number","description":"The page number.","example":1},"pageSize":{"type":"number","description":"The maximum number of notifications to return, max 100.","example":20},"sorts":{"type":"array","description":"The property to sort by. Prefix with \"-\" to invert sort order.","example":["-date"],"items":{"type":"string","enum":["type","-type","date","-date"]}}}},"NotificationDto":{"type":"object","properties":{"key":{"type":"string"},"accountUuid":{"type":"string"},"message":{"type":"string"},"severity":{"type":"string"},"type":{"type":"string"},"details":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionRelatedEventDataDto"},{"$ref":"#/components/schemas/ByokEventDto"}]},"date":{"type":"string"}},"required":["key","accountUuid","message","severity","type","details","date"]},"NotificationListDto":{"type":"object","properties":{"records":{"description":"A list of notifications of the account.","type":"array","items":{"$ref":"#/components/schemas/NotificationDto"}},"totalRecordCount":{"type":"number","description":"The total number of notifications matching the filter."},"hasNextPage":{"type":"boolean","description":"If there are more notifications."}},"required":["records","totalRecordCount","hasNextPage"]}}},"externalDocs":{"description":"JSON schema","url":"/spec-json"}}