JumpCloud API

Directory platform for IT management

docs.jumpcloud.com/api ↗
Version
2.0
OpenAPI
3.0.0
Endpoints
416
Schemas
669
82
Quality
Updated
3 days ago
Identity identity directory it-management
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://console.jumpcloud.com/api/v2

Endpoints

Clear filters

Activedirectory 2 endpoints

POST /activedirectories

This endpoint allows you to create a new Active Directory.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/activedirectories/ \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "domain": "{DC=AD_domain_name;DC=com}"
  }'
operationId: activedirectories_post

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema active-directory
Property Type Required
id string optional
domain string optional
useCase string optional
primaryAgent string optional

Responses

201
POST /activedirectories
POST /activedirectories/{activedirectory_id}/agents

This endpoint allows you to create a new Active Directory Agent.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{ "agent_type":"{SYNC}" }'
operationId: activedirectories_agentsPost

Parameters

Name In Required Type Description
activedirectory_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema active-directory-agent
Property Type Required
agentType string optional

Responses

201
POST /activedirectories/{activedirectory_id}/agents

Administrators 1 endpoints

POST /administrators/{id}/organizationlinks

This endpoint allows you to grant Administrator access to an Organization.

operationId: administratorOrganizations_createByAdministrator

Parameters

Name In Required Type Description
id path required string

Request Body

application/json
schema AdministratorOrganizationLinkReq
Property Type Required
organization string optional

Responses

201

OK

400
401
403
404
500
POST /administrators/{id}/organizationlinks

Applemdm 9 endpoints

POST /applemdms/{apple_mdm_id}/devices/{device_id}/clearActivationLock

Clears the activation lock on the specified device.

Sample Request

  curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/clearActivationLock \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{}'
operationId: applemdms_devicesClearActivationLock

Parameters

Name In Required Type Description
apple_mdm_id path required string
device_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/devices/{device_id}/clearActivationLock
POST /applemdms/{apple_mdm_id}/devices/{device_id}/erase

Erases a DEP-enrolled device.

Sample Request

  curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/erase \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{}'
operationId: applemdms_deviceserase

Parameters

Name In Required Type Description
apple_mdm_id path required string
device_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema ApplemdmsDeviceseraseRequest
Property Type Required
pin string optional

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/devices/{device_id}/erase
POST /applemdms/{apple_mdm_id}/devices/{device_id}/lock

Locks a DEP-enrolled device.

Sample Request

  curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/lock \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{}'
operationId: applemdms_deviceslock

Parameters

Name In Required Type Description
apple_mdm_id path required string
device_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema ApplemdmsDeviceslockRequest
Property Type Required
pin string optional

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/devices/{device_id}/lock
POST /applemdms/{apple_mdm_id}/devices/{device_id}/osUpdateStatus

Pass through to request the status of an OS update

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/osUpdateStatus \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{}'
operationId: applemdms_devicesOSUpdateStatus

Parameters

Name In Required Type Description
apple_mdm_id path required string
device_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/devices/{device_id}/osUpdateStatus
POST /applemdms/{apple_mdm_id}/devices/{device_id}/refreshActivationLockInformation

Refreshes the activation lock information for a device

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/refreshActivationLockInformation \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{}'
operationId: applemdms_devicesRefreshActivationLockInformation

Parameters

Name In Required Type Description
apple_mdm_id path required string
device_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/devices/{device_id}/refreshActivationLockInformation
POST /applemdms/{apple_mdm_id}/devices/{device_id}/restart

Restarts a DEP-enrolled device.

Sample Request

  curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/restart \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{"kextPaths": ["Path1", "Path2"]}'
operationId: applemdms_devicesrestart

Parameters

Name In Required Type Description
apple_mdm_id path required string
device_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema ApplemdmsDevicesrestartRequest
Property Type Required
kextPaths array optional

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/devices/{device_id}/restart
POST /applemdms/{apple_mdm_id}/devices/{device_id}/scheduleOSUpdate

Schedules an OS update for a device

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/scheduleOSUpdate \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{"install_action": "INSTALL_ASAP", "product_key": "key"}'
operationId: applemdms_devicesScheduleOSUpdate

Parameters

Name In Required Type Description
apple_mdm_id path required string
device_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema ScheduleOSUpdate
Property Type Required
product_key string required
install_action string required
max_user_deferrals integer optional

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/devices/{device_id}/scheduleOSUpdate
POST /applemdms/{apple_mdm_id}/devices/{device_id}/shutdown

Shuts down a DEP-enrolled device.

Sample Request

  curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/shutdown \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{}'
operationId: applemdms_devicesshutdown

Parameters

Name In Required Type Description
apple_mdm_id path required string
device_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/devices/{device_id}/shutdown
POST /applemdms/{apple_mdm_id}/refreshdepdevices

Refreshes the list of devices that a JumpCloud admin has added to their virtual MDM in Apple Business Manager - ABM so that they can be DEP enrolled with JumpCloud.

Sample Request

  curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/refreshdepdevices \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{}'
operationId: applemdms_refreshdepdevices

Parameters

Name In Required Type Description
apple_mdm_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Responses

204
400
401
403
404
409
500
POST /applemdms/{apple_mdm_id}/refreshdepdevices

Applications 2 endpoints

POST /applications/{application_id}/import/jobs

This endpoint allows you to create a user import job that will import new users and/or update existing users in JumpCloud from the application. The endpoint can currently only be used for applications that have an active Identity Management custom API integration. The request will fail with a “Not found” error for applications if that type of integration is not configured. To learn more about configuring this type of integration, read Import users from an external identity source using a custom API integration.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/applications/{application_id}/import/jobs \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-org-id: {ORG_ID}' \
-d '{
    "allowUserReactivation": true,
    "operations": [
        "users.create",
        "users.update"
    ]
    "queryString": "location=Chicago&department=IT"
  }'
operationId: import_create

Parameters

Name In Required Type Description
application_id path required string

ObjectID of the Application.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema ImportUsersRequest
Property Type Required
operations array optional
queryString string optional
allowUserReactivation boolean optional

Responses

200

OK

400
401
403
404
500
POST /applications/{application_id}/import/jobs
POST /applications/{application_id}/logo

This endpoint sets the logo for an application.

Sample Request

curl -X POST 'https://console.jumpcloud.com/api/v2/applications/{Application_ID}/logo \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}'
operationId: applications_postLogo

Parameters

Name In Required Type Description
application_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

multipart/form-data
schema ApplicationsPostLogoRequest
Property Type Required
image string optional

Responses

204

NO_CONTENT

400
401
403
404
409
500
POST /applications/{application_id}/logo

Authenticationpolicies 1 endpoints

POST /authn/policies

Create an authentication policy.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/authn/policies \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "name": "Sample Policy",
    "disabled": false,
    "effect": {
      "action": "allow"
    },
    "targets": {
      "users": {
        "inclusions": ["ALL"]
      },
      "userGroups": {
        "exclusions": [{USER_GROUP_ID}]
      },
      "resources": [ {"type": "user_portal" } ]
    },
    "conditions":{
      "ipAddressIn": [{IP_LIST_ID}]
    }
  }'
