Jumpcloud
The JumpCloud connector allows for streamlined user and system management through automated tasks, enhancing security and operational efficiency.
JumpCloud is a comprehensive cloud directory platform that centralizes and simplifies identity, device, and access management. This connector enables Swimlane Turbine users to automate critical user and system management tasks within JumpCloud, such as user creation, password expiration, system locking, and group associations. By integrating with JumpCloud, security teams can streamline their identity management processes, enforce security policies, and rapidly respond to security events across their digital environment.
JumpCloud's open directory platform makes it possible to unify your technology stack across identity, access, and device management, in a cost-effective manner that doesn't sacrifice security or functionality.
Limitations
None to date.
Supported Versions
JumpCloud currently utilizes two versions of APIs. Depending on the type of integration, it may be required to use both V1 and V2 APIs.
Additional Docs
API Documentations:
Configuration
Prerequisites
To effectively utilize the JumpCloud connector within the Swimlane Turbine platform, ensure you have the following prerequisites:
- API Key Authentication:
- URL: The endpoint URL for the JumpCloud API.
- API Key: Your unique API key provided by JumpCloud for authentication.
Authentication Methods
API Key Authentication:
Setup Instructions
- Log into the JumpCloud Admin Console.
- Go to the username drop down located in the top-right of the Console.
- Retrieve your API key from API Settings.
Setup Document Reference - https://docs.jumpcloud.com/api/1.0/index.html#section/Overview/API-Best-Practices
Troubleshooting Tips
In order to revoke access with the current API key, simply reset your API key. This will render all calls using the previous API key inaccessible.
Document Reference for Resetting API Key.
Capabilities
JumpCloud Connector provides the following capabilities:
- Add or Remove System to User
- Add or Remove User Group to System Group
- Add or Remove User to LDAP
- Add or Remove User to User Group
- Create User
- Delete a System User
- Expire a System User's Password
- Get User Details
- Get Users
- List All Systems
- List All System Groups
- List All System Users
- List All User Groups
- List LDAP Servers
- List System Insights Apps ... and so on
Add or Remove System to User
This endpoint allows you to manage the direct associations of a User. The Scope is only to "users". A direct association can be a non-homogeneous relationship between 2 different objects, for example Users and Systems. More details here.
Add or Remove User Group to System Group
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. The Scopes are "groups","groups.self". More details here.
Add or Remove User to LDAP
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. The Scope is only to "directories". More details here.
Add or Remove User to User Group
This endpoint allows you to manage the user members of a User Group. The Scope is only to "groups". More details here.
Create User
This endpoint allows you to create a new system user. The Scope is only to "users".
Default User State: The state of the user can be explicitly passed in or omitted. If state is omitted from the request, then the user will get created using the value returned from the Get an Organization endpoint. The default user state for manually created users is stored in settings.newSystemUserStateDefaults.manualEntry
These default state values can be changed in the admin portal settings or by using the Update an Organization endpoint.
For more details here.
Delete a System User
This endpoint allows you to delete a particular system user. The Scope is only to "users". More details here.
Expire a System User's Password
This endpoint allows you to expire a user's password. The Scope is only to "users". More details here.
Get User Details
Get User Details by ID. Scopes are "passwordmanager","passwordmanager.readonly". More details here.
Get Users
Get User details. Scopes are "passwordmanager","passwordmanager.readonly". More details here.
List All Systems
This endpoint returns all Systems. Scopes are "systems","systems.readonly". More details here.
List All System Groups
This endpoint returns all System Groups. Scopes are "groups","groups.readonly". Kindly check the Parameters format here.
List All System Users
List all system users. Scopes are "commandrunner.legacy","users","users.readonly". Kindly check the Parameters format here.
List All User Groups
This endpoint returns all Systems. Scopes are "groups","groups.readonly". Kindly check the Parameters format here.
List LDAP Servers
This endpoint returns the object IDs of your LDAP servers. Scopes are "directories","directories.readonly". Kindly check the Parameters format here.
List System Insights Apps
Lists all apps for macOS devices. For Windows devices, use List System Insights Programs. Scopes are "systeminsights.readonly". More details here.
Lock a System
This endpoint allows you to run the lock command on the specified device. If a device is offline, the command will be run when the device becomes available. Only supported on Linux and Windows devices. Use Apple MDM security commands for macOS devices. Scopes are "systems". More details here.
Unlock a System User
This endpoint allows you to unlock a user's account. Scopes are "users". More details here.
Configurations
JumpCloud API Key Authentication
Authenticates using an API Key.
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
url | A URL to the Target host. | string | Required |
x-api-key | API Key. | string | Required |
verify_ssl | Verify SSL Certificate. | boolean | Optional |
http_proxy | A Proxy to route Requests through. | string | Optional |
Actions
Add or Remove System to User
Adds or removes systems to a user's profile in JumpCloud, requiring user_id and system attributes such as id, op, and type.
Endpoint
- URL: /api/v2/users/{{user_id}}/associations
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.user_id | string | Required | The ObjectID of the User for whom the Association is being managed. |
headers | object | Optional | HTTP headers for the request |
headers.x-org-id | string | Optional | Organization ID for the Request. |
id | string | Optional | The ObjectID of the Graph Object being added or removed as an association. |
op | string | Optional | This Parameter specifies the Operation to be performed on the Graph connection. |
type | string | Optional | This Parameter defines the Type of Target to which a User can be associated. |
attributes | object | Optional | The Graph Attributes that provide additional Details about the association. |
attributes.sudo | object | Required | Attributes related to Sudo Permissions for the user. |
attributes.sudo.enabled | boolean | Required | A boolean Value indicating whether Sudo is enabled for the user. If true, the User has Sudo privileges. |
attributes.sudo.withoutPassword | boolean | Required | A boolean Value indicating whether the User can use Sudo without a password. If true, the User can execute Sudo Commands without entering a password. |
Input Example
{"path_parameters":{"user_id":"string"},"headers":{"x-org-id":"string"},"id":"12345678-1234-1234-1234-123456789abc","op":"string","type":"string","attributes":{"sudo":{"enabled":true,"withoutPassword":true}}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":204,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 28 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
Add or Remove User Group to System Group
Add or remove a User Group to/from a System Group in JumpCloud by specifying the group_id, operation (op), and object ID (id).
Endpoint
- URL: /api/v2/systemgroups/{{group_id}}/associations
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.group_id | string | Required | The ObjectID of the System Group. This is a unique Identifier for the System Group you are targeting for Association management. |
headers | object | Optional | HTTP headers for the request |
headers.x-org-id | string | Optional | Organization ID for the Request. |
op | string | Optional | This Parameter specifies the Operation to be performed on the association. |
type | string | Optional | This Parameter defines the Type of Object that is being associated with the System Group. |
id | string | Optional | The ObjectID of the Graph Object being added or removed as an association. This is a unique Identifier for the Object that is being associated with the System group. It is necessary to specify which Object is being targeted for the Association operation. |
attributes | object | Optional | Additional Attributes for the Association. |
Input Example
{"path_parameters":{"group_id":"string"},"headers":{"x-org-id":"string"},"op":"string","type":"string","id":"12345678-1234-1234-1234-123456789abc","attributes":{}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":204,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 28 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
Add or Remove User to LDAP
Associates or dissociates a user with an LDAP server in JumpCloud using the server ID, operation type, and user ID.
Endpoint
- URL: /api/v2/ldapservers/{{ldapserver_id}}/associations
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.ldapserver_id | string | Required | The ObjectID of the LDAP Server which is required to identify the specific LDAP Server for which the Associations are being managed. This Identifier can be obtained from the console Settings and is crucial for directing the Request to the correct server. |
headers | object | Optional | The Headers for the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
op | string | Optional | This Parameter specifies the Operation to be performed on the Graph connection. |
type | string | Optional | This Parameter defines the Target Type that the LDAP Server can be associated with. |
id | string | Optional | The ObjectID of the Graph Object being added or removed as an association. This ID is necessary to identify the specific User or User Group that is being associated with or disassociated from the LDAP server. |
attributes | object | Optional | This Object contains additional Graph attributes that may be required for the association. It allows for the Inclusion of any extra Properties that might be necessary for the operation. |
Input Example
{"path_parameters":{"ldapserver_id":"string"},"headers":{"x-org-id":"string"},"op":"string","type":"string","id":"12345678-1234-1234-1234-123456789abc","attributes":{}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":204,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 28 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
Add or Remove User to User Group
Add or remove a user to/from a JumpCloud User Group using the group_id, operation (op), type, and user id.
Endpoint
- URL: /api/v2/usergroups/{{group_id}}/members
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.group_id | string | Required | The unique Identifier of the User Group. |
headers | object | Optional | HTTP headers for the request |
headers.x-org-id | string | Optional | The unique Identifier of the Organization in JumpCloud. |
op | string | Optional | This Parameter specifies the Operation to be performed on the User Group's members. Operation is used to modify existing User Details within the group. |
type | string | Optional | This Parameter indicates the Type of Member being managed within the User Group. This is a required Field and helps the API understand the Context of the operation. |
id | string | Optional | The ObjectID of the User being added to or removed from the User Group. The ID is necessary for the API to accurately perform the specified Operation on the correct user. |
Input Example
{"path_parameters":{"group_id":"string"},"headers":{"x-org-id":"string"},"op":"string","type":"string","id":"12345678-1234-1234-1234-123456789abc"}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":204,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 28 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
Create User
Creates a new user in JumpCloud using the provided username and email, and returns the user's details.
Endpoint
- URL: /api/systemusers
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
headers | object | Optional | HTTP headers for the request |
headers.x-org-id | string | Optional | The organization ID. |
parameters.fullValidationDetails | string | Optional | Pass this query parameter when a client wants all validation errors to be returned with a detailed error response for the form field specified. The current form fields are allowed:- password. Password validation flag:- Use the password validation flag to receive details on a possible bad request response. "?fullValidationDetails=password". Without the flag, default behavior will be a normal 400 with only a single validation string error. Expected Behavior is Clients can expect a list of validation error mappings for the validation query field in the details provided on the response. |
account_locked | boolean | Optional | Account locked status. |
activated | boolean | Optional | Account activated status. |
addresses | array | Optional | Address details for the user. |
addresses.country | string | Optional | Country. |
addresses.extendedAddress | string | Optional | Extended address. |
addresses.locality | string | Optional | Locality. |
addresses.poBox | string | Optional | Post office box. |
addresses.postalCode | string | Optional | Postal code. |
addresses.region | string | Optional | Region. |
addresses.streetAddress | string | Optional | Street address. |
addresses.type | string | Optional | Address type. |
allow_public_key | boolean | Optional | Allow public key. |
alternateEmail | string | Optional | Alternate email. |
attributes | array | Optional | Attributes. |
attributes.name | string | Optional | Attribute name. |
attributes.value | string | Optional | Value string should <= 1024 characters. |
company | string | Optional | Company. |
costCenter | string | Optional | Cost center. |
department | string | Optional | Department. |
description | string | Optional | Description string value should <= 1024 characters. |
disableDeviceMaxLoginAttempts | boolean | Optional | Parameter for Create User |
displayname | string | Optional | Displayname string value should <= 1024 characters. |
Input Example
{"headers":{"x-org-id":"string"},"parameters":{"fullValidationDetails":"string"},"account_locked":true,"activated":true,"addresses":[{"country":"string","extendedAddress":"string","locality":"string","poBox":"string","postalCode":"string","region":"string","streetAddress":"string","type":"string"}],"allow_public_key":true,"alternateEmail":"string","attributes":[{"name":"Example Name","value":"string"}],"company":"string","costCenter":"string","department":"string","description":"string","disableDeviceMaxLoginAttempts":true,"displayname":"Example Name","email":"[email protected]","employeeIdentifier":"string","employeeType":"string","enable_managed_uid":true,"enable_user_portal_multifactor":true,"external_dn":"string","external_password_expiration_date":"string","external_source_type":"string","externally_managed":true,"firstname":"Example Name","jobTitle":"string","lastname":"Example Name","ldap_binding_user":true,"location":"string","managedAppleId":"string","manager":"string","mfa":{"configured":true,"exclusion":true,"exclusionDays":123,"exclusionUntil":"string"},"middlename":"Example Name","password":"string","password_never_expires":true,"passwordless_sudo":true,"phoneNumbers":[{"number":"string","type":"string"}],"public_key":"string","recoveryEmail":{"address":"string"},"relationships":[{"type":"string","value":"string"}],"restrictedFields":[{"field":"string","id":"12345678-1234-1234-1234-123456789abc","type":"string"}],"samba_service_user":true,"state":"string","sudo":true,"suspended":true,"tags":["string"],"unix_guid":123,"unix_uid":123,"username":"Example Name"}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
_id | string | Unique identifier |
account_locked | boolean | Output field: account_locked |
account_locked_date | string | Date value |
activated | boolean | Output field: activated |
addresses | array | Output field: addresses |
addresses.country | string | Output field: addresses.country |
addresses.extendedAddress | string | Output field: addresses.extendedAddress |
addresses.id | string | Unique identifier |
addresses.locality | string | Output field: addresses.locality |
addresses.poBox | string | Output field: addresses.poBox |
addresses.postalCode | string | Output field: addresses.postalCode |
addresses.region | string | Output field: addresses.region |
addresses.streetAddress | string | Output field: addresses.streetAddress |
addresses.type | string | Type of the resource |
admin | object | Output field: admin |
admin.id | string | Unique identifier |
allow_public_key | boolean | Output field: allow_public_key |
alternateEmail | string | Output field: alternateEmail |
attributes | array | Output field: attributes |
attributes.name | string | Name of the resource |
attributes.value | string | Value for the parameter |
badLoginAttempts | number | Output field: badLoginAttempts |
company | string | Output field: company |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 28 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{"_id":"string","account_locked":true,"account_locked_date":"string","activated":true,"addresses":[{}],"admin":{"id":"string"},"allow_public_key":true,"alternateEmail":"string","attributes":[{}],"badLoginAttempts":0,"company":"string","costCenter":"string","created":"string","creationSource":"string","department":"string"}}
Delete a System User
Removes a specified System User from JumpCloud using the user's unique ID provided in the path parameters.
Endpoint
- URL: /api/systemusers/{{id}}
- Method: DELETE
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Required | Unique Identifier for the System User. |
parameters.cascade_manager | string | Optional | This is an optional flag that can be enabled on the DELETE call, DELETE /systemusers/ο»Ώ?cascade_manager=null. This parameter will clear the Manager attribute on all direct reports and then delete the account. |
headers | object | Optional | The Headers to be included in the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
Input Example
{"path_parameters":{"id":"12345678-1234-1234-1234-123456789abc"},"parameters":{"cascade_manager":"string"},"headers":{"x-org-id":"string"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
_id | string | Unique identifier |
account_locked | boolean | Output field: account_locked |
account_locked_date | string | Date value |
activated | boolean | Output field: activated |
addresses | array | Output field: addresses |
addresses.country | string | Output field: addresses.country |
addresses.extendedAddress | string | Output field: addresses.extendedAddress |
addresses.id | string | Unique identifier |
addresses.locality | string | Output field: addresses.locality |
addresses.poBox | string | Output field: addresses.poBox |
addresses.postalCode | string | Output field: addresses.postalCode |
addresses.region | string | Output field: addresses.region |
addresses.streetAddress | string | Output field: addresses.streetAddress |
addresses.type | string | Type of the resource |
admin | object | Output field: admin |
admin.id | string | Unique identifier |
allow_public_key | boolean | Output field: allow_public_key |
alternateEmail | string | Output field: alternateEmail |
attributes | array | Output field: attributes |
attributes.name | string | Name of the resource |
attributes.value | string | Value for the parameter |
badLoginAttempts | number | Output field: badLoginAttempts |
company | string | Output field: company |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{"_id":"string","account_locked":true,"account_locked_date":"string","activated":true,"addresses":[{}],"admin":{"id":"string"},"allow_public_key":true,"alternateEmail":"string","attributes":[{}],"badLoginAttempts":0,"company":"string","costCenter":"string","created":"string","creationSource":"string","department":"string"}}
Expire a System Users Password
Initiates a password expiration for a specified system user in JumpCloud using the user's unique ID.
Endpoint
- URL: /api/systemusers/{{id}}/expire
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Required | Unique Identifier of the User. |
headers | object | Optional | The Headers of the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
Input Example
{"path_parameters":{"id":"12345678-1234-1234-1234-123456789abc"},"headers":{"x-org-id":"string"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
Get User details
Retrieve detailed information for a specified user in JumpCloud by utilizing the unique userId.
Endpoint
- URL: /api/v2/passwordmanager/users/{{userId}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.userId | string | Required | User ID/Employee ID. |
Input Example
{"path_parameters":{"userId":"string"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
apps | array | Output field: apps |
apps.appVersion | string | Output field: apps.appVersion |
apps.osId | number | Unique identifier |
cloudBackupRestores | object | Output field: cloudBackupRestores |
cloudBackupRestores.approved | number | Output field: cloudBackupRestores.approved |
cloudBackupRestores.requested | number | Output field: cloudBackupRestores.requested |
compromisedPasswords | number | Output field: compromisedPasswords |
createdAt | string | Output field: createdAt |
string | Output field: email | |
employeeUuid | string | Unique identifier |
externalId | string | Unique identifier |
groups | array | Output field: groups |
groups.createdAt | string | Output field: groups.createdAt |
groups.displayName | string | Name of the resource |
groups.externalId | string | Unique identifier |
groups.id | string | Unique identifier |
groups.name | string | Name of the resource |
groups.updatedAt | string | Output field: groups.updatedAt |
groups.uuid | string | Unique identifier |
id | string | Unique identifier |
itemsCount | number | Count value |
name | string | Name of the resource |
oldPasswords | number | Output field: oldPasswords |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Wed, 6 Nov 2024 20:37:23 GMT"},"reason":"OK","json_body":{"apps":[{}],"cloudBackupRestores":{"approved":0,"requested":0},"compromisedPasswords":0,"createdAt":"string","email":"string","employeeUuid":"string","externalId":"string","groups":[{}],"id":"string","itemsCount":0,"name":"string","oldPasswords":0,"passwordsCount":0,"passwordsScore":0,"reusedPasswords":0}}
Get Users
Retrieves a comprehensive list of user accounts from JumpCloud, detailing each user's information.
Endpoint
- URL: /api/v2/passwordmanager/users
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.search | string | Optional | Search Term for filtering Users. |
parameters.skip | number | Optional | Number of Records to skip. |
parameters.limit | number | Optional | Maximum Number of Records to return. |
parameters.sort | string | Optional | Sort Order of the Results. |
parameters.filter | array | Optional | Filter Conditions for the Query. |
Input Example
{"parameters":{"search":"string","skip":123,"limit":123,"sort":"string","filter":["string"]}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
results | array | Result of the operation |
results.apps | array | Result of the operation |
results.apps.appVersion | string | Result of the operation |
results.apps.osId | number | Unique identifier |
results.cloudBackupRestores | object | Result of the operation |
results.cloudBackupRestores.approved | number | Result of the operation |
results.cloudBackupRestores.requested | number | Result of the operation |
results.email | string | Result of the operation |
results.employeeUuid | string | Unique identifier |
results.externalId | string | Unique identifier |
results.groups | array | Result of the operation |
results.groups.createdAt | string | Result of the operation |
results.groups.displayName | string | Name of the resource |
results.groups.externalId | string | Unique identifier |
results.groups.id | string | Unique identifier |
results.groups.name | string | Name of the resource |
results.groups.updatedAt | string | Result of the operation |
results.groups.uuid | string | Unique identifier |
results.id | string | Unique identifier |
results.itemsCount | number | Result of the operation |
results.name | string | Name of the resource |
results.oldPasswords | number | Result of the operation |
results.passwordsCount | number | Result of the operation |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{"results":[{}],"totalCount":0}}
List All System Groups
Retrieve all system groups from JumpCloud to provide a comprehensive overview of group configurations.
Endpoint
- URL: /api/v2/systemgroups
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.filter | array | Optional | Filter to apply to the Query. Filter structure:- ο»Ώ ο»Ώ ο»Ώ |
parameters.limit | number | Optional | The number of records to return at once. Limited to 100. |
parameters.skip | number | Optional | Offset into the Records to return. |
parameters.sort | array | Optional | The comma separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending. |
parameters.fields | array | Optional | The comma separated fields included in the returned records. If omitted, the default list of fields will be returned. |
headers | object | Optional | The Headers to be included in the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
Input Example
{"parameters":{"filter":"name:eq:Test+Group"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"id":"000000"},{"type":"system_group"},{"id":"000000","name":"group1"}]}
List All System Users
Retrieve a complete list of all system users from JumpCloud, including their details and attributes.
Endpoint
- URL: /api/systemusers
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.limit | number | Optional | The number of records to return at once. |
parameters.skip | number | Optional | The offset into the records to return. |
parameters.sort | string | Optional | The space separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending. |
parameters.fields | string | Optional | The space separated fields included in the returned records. If omitted the default list of fields will be returned. |
parameters.filter | string | Optional | A filter to apply to the query. See the supported operators below. For more complex searches, see the related /search/ ο»Ώ ο»Ώ ο»Ώ ο»Ώ |
parameters.search | string | Optional | A nested object containing a searchTerm string or array of strings and a list of fields to search on. |
headers | object | Optional | HTTP headers for the request |
headers.x-org-id | string | Optional | The ID of the organization that owns the records being queried. |
Input Example
{"parameters":{"limit":10,"skip":0,"sort":" ","fields":" ","filter":"department:$eq:Finance","search":" "},"headers":{"x-org-id":" "}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
results | array | Result of the operation |
results._id | string | Unique identifier |
results.account_locked | boolean | Result of the operation |
results.account_locked_date | string | Result of the operation |
results.activated | boolean | Result of the operation |
results.addresses | array | Result of the operation |
results.addresses.country | string | Result of the operation |
results.addresses.extendedAddress | string | Result of the operation |
results.addresses.id | string | Unique identifier |
results.addresses.locality | string | Result of the operation |
results.addresses.poBox | string | Result of the operation |
results.addresses.postalCode | string | Result of the operation |
results.addresses.region | string | Result of the operation |
results.addresses.streetAddress | string | Result of the operation |
results.addresses.type | string | Type of the resource |
results.admin | object | Result of the operation |
results.admin.id | string | Unique identifier |
results.allow_public_key | boolean | Result of the operation |
results.alternateEmail | string | Result of the operation |
results.attributes | array | Result of the operation |
results.attributes.name | string | Name of the resource |
results.attributes.value | string | Value for the parameter |
results.badLoginAttempts | number | Result of the operation |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{"results":[{}],"totalCount":0}}
List All Systems
Retrieve a comprehensive overview of all devices registered with JumpCloud, including details and status.
Endpoint
- URL: /api/systems
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.fields | string | Optional | Use a space seperated string of field parameters to include the data in the response. If omitted, the default list of fields will be returned. |
parameters.limit | number | Optional | Number of Records to return at once. Limited to 100. |
parameters.search | string | Optional | A nested object containing a searchTerm string or array of strings and a list of fields to search on. |
parameters.skip | number | Optional | Offset into the Records to return. |
parameters.sort | string | Optional | Use space separated sort parameters to sort the collection. Default sort is ascending. Prefix with - to sort descending. |
parameters.filter | string | Optional | Filter to apply to the Query. Filter structure:- ο»Ώ ο»Ώ ο»Ώ |
headers | object | Optional | The Headers to be included in the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
Input Example
{"parameters":{"filter":"department:$eq:Finance"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
results | array | Result of the operation |
results._id | string | Unique identifier |
results.active | boolean | Result of the operation |
results.agentVersion | string | Result of the operation |
results.allowMultiFactorAuthentication | boolean | Result of the operation |
results.allowPublicKeyAuthentication | boolean | Result of the operation |
results.allowSshPasswordAuthentication | boolean | Result of the operation |
results.allowSshRootLogin | boolean | Result of the operation |
results.amazonInstanceID | string | Unique identifier |
results.arch | string | Result of the operation |
results.archFamily | string | Result of the operation |
results.azureAdJoined | boolean | Result of the operation |
results.builtInCommands | array | Result of the operation |
results.builtInCommands.name | string | Name of the resource |
results.builtInCommands.type | string | Type of the resource |
results.connectionHistory | array | Result of the operation |
results.created | string | Result of the operation |
results.description | string | Result of the operation |
results.desktopCapable | boolean | Result of the operation |
results.displayManager | string | Result of the operation |
results.displayName | string | Name of the resource |
results.domainInfo | object | Result of the operation |
results.domainInfo.domainName | string | Name of the resource |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{"results":[{}],"totalCount":0}}
List All User Groups
Retrieve all user groups and memberships from JumpCloud, providing a complete overview of group associations.
Endpoint
- URL: /api/v2/usergroups
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.fields | array | Optional | The comma separated fields included in the returned records. If omitted, the default list of fields will be returned. |
parameters.filter | array | Optional | Filter to apply to the Query. Filter structure:- ο»Ώ ο»Ώ ο»Ώ |
parameters.limit | number | Optional | The number of records to return at once. Limited to 100. |
parameters.skip | number | Optional | Offset into the Records to return. |
parameters.sort | array | Optional | Fields used to sort the Collection. Default sort is ascending, prefix with - to sort descending. |
headers | object | Optional | The Headers to be included in the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
Input Example
{"parameters":{"filter":"name:eq:Test+Group"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
List LDAP Servers
Retrieve an overview of available LDAP server object IDs from JumpCloud.
Endpoint
- URL: /api/v2/ldapservers
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.fields | array | Optional | The comma separated fields included in the returned records. If omitted, the default list of fields will be returned. |
parameters.filter | array | Optional | Filter to apply to the Query. Filter structure:- ο»Ώ ο»Ώ ο»Ώ |
parameters.limit | number | Optional | Number of Records to return at once. Limited to 100. |
parameters.skip | number | Optional | Offset into the Records to return. |
parameters.sort | array | Optional | The comma separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending. |
headers | object | Optional | The Headers to be included in the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
Input Example
{"parameters":{"filter":"name:eq:Test+LDAP"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
id | string | Unique identifier |
name | string | Name of the resource |
userLockoutAction | string | Output field: userLockoutAction |
userPasswordExpirationAction | string | Output field: userPasswordExpirationAction |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{"id":"string","name":"string","userLockoutAction":"disable","userPasswordExpirationAction":"disable"}}
List System Insights Apps
Retrieve a list of applications installed on macOS devices via the JumpCloud API.
Endpoint
- URL: /api/v2/systeminsights/apps
- Method: GET
Input
Argument Name | Type | Required | Description | |||
|---|---|---|---|---|---|---|
parameters.skip | number | Optional | Offset into the Records to return. | |||
parameters.sort | array | Optional | The comma separated fields used to sort the collection. Default sort is ascending, prefix with - to sort descending. e.g, Sort by single field:- sort=field Sort descending by single field:- sort=-field Sort by multiple fields:- sort=field1,-field2,field3. | |||
parameters.filter | array | Optional | Supported operators are:- eq, in. e.g, Filter for single value:- filter=field:eq:value Filter for any value in a list:- (note "pipe" character:- | separating values) filter=field:in:value1 | value2 | value3. |
parameters.limit | number | Optional | Number of Records to return. | |||
headers | object | Optional | The Headers of the Request. | |||
headers.x-org-id | string | Optional | Organization identifier that can be obtained from console settings. |
Input Example
{"parameters":{"filter":"field:eq:value"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
results | array | Result of the operation |
results.applescript_enabled | string | Result of the operation |
results.bundle_executable | string | Result of the operation |
results.bundle_identifier | string | Unique identifier |
results.bundle_name | string | Name of the resource |
results.bundle_package_type | string | Type of the resource |
results.bundle_short_version | string | Result of the operation |
results.bundle_version | string | Result of the operation |
results.category | string | Result of the operation |
results.collection_time | string | Result of the operation |
results.compiler | string | Result of the operation |
results.copyright | string | Result of the operation |
results.development_region | string | Result of the operation |
results.display_name | string | Name of the resource |
results.element | string | Result of the operation |
results.environment | string | Result of the operation |
results.info_string | string | Result of the operation |
results.last_opened_time | number | Result of the operation |
results.minimum_system_version | string | Result of the operation |
results.name | string | Name of the resource |
results.path | string | Result of the operation |
results.system_id | string | Unique identifier |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{"results":[{}]}}
Lock a System
Executes an immediate or queued command to lock a specified device in JumpCloud using the system_id.
Endpoint
- URL: /api/systems/{{system_id}}/command/builtin/lock
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.system_id | string | Required | Unique Identifier for the System. |
headers | object | Optional | The Headers of the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
Input Example
{"path_parameters":{"system_id":"string"},"headers":{"x-org-id":"string"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":201,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
Unlock a System User
Unlocks a JumpCloud user account specified by the unique identifier (ID) provided in the path parameters.
Endpoint
- URL: /api/users/{{id}}/unlock
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Required | Unique Identifier of the User. |
headers | object | Optional | The Headers to be included in the Request. |
headers.x-org-id | string | Optional | Organization ID for the Request. |
Input Example
{"path_parameters":{"id":"12345678-1234-1234-1234-123456789abc"},"headers":{"x-org-id":"string"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 21 Oct 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
Response Headers
Header | Description | Example |
|---|---|---|
content-length | The length of the response body in bytes | 140 |
content-type | The media type of the resource | application/json |
Date | The date and time at which the message was originated | Mon, 28 Oct 2024 20:37:23 GMT |