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 1 endpoints

PATCH /activedirectories/{id}

This endpoint allows you to update Active Directory.

  • AD as Authority - password in AD - 2-way sync use case is selected.
  • JC as Authority - one-way sync from AD.
  • Two way sync - 2-way sync use case is selected

Sample Request

curl -X PATCH https://console.jumpcloud.com/api/v2/activedirectories/{Domain_ID} \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
        "domain": "{DC=DOMAIN;DC=COM}",
        "use_case": "{ADASAUTHORITY}"
    }' \
operationId: activedirectories_patch

Parameters

Name In Required Type Description
id path required string

ObjectID of this Active Directory instance.

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

200
PATCH /activedirectories/{id}

Authenticationpolicies 1 endpoints

PATCH /authn/policies/{id}

Patch the specified authentication policy.

Sample Request

curl -X PATCH https://console.jumpcloud.com/api/v2/authn/policies/{id} \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{ "disabled": false }'
operationId: authnpolicies_patch

Parameters

Name In Required Type Description
id path required string

Unique identifier of the authentication policy

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

200

OK

400
401
403
404
409
500
PATCH /authn/policies/{id}

Bulkjobrequests 1 endpoints

PATCH /bulk/users

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

Sample Request

curl -X PATCH https://console.jumpcloud.com/api/v2/bulk/users \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '[
	{
	  "id":"5be9fb4ddb01290001e85109",
		"firstname":"{UPDATED_FIRSTNAME}",
		"department":"{UPDATED_DEPARTMENT}",
		"attributes":[
			{"name":"Custom","value":"{ATTRIBUTE_VALUE}"}
		]
	},
	{
	  "id":"5be9fb4ddb01290001e85109",
		"firstname":"{UPDATED_FIRSTNAME}",
		"costCenter":"{UPDATED_COST_CENTER}",
		"phoneNumbers":[
			{"type":"home","number":"{HOME_PHONE_NUMBER}"},
			{"type":"work","number":"{WORK_PHONE_NUMBER}"}
		]
	}
]
operationId: bulk_usersUpdate

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 BulkUsersUpdateRequest
array of object
Property Type Required
id string optional
email string optional
lastname string optional
username string optional
firstname string optional
attributes array optional
organization string optional

Responses

201
PATCH /bulk/users

Gsuite 1 endpoints

PATCH /gsuites/{id}

This endpoint allows updating some attributes of a G Suite.

Sample Request
curl -X PATCH https://console.jumpcloud.com/api/v2/gsuites/{GSUITE_ID} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "userLockoutAction": "suspend",
    "userPasswordExpirationAction": "maintain"
  }'

Sample Request, set a default domain

curl -X PATCH https://console.jumpcloud.com/api/v2/gsuites/{GSUITE_ID} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "defaultDomain": {
        "id": "{domainObjectID}"
      }
  }'

Sample Request, unset the default domain

curl -X PATCH https://console.jumpcloud.com/api/v2/gsuites/{GSUITE_ID} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "defaultDomain": {}
  }'
operationId: gsuites_patch

Parameters

Name In Required Type Description
id path required string

Unique identifier of the GSuite.

x-org-id header optional string

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema gsuite
Property Type Required
id string optional
name string optional
defaultDomain object optional
id string optional
domain string optional
groupsEnabled boolean optional
userLockoutAction string optional
userPasswordExpirationAction string optional

Responses

200
PATCH /gsuites/{id}

Googleemm 1 endpoints

PATCH /google-emm/enterprises/{enterpriseId}

Updates a Google EMM enterprise details.

Sample Request

curl -X PATCH 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 '{ 'allowDeviceEnrollment': true, 'deviceGroupId': 'string' }' \
operationId: Enterprises_PatchEnterprise

Parameters

Name In Required Type Description
enterpriseId path required string

Request Body

required
application/json
schema EnterprisesPatchEnterpriseRequest
Property Type Required
deviceGroupId string optional
allowDeviceEnrollment boolean optional

Responses

200

A successful response.

PATCH /google-emm/enterprises/{enterpriseId}

Iplists 1 endpoints

PATCH /iplists/{id}

Update a specific IP list.

Sample Request

curl -X PATCH https://console.jumpcloud.com/api/v2/iplists/{id} \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{"name": "New IP List Name"}'
operationId: iplists_patch

Parameters

Name In Required Type Description
id path required string
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

200

OK

400
401
403
404
409
500
PATCH /iplists/{id}

Ldapservers 1 endpoints

PATCH /ldapservers/{id}

This endpoint allows updating some attributes of an LDAP server.

Sample Request

curl -X PATCH https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "userLockoutAction": "remove",
    "userPasswordExpirationAction": "disable"
  }'
operationId: ldapservers_patch

Parameters

Name In Required Type Description
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 LdapserversPatchRequest
Property Type Required
id string optional
userLockoutAction string optional
userPasswordExpirationAction string optional

Responses

200
400
PATCH /ldapservers/{id}

Office365 1 endpoints

PATCH /office365s/{office365_id}

This endpoint allows updating some attributes of an Office 365 instance.

#####

Sample Request

curl -X PATCH https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "userLockoutAction": "maintain",
    "userPasswordExpirationAction": "suspend",
  }'

Sample Request, set a default domain

curl -X PATCH https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "defaultDomain": {
        "id": "{domainObjectID}"
      }
  }'

Sample Request, unset the default domain