operationId: authnpolicies_post

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema AuthnPolicy
Property Type Required
id string optional
name string optional
type string optional
effect object optional
action string required
obligations object optional
mfa object optional
required boolean optional
userVerification object optional
requirement string optional
targets object optional
users object optional
inclusions array optional
resources array optional
id string optional
type string required
userGroups object optional
exclusions array optional
inclusions array optional
userAttributes object optional
exclusions array optional
field string optional
value object optional
operator string optional
inclusions array optional
field string optional
value object optional
operator string optional
disabled boolean optional
conditions object optional
description string optional

Responses

201

Created

400
401
403
404
409
500
POST /authn/policies

Bulkjobrequests 4 endpoints

POST /bulk/user/expires

The endpoint allows you to start a bulk job to asynchronously expire users.

operationId: bulk_userExpires

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema BulkUserExpiresRequest
array of object
Property Type Required
id string optional
attributes array optional
organization string optional

Responses

201

Created

POST /bulk/user/expires
POST /bulk/user/unlocks

The endpoint allows you to start a bulk job to asynchronously unlock users.

operationId: bulk_userUnlocks

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema BulkUserUnlocksRequest
array of object
Property Type Required
id string optional
attributes array optional
organization string optional

Responses

201

Created

POST /bulk/user/unlocks
POST /bulk/users

The endpoint allows you to create a bulk job to asynchronously create users.
See Create a System User
for the full list of attributes.

Default User State

The state of each user in the request can be explicitly passed in or
omitted. If state is omitted, then the user will get created
using the value returned from the
Get an Organization
endpoint. The default user state for bulk created users depends on the
creation-source header. For creation-source:jumpcloud:bulk the
default state is stored in settings.newSystemUserStateDefaults.csvImport.
For other creation-source header values, the default state is stored in
settings.newSystemUserStateDefaults.applicationImport

These default state values can be changed in the admin portal settings
or by using the
Update an Organization
endpoint.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/bulk/users \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-d '[
  {
    "email":"{email}",
    "firstname":"{firstname}",
    "lastname":"{firstname}",
    "username":"{username}",
    "attributes":[
      {
        "name":"EmployeeID",
        "value":"0000"
      },
      {
        "name":"Custom",
        "value":"attribute"
      }
    ]
  }
]'
operationId: bulk_usersCreate

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

creation-source header optional string

Defines the creation-source header for gapps, o365 and workdays requests.
If the header isn’t sent, the default value is jumpcloud:bulk, if you send the header with a malformed value you receive a 400 error.

Request Body

application/json
schema BulkUsersCreateRequest
array of object
Property Type Required
email string optional
lastname string optional
username string optional
firstname string optional
attributes array optional

Responses

201
POST /bulk/users
POST /bulk/userstates

This endpoint allows you to create scheduled statechange jobs.

Sample Request

curl -X POST "https://console.jumpcloud.com/api/v2/bulk/userstates" \
  -H 'x-api-key: {API_KEY}' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{
    "user_ids": ["{User_ID_1}", "{User_ID_2}", "{User_ID_3}"],
    "state": "SUSPENDED",
    "start_date": "2000-01-01T00:00:00.000Z"
  }'
operationId: bulk_userStatesCreate

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema bulk-scheduled-statechange-create
Property Type Required
state string required
user_ids array required
start_date string required
send_activation_emails boolean optional
activation_email_override string optional

Responses

201

Created

400

Bad Request

401

Unauthorized

500

Internal Server Error

POST /bulk/userstates

Customemails 1 endpoints

POST /customemails

Create the custom email configuration for the specified custom email type.

This action is only available to paying customers.

operationId: customEmails_create

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema CustomEmail
Property Type Required
id string optional
body string optional
type string required
title string optional
button string optional
header string optional
subject string required
nextStepContactInfo string optional

Responses

201

OK

400
401
403
404
409
500
POST /customemails

Duo 2 endpoints

POST /duo/accounts

Registers a Duo account for an organization. Only one Duo account will be allowed,
in case an organization has a Duo account already a 409 (Conflict) code will be returned.

Sample Request

  curl -X POST https://console.jumpcloud.com/api/v2/duo/accounts \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{}'
operationId: duo_accountPost

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Responses

201
400
401
403
404
409
500
POST /duo/accounts
POST /duo/accounts/{account_id}/applications

Creates a Duo application for your organization and the specified account.

Sample Request

  curl -X POST https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "name": "Application Name",
    "apiHost": "api-1234.duosecurity.com",
    "integrationKey": "1234",
    "secretKey": "5678"
  }'
operationId: duo_applicationPost

Parameters

Name In Required Type Description
account_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema DuoApplicationReq
Property Type Required
name string required
apiHost string required
secretKey string required
integrationKey string required

Responses

201
400
401
403
404
409
500
POST /duo/accounts/{account_id}/applications

Gsuite 3 endpoints

POST /gsuites/{gsuite_id}/domains

Add a domain to a specific Google Workspace directory sync integration instance. The domain must be a verified domain in Google Workspace.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/domains \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{"domain": "{domain name}"}'
operationId: GSuite_addDomain

Parameters

Name In Required Type Description
gsuite_id path required string

Id for the specific Google Workspace directory sync integration instance.

domain query optional string

Responses

default

An unexpected error response.

200

A successful response.

201

Created

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict

500

Internal Server Error

POST /gsuites/{gsuite_id}/domains
POST /gsuites/{gsuite_id}/import/schedules

Endpoint to create a scheduled job for specified Google Workspace integration.

operationId: GSuite_importSchedulesCreate

Parameters

Name In Required Type Description
gsuite_id path required string

ObjectID of the Google Workspace integration

Responses

default

An unexpected error response.

200

A successful response.

201

Created

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

POST /gsuites/{gsuite_id}/import/schedules
POST /gsuites/{gsuite_id}/translationrules

This endpoint allows you to create a translation rule for a specific G Suite instance. These rules specify how JumpCloud attributes translate to G Suite Admin SDK attributes.

Sample Request
curl -X POST https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    {Translation Rule Parameters}
  }'
operationId: translationRules_gSuitePost

Parameters

Name In Required Type Description
gsuite_id path required string

Request Body

application/json
schema GSuiteTranslationRuleRequest
Property Type Required
builtIn string optional
direction string optional

Responses

201
POST /gsuites/{gsuite_id}/translationrules

Googleemm 9 endpoints

POST /google-emm/devices/{deviceId}/erase-device

Removes the work profile and all policies from a personal/company-owned Android 8.0+ device. Company owned devices will be relinquished for personal use. Apps and data associated with the personal profile(s) are preserved.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/devices/{deviceId}/erase-device \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
operationId: Devices_EraseDevice

Parameters

Name In Required Type Description
deviceId path required string

Request Body

application/json
schema DevicesEraseDeviceRequest

Responses

200

A successful response.

POST /google-emm/devices/{deviceId}/erase-device
POST /google-emm/devices/{deviceId}/lock

Locks a Google EMM enrolled device, as if the lock screen timeout had expired.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/devices/{deviceId}/lock \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
operationId: Devices_LockDevice

Parameters

Name In Required Type Description
deviceId path required string

Request Body

application/json
schema DevicesEraseDeviceRequest

Responses

200

A successful response.

