Permissions map

Same permissions, new format.

Format

{capability}:{action}

The capability comes first in kebab-case, followed by the action in lowercase. No product name appears in the string, because one capability is reached by endpoints across several products.

Six actions exist:

ActionMeaning
createCreate a resource
readRetrieve a resource
updateModify a resource
deleteRemove a resource
deployPush a configuration to devices
executeSend a command, or run an action

Actions are lowercase and case-sensitive. Grant every action your integration uses. devices:update covers writes only, so add devices:read if your integration reads a record before modifying it.

Any endpoint that sends a command to a device uses execute, including local admin password changes.

Converting an old privilege name

Most old names convert mechanically. The capability token is the resource portion of the old privilege, and the action moves to the end.

Old privilegeOld beta slugGA capability permission
Read Buildingsread:pro:buildingsbuildings:read
Create Departmentscreate:pro:departmentsdepartments:create
Update Scriptsupdate:pro:scriptsscripts:update
Change Passwordexecute:pro:change-passwordchange-password:execute

The exceptions below are the part worth reading. Several old privileges collapse into one capability, and one old privilege splits into two.


Where the mapping is not one to one

Computer and mobile privileges collapse into one device capability

The old model had a separate privilege for computers and for mobile devices. Those pairs are now single device-level capabilities. A caller cannot hold half of devices:read.

Old privilege pairGA capability
Computers + Mobile Devicesdevices
Computer Groups + Mobile Device Groupsdevice-groups
Computer Extension Attributes + Mobile Device Extension Attributesextension-attributes
macOS Configuration Profiles + Mobile Device Configuration Profilesconfiguration-profiles
Computer Invitations + Mobile Device Invitationsenrollment-invitations
Advanced Computer Searches + Advanced Mobile Device Searchesadvanced-device-searches
Computer PreStage Enrollments + Mobile Device PreStage Enrollmentsprestage-enrollments

Smart and static groups collapse

device-groups and user-groups each cover both the smart and the static privilege.

Commands split into two capabilities

This is the one case where an old privilege becomes more granular, and it is deliberate. Erase, unmanage, and remove MDM profile destroy data or end management, so they are separated.

Old privilegeGA capabilityCovers
Computer Commands + Mobile Device Commandsdevice-actions:{r,d,x}Routine commands, and command status
Computer Commands + Mobile Device Commandsdestructive-device-actions:{x}Erase, unmanage, remove MDM profile

Umbrella capabilities absorb several privileges

These fold distinct concepts rather than a computer and mobile pair, so you lose the ability to grant one without the other.

Old privilegesGA capabilityWhat you can no longer grant separately
Mac Applications + Mobile Device ApplicationsapplicationsMac apps without mobile apps
Jamf Connect Settings + Jamf Connect Deployments + Deployment Retryjamf-connect-deploymentsSettings without deployments
Jamf Protect Settings + Jamf Protect Deployments + Deployment Retryjamf-protect-deploymentsSettings without deployments
Self Service Branding Configuration + Self Serviceself-serviceBranding without Self Service

One reassignment

PUT /local-admin-password/{clientManagementId}/set-password previously required Computer Commands plus Mobile Device Commands. It now sits under local-admin-passwords, chosen by subject matter rather than by mechanism.


Endpoints that need two capabilities

Where two old privileges map to two different capabilities, both are still required.

EndpointRequires
POST /computers, POST /mobile-devices and their update analoguesdevices + users
/patchpolicies readpatch-policies:{r} + patch-management-software-titles:{r}
/categories listcategories:{r} + self-service:{r}
/slasa acceptjss-information + activation-code:{u}
POST /mobiledevicecommands/commanddestructive-device-actions:{x} + devices:{c}
/gsx-connectionpush-certificates:{r} + gsx-connection:{r}
/mobile-device-groups/static-group-membership/{id}/assignmentsdevice-groups:{r} + devices:{r}

One endpoint accepts either of two capabilities rather than requiring both: /logflush takes flush-policy-logs:{x} or policies:{d}. Jamf Pro enforced those inconsistently for the same action, so requiring both would reject callers Jamf Pro itself allows.


Find the capability for an endpoint you already call

Action codes: c create, r read, u update, d delete, dep deploy, x execute.

