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

# Connect Jamf Pro with OAuth 2.0 (Client Credentials) – StackOne Hub

> Link a Jamf Pro account in the StackOne Hub using OAuth 2.0 (Client Credentials). End-user guide to authorize the integration and start using Jamf Pro actions.

> [!WARNING]
>
> Requires Jamf Pro 10.49.0 or later. You must be a Jamf Pro administrator of the tenant.

Select Actions to adjust the guideSome actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.

Select all
Clear

ActionScope(s)

Loading actions...No actions match your search.

Dynamic Guide URL

Copy URL

Scopes Selected

<pre role="textbox" aria-readonly="true" tabIndex="0" />

Separator

Copy scopes

## Create an API Role

An API Role groups one or more Jamf Pro privileges (e.g. "Read Computers", "Update Mobile Devices") that the API Client will be allowed to exercise.

**1. Create the role**

Sign in as a Jamf Pro administrator at `https://<your-tenant>.jamfcloud.com` (Jamf Cloud) or your self-hosted Jamf Pro URL, then go to **Settings > System > API Roles and Clients** and open the **API Roles** tab.

<ul>
  <li>Click **+ New**.</li>
  <li>**Display Name**: `StackOne Integration`</li>
</ul>

**2. Select the privileges**

Enables actions: Add Computer Prestage Scope, Add Mobile Device Prestage Scope, Create App Installer Deployment, Create Building, Create Category, Create Department, Create MDM Command, Create Mobile Device Smart Group, Create Mobile Device Static Group, Create Policy, Create Printer, Create Script, Create Smart Computer Group, Create Static Computer Group, Create User, Delete Building, Delete Category, Delete Computer, Delete Department, Delete Policy, Delete Script, Delete Smart Computer Group, Delete Static Computer Group, Delete User, Erase Mobile Device, Find MacOS Configuration Profiles, Find Mobile Device Configuration Profiles, Find Policies, Find Policies By Category, Find Policy, Get App Installer Deployment, Get App Installer Title, Get Building, Get Categories, Get Category, Get Computer, Get Computer Detail, Get Computer Extension Attribute, Get Computer FileVault, Get Computer Prestage, Get Computer Prestage Scope, Get Computers, Get Department, Get MDM Commands, Get Mac Application, Get MacOS Configuration Profile, Get Mobile Device, Get Mobile Device Application, Get Mobile Device Configuration Profile, Get Mobile Device Detail, Get Mobile Device Extension Attribute, Get Mobile Device Prestage, Get Mobile Device Prestage Scope, Get Mobile Device Smart Group, Get Mobile Device Smart Groups, Get Mobile Device Static Group, Get Mobile Device Static Groups, Get Mobile Devices, Get Package, Get Patch Software Title Configuration, Get Printer, Get Restricted Software, Get Script, Get Smart Computer Group, Get Static Computer Group, Get Unified Group, Get Unified User, Get User, Get User Extension Attribute, Get Users, List App Installer Deployments, List App Installer Titles, List Computer Extension Attributes, List Computer Prestage Scopes, List Computer Prestages, List Mac Applications, List Mobile Device Applications, List Mobile Device Extension Attributes, List Mobile Device Prestage Scopes, List Mobile Device Prestages, List Packages, List Patch Policies, List Patch Software Title Configurations, List Printers, List Restricted Software, List Unified Groups, List Unified Users, List User Extension Attributes, Remove Computer Prestage Scope, Remove Mobile Device Prestage Scope, Replace Computer Prestage Scope, Replace Mobile Device Prestage Scope, Replace Script, Search Buildings, Search Computer Smart Groups, Search Computer Static Groups, Search Departments, Search Scripts, Update Computer, Update Mobile Device, Update Mobile Device Static Group, Update Policy, Update Printer, Update Static Computer Group, Update Static Computer Group Membership, Update User

Add each of these privileges to the role.

