You can find your API URL in Settings > Access. The API URL will follow the below formats.
US -
https://SubDomain.api.kandji.io
EU -
https://SubDomain.api.eu.kandji.io
For information on how to obtain an API token, please refer to the following support article.
https://support.kandji.io/api
The Kandji API currently has an API rate limit of 10,000 requests per hour per customer.
HTTP request methods supported by the Kandji API.
Method | Definition |
---|---|
GET | The GET method requests a representation of the specified resource. |
POST | The POST method submits an entity to the specified resource. |
PATCH | The PATCH method applies partial modifications to a resource. |
DELETE | The DELETE method deletes the specified resource. |
Not all response codes apply to every endpoint.
Code | Response |
---|---|
200 | OK |
201 | Created |
204 | No content |
Typical response when sending the DELETE method. | |
400 | Bad Request |
"Command already running" - The command may already be running in a Pending state waiting on the device. | |
"Command is not allowed for current device" - The command may not be compatible with the target device. | |
"JSON parse error - Expecting ',' delimiter: line 3 column 2 (char 65)" | |
401 | Unauthorized |
This error can occur if the token is incorrect, was revoked, or the token has expired. | |
403 | Forbidden |
The request was understood but cannot be authorized. | |
404 | Not found |
Unable to locate the resource in the Kandji tenant. | |
415 | Unsupported Media Type |
The request contains a media type which the server or resource does not support. | |
500 | Internal server error |
503 | Service unavailable |
This error can occur if a file upload is still being processed via the custom apps API. |
The API returns all structured responses in JSON schema format.
Code examples using the API can be found in the Kandji support GitHub.
This API client was generated by the OpenAPI Generator project. By using the openapi-spec from a remote server, you can easily generate an API client.
- API version: 1.0.0
- Package version:
- Generator version: 7.10.0
- Build package: org.openapitools.codegen.languages.Swift5ClientCodegen For more information, please visit https://github.com/Kandji-Community-SDKs/kandji-openapi-spec
Run carthage update
Run pod install
All URIs are relative to https://<sub_domain>.api.kandji.io
Class | Method | HTTP request | Description |
---|---|---|---|
AutomatedDeviceEnrollmentIntegrationsAPI | createAdeIntegration | POST /api/v1/integrations/apple/ade/ | Create ADE integration |
AutomatedDeviceEnrollmentIntegrationsAPI | deleteAdeIntegration | DELETE /api/v1/integrations/apple/ade/{ade_token_id} | Delete ADE integration |
AutomatedDeviceEnrollmentIntegrationsAPI | downloadAdePublicKey | GET /api/v1/integrations/apple/ade/public_key/ | Download ADE public key |
AutomatedDeviceEnrollmentIntegrationsAPI | getAdeDevice | GET /api/v1/integrations/apple/ade/devices/{device_id} | Get ADE device |
AutomatedDeviceEnrollmentIntegrationsAPI | getAdeIntegration | GET /api/v1/integrations/apple/ade/{ade_token_id} | Get ADE integration |
AutomatedDeviceEnrollmentIntegrationsAPI | listAdeDevices | GET /api/v1/integrations/apple/ade/devices | List ADE devices |
AutomatedDeviceEnrollmentIntegrationsAPI | listAdeIntegrations | GET /api/v1/integrations/apple/ade | List ADE integrations |
AutomatedDeviceEnrollmentIntegrationsAPI | listDevicesAssociatedToAdeToken | GET /api/v1/integrations/apple/ade/{ade_token_id}/devices | List devices associated to ADE token |
AutomatedDeviceEnrollmentIntegrationsAPI | renewAdeIntegration | POST /api/v1/integrations/apple/ade/{ade_token_id}/renew | Renew ADE integration |
AutomatedDeviceEnrollmentIntegrationsAPI | updateAdeDevice | PATCH /api/v1/integrations/apple/ade/devices/{device_id} | Update ADE device |
AutomatedDeviceEnrollmentIntegrationsAPI | updateAdeIntegration | PATCH /api/v1/integrations/apple/ade/{ade_token_id} | Update ADE integration |
BlueprintsAPI | assignLibraryItem | POST /api/v1/blueprints/{blueprint_id}/assign-library-item | Assign Library Item |
BlueprintsAPI | createBlueprint | POST /api/v1/blueprints | Create Blueprint |
BlueprintsAPI | deleteBlueprint | DELETE /api/v1/blueprints/{blueprint_id} | Delete Blueprint |
BlueprintsAPI | getBlueprint | GET /api/v1/blueprints/{blueprint_id} | Get Blueprint |
BlueprintsAPI | getBlueprintTemplates | GET /api/v1/blueprints/templates/ | Get Blueprint Templates |
BlueprintsAPI | getManualEnrollmentProfile | GET /api/v1/blueprints/{blueprint_id}/ota-enrollment-profile | Get Manual Enrollment Profile |
BlueprintsAPI | listBlueprints | GET /api/v1/blueprints | List Blueprints |
BlueprintsAPI | listLibraryItems | GET /api/v1/blueprints/{blueprint_id}/list-library-items | List Library Items |
BlueprintsAPI | removeLibraryItem | POST /api/v1/blueprints/{blueprint_id}/remove-library-item | Remove Library Item |
BlueprintsAPI | updateBlueprint | PATCH /api/v1/blueprints/{blueprint_id} | Update Blueprint |
CustomAppsAPI | createCustomApp | POST /api/v1/library/custom-apps | Create Custom App |
CustomAppsAPI | deleteCustomApp | DELETE /api/v1/library/custom-apps/{library_item_id} | Delete Custom App |
CustomAppsAPI | getCustomApp | GET /api/v1/library/custom-apps/{library_item_id} | Get Custom App |
CustomAppsAPI | listCustomApps | GET /api/v1/library/custom-apps | List Custom Apps |
CustomAppsAPI | updateCustomApp | PATCH /api/v1/library/custom-apps/{library_item_id} | Update Custom App |
CustomAppsAPI | uploadCustomApp | POST /api/v1/library/custom-apps/upload | Upload Custom App |
CustomProfilesAPI | createCustomProfile | POST /api/v1/library/custom-profiles | Create Custom Profile |
CustomProfilesAPI | deleteCustomProfile | DELETE /api/v1/library/custom-profiles/{library_item_id} | Delete Custom Profile |
CustomProfilesAPI | getCustomProfile | GET /api/v1/library/custom-profiles/{library_item_id} | Get Custom Profile |
CustomProfilesAPI | listCustomProfiles | GET /api/v1/library/custom-profiles | List Custom Profiles |
CustomProfilesAPI | updateCustomProfile | PATCH /api/v1/library/custom-profiles/{library_item_id} | Update Custom Profile |
CustomScriptsAPI | createCustomScript | POST /api/v1/library/custom-scripts | Create Custom Script |
CustomScriptsAPI | deleteCustomScript | DELETE /api/v1/library/custom-scripts/{library_item_id} | Delete Custom Script |
CustomScriptsAPI | getCustomScript | GET /api/v1/library/custom-scripts/{library_item_id} | Get Custom Script |
CustomScriptsAPI | listCustomScripts | GET /api/v1/library/custom-scripts | List Custom Scripts |
CustomScriptsAPI | updateCustomScript | PATCH /api/v1/library/custom-scripts/{library_item_id} | Update Custom Script |
DeviceActionsAPI | clearPasscode | POST /api/v1/devices/{device_id}/action/clearpasscode | Clear Passcode |
DeviceActionsAPI | deleteDevice | DELETE /api/v1/devices/{device_id} | Delete Device |
DeviceActionsAPI | deleteUser | POST /api/v1/devices/{device_id}/action/deleteuser | Delete User |
DeviceActionsAPI | eraseDevice | POST /api/v1/devices/{device_id}/action/erase | Erase Device |
DeviceActionsAPI | getDeviceCommands | GET /api/v1/devices/{device_id}/commands | Get Device Commands |
DeviceActionsAPI | lockDevice | POST /api/v1/devices/{device_id}/action/lock | Lock Device |
DeviceActionsAPI | reinstallAgent | POST /api/v1/devices/{device_id}/action/reinstallagent | Reinstall Agent |
DeviceActionsAPI | remoteDesktop | POST /api/v1/devices/{device_id}/action/remotedesktop | Remote Desktop |
DeviceActionsAPI | renewMdmProfile | POST /api/v1/devices/{device_id}/action/renewmdmprofile | Renew MDM Profile |
DeviceActionsAPI | restartDevice | POST /api/v1/devices/{device_id}/action/restart | Restart Device |
DeviceActionsAPI | sendBlankpush | POST /api/v1/devices/{device_id}/action/blankpush | Send Blankpush |
DeviceActionsAPI | setName | POST /api/v1/devices/{device_id}/action/setname | Set Name |
DeviceActionsAPI | shutdown | POST /api/v1/devices/{device_id}/action/shutdown | Shutdown |
DeviceActionsAPI | unlockAccount | POST /api/v1/devices/{device_id}/action/unlockaccount | Unlock Account |
DeviceActionsAPI | updateInventory | POST /api/v1/devices/{device_id}/action/updateinventory | Update Inventory |
DeviceInformationAPI | cancelLostMode | DELETE /api/v1/devices/{device_id}/details/lostmode | Cancel Lost Mode |
DeviceInformationAPI | getDeviceActivity | GET /api/v1/devices/{device_id}/activity | Get Device Activity |
DeviceInformationAPI | getDeviceApps | GET /api/v1/devices/{device_id}/apps | Get Device Apps |
DeviceInformationAPI | getDeviceDetails | GET /api/v1/devices/{device_id}/details | Get Device Details |
DeviceInformationAPI | getDeviceLibraryItems | GET /api/v1/devices/{device_id}/library-items | Get Device Library Items |
DeviceInformationAPI | getDeviceLostModeDetails | GET /api/v1/devices/{device_id}/details/lostmode | Get Device Lost Mode details |
DeviceInformationAPI | getDeviceParameters | GET /api/v1/devices/{device_id}/parameters | Get Device Parameters |
DeviceInformationAPI | getDeviceStatus | GET /api/v1/devices/{device_id}/status | Get Device Status |
DeviceInformationAPI | listDevices | GET /api/v1/devices | List Devices |
DeviceSecretsAPI | getActivationLockBypassCode | GET /api/v1/devices/{device_id}/secrets/bypasscode | Get Activation Lock Bypass Code |
DeviceSecretsAPI | getFilevaultRecoveryKey | GET /api/v1/devices/{device_id}/secrets/filevaultkey | Get FileVault Recovery Key |
DeviceSecretsAPI | getRecoveryLockPassword | GET /api/v1/devices/{device_id}/secrets/recoverypassword | Get Recovery Lock Password |
DeviceSecretsAPI | getUnlockPin | GET /api/v1/devices/{device_id}/secrets/unlockpin | Get Unlock Pin |
InHouseAppsAPI | createInhouseApp | POST /api/v1/library/ipa-apps | Create In-House App |
InHouseAppsAPI | deleteInhouseApp | DELETE /api/v1/library/ipa-apps/{library_item_id} | Delete In-House App |
InHouseAppsAPI | getInhouseApp | GET /api/v1/library/ipa-apps/{library_item_id} | Get In-House App |
InHouseAppsAPI | listInhouseApps | GET /api/v1/library/ipa-apps | List In-House Apps |
InHouseAppsAPI | updateInhouseApp | PATCH /api/v1/library/ipa-apps/{library_item_id} | Update In-House App |
InHouseAppsAPI | uploadInhouseApp | POST /api/v1/library/ipa-apps/upload | Upload In-House App |
InHouseAppsAPI | uploadInhouseAppStatus | GET /api/v1/library/ipa-apps/upload/{pending_upload_id}/status | Upload In-House App Status |
LibraryItemsAPI | getLibraryItemActivity | GET /api/v1/library/library-items/{library_item_id}/activity | Get Library Item Activity |
LibraryItemsAPI | getLibraryItemStatuses | GET /api/v1/library/library-items/{library_item_id}/status | Get Library Item Statuses |
LostModeAPI | disableLostMode | POST /api/v1/devices/{device_id}/action/disablelostmode | Disable Lost Mode |
LostModeAPI | enableLostMode | POST /api/v1/devices/{device_id}/action/enablelostmode | Enable Lost Mode |
LostModeAPI | playLostModeSound | POST /api/v1/devices/{device_id}/action/playlostmodesound | Play Lost Mode Sound |
LostModeAPI | updateLocation | POST /api/v1/devices/{device_id}/action/updatelocation | Update Location |
NotesAPI | createDeviceNote | POST /api/v1/devices/{device_id}/notes | Create Device Note |
NotesAPI | deleteDeviceNote | DELETE /api/v1/devices/{device_id}/notes/{note_id} | Delete Device Note |
NotesAPI | getDeviceNotes | GET /api/v1/devices/{device_id}/notes | Get Device Notes |
NotesAPI | retrieveDeviceNote | GET /api/v1/devices/{device_id}/notes/{note_id} | Retrieve Device Note |
NotesAPI | updateDeviceNote | PATCH /api/v1/devices/{device_id}/notes/{note_id} | Update Device Note |
PrismAPI | activationLock | GET /api/v1/prism/activation_lock | Activation lock |
PrismAPI | applicationFirewall | GET /api/v1/prism/application_firewall | Application firewall |
PrismAPI | applications | GET /api/v1/prism/apps | Applications |
PrismAPI | certificates | GET /api/v1/prism/certificates | Certificates |
PrismAPI | count | GET /api/v1/prism/count | Count |
PrismAPI | desktopAndScreensaver | GET /api/v1/prism/desktop_and_screensaver | Desktop and Screensaver |
PrismAPI | deviceInformation | GET /api/v1/prism/device_information | Device information |
PrismAPI | filevault | GET /api/v1/prism/filevault | FileVault |
PrismAPI | gatekeeperAndXprotect | GET /api/v1/prism/gatekeeper_and_xprotect | Gatekeeper and XProtect |
PrismAPI | getCategoryExport | GET /api/v1/prism/export/{export_id} | Get category export |
PrismAPI | installedProfiles | GET /api/v1/prism/installed_profiles | Installed profiles |
PrismAPI | kernelExtensions | GET /api/v1/prism/kernel_extensions | Kernel Extensions |
PrismAPI | launchAgentsAndDaemons | GET /api/v1/prism/launch_agents_and_daemons | Launch Agents and Daemons |
PrismAPI | localUsers | GET /api/v1/prism/local_users | Local users |
PrismAPI | requestCategoryExport | POST /api/v1/prism/export | Request category export |
PrismAPI | startupSettings | GET /api/v1/prism/startup_settings | Startup settings |
PrismAPI | systemExtensions | GET /api/v1/prism/system_extensions | System Extensions |
PrismAPI | transparencyDatabase | GET /api/v1/prism/transparency_database | Transparency database |
SelfServiceAPI | listSelfServiceCategories | GET /api/v1/self-service/categories | List Self Service Categories |
SettingsAPI | licensing | GET /api/v1/settings/licensing | Licensing |
TagsAPI | createTag | POST /api/v1/tags | Create Tag |
TagsAPI | deleteTag | DELETE /api/v1/tags/{tag_id} | Delete Tag |
TagsAPI | getTags | GET /api/v1/tags | Get Tags |
TagsAPI | updateTag | PATCH /api/v1/tags/{tag_id} | Update Tag |
ThreatsAPI | getThreatDetails | GET /api/v1/threat-details | Get Threat Details |
UsersAPI | getUser | GET /api/v1/users/{user_id} | Get User |
UsersAPI | listUsers | GET /api/v1/users | List Users |
Authentication schemes defined for the API:
- Type: HTTP Bearer Token authentication (API Token)