The Endpoints column lists resource-root prefixes rather than every endpoint. A capability owns all paths under its roots. Where roots overlap, the longer prefix wins, so /computers-inventory is devices while /computers-inventory/{id}/filevault is disk-encryption-recovery-key.

Version segments are collapsed. /jcds covers /v1/jcds and later versions.

Organization management scope

PermissionCapabilityEndpoints
Licensinglicensing:{r}Account /licensing/v*/licenses
Partner deal registrationdeal-registration:{c,r}Account /partners/v*/deal-registrations
Distributor actionsdistributor-actions:{c,r,u}Account /partners/v*/distributor
SSO connectionssso-connections:{c,r,u,d}Account /sso/v*/connections
SSO domainssso-domains:{c,r,u,d}Account /sso/v*/domains

Inventory

PermissionCapabilityEndpoints
Devicesdevices:{c,r,u,d}Platform /devices, /devices/{id}/applications, /users/{id}/devices, /devices/{id}/users · Pro /computers-inventory, /computers-inventory-detail, /preview/computers, /ddm/{id}/status-items, /mobile-devices · Classic /computers, /mobiledevices · Protect getComputer, listComputers, requestComputerTimeline, updateComputer, deleteComputer, setComputerPlan
Device groupsdevice-groups:{c,r,u,d}Platform /device-groups, /device-groups/{id}/members, /devices/{id}/device-groups · Pro /computer-groups, /computers/{id}/recalculate-smart-groups, /devices/{id}/groups, /groups, /mobile-device-groups, /smart-computer-groups, /smart-mobile-device-groups · Classic /computergroups, /mobiledevicegroups · Security Cloud /groups
Usersusers:{c,r,u,d}Pro /users · Classic /users · Protect listUsers, deleteUser
User groupsuser-groups:{c,r,u,d}Pro /smart-user-groups, /static-user-groups · Classic /usergroups
Device extension attributesextension-attributes:{c,r,u,d}Pro /computer-extension-attributes, /devices/extensionAttributes, /mobile-device-extension-attributes · Classic /computerextensionattributes, /mobiledeviceextensionattributes
User extension attributesuser-extension-attributes:{c,r,u,d}Classic /userextensionattributes
Advanced device searchesadvanced-device-searches:{c,r,u,d}Pro /advanced-mobile-device-searches · Classic /advancedcomputersearches, /advancedmobiledevicesearches, /computerapplications, /savedsearches
Advanced user searchesadvanced-user-searches:{c,r,u,d}Pro /advanced-user-content-searches · Classic /advancedusersearches
Device historydevice-history:{r}Classic /computerhistory, /computerapplicationusage, /computerhardwaresoftwarereports, /computermanagement, /computerreports, /mobiledevicehistory

Organizational context

PermissionCapabilityEndpoints
Sitessites:{c,r,u,d}Pro /sites · Classic /sites
Buildingsbuildings:{c,r,u,d}Pro /buildings · Classic /buildings
Departmentsdepartments:{c,r,u,d}Pro /departments · Classic /departments
Categoriescategories:{c,r,u,d}Pro /categories · Classic /categories
Classesclasses:{c,r,u,d}Classic /classes
Network segmentsnetwork-segments:{c,r,u,d}Classic /networksegments
iBeacon regionsibeacon:{c,r,u,d}Classic /ibeacons

Listing categories also needs self-service:{r}.

Device actions

PermissionCapabilityEndpoints
Device actionsdevice-actions:{r,d,x}Platform /devices/{id}/check-in, /restart, /shutdown · Pro /deploy-package, /ddm/{id}/sync, /mdm, /mdm-renewal, /apns-client-push-status, /jamf-management-framework/redeploy, /macos-managed-software-updates · Classic GET /computercommands, GET /mobiledevicecommands, DELETE /commandflush, POST /mobiledevicecommands/command/DeviceName, POST /mobiledevicecommands/command/ScheduleOSUpdate
Destructive device actionsdestructive-device-actions:{x}Platform /devices/{id}/erase, /devices/{id}/unmanage · Pro /computers-inventory/{id}/erase, /remove-mdm-profile, /mobile-devices/{id}/erase, /mobile-devices/{id}/unmanage, /mobile-device-groups/{id}/erase · Classic POST /computercommands/command, POST /mobiledevicecommands/command, POST /mobiledevicecommands/name