POST /google-emm/devices/{deviceId}/lock
POST /google-emm/devices/{deviceId}/reboot

Reboots a Google EMM enrolled device. Only supported on fully managed devices running Android 7.0 or higher.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/devices/{deviceId}/reboot \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
operationId: Devices_RebootDevice

Parameters

Name In Required Type Description
deviceId path required string

Request Body

application/json
schema DevicesEraseDeviceRequest

Responses

200

A successful response.

POST /google-emm/devices/{deviceId}/reboot
POST /google-emm/devices/{deviceId}/resetpassword

Reset the user’s password of a Google EMM enrolled device.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/devices/{deviceId}/resetpassword \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{ 'new_password' : 'string' }' \
operationId: Devices_ResetPassword

Parameters

Name In Required Type Description
deviceId path required string

Request Body

required
application/json
schema DevicesResetPasswordRequest
Property Type Required
flags array optional
newPassword string optional

Responses

200

A successful response.

POST /google-emm/devices/{deviceId}/resetpassword
POST /google-emm/enrollment-tokens

Gets an enrollment token to enroll a device into Google EMM.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/enrollment-tokens \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
operationId: EnrollmentTokens_CreateEnrollmentToken

Request Body

required
application/json
schema jumpcloud.google_emm.CreateEnrollmentTokenRequest
Property Type Required
duration string optional
zeroTouch boolean optional
displayName string optional
oneTimeOnly boolean optional
createdWhere string optional
userObjectId string optional
enrollmentType string optional
allowPersonalUsage string optional
enterpriseObjectId string optional
provisioningExtras object optional
wifiSsid string optional
wifiPassword string optional
wifiSecurityType string optional
wifiHiddenNetwork boolean optional

Responses

200

A successful response.

POST /google-emm/enrollment-tokens
POST /google-emm/enterprises

Creates a Google EMM enterprise.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/enterprises \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{ 'signupUrlName': 'string', 'enrollmentToken': 'string' }' \
operationId: Enterprises_CreateEnterprise

Request Body

required
application/json
schema jumpcloud.google_emm.CreateEnterpriseRequest
Property Type Required
signupUrlName string optional
enrollmentToken string optional

Responses

200

A successful response.

POST /google-emm/enterprises
POST /google-emm/enterprises/{enterpriseObjectId}/enrollment-tokens

Gets an enrollment token to enroll a device into Google EMM.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/enterpries/{enterprise_object_id}/enrollment-tokens \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
operationId: EnrollmentTokens_CreateEnterprisesEnrollmentToken

Parameters

Name In Required Type Description
enterpriseObjectId path required string

Request Body

required
application/json
schema EnrollmentTokensCreateEnterprisesEnrollmentTokenRequest
Property Type Required
duration string optional
zeroTouch boolean optional
displayName string optional
oneTimeOnly boolean optional
createdWhere string optional
userObjectId string optional
enrollmentType string optional
allowPersonalUsage string optional
provisioningExtras object optional
wifiSsid string optional
wifiPassword string optional
wifiSecurityType string optional
wifiHiddenNetwork boolean optional

Responses

200

A successful response.

POST /google-emm/enterprises/{enterpriseObjectId}/enrollment-tokens
POST /google-emm/signup-urls

Creates a Google EMM enterprise signup URL.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/signup-urls \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
operationId: SignupURLs_Create

Responses

200

A successful response.

POST /google-emm/signup-urls
POST /google-emm/web-tokens

Creates a web token to access an embeddable managed Google Play web UI for a given Google EMM enterprise.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/google-emm/web-tokens \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
operationId: WebTokens_CreateWebToken

Request Body

required
application/json
schema jumpcloud.google_emm.CreateWebTokenRequest
Property Type Required
iframeFeature string optional
parentFrameUrl string optional
enterpriseObjectId string optional

Responses

200

A successful response.

POST /google-emm/web-tokens

Graph 18 endpoints

POST /activedirectories/{activedirectory_id}/associations

This endpoint allows you to manage the direct associations of an Active Directory instance.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Active Directory and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/activedirectories/{AD_Instance_ID}/associations \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "user",
    "id": "{User_ID}"
  }'
operationId: graph_activeDirectoryAssociationsPost

Parameters

Name In Required Type Description
activedirectory_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-ActiveDirectory
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204
POST /activedirectories/{activedirectory_id}/associations
POST /applications/{application_id}/associations

This endpoint allows you to manage the direct associations of an Application. A direct association can be a non-homogeneous relationship between 2 different objects, for example Application and User Groups.

Sample Request

curl -X POST 'https://console.jumpcloud.com/api/v2/applications/{Application_ID}/associations' \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "user_group",
    "id": "{Group_ID}"
  }'
operationId: graph_applicationAssociationsPost

Parameters

Name In Required Type Description
application_id path required string

ObjectID of the Application.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-Application
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /applications/{application_id}/associations
POST /commands/{command_id}/associations

This endpoint will allow you to manage the direct associations of this Command.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Commands and User Groups.

Sample Request

 curl -X POST https://console.jumpcloud.com/api/v2/commands/{Command_ID}/associations \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "system_group",
    "id": "Group_ID"
  }'
operationId: graph_commandAssociationsPost

Parameters

Name In Required Type Description
command_id path required string

ObjectID of the Command.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-Command
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /commands/{command_id}/associations
POST /gsuites/{gsuite_id}/associations

This endpoint returns the direct associations of this G Suite instance.

A direct association can be a non-homogeneous relationship between 2 different objects, for example G Suite and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/gsuites/{Gsuite_ID}/associations \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "user_group",
    "id": "{Group_ID}"
  }'
operationId: graph_gSuiteAssociationsPost

Parameters

Name In Required Type Description
gsuite_id path required string

ObjectID of the G Suite instance.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-GSuite
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /gsuites/{gsuite_id}/associations
POST /identity-provider/policies/{idp_routing_policy_id}/associations

This endpoint manages the direct associations of a Routing Policy.

A direct association can be a non-homogeneous relationship between 2 different objects, for example a Routing Policy and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/identity-provider/policies/{IDP_ROUTING_POLICY_ID}/associations?targets=user \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}'
  -d '{"type":"user", "id":"{USER_ID}", "op":"add"}'
operationId: graph_idpRoutingPolicyAssociationsPost

Parameters

Name In Required Type Description
idp_routing_policy_id path required string

ObjectID of the Routing Policy.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-IDPRoutingPolicy
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /identity-provider/policies/{idp_routing_policy_id}/associations
POST /ldapservers/{ldapserver_id}/associations

This endpoint allows you to manage the direct associations of a LDAP Server.

A direct association can be a non-homogeneous relationship between 2 different objects, for example LDAP and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "user",
    "id": "{User_ID}"
  }'
operationId: graph_ldapServerAssociationsPost

Parameters

Name In Required Type Description
ldapserver_id path required string

ObjectID of the LDAP Server.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-LdapServer
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /ldapservers/{ldapserver_id}/associations
POST /office365s/{office365_id}/associations

This endpoint allows you to manage the direct associations of a Office 365 instance.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Office 365 and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "user_group",
    "id": "{Group_ID}"
  }'
operationId: graph_office365AssociationsPost

Parameters