<ul>
  <li>
    Read Account Groups
  </li>

  <li>
    Read Accounts
  </li>

  <li>
    Read Buildings
  </li>

  <li>
    Create Buildings
  </li>

  <li>
    Delete Buildings
  </li>

  <li>
    Read Categories
  </li>

  <li>
    Create Categories
  </li>

  <li>
    Delete Categories
  </li>

  <li>
    Read Computer Extension Attributes
  </li>

  <li>
    Read Computer PreStage Enrollments
  </li>

  <li>
    Update Computer PreStage Enrollments
  </li>

  <li>
    Read Computers
  </li>

  <li>
    Update Computers
  </li>

  <li>
    Delete Computers
  </li>

  <li>
    Read Departments
  </li>

  <li>
    Create Departments
  </li>

  <li>
    Delete Departments
  </li>

  <li>
    Read iOS Configuration Profiles
  </li>

  <li>
    Read Mac Applications
  </li>

  <li>
    Create Mac Applications
  </li>

  <li>
    Read macOS Configuration Profiles
  </li>

  <li>
    Read Mobile Device Applications
  </li>

  <li>
    Read Mobile Device Extension Attributes
  </li>

  <li>
    Read Mobile Device PreStage Enrollments
  </li>

  <li>
    Update Mobile Device PreStage Enrollments
  </li>

  <li>
    Read Mobile Devices
  </li>

  <li>
    Update Mobile Devices
  </li>

  <li>
    Read Packages
  </li>

  <li>
    Read Patch Management Software Titles
  </li>

  <li>
    Read Patch Policies
  </li>

  <li>
    Read Policies
  </li>

  <li>
    Create Policies
  </li>

  <li>
    Update Policies
  </li>

  <li>
    Delete Policies
  </li>

  <li>
    Read Printers
  </li>

  <li>
    Create Printers
  </li>

  <li>
    Update Printers
  </li>

  <li>
    Read Restricted Software
  </li>

  <li>
    Read Scripts
  </li>

  <li>
    Create Scripts
  </li>

  <li>
    Update Scripts
  </li>

  <li>
    Delete Scripts
  </li>

  <li>
    Read Self Service
  </li>

  <li>
    Read Smart Computer Groups
  </li>

  <li>
    Create Smart Computer Groups
  </li>

  <li>
    Delete Smart Computer Groups
  </li>

  <li>
    Read Smart Mobile Device Groups
  </li>

  <li>
    Create Smart Mobile Device Groups
  </li>

  <li>
    Read Static Computer Groups
  </li>

  <li>
    Create Static Computer Groups
  </li>

  <li>
    Update Static Computer Groups
  </li>

  <li>
    Delete Static Computer Groups
  </li>

  <li>
    Read Static Mobile Device Groups
  </li>

  <li>
    Create Static Mobile Device Groups
  </li>

  <li>
    Update Static Mobile Device Groups
  </li>

  <li>
    Read User
  </li>

  <li>
    Create User
  </li>

  <li>
    Update User
  </li>

  <li>
    Delete User
  </li>

  <li>
    Read User Extension Attributes
  </li>

  <li>
    View Disk Encryption Recovery Key
  </li>

  <li>
    View MDM command information in Jamf Pro API
  </li>

  <li>
    Send Mobile Device Remote Wipe Command
  </li>
</ul>

**3. Save the role**

Click **Save**. The role is now available to be assigned to API Clients.

## Create an API Client

The API Client provides the **Client ID** and **Client Secret**.

**1. Create the client**

From **Settings > System > API Roles and Clients**, open the **API Clients** tab.

<ul>
  <li>Click **+ New**.</li>
  <li>**Display Name**: `StackOne`</li>
  <li>**API Roles**: the role you created</li>
  <li>**Access Token Lifetime**: how long, in seconds, issued access tokens remain valid</li>
  <li>**Enabled**: **ON**</li>
  <li>Click **Save**.</li>
</ul>

**2. Copy the Client ID**

The **Client ID** identifies the API Client.

<ul>
  <li>Copy the **Client ID** (a UUID) across.</li>
</ul>

**3. Generate the Client Secret**

The **Client Secret** authenticates the API Client. Jamf Pro shows it **only once**.

<ul>
  <li>Click **Generate Client Secret**.</li>
  <li>Copy the **Client Secret** across.</li>
</ul>

## Find your Jamf Pro URL

Your **Jamf Pro URL** is the address you use to open the Jamf Pro web console.

<ul>
  <li>Format: `https://{subdomain}.jamfcloud.com`</li>
  <li>Example: `https://acme.jamfcloud.com`</li>
  <li>Self-hosted deployments use their own server URL, such as `https://jamf.example.com:8443`.</li>
  <li>Do not add a trailing slash.</li>
</ul>

## Link the Account

**1. Connect**

<ul>
  <li>Click **Connect**.</li>
  <li>If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider's authorization flow.</li>
  <li>Once authorization is successful, you will see a confirmation popup.</li>
</ul>

**2. Use Actions**

Connect an AI platform to the linked account's actions. See [AI Platforms](https://docs.stackone.com/connect/ai-platforms/overview.md).

Other ways to call actions are listed in [Protocols & SDKs](https://docs.stackone.com/connect/protocols-and-sdks.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.