Device secrets

PermissionCapabilityEndpoints
FileVault recovery keydisk-encryption-recovery-key:{r}Pro /computers-inventory/filevault, /{id}/filevault
Recovery lock passwordrecovery-lock:{r}Pro /computers-inventory/{id}/view-recovery-lock-password
Device lock PINcomputer-device-lock-pin:{r}Pro /computers-inventory/{id}/view-device-lock-pin
Local Admin Passwords (LAPS)local-admin-passwords:{r,u,x}Pro /local-admin-password, /local-admin-password/{clientManagementId}/set-password

Deployment

PermissionCapabilityEndpoints
Blueprintsblueprints:{c,r,u,d,dep}Platform /blueprints, /blueprints/{id}/deploy and /undeploy ({dep}), /blueprints/{id}/report, /blueprint-components
Declarations reportingdeclarations:{r}Platform /ddm/report/devices, /ddm/report/declarations · Pro /dss-declarations
Configuration profilesconfiguration-profiles:{c,r,u,d}Classic /osxconfigurationprofiles, /mobiledeviceconfigurationprofiles
Policiespolicies:{c,r,u,d}Pro /policy-properties, /settings/obj/policyProperties · Classic /policies
Scriptsscripts:{c,r,u,d}Pro /scripts · Classic /scripts
Packagespackages:{c,r,u,d}Pro /packages · Classic /packages
Printersprinters:{c,r,u,d}Classic /printers
Dock itemsdock-items:{c,r,u,d}Pro /dock-items · Classic /dockitems
Software updatesmanaged-software-updates:{c,r,u}Pro /managed-software-updates
Disk encryptiondisk-encryption-configurations:{c,r,u,d}Classic /diskencryptionconfigurations
Directory bindingsdirectory-bindings:{c,r,u,d}Classic /directorybindings
Jamf Connect deploymentjamf-connect-deployments:{r,u,dep}Pro /jamf-connect, /jamf-connect/config-profiles, /deployments/{id}/tasks
Jamf Protect deploymentjamf-protect-deployments:{r,u,dep}Pro /jamf-protect, /jamf-protect/register, /jamf-protect/history

Enrollment

PermissionCapabilityEndpoints
PreStage enrollmentsprestage-enrollments:{c,r,u,d}Pro /computer-prestages, /mobile-device-prestages
Enrollment profilesenrollment-profiles:{c,r,u,d}Pro /mobile-device-enrollment-profile · Classic /mobiledeviceenrollmentprofiles
Enrollment invitationsenrollment-invitations:{c,r,u,d}Classic /computerinvitations, /mobiledeviceinvitations
Activation profilesactivation-profiles:{c,r,u,d}Security Cloud /activation-profiles

App lifecycle management

PermissionCapabilityEndpoints
Appsapplications:{c,r,u,d}Classic /macapplications, /mobiledeviceapplications
App package informationjamf-packages-action:{r}Pro /jamf-package
Volume purchasingvolume-purchasing-locations:{c,r,u,d}Pro /volume-purchasing-locations, /volume-purchasing-subscriptions · Classic /vppaccounts, /vppassignments, /vppinvitations
eBooksebooks:{c,r,u,d}Pro /ebooks · Classic /ebooks
Provisioning profilesprovisioning-profiles:{c,r,u,d}Classic /mobiledeviceprovisioningprofiles
Licensed softwarelicensed-software:{c,r,u,d}Classic /licensedsoftware
Restricted softwarerestricted-software:{c,r,u,d}Classic /restrictedsoftware
Patch policiespatch-policies:{c,r,u,d}Pro /patch-policies · Classic /patchpolicies
Patch titlespatch-management-software-titles:{c,r,u,d}Pro /patch-software-title-configurations, /patch-management-accept-disclaimer · Classic /patchsoftwaretitles, /patchavailabletitles, /patchreports, /patches
External patch sourcespatch-external-source:{c,r,u,d}Classic /patchexternalsources
Internal patch sourcespatch-internal-source:{r}Classic /patchinternalsources

Reading /patchpolicies also needs patch-management-software-titles:{r}.

Compliance