Name In Required Type Description
office365_id path required string

ObjectID of the Office 365 instance.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-Office365
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /office365s/{office365_id}/associations
POST /policies/{policy_id}/associations

This endpoint allows you to manage the direct associations of a Policy.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Policies and Systems.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/policies/{Policy_ID}/associations/ \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "system_group",
    "id": "{Group_ID}"
  }'
operationId: graph_policyAssociationsPost

Parameters

Name In Required Type Description
policy_id path required string

ObjectID of the Policy.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-Policy
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204
POST /policies/{policy_id}/associations
POST /policygroups/{group_id}/associations

This endpoint manages the direct associations of this Policy Group.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Policy Groups and Policies.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "system",
    "id": "{SystemID}"
  }'
operationId: graph_policyGroupAssociationsPost

Parameters

Name In Required Type Description
group_id path required string

ObjectID of the Policy Group.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-PolicyGroup
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /policygroups/{group_id}/associations
POST /policygroups/{group_id}/members

This endpoint allows you to manage the Policy members of a Policy Group.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/members \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "policy",
    "id": "{Policy_ID}"
  }'
operationId: graph_policyGroupMembersPost

Parameters

Name In Required Type Description
group_id path required string

ObjectID of the Policy Group.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-PolicyGroup-Member
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /policygroups/{group_id}/members
POST /radiusservers/{radiusserver_id}/associations

This endpoint allows you to manage the direct associations of a Radius Server.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Radius Servers and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/radiusservers/{RADIUS_ID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
	
"type":"user", 
"id":"{USER_ID}", 
"op":"add"
	
}'
operationId: graph_radiusServerAssociationsPost

Parameters

Name In Required Type Description
radiusserver_id path required string

ObjectID of the Radius Server.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-RadiusServer
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /radiusservers/{radiusserver_id}/associations
POST /softwareapps/{software_app_id}/associations

This endpoint allows you to associate or disassociate a software application to a system or system group.

Sample Request

$ curl -X POST https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-d '{
  "id": "<object_id>",
  "op": "add",
  "type": "system"
 }'
operationId: graph_softwareappsAssociationsPost

Parameters

Name In Required Type Description
software_app_id path required string

ObjectID of the Software App.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-SoftwareApp
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204
POST /softwareapps/{software_app_id}/associations
POST /systemgroups/{group_id}/associations

This endpoint allows you to manage the direct associations of a System Group.

A direct association can be a non-homogeneous relationship between 2 different objects, for example System Groups and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "user",
    "id": "{UserID}"
  }'
operationId: graph_systemGroupAssociationsPost

Parameters

Name In Required Type Description
group_id path required string

ObjectID of the System Group.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-SystemGroup
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /systemgroups/{group_id}/associations
POST /systemgroups/{group_id}/members

This endpoint allows you to manage the system members of a System Group.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/systemgroups/{Group_ID}/members \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "system",
    "id": "{System_ID}"
  }'
operationId: graph_systemGroupMembersPost

Parameters

Name In Required Type Description
group_id path required string

ObjectID of the System Group.

Date header optional string

Current date header for the System Context API

Authorization header optional string

Authorization header for the System Context API

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-SystemGroup-Member
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /systemgroups/{group_id}/members
POST /systems/{system_id}/associations

This endpoint allows you to manage the direct associations of a System.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Systems and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/systems/{System_ID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "attributes": {
      "sudo": {
        "enabled": true,
        "withoutPassword": false
      }
    },
    "op": "add",
    "type": "user",
    "id": "UserID"
  }'
operationId: graph_systemAssociationsPost

Parameters

Name In Required Type Description
system_id path required string

ObjectID of the System.

Date header optional string

Current date header for the System Context API

Authorization header optional string

Authorization header for the System Context API

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-System
Property Type Required
id string required
op string required
type string required
attributes object optional
sudo object optional
enabled boolean required
withoutPassword boolean required

Responses

204

OK

POST /systems/{system_id}/associations
POST /usergroups/{group_id}/associations

This endpoint manages the direct associations of this User Group.

A direct association can be a non-homogeneous relationship between 2 different objects, for example User Groups and Users.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "system",
    "id": "{SystemID}"
  }'
operationId: graph_userGroupAssociationsPost

Parameters

Name In Required Type Description
group_id path required string

ObjectID of the User Group.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-UserGroup
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /usergroups/{group_id}/associations
POST /usergroups/{group_id}/members

This endpoint allows you to manage the user members of a User Group.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/members \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "user",
    "id": "{User_ID}"
  }'
operationId: graph_userGroupMembersPost

Parameters

Name In Required Type Description
group_id path required string

ObjectID of the User Group.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-UserGroup-Member
Property Type Required
id string required
op string required
type string required
attributes object optional

Responses

204

OK

POST /usergroups/{group_id}/members
POST /users/{user_id}/associations

This endpoint allows you to manage the direct associations of a User.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Users and Systems.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/users/{UserID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "attributes": {
      "sudo": {
      "enabled": true,
        "withoutPassword": false
      }
    },
    "op": "add",
    "type": "system_group",
    "id": "{GroupID}"
  }'
operationId: graph_userAssociationsPost

Parameters

Name In Required Type Description
user_id path required string

ObjectID of the User.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema GraphOperation-User
Property Type Required
id string required
op string required
type string required
attributes object optional
sudo object optional
enabled boolean required
withoutPassword boolean required

Responses

204

OK

POST /users/{user_id}/associations

Iplists 1 endpoints

POST /iplists

Create an IP list.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/iplists \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "name": "Sample IP List",
    "ips": [
      "192.168.10.12",
      "192.168.10.20 - 192.168.10.30",
      "123.225.10.0/32"
    ]
  }'
operationId: iplists_post

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema IPListRequest
Property Type Required
ips array optional
name string optional
description string optional

Responses

201

Created

400
401
403
404
409
500
POST /iplists

Microsoftmdm 1 endpoints

POST /microsoft-mdm/configuration-files

This endpoint allows you to download the config file.

operationId: Enrollments_DownloadConfigFiles

Request Body

required
application/json
schema jumpcloud.microsoft_mdm.DownloadConfigFilesRequest

Responses

200

OK

POST /microsoft-mdm/configuration-files

Office365 2 endpoints

POST /office365s/{office365_id}/domains

Add a domain to a specific M365/Azure AD directory sync integration instance. The domain must be a verified domain in M365/Azure AD.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID}/domains \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{"domain": "{domain name}"}'
operationId: Domains_Insert

Parameters

Name In Required Type Description
office365_id path required string

Id for the specific M365/Azure AD directory sync integration instance.

Request Body

required
application/json
schema DomainsInsertRequest
Property Type Required
domain string optional

Responses

default

An unexpected error response.

200

A successful response.

201

Created

401
403
404
409
500
POST /office365s/{office365_id}/domains
POST /office365s/{office365_id}/translationrules

This endpoint allows you to create a translation rule for a specific Office 365 instance. These rules specify how JumpCloud attributes translate to Microsoft Graph attributes.

Sample Request
curl -X POST https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    {Translation Rule Parameters}
  }'
operationId: translationRules_office365Post

Parameters

Name In Required Type Description
office365_id path required string

Request Body

