canonical: https://jentic.com/apis/console.jumpcloud.com/jumpcloud

# Console Jumpcloud JumpCloud API

The JumpCloud V2 API is the management interface for JumpCloud's open directory platform, used to administer users, devices (Mac/Windows/Linux/Apple MDM/Microsoft MDM), groups, applications, policies, and identity provider integrations from a single control plane. The 416 endpoints cover the JumpCloud Graph (objects, groupings, mappings, associations) plus targeted resources such as Active Directory bindings, RADIUS and LDAP servers, SSO applications, software apps, password manager, and SCIM/Workday/Office 365 imports. Use it to automate joiner/mover/leaver flows, device enrollment, and policy assignment.

## For AI agents

Manage JumpCloud users, devices, groups, applications, policies, and directory bindings programmatically. Useful for agents that automate joiner/mover/leaver workflows or device fleet operations.

## Scope

Does not handle endpoint security telemetry, ticketing, or HRIS source-of-record changes - use for JumpCloud directory, device, and policy administration only.

## Capabilities

- Provision a new user and bind them to user groups, applications, and systems
- Manage user-to-system, user-to-group, and group-to-application associations through the JumpCloud Graph
- Push policies to system groups (FDE, screen lock, password complexity) and inspect aggregated policy stats
- Enroll and unenroll Apple MDM and Microsoft MDM devices and pull device inventory
- Configure RADIUS and LDAP servers and bind users and user groups to them
- Run SCIM, Workday, Office 365, or G Suite imports to seed or sync the directory
- Process access requests with create, update, and revoke flows

## Use cases

### Joiner Automation from HRIS

When a new hire is created in the HRIS, an agent calls POST to the users resource to provision a JumpCloud account, then uses the JumpCloud Graph association endpoints to bind the user to the appropriate user groups, system groups, and SSO applications based on department. The hire arrives day one with email, laptop policies, and SSO apps already wired up, and the entire flow is auditable through standard logs.

Example prompt: Create a JumpCloud user with email new.hire@example.com, then create an association from that user to the engineering user group via the JumpCloud Graph.

### Leaver Automation

On termination, an agent runs a sequence: unbind the user from all groups, suspend or delete the user, revoke any open access requests, and lock or wipe MDM-enrolled devices. The full lifecycle stays inside JumpCloud rather than spread across discrete tools, which closes the audit gap that often exists between an HRIS event and SSO de-provisioning.

Example prompt: On termination of user 12345, list and remove their group associations via the JumpCloud Graph, call POST /accessrequests/{accessId}/revoke for any active requests, then delete the user.

### Device Fleet Reporting

Pull a fleet inventory from JumpCloud and System Insights for compliance reporting. The agent enumerates systems and Apple/Microsoft MDM devices, joins by user assignment, and emits a CSV or pushes to a SIEM. This gives security and IT a current device-to-user mapping without screen-scraping the JumpCloud admin console.

Example prompt: Page through the systems and applemdms device endpoints, join with user bindings, and emit a fleet-2026-q2.csv with columns user_email, device_serial, os, last_contact.

### AI Agent IT Operations via Jentic

Give a help-desk assistant the ability to look up users, reset access, and run small lifecycle changes in JumpCloud. The agent searches Jentic for create a jumpcloud user, loads the operation schema, and executes it with the x-api-key isolated in your Jentic One instance. Because JumpCloud has 416 endpoints, intent-based discovery is the difference between a usable assistant and one that hallucinates resource names.

Example prompt: Through Jentic, search create a jumpcloud user, load the matching POST schema, and execute it for the new hire's name and email.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /accessrequests | Create an access request |
| POST | /accessrequests/{accessId}/revoke | Revoke an access request |
| GET | /activedirectories | List Active Directory integrations |
| POST | /activedirectories/{activedirectory_id}/associations | Manage AD associations |
| GET | /applemdms/{apple_mdm_id}/devices | List Apple MDM devices |
| POST | /administrators/{id}/organizationlinks | Grant administrator access to an organization |

## Key resources

