> ## 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_API_Client_and_Assign_Role

> Represents posession of the 'Update API Integrations' permission and at least one role has been created in the tenant. Combined these allow updating existing API clients to assume the permissions of existing roles. Non-traversable because these permissions alone cannot retrieve API client credentials.

<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\_Account](/opengraph/extensions/jamf/nodes/jamf_account), [jamf\_DisabledAccount](/opengraph/extensions/jamf/nodes/jamf_disabledaccount), [jamf\_Group](/opengraph/extensions/jamf/nodes/jamf_group)
* Destination: [jamf\_Tenant](/opengraph/extensions/jamf/nodes/jamf_tenant)
* Traversable: ❌

## General Information

The non-traversable jamf\_Update\_API\_Client\_and\_Assign\_Role edge represents a combined permission where the source can update existing API clients and assign existing roles. This is non-traversable because Jamf accounts and groups cannot retrieve API client credentials without the 'Create API Integration' permission.

```mermaid theme={null}
graph LR
    A("jamf_Account
Steve New")
    B("jamf_Tenant
CorpJamfPro")
    C("jamf_Group
API-Governance")
    D("jamf_DisabledAccount
Steve Old")
    A -- jamf_Update_API_Client_and_Assign_Role --> B
    C -- jamf_Update_API_Client_and_Assign_Role --> B
    D -- jamf_Update_API_Client_and_Assign_Role --> B
```
