> ## Documentation Index
> Fetch the complete documentation index at: https://bloodhound.specterops.io/llms.txt
> Use this file to discover all available pages before exploring further.

# jamf_Update_Roles_Assigned_To_Self

> Represents an API client possessing the 'Update API Roles' permission which allows updating existing API roles with any permissions, including roles assigned to itself.

<img noZoom src="https://mintcdn.com/specterops/tTIczgde9H07oLXf/assets/enterprise-AND-community-edition-pill-tag.svg?fit=max&auto=format&n=tTIczgde9H07oLXf&q=85&s=ad49a576589f4d2a8081df77d07fdf56" alt="Applies to BloodHound Enterprise and CE" width="482" height="45" data-path="assets/enterprise-AND-community-edition-pill-tag.svg" />

## Edge Schema

* Source: [jamf\_ApiClient](/opengraph/extensions/jamf/nodes/jamf_apiclient), [jamf\_DisabledApiClient](/opengraph/extensions/jamf/nodes/jamf_disabledapiclient)
* Destination: [jamf\_Tenant](/opengraph/extensions/jamf/nodes/jamf_tenant)
* Traversable: ✅

## General Information

The traversable jamf\_Update\_Roles\_Assigned\_To\_Self edge represents an API client possessing the 'Update API Roles' privilege which allows updating existing API roles with any permissions, including roles assigned to itself. Since the source already has an assigned role, it can escalate its own privileges by modifying its own role definitions.

```mermaid theme={null}
graph LR
    A("jamf_ApiClient
self-service-client")
    B("jamf_Tenant
CorpJamfPro")
    C("jamf_DisabledApiClient
legacy-scheduler")
    D("jamf_ApiClient
automation-runner")
    A -- jamf_Update_Roles_Assigned_To_Self --> B
    D -- jamf_Update_Roles_Assigned_To_Self --> B
    C -- jamf_Update_Roles_Assigned_To_Self --> B
```