curl -X PATCH https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "defaultDomain": {}
  }'
operationId: office365s_patch

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 office365
Property Type Required
id string optional
name string optional
defaultDomain object optional
id string optional
domain string optional
groupsEnabled boolean optional
userLockoutAction string optional
userPasswordExpirationAction string optional

Responses

200
PATCH /office365s/{office365_id}

Providers 9 endpoints

PATCH /integrations/autotask/{UUID}

Update the Autotask integration configuration. A 422 Unprocessable Entity response means the server failed to validate with Autotask.

operationId: autotask_updateConfiguration

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema AutotaskIntegrationPatchReq
Property Type Required
secret string optional
username string optional

Responses

200

OK

400
401
403
404
422

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

500
PATCH /integrations/autotask/{UUID}
PATCH /integrations/autotask/{UUID}/mappings

Create, edit, and/or delete mappings between Jumpcloud organizations and Autotask companies/contracts/services. You must be associated to the same provider as the Autotask integration to use this api.

operationId: autotask_patchMappings

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema AutotaskMappingRequest
Property Type Required
data array optional
delete boolean optional
company object required
id string required
name string required
service object optional
id string optional
name string optional
nonBillableUsers integer optional
contract object optional
id string optional
name string optional
organization object required
id string required
name string required

Responses

204

No Content

400
401
403
404
500
PATCH /integrations/autotask/{UUID}/mappings
PATCH /integrations/autotask/{UUID}/settings

Create, edit, and/or delete Autotask settings. You must be associated to the same provider as the Autotask integration to use this endpoint.

operationId: autotask_patchSettings

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema AutotaskSettingsPatchReq
Property Type Required
companyTypeIds array optional
automaticTicketing boolean optional

Responses

200

OK

400
401
403
404
500
PATCH /integrations/autotask/{UUID}/settings
PATCH /integrations/connectwise/{UUID}

Update the ConnectWise integration configuration. A 422 Unprocessable Entity response means the server failed to validate with ConnectWise.

operationId: connectwise_updateConfiguration

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema ConnectwiseIntegrationPatchReq
Property Type Required
url string optional
companyId string optional
publicKey string optional
privateKey string optional

Responses

200

OK

400
401
403
404
422

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

500
PATCH /integrations/connectwise/{UUID}
PATCH /integrations/connectwise/{UUID}/mappings

Create, edit, and/or delete mappings between Jumpcloud organizations and ConnectWise companies/agreements/additions. You must be associated to the same provider as the ConnectWise integration to use this api.

operationId: connectwise_patchMappings

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema ConnectWiseMappingRequest
Property Type Required
data array optional
delete boolean optional
company object required
id string required
name string required
addition object optional
id string optional
name string optional
agreement object optional
id string optional
name string optional
organization object required
id string required
name string required

Responses

204

No Content

400
401
403
404
500
PATCH /integrations/connectwise/{UUID}/mappings
PATCH /integrations/connectwise/{UUID}/settings

Create, edit, and/or delete ConnectWiseIntegration settings. You must be associated to the same provider as the ConnectWise integration to use this endpoint.

operationId: connectwise_patchSettings

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema ConnectWiseSettingsPatchReq
Property Type Required
companyTypeIds array optional
automaticTicketing boolean optional

Responses

200

OK

400
401
403
404
500
PATCH /integrations/connectwise/{UUID}/settings
PATCH /integrations/syncro/{UUID}

Update the Syncro integration configuration. A 422 Unprocessable Entity response means the server failed to validate with Syncro.

operationId: syncro_updateConfiguration

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema SyncroIntegrationPatchReq
Property Type Required
apiToken string optional
subdomain string optional

Responses

200

OK

400
401
403
404
422

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

500
PATCH /integrations/syncro/{UUID}
PATCH /integrations/syncro/{UUID}/mappings

Create, edit, and/or delete mappings between Jumpcloud organizations and Syncro companies. You must be associated to the same provider as the Syncro integration to use this api.

operationId: syncro_patchMappings

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema SyncroMappingRequest
Property Type Required
data array optional
delete boolean optional
company object required
id string required
name string required
organization object required
id string required
name string required
billingConfigurations object optional
fields object optional
schedule_id object optional
line_item_id object optional
schedule_name object optional
line_item_name object optional

Responses

204

No Content

400
401
403
404
500
PATCH /integrations/syncro/{UUID}/mappings
PATCH /integrations/syncro/{UUID}/settings

Create, edit, and/or delete SyncroIntegration settings. You must be associated to the same provider as the Syncro integration to use this endpoint.

operationId: syncro_patchSettings

Parameters

Name In Required Type Description
UUID path required string

Request Body

application/json
schema SyncroSettingsPatchReq
Property Type Required
automaticTicketing boolean optional

Responses

200

OK

400
401
403
404
500
PATCH /integrations/syncro/{UUID}/settings

Users 1 endpoints

PATCH /users/{user_id}/pushendpoints/{push_endpoint_id}

This endpoint will update a push endpoint associated with a user.

operationId: pushEndpoints_patch

Parameters

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

Organization identifier that can be obtained from console settings.

Request Body

application/json
schema PushEndpointsPatchRequest
Property Type Required
name string optional
state string optional

Responses

200

OK

400
401
403
404
409
500
PATCH /users/{user_id}/pushendpoints/{push_endpoint_id}

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