application/json
schema Office365TranslationRuleRequest
Property Type Required
builtIn string optional
direction string optional

Responses

201
400
POST /office365s/{office365_id}/translationrules

Policies 1 endpoints

POST /policies

This endpoint allows you to create a policy. Given the amount of configurable parameters required to create a Policy, we suggest you use the JumpCloud Admin Console to create new policies.

Sample Request
curl -X POST https://console.jumpcloud.com/api/v2/policies \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    {Policy_Parameters}
  }'
operationId: policies_post

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema PolicyCreateRequest
Property Type Required
name string required
notes string optional
values array optional
value string optional
sensitive boolean optional
configFieldID string optional
template object required
id string required

Responses

201

Created

POST /policies

Policygroups 1 endpoints

POST /policygroups

This endpoint allows you to create a new Policy Group.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/policygroups \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "name": "{Group_Name}"
  }'
operationId: PolicyGroups_createNew

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema PolicyGroupData
Property Type Required
name string required

Responses

201

Created

POST /policygroups

Providers 5 endpoints

POST /providers/{provider_id}/integrations/autotask

Creates a new Autotask integration for the provider. You must be associated with the provider to use this route. A 422 Unprocessable Entity response means the server failed to validate with Autotask.

operationId: autotask_createConfiguration

Parameters

Name In Required Type Description
provider_id path required string

Request Body

application/json
schema AutotaskIntegrationReq
Property Type Required
secret string required
username string required

Responses

201

Created

400
401
403
404
409
422

Unprocessable Entity. The server failed to validate credentials with ConnectWise.

500
POST /providers/{provider_id}/integrations/autotask
POST /providers/{provider_id}/integrations/connectwise

Creates a new ConnectWise integration for the provider. You must be associated with the provider to use this route. A 422 Unprocessable Entity response means the server failed to validate with ConnectWise.

operationId: connectwise_createConfiguration

Parameters

Name In Required Type Description
provider_id path required string

Request Body

application/json
schema ConnectwiseIntegrationReq
Property Type Required
url string required
companyId string required
publicKey string required
privateKey string required

Responses

201

Created

400
401
403
404
409
422

Unprocessable Entity. The server failed to validate credentials with ConnectWise.

500
POST /providers/{provider_id}/integrations/connectwise
POST /providers/{provider_id}/integrations/syncro

Creates a new Syncro integration for the provider. You must be associated with the provider to use this route. A 422 Unprocessable Entity response means the server failed to validate with Syncro.

operationId: syncro_createConfiguration

Parameters

Name In Required Type Description
provider_id path required string

Request Body

application/json
schema SyncroIntegrationReq
Property Type Required
apiToken string required
subdomain string required

Responses

201

Created

400
401
403
404
409
422

Unprocessable Entity. The server failed to validate credentials with Syncro.

500
POST /providers/{provider_id}/integrations/syncro
POST /providers/{provider_id}/administrators

This endpoint allows you to create a provider administrator. You must be associated with the provider to use this route. You must provide either role or roleName.

operationId: providers_postAdmins

Parameters

Name In Required Type Description
provider_id path required string

Request Body

application/json
schema ProviderAdminReq
Property Type Required
role string optional
email string required
lastname string optional
roleName string optional
firstname string optional
bindNoOrgs boolean optional
apiKeyAllowed boolean optional
enableMultiFactor boolean optional

Responses

200
401
POST /providers/{provider_id}/administrators
POST /providers/{provider_id}/organizations

This endpoint creates a new organization under the provider

operationId: providerOrganizations_createOrg

Parameters

Name In Required Type Description
provider_id path required string

Request Body

application/json
schema CreateOrganization
Property Type Required
name string optional
maxSystemUsers integer optional

Responses

201

CREATED

400

A ‘Bad Request’ error will be returned in one of the following scenarios:

  • The request payload contains fields that are not allowed (only ‘name’ and ‘maxSystemUsers’ are allowed).
  • The user creating the org specifies ‘maxSystemUsers’ in the request payload but does not have the organizations.billing scope.
  • The required field ‘name’ is missing from the request payload or is an empty string or a string that only contains whitespaces.
403

A ‘Forbidden’ error will be returned if organization creation is disabled for the provider.

500
POST /providers/{provider_id}/organizations

Pushverification 1 endpoints

POST /users/{userId}/pushendpoints/{pushEndpointId}/verify

Endpoint for sending a verification push notification

operationId: PushVerifications_Start

Parameters

Name In Required Type Description
userId path required string
pushEndpointId path required string

Request Body

required
application/json
schema PushVerificationsStartRequest
Property Type Required
message string optional

Responses

default

An unexpected error response.

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

429

Too Many Requests

500

Internal Server Error

POST /users/{userId}/pushendpoints/{pushEndpointId}/verify

Sambadomains 1 endpoints

POST /ldapservers/{ldapserver_id}/sambadomains

This endpoint allows you to create a samba domain for an LDAP server.

Sample Request
curl -X POST https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/sambadomains \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "sid":"{SID_ID}",
    "name":"{WORKGROUP_NAME}"
  }'
operationId: ldapservers_sambaDomainsPost

Parameters

Name In Required Type Description
ldapserver_id path required string

Unique identifier of the LDAP server.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema samba-domain
Property Type Required
id string optional
sid string required
name string required

Responses

201
POST /ldapservers/{ldapserver_id}/sambadomains

Softwareapps 4 endpoints

POST /softwareapps

This endpoint allows you to create a Software Application that will be managed by JumpCloud on associated JumpCloud systems.
The optional isConfigEnabled and appConfiguration apple_vpp attributes are not included in the response.

Sample Request

$ curl -X POST https://console.jumpcloud.com/api/v2/softwareapps \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-d '{
  "displayName": "Adobe Reader",
  "settings": [{"packageId": "adobereader"}]
}'
operationId: softwareApps_post

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema software-app
Property Type Required
id string optional
settings array optional
appleVpp object optional
details object optional
totalLicenses integer optional
isConfigEnabled boolean optional
appConfiguration string optional
assignedLicenses integer optional
availableLicenses integer optional
supportedDeviceFamilies array optional
location string optional
assetKind string optional
packageId string optional
autoUpdate boolean optional
description string optional
packageKind string optional
desiredState string optional
googleAndroid object optional
name string optional
type string optional
author string optional
iconUrl string optional
category string optional
startUrl string optional
appPricing string optional
appVersion string optional
updateTime string optional
displayMode string optional
installType string optional
versionCode integer optional
contentRating string optional
minSdkVersion integer optional
autoUpdateMode string optional
androidFeatures array optional
fullDescription string optional
permissionGrants array optional
id string optional
policy string optional
managedProperties boolean optional
runtimePermission string optional
…2 more object optional
storedPackage object optional
objectId string optional
versions array optional
name string optional
size integer optional
status string optional
version integer optional
metadata object optional
sha256sum string optional
rejectedReason string optional
microsoftStore object optional
doNotUpdate boolean optional
nonRemovable boolean optional
packageFamilyName string optional
packageManager string optional
packageVersion string optional
assetSha256Size integer optional
packageSubtitle string optional
allowUpdateDelay boolean optional
locationObjectId string optional
assetSha256Strings array optional
enterpriseObjectId string optional
commandLineArguments string optional
…1 more object optional
displayName string optional