- **Users** — Manage user records and their bindings to groups, systems, and applications
- **User Groups** — Manage user groups and their members and associations
- **Systems** — Manage devices (Mac/Windows/Linux) enrolled in JumpCloud
- **System Groups** — Group systems for policy and access control
- **Applications** — SSO applications and SAML/OIDC configurations
- **Policies** — Manage and assign device policies (FDE, password, screen lock)
- **Active Directory** — Bind to and sync from on-prem Active Directory
- **Apple MDM / Microsoft MDM** — Enroll, list, and manage MDM-enrolled devices
- **RADIUS Servers / LDAP Servers** — Manage RADIUS and LDAP integration servers and their user bindings
- **Graph** — JumpCloud Graph endpoints for objects, groupings, mappings, and associations

## Why Jentic

- **Setup:** Wiring the JumpCloud API by hand means sending an x-api-key header on every call and navigating a 416-operation surface across directory, device, and policy administration yourself. Through Jentic you install once, import the JumpCloud API from the API Directory, store the api_key once, and your agent calls it.
- **Permission scoping:** With this many operations, you limit the agent to the ones it needs, such as listing Active Directory integrations or reading Apple MDM devices, and it can call nothing outside that set. Administrative operations like revoking an access request or creating administrator organization links are only reachable if you include them in the allowed set.
- **Credential handling:** Your JumpCloud x-api-key is stored once, encrypted, by your own Jentic One instance and injected into the x-api-key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list Active Directory integrations' or 'read Apple MDM devices', and Jentic returns the matching JumpCloud operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Okta API** — Okta is a hosted workforce and customer identity platform with deep SSO, lifecycle, and policy features
- **OneLogin API** — OneLogin is a unified access management platform competing in workforce SSO
- **Jamf API** — Jamf is a dedicated Apple device management platform

## FAQ

### What authentication does the JumpCloud API use?

It uses an API key passed in the x-api-key header. Keys are issued from the JumpCloud admin console and scoped to the calling administrator's permissions. Through Jentic the key lives in the vault and is added server-side, so the raw key never enters the agent's prompt.

### Can I bind a user to a group through the API?

Yes. JumpCloud models bindings as Graph associations. POST to /usergroups/{group_id}/members or use the JumpCloud Graph association endpoints under /v2 to attach and detach users from user groups, and the same pattern applies to system-to-group and group-to-application bindings.

### How do I enroll an Apple device in JumpCloud MDM?

Configure the Apple MDM resource (POST to /applemdms-related setup endpoints) to upload the CSR and DEP key, then enroll devices via the standard Apple Business Manager flow. The API exposes /applemdms/{apple_mdm_id}/devices for listing and /applemdms/{apple_mdm_id}/devices/{device_id} (DELETE) to remove enrollment.

### What are the rate limits for the JumpCloud API?

JumpCloud applies per-organization rate limits and recommends exponential backoff on HTTP 429 responses. The exact thresholds are documented in JumpCloud's Help Center; agents should respect Retry-After headers and retry idempotent calls only.

### Can I revoke an access request via the API?

Yes. POST /accessrequests/{accessId}/revoke revokes a previously approved or pending access request. This is the supported path for offboarding flows that need to undo just-in-time access alongside disabling the user.

### How do I provision a JumpCloud user through Jentic?

Run pip install jentic, then await client.search('create a jumpcloud user'), load the matching operation schema, and execute it. The underlying call creates the user and the follow-up search create a jumpcloud graph association covers binding them into groups.

### Can I limit what my agent is allowed to do with the JumpCloud API?

Yes. Because you run Jentic One yourself, you decide which of the JumpCloud API's 416 operations your agent can reach, so you can allow read-only calls like listing Active Directory integrations or reading Apple MDM devices while excluding everything else. Sensitive administrative operations, such as revoking an access request or creating administrator organization links, are only callable if you explicitly add them to the allowed set. Your JumpCloud x-api-key is stored by your own instance and injected server-side, so the agent operates strictly within the operations and credentials your rules permit.