PermissionCapabilityEndpoints
AI policiesai-policies:{c,r,u,d}Platform /policies (and /{policyId}, /versions, /deployment, /publish), /tools, /tools/{toolId}/schemas/{schemaVersion}
Compliance Benchmarkscompliance-benchmarks:{c,r,d}Platform /benchmarks, /benchmarks/{id}, /benchmarks/{id}/rules, /{id}/devices, /{id}/compliance-percentage
Compliance Benchmarks baseline rulescompliance-benchmarks:{r}Platform /baselines, /rules?baselineId=
Conditional access device compliancedevice-compliance-information:{r}Pro /conditional-access/device-compliance-information/{computer|mobile}/{id}

Compliance Benchmarks has no update action.

Endpoint security

Reached through the Jamf Protect API. Permissions map to GraphQL operation names rather than paths.

PermissionCapabilityOperations
Protection plansprotection-plans:{r,u}getPlan, listPlans
Detection analyticsdetection-analytics:{r,u}getAnalytic, listAnalytics, updateAnalyticSet
Threat alertsthreat-alerts:{r,u}getAlert, listAlerts, updateAlerts
Prevent listsprevent-lists:{c,r,u,d}getPreventList, listPreventLists, createPreventList, updatePreventList, deletePreventList
Threat definition versionsthreat-definition-versions:{r}listThreatPreventionVersions
Unified logging filtersunified-logging-filters:{c,r,u,d}getUnifiedLoggingFilter, listUnifiedLoggingFilters, createUnifiedLoggingFilter, updateUnifiedLoggingFilter, deleteUnifiedLoggingFilter
Security audit logsecurity-audit-log:{r}listAuditLogsByDate, listAuditLogsByOp, listAuditLogsByUser

Secure enterprise access

PermissionCapabilityEndpoints
Zero-Trust Network Access (ZTNA)ztna:{c,r,u,d}Security Cloud /ztna, /dns/zones
Search domainssearch-domains:{r,u,d}Security Cloud /dns/search-domains
Custom hostname mappingscustom-hostname-mappings:{r,u,d}Security Cloud /dns/custom-hostname-mappings
Content categoriescontent-categories:{r}Security Cloud /categories

Admin identity and access

PermissionCapabilityEndpoints
Audit eventsaudit:{r}Platform /audit
Admin accountaccounts:{c,r,u,d}Pro /accounts, /user · Classic /accounts, /jssuser
Change admin passwordchange-password:{x}Pro /user/change-password
Admin account groupsaccount-groups:{r}Pro /account-groups
LDAP / cloud IdPldap-servers:{c,r,u,d}Pro /ldap, /ldap-keystore, /cloud-ldaps, /classic-ldap, /cloud-azure, /cloud-idp · Classic /ldapservers
Single Sign-Onsso-settings:{r,u}Pro /sso, /sso/cert, /sso/dependencies, /sso/metadata/download, /oidc
Access managementaccess-management:{r,u}Pro /enrollment/access-management
Admin user sessionsuser-sessions:{r}Pro /last-login, /user-sessions

Admin file uploads

PermissionCapabilityEndpoints
Admin file uploadsfile-uploads:{c}Classic /fileuploads/{resource}/{idType}/{id}

One endpoint attaches files to many object types under this single capability.

Global settings