Responses

201

Created

POST /softwareapps
POST /softwareapps/validate

Validates an application install package from the specified URL to calculate the SHA256 hash and extract the installer manifest details.

Sample Request

curl -H 'x-api-key: {API_KEY}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"url": "https://dl.google.com/dl/chrome/mac/universal/stable/gcem/GoogleChrome.pkg"}' \
-i -X POST https://console.jumpcloud.com/api/v2/softwareapps/validate
operationId: Validator_ValidateApplicationInstallPackage

Request Body

required
application/json
schema jumpcloud.package_validator.ValidateApplicationInstallPackageRequest
Property Type Required
url string optional

Responses

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

POST /softwareapps/validate
POST /softwareapps/{software_app_id}/reclaim-licenses

This endpoint allows you to reclaim the licenses from a software app associated with devices that are deleted.

Sample Request

$ curl -X POST https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/reclaim-licenses \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-d '{}'
operationId: softwareApps_reclaimLicenses

Parameters

Name In Required Type Description
software_app_id path required string

Responses

200

Reclaim Licenses Response

POST /softwareapps/{software_app_id}/reclaim-licenses
POST /softwareapps/{software_app_id}/retry-installation

This endpoints initiates an installation retry of an Apple VPP App for the provided system IDs

Sample Request

$ curl -X POST https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/retry-installation \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-d '{"system_ids": "{<system_id_1>, <system_id_2>, ...}"}'
operationId: softwareApps_retryInstallation

Parameters

Name In Required Type Description
software_app_id path required string

Responses

204

No Content

400
POST /softwareapps/{software_app_id}/retry-installation

Systemgroups 2 endpoints

POST /systemgroups

This endpoint allows you to create a new System Group.

See the Dynamic Group Configuration KB article for more details on maintaining a Dynamic Group.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/systemgroups \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "name": "{Group_Name}"
  }'
operationId: SystemGroups_createNewGroup

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema SystemGroupPost
Property Type Required
name string required
email string optional
attributes object optional
description string optional
memberQuery object optional
queryType string required
filters array optional
membershipMethod string optional
memberQueryExemptions array optional
id string required
type string required
attributes object optional
memberSuggestionsNotify boolean optional

Responses

201

Created

POST /systemgroups
POST /systemgroups/{group_id}/suggestions

This endpoint applies the suggestions for the specified system group.

Sample Request

curl -X PUT https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/suggestions \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
         "object_ids": ["212345678901234567890123",
                      "123456789012345678901234"]
     }'
operationId: SystemGroups_applySuggestions

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

group_id path required string

ID of the group

Request Body

required
application/json
schema SystemGroupsApplySuggestionsRequest
Property Type Required
object_ids array optional

Responses

200

OK

POST /systemgroups/{group_id}/suggestions

Systems 2 endpoints

POST /accessrequests

Endpoint for adding a new access request

operationId: AccessRequestApi_CreateAccessRequest

Request Body

required
application/json
schema jumpcloud.ingresso.CreateAccessRequestsRequest
Property Type Required
expiry string optional
remarks string optional
resourceId string optional
operationId string optional
requestorId string optional
resourceType string optional
applicationIntId string optional
additionalAttributes object optional
organizationObjectId string optional

Responses

default

An unexpected error response.

200

A successful response.

POST /accessrequests
POST /accessrequests/{accessId}/revoke

Endpoint for revoking access request by id

operationId: AccessRequestApi_RevokeAccessRequest

Parameters

Name In Required Type Description
accessId path required string

Responses

default

An unexpected error response.

200

A successful response.

POST /accessrequests/{accessId}/revoke

Usergroups 2 endpoints

POST /usergroups

This endpoint allows you to create a new User Group.

See the Dynamic Group Configuration KB article for more details on maintaining a Dynamic Group.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/usergroups \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "name": "{Group_Name}"
  }'
operationId: UserGroups_createNewGroup

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema UserGroupPost
Property Type Required
name string required
email string optional
attributes object optional
sudo object optional
enabled boolean required
withoutPassword boolean required
ldapGroups array optional
name string optional
posixGroups array optional
id integer required
name string required
radius object optional
reply array optional
name string required
value string required
sambaEnabled boolean optional
description string optional
memberQuery object optional
queryType string required
filters array optional
membershipMethod string optional
memberQueryExemptions array optional
id string required
type string required
attributes object optional
memberSuggestionsNotify boolean optional

Responses

201

Created

POST /usergroups
POST /usergroups/{group_id}/suggestions

This endpoint applies the suggestions for the specified user group.

Sample Request

curl -X PUT https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/suggestions \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
         "user_ids": ["212345678901234567890123",
                      "123456789012345678901234"]
     }'
operationId: UserGroups_applySuggestions

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

group_id path required string

ID of the group

Request Body

required
application/json
schema UserGroupsApplySuggestionsRequest
Property Type Required
user_ids array optional

Responses

200

OK

POST /usergroups/{group_id}/suggestions

Workdayimport 3 endpoints

POST /workdays

This endpoint allows you to create a new workday instance.

You must supply a username and password for Basic Authentication that is the same as your WorkDay Integrator System User. Failure to provide these credentials will result in the request being rejected.

Currently O-Auth isn’t a supported authentication protocol for WorkDay, but will be in the future.

Currently, only one instance is allowed and it must be Workday Import.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/workdays/ \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "name": "Workday2",
    "reportUrl":"https://workday.com/ccx/service/customreport2/gms/user/reportname?format=json",
    "auth": {
      "basic": {
        "username": "someDeveloper",
        "password": "notTheRealPassword"
      }
    }
  }'
operationId: workdays_post

Parameters

Name In Required Type Description
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema workday-input
Property Type Required
auth object optional
basic object optional
password string optional
username string optional
oauth object optional
code string optional
name string optional
reportUrl string optional

Responses

201
POST /workdays
POST /workdays/{workday_id}/auth

This endpoint adds an authorization method to a workday instance.

You must supply a username and password for Basic Authentication that is the same as your WorkDay Integrator System User. Failure to provide these credentials will result in the request being rejected.

Currently O-Auth isn’t a supported authentication protocol for WorkDay, but will be in the future.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/workdays/{WorkDayID}/auth \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
	"auth":{
	  "basic": {
		"username": "someDeveloper",	  
		"password": "notTheRealPassword"

	  }
	}
}'

operationId: workdays_authorize

Parameters

Name In Required Type Description
workday_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema auth-input-object
Property Type Required
auth object optional
basic object optional
password string optional
username string optional
oauth object optional
code string optional

Responses

204
POST /workdays/{workday_id}/auth
POST /workdays/{workday_id}/import

The endpoint allows you to create a Workday Import request.

Sample Request

curl -X POST https://console.jumpcloud.com/api/v2/workdays/{WorkdayID}/import \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '[
	{
		"email":"{email}",
		"firstname":"{firstname}",
		"lastname":"{firstname}",
		"username":"{username}",
		"attributes":[
			{"name":"EmployeeID","value":"0000"},
			{"name":"WorkdayID","value":"name.name"}
			]
		
	}
]
operationId: workdays_import

Parameters

Name In Required Type Description
workday_id path required string
x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema BulkUsersCreateRequest
array of object
Property Type Required
email string optional
lastname string optional
username string optional
firstname string optional
attributes array optional

Responses

201
POST /workdays/{workday_id}/import

Schemas

object ADE
{
  "type": "object",
  "title": "ADE",
  "properties": {
    "setupOptions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SetupAssistantOption"
      },
      "description": "A list of configured setup options for this enrollment."
    },
    "welcomeScreen": {
      "$ref": "#/components/schemas/DEPWelcomeScreen"
    },
    "setupAssistantOptions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DEPSetupAssistantOption"
      },
      "description": "A Setup Option wrapped as an object",
      "x-deprecated": true
    },
    "enableZeroTouchEnrollment": {
      "type": "boolean",
      "description": "A toggle to determine if ADE registered devices should go through JumpCloud Zero Touch Enrollment."
    },
    "defaultDeviceGroupObjectIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "nullable": true,
      "description": "An array of ObjectIDs identifying the default device groups for this specific type (based on the OS family) of automated device enrollment. Currently, only a single DeviceGroupID is supported."
    }
  }
}
object ADES
{
  "type": "object",
  "title": "ADES",
  "properties": {
    "ios": {
      "$ref": "#/components/schemas/ADE"
    },
    "macos": {
      "$ref": "#/components/schemas/ADE"
    }
  }
}
object AccessRequestApiRevokeAccessRequestResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object AccessRequestApiUpdateAccessRequestRequest
{
  "type": "object",
  "properties": {
    "expiry": {
      "type": "string",
      "format": "date-time"
    },
    "remarks": {
      "type": "string"
    },
    "additionalAttributes": {
      "type": "object"
    },
    "organizationObjectId": {
      "type": "string",
      "format": "byte"
    }
  }
}
object AccessRequestApiUpdateAccessRequestResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
array ActivedirectoriesAgentsListResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/active-directory-agent-list"
  }
}
array ActivedirectoriesListResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/active-directory"
  }
}
object Address
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "maxLength": 1024
    },
    "poBox": {
      "type": "string",
      "maxLength": 1024
    },
    "region": {
      "type": "string",
      "maxLength": 1024
    },
    "country": {
      "type": "string",
      "maxLength": 1024
    },
    "locality": {
      "type": "string",
      "maxLength": 1024
    },
    "postalCode": {
      "type": "string",
      "maxLength": 1024
    },
    "streetAddress": {
      "type": "string",
      "maxLength": 1024
    },
    "extendedAddress": {
      "type": "string",
      "maxLength": 1024
    }
  }
}
object Administrator
{
  "type": "object",
  "title": "Administrator",
  "example": {
    "id": "0123456789abcdef01234567",
    "email": "joe@example.com",
    "lastname": "Blough",
    "firstname": "Joe",
    "registered": false,
    "enableMultiFactor": true
  },
  "properties": {
    "id": {
      "type": "string"
    },
    "role": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "roleName": {
      "type": "string"
    },
    "apiKeySet": {
      "type": "boolean"
    },
    "firstname": {
      "type": "string"
    },
    "suspended": {
      "type": "boolean"
    },
    "registered": {
      "type": "boolean"
    },
    "apiKeyAllowed": {
      "type": "boolean"
    },
    "enableMultiFactor": {
      "type": "boolean"
    },
    "organizationAccessTotal": {
      "type": "number"
    }
  }
}
object AdministratorOrganizationLink
{
  "type": "object",
  "title": "AdministratorOrganizationLink",
  "example": {
    "organization": "6230a0d26a4e4bc86c6b36f1",
    "administrator": "6230a0c233a6cbea7c470398"
  },
  "properties": {
    "organization": {
      "type": "string",
      "description": "The identifier for an organization"
    },
    "administrator": {
      "type": "string",
      "description": "The identifier for an administrator"
    }
  }
}
object AdministratorOrganizationLinkReq
{
  "type": "object",
  "title": "AdministratorOrganizationLinkReq",
  "example": {
    "organization": "6230a0d26a4e4bc86c6b36f1"
  },
  "properties": {
    "organization": {
      "type": "string",
      "description": "The identifier for an organization to link this administrator to."
    }
  }
}
array AdministratorOrganizationsListByAdministratorResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/AdministratorOrganizationLink"
  }
}
array AdministratorOrganizationsListByOrganizationResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/AdministratorOrganizationLink"
  }
}
object AnyValue
{
  "description": "Can be any value - string, number, boolean, array or object."
}
object AppleMDM
{
  "type": "object",
  "title": "AppleMDM",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ObjectId uniquely identifying an MDM Enrollment,"
    },
    "dep": {
      "$ref": "#/components/schemas/DEP"
    },
    "ades": {
      "$ref": "#/components/schemas/ADES"
    },
    "name": {
      "type": "string",
      "maxLength": 255,
      "description": "A friendly name to identify this enrollment.  Not required to be unique."
    },
    "organization": {
      "type": "string",
      "description": "The identifier for an organization"
    },
    "apnsPushTopic": {
      "type": "string",
      "description": "The push topic assigned to this enrollment by Apple after uploading the Signed CSR plist."
    },
    "apnsCertExpiry": {
      "type": "string",
      "description": "The expiration date and time for the APNS Certificate."
    },
    "depServerTokenState": {
      "enum": [
        "unknown",
        "missing",
        "valid",
        "expired"
      ],
      "type": "string",
      "description": "The state of the dep server token, presence and expiry."
    },
    "defaultSystemGroupID": {
      "type": "string",
      "description": "ObjectId uniquely identifying the MDM default System Group.",
      "x-deprecated": true
    },
    "depAccessTokenExpiry": {
      "type": "string",
      "description": "The expiration date and time for the DEP Access Token. This aligns with the DEP Server Token State."
    },
    "appleCertSerialNumber": {
      "type": "string",
      "description": "The serial number of the Apple signed certificate associated to the Device Manager."
    },
    "appleCertCreatorAppleID": {
      "type": "string",
      "description": "The Apple ID of the admin who created the Apple signed certificate associated to the Device Manager."
    },
    "allowMobileUserEnrollment": {
      "type": "boolean",
      "description": "A toggle to allow mobile device enrollment for an organization."
    },
    "defaultIosUserEnrollmentDeviceGroupID": {
      "type": "string",
      "description": "ObjectId uniquely identifying the MDM default iOS user enrollment device group."
    }
  }
}
object ApplemdmsDevicesClearActivationLock500Response
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesClearActivationLockResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesOsUpdateStatusResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesRefreshActivationLockInformation500Response
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesRefreshActivationLockInformationResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesScheduleOsUpdateResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDeviceserase500Response
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDeviceseraseRequest
{
  "type": "object",
  "properties": {
    "pin": {
      "type": "string",
      "example": "123456",
      "pattern": "^[0-9]{6}$",
      "description": "6-digit PIN, required for MacOS, to erase the device"
    }
  }
}
object ApplemdmsDeviceseraseResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
array ApplemdmsDeviceslistResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/apple-mdm-device"
  }
}
object ApplemdmsDeviceslock500Response
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDeviceslockRequest
{
  "type": "object",
  "properties": {
    "pin": {
      "type": "string",
      "example": "123456",
      "pattern": "^[0-9]{6}$",
      "description": "6-digit PIN, required for MacOS, to lock the device"
    }
  }
}
object ApplemdmsDeviceslockResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesrestart500Response
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesrestartRequest
{
  "type": "object",
  "properties": {
    "kextPaths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The string to pass when doing a restart and performing a RebuildKernelCache."
    }
  }
}
object ApplemdmsDevicesrestartResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesshutdown500Response
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsDevicesshutdownResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
array ApplemdmsEnrollmentprofileslistResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/AppleMDM"
  }
}
array ApplemdmsListResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/AppleMDM"
  }
}
object ApplemdmsRefreshdepdevices500Response
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplemdmsRefreshdepdevicesResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ApplicationsGetResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object ApplicationsPostLogoRequest
{
  "type": "object",
  "properties": {
    "image": {
      "type": "string",
      "format": "binary",
      "description": "The file to upload."
    }
  }
}
array Apps
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "osId": {
        "type": "integer",
        "format": "int32",
        "example": 1
      },
      "appVersion": {
        "type": "string",
        "example": "1.1.1"
      }
    }
  }
}
object AuthnPolicy
{
  "type": "object",
  "title": "AuthnPolicy",
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true
    },
    "name": {
      "type": "string"
    },
    "type": {
      "$ref": "#/components/schemas/AuthnPolicyType"
    },
    "effect": {
      "$ref": "#/components/schemas/AuthnPolicyEffect"
    },
    "targets": {
      "$ref": "#/components/schemas/AuthnPolicyTargets"
    },
    "disabled": {
      "type": "boolean"
    },
    "conditions": {
      "type": "object",
      "description": "Conditions may be added to an authentication policy using the following conditional language:\n\n```\n<conditions> ::= <expression>\n<expression> ::= <deviceEncrypted> | <deviceManaged> | <ipAddressIn> |\n                 <locationIn> | <notExpression> | <allExpression> |\n                 <anyExpression>\n<deviceEncrypted> ::= { \"deviceEncrypted\": <boolean> }\n<deviceManaged> ::= { \"deviceManaged\": <boolean> }\n<ipAddressIn> ::= { \"ipAddressIn\": [ <objectId>, ... ] }\n<locationIn> ::= { \"locationIn\": {\n                     \"countries\": [\n                       <iso_3166_country_code>, ...\n                     ]\n                   }\n                 }\n<notExpression> ::= { \"not\": <expression> }\n<allExpression> ::= { \"all\": [ <expression>, ... ] }\n<anyExpression> ::= { \"any\": [ <expression>, ... ] }\n```\n\nFor example, to add a condition that applies to IP addresses in a given list, the following condition can be added:\n\n```\n{\"ipAddressIn\": [ <ip_list_object_id> ]}\n```\n\nIf you would rather exclude IP addresses in the given lists, the following condition could be added:\n\n```\n{\n  \"not\": {\n    \"ipAddressIn\": [ <ip_list_object_id_1>, <ip_list_object_id_2> ]\n  }\n}\n```\n\nYou may also include more than one condition and choose whether \"all\" or \"any\" of them must be met for the policy to apply:\n\n```\n{\n  \"all\": [\n    {\n      \"ipAddressIn\": [ <ip_list_object_id>, ... ]\n    },\n    {\n      \"deviceManaged\": true\n    },\n    {\n      \"locationIn\": {\n        countries: [ <iso_3166_country_code>, ... ]\n      }\n    }\n  ]\n}\n```"
    },
    "description": {
      "type": "string"
    }
  },
  "description": "This represents an authentication policy.  See the details of each field for valid values and restrictions."
}
object AuthnPolicyEffect
{
  "type": "object",
  "title": "AuthnPolicyEffect",
  "required": [
    "action"
  ],
  "properties": {
    "action": {
      "enum": [
        "allow",
        "deny",
        "unknown"
      ],
      "type": "string"
    },
    "obligations": {
      "$ref": "#/components/schemas/AuthnPolicyObligations"
    }
  },
  "x-examples": {
    "example-deny": {
      "action": "deny"
    },
    "example-allow": {
      "action": "allow"
    },
    "example-allow-with-mfa": {
      "action": "allow",
      "obligations": {
        "mfa": {
          "required": true
        }
      }
    }
  }
}
object AuthnPolicyObligations
{
  "type": "object",
  "title": "AuthnPolicyObligations",
  "properties": {
    "mfa": {
      "type": "object",
      "properties": {
        "required": {
          "type": "boolean"
        }
      }
    },
    "userVerification": {
      "type": "object",
      "properties": {
        "requirement": {
          "enum": [
            "none",
            "optional",
            "required"
          ],
          "type": "string"
        }
      }
    }
  }
}
object AuthnPolicyResourceTarget
{
  "type": "object",
  "title": "AuthnPolicyResourceTarget",
  "required": [
    "type"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Object ID of the resource target. If undefined, then all resources of the given type are targeted."
    },
    "type": {
      "enum": [
        "user_portal",
        "application",
        "ldap"
      ],
      "type": "string"
    }
  }
}
object AuthnPolicyTargets
{
  "type": "object",
  "title": "AuthnPolicyTargets",
  "properties": {
    "users": {
      "$ref": "#/components/schemas/AuthnPolicyUserTarget"
    },
    "resources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AuthnPolicyResourceTarget"
      }
    },
    "userGroups": {
      "$ref": "#/components/schemas/AuthnPolicyUserGroupTarget"
    },
    "userAttributes": {
      "$ref": "#/components/schemas/AuthnPolicyUserAttributeTarget"
    }
  }
}
string AuthnPolicyType
{
  "enum": [
    "user_portal",
    "application",
    "ldap"
  ],
  "type": "string",
  "title": "AuthnPolicyType",
  "default": "user_portal"
}
object AuthnPolicyUserAttributeFilter
{
  "type": "object",
  "title": "AuthnPolicyUserAttributeFilter",
  "properties": {
    "field": {
      "type": "string",
      "description": "The only field that is currently supported is ldap_binding_user"
    },
    "value": {
      "$ref": "#/components/schemas/AnyValue"
    },
    "operator": {
      "enum": [
        "EQ"
      ],
      "type": "string"
    }
  }
}
object AuthnPolicyUserAttributeTarget
{
  "type": "object",
  "title": "AuthnPolicyUserAttributeTarget",
  "properties": {
    "exclusions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AuthnPolicyUserAttributeFilter"
      }
    },
    "inclusions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AuthnPolicyUserAttributeFilter"
      }
    }
  },
  "description": "User attribute targets are currently only supported for LDAP policies."
}
object AuthnPolicyUserGroupTarget
{
  "type": "object",
  "title": "AuthnPolicyUserGroupTarget",
  "properties": {
    "exclusions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "inclusions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
object AuthnPolicyUserTarget
{
  "type": "object",
  "title": "AuthnPolicyUserTarget",
  "properties": {
    "inclusions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}

Versions

Version Endpoints Schemas Ingested Status
2.0 416 669 2026-05-11 current
2.0 416 669 2026-04-20
2.0 416 669 2026-04-20
2.0 416 669 2026-04-16