PermissionCapabilityEndpoints
UEM Connect configurationuem-connect:{c,r,u,d}Security Cloud /uem-connect
Intune conditional access configurationconditional-access:{r}Pro /conditional-access/device-compliance/feature-toggle
Self Service configurationself-service:{c,r,u,d}Pro /self-service, /self-service-plus
App request settingsapp-request:{r,u}Pro /app-request, /app-request/settings, /form-input-fields
Onboarding configurationonboarding:{r,u}Pro /onboarding, /onboarding/eligible-apps, /onboarding/history
Re-enrollment settingsre-enrollment:{r,u}Pro /reenrollment, /reenrollment/history
Return to service configurationreturn-to-service:{r,u,d}Pro /return-to-service, /return-to-service/{id}
User-initiated enrollment settingsuser-initiated-enrollment:{r,u}Pro /enrollment, /enrollment/access-groups, /adue-session-token-settings, /service-discovery-enrollment
Apple Configurator enrollment settingsapple-configurator-enrollment:{r,u}Pro /supervision-identities
Enrollment customizationenrollment-customization:{c,r,u,d}Pro /enrollment-customization, /enrollment-customizations
Teacher app settingsteacher-app:{r,u}Pro /teacher-app, /teacher-app/history
Parent app settingsparent-app:{r,u}Pro /parent-app, /parent-app/history
Remote Assistremote-assist:{r}Pro /jamf-remote-assist/session
TeamViewer configurationremote-administration:{c,r,u,d}Pro /preview/remote-administration-configurations
Device check-in configurationcomputer-check-in:{r,u}Pro /check-in · Classic /computercheckin
Device inventory collection settingscomputer-inventory-collection-settings:{r,u}Pro /computer-inventory-collection-settings · Classic /computerinventorycollection
Inventory collection custom file pathscustom-paths:{c,d}Pro /computer-inventory-collection-settings/custom-path
Removable MAC addressesremovable-mac-address:{c,r,u,d}Classic /removablemacaddresses
Inventory preloadinventory-preload-records:{c,r,u,d}Pro /inventory-preload
MDM profile renewal settingsmdm-profile-renewal-settings:{r,u}Pro /device-communication-settings
Notification settingsimpact-alert-notification-settings:{r,u}Pro /impact-alert-notification-settings
Dismiss notificationsdismiss-notifications:{x}Pro /notifications/{type}/{id}
Login disclaimerlogin-disclaimer:{u}Pro /login-customization
Webhookswebhooks:{c,r,u,d}Classic /webhooks
Allowed file upload extensionsallowed-file-extension:{c,r,d}Classic /allowedfileextensions

Infrastructure

PermissionCapabilityEndpoints
Automated Device Enrollment connectiondevice-enrollment-program-instances:{c,r,u,d}Pro /device-enrollments
PKI certificatespki:{r,u}Pro /pki/certificate-authority/{id}, /pki/venafi
AD Certificate Services connectorad-cs-settings:{c,r,u,d}Pro /pki/adcs-settings
DigiCert Trust Lifecycle Managerdigicert-settings:{c,r,u,d}Pro /pki/digicert/trust-lifecycle-manager
APNS certificatepush-certificates:{r,u}Pro /gsx-connection
Apple GSX connectiongsx-connection:{r,u}Pro /gsx-connection, /gsx-connection/history, /gsx-connection/test · Classic /gsxconnection
Distribution pointsdistribution-points:{c,r,u,d}Pro /distribution-points · Classic /distributionpoints
Cloud Distribution Pointcloud-distribution-point:{r,u}Pro /cloud-distribution-point
Jamf Cloud Distribution Service filesjamf-cloud-distribution-service-files:{c,r,d}Pro /jcds/files, /jcds
JSON web token configurationjson-web-token-configuration:{c,r,u,d}Classic /jsonwebtokenconfigurations
Software update serverssoftware-update-servers:{c,r,u,d}Classic /softwareupdateservers
SMTPsmtp-server:{r,u}Pro /smtp-server · Classic /smtpserver
Cachecache:{r,u}Pro /cache-settings
Jamf Cloud Services connectioncloud-services-settings:{r,u}Pro /csa/token
Tomcat serverapache-tomcat-settings:{u}Pro /settings/issueTomcatSslCertificate
Infrastructure Manager instancesinfrastructure-managers:{c,r,u,d}Classic /infrastructuremanager, /healthcarelistener, /healthcarelistenerrule
Retention policyretention-policy:{r,u}Pro /log-flushing, /log-flushing/task
Log flushingflush-policy-logs:{x}Classic /logflush
Activation codeactivation-code:{r,u}Pro /activation-code · Classic /activationcode
Jamf Pro SLASAjss-information:{r}Pro /slasa
M2M tenant IDm2m:{r}Pro /m2m/tenant-id
Jamf Pro server URLjss-url:{r,u}Pro /jamf-pro-server-url, /jamf-pro-server-url/history

Endpoints with no permission

/jamf-pro-information and /jamf-pro-version are unauthenticated and need no capability. The /notifications list is also unauthenticated, although dismissing a notification needs dismiss-notifications:{x}.

Resources with no capability

ResourceReason
Personal device profiles (BYOD)Deprecated
Managed preference profiles (legacy MCX)Deprecated
Peripherals and peripheral typesDeprecated
macOS compliance baselines (Protect listBaselineRules)Deprecated
Jamf Pro API roles, API privileges, API integrationsManaged in Jamf Account

Related articles