Iru Prism API
The Prism API from Iru — 19 operation(s) for prism.
GET
/api/v1/prism/activation_lock
Activation lock
GET
/api/v1/prism/apps
Applications
GET
/api/v1/prism/application_firewall
Application firewall
GET
/api/v1/prism/cellular
Cellular
GET
/api/v1/prism/certificates
Certificates
GET
/api/v1/prism/desktop_and_screensaver
Desktop and Screensaver
GET
/api/v1/prism/device_information
Device information
GET
/api/v1/prism/filevault
FileVault
GET
/api/v1/prism/gatekeeper_and_xprotect
Gatekeeper and XProtect
GET
/api/v1/prism/installed_profiles
Installed profiles
GET
/api/v1/prism/kernel_extensions
Kernel Extensions
GET
/api/v1/prism/launch_agents_and_daemons
Launch Agents and Daemons
GET
/api/v1/prism/local_users
Local users
GET
/api/v1/prism/startup_settings
Startup settings
GET
/api/v1/prism/system_extensions
System Extensions
GET
/api/v1/prism/transparency_database
Transparency database
POST
/api/v1/prism/export
Request category export
GET
/api/v1/prism/export/{export_id}
Get category export
GET
/api/v1/prism/count
Count
Documentation
Specifications
Other Resources
Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Iru Endpoint Management Prism API
description: "# Welcome to the Iru Endpoint Management API Documentation\n\n**Note:** Kandji is in the process of changing to Iru. Many URLs and notes within this documentation will continue to reference Kandji for some time.\n\nYou can find your API URL in Settings > Access. The API URL will follow the below formats.\n\n- US - `https://SubDomain.api.kandji.io`\n \n- EU - `https://SubDomain.api.eu.kandji.io`\n \n\nFor information on how to obtain an API token, please refer to the Iru docs.\n\n[https://docs.iru.com/](https://docs.iru.com/)\n\n#### Rate Limit\n\nThe Iru Endpoint Management API currently has an API rate limit of 10,000 requests per hour per customer.\n\n#### Request Methods\n\nHTTP request methods supported by the API.\n\n| Method | Definition |\n| --- | --- |\n| GET | The `GET` method requests a representation of the specified resource. |\n| POST | The `POST` method submits an entity to the specified resource. |\n| PATCH | The `PATCH` method applies partial modifications to a resource. |\n| DELETE | The `DELETE` method deletes the specified resource. |\n\n#### Response codes\n\nNot all response codes apply to every endpoint.\n\n| Code | Response |\n| --- | --- |\n| 200 | OK |\n| 201 | Created |\n| 204 | No content |\n| | Typical response when sending the DELETE method. |\n| 400 | Bad Request |\n| | \"Command already running\" - The command may already be running in a _Pending_ state waiting on the device. |\n| | \"Command is not allowed for current device\" - The command may not be compatible with the target device. |\n| | \"JSON parse error - Expecting ',' delimiter: line 3 column 2 (char 65)\" |\n| 401 | Unauthorized |\n| | This error can occur if the token is incorrect, was revoked, or the token has expired. |\n| 403 | Forbidden |\n| | The request was understood but cannot be authorized. |\n| 404 | Not found |\n| | Unable to locate the resource in the Iru tenant. |\n| 415 | Unsupported Media Type |\n| | The request contains a media type which the server or resource does not support. |\n| 500 | Internal server error |\n| 503 | Service unavailable |\n| | This error can occur if a file upload is still being processed via the custom apps API. |\n\n#### Data structure\n\nThe API returns all structured responses in JSON schema format.\n\n#### Examples\n\nCode examples using the API can be found in the Iru Endpoint Management support [GitHub](https://github.com/kandji-inc/support/tree/main/api-tools)."
version: 1.0.0
servers:
- url: https://{subdomain}.api.kandji.io
description: US Server
variables:
subdomain:
default: your-subdomain
description: Your Iru Endpoint Management subdomain
- url: https://{subdomain}.api.eu.kandji.io
description: EU Server
variables:
subdomain:
default: your-subdomain
description: Your Iru Endpoint Management subdomain
security:
- BearerAuth: []
tags:
- name: Prism
paths:
/api/v1/prism/activation_lock:
get:
summary: Activation lock
description: This request returns activation lock attributes for devices.
parameters:
- name: blueprint_ids
in: query
required: false
description: Filter results by one or more blueprint IDs separated by commas.
schema:
type: string
example: blueprint_id, blueprint_id,blueprint_id
- name: device_families
in: query
required: false
description: Filter results by one or more device families separated by commas (`Mac`, `iPhone`, `iPad`, `tvOS`).
schema:
type: string
example: Mac,iPhone,iPad,tvOS
- name: filter
in: query
required: false
description: 'JSON schema object containing one or more key value pairs. Note: For detailed information on filters, see the Filters section at the beginning of the Visibility API endpoints in this doc.'
schema:
type: string
- name: sort_by
in: query
required: false
description: Sort results by the name of a given response body key in either ascending (default behavior) or descending(-) order.
schema:
type: string
- name: limit
in: query
required: false
description: A hard upper limit is set at 300 device records returned per request. If more device records are expected, pagination should be used using the limit and offset parameters. Additionally, parameter queries can be added to a request to limit the results.
schema:
type: string
- name: offset
in: query
required: false
description: Specify the starting record to return.
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
example:
offset: null
limit: 25
total: 10
data:
- device_id: d6ac2d8c-3852-4dc1-afe7-d5a32306ee39
device__name: 14_1_1_23B81_as_adcs_testing
device__family: Mac
device__user_id: ''
device__user_name: null
device__user_email: null
blueprint_id: 449ec92a-186a-44f2-9421-d5ac6e465eb5
blueprint_name: demo
tags: null
asset_tag: ''
serial_number: Z6V0YW4M1C
model_id: VirtualMac2,1
count: null
created_at: '2023-11-30T16:45:23.389926+00:00'
updated_at: '2025-03-18T19:06:43.216114+00:00'
last_changed_at: '2025-03-18T19:06:43.316369+00:00'
last_collected_at: '2025-03-18T19:06:43.216115+00:00'
device_capacity: 47
host_name: 14_1_1_23B81_as_adcs_testing
local_hostname: ankas-Virtual-Machine
apple_silicon: true
model: Virtual Machine
model_name: Virtual Machine
shared_ipad: null
cellular_technology: null
data_roaming: null
hotspot: null
first_enrollment_date: '2023-11-30T16:44:13.890383+00:00'
last_enrollment_date: '2023-11-30T16:44:13.890383+00:00'
agent_version: 4.3.3 (4811)
mdm_enabled: true
agent_installed: true
os_version: 14.1.1
os_build: 23B81
marketing_name: Sonoma
supplemental_build_version: 23B81
supplemental_os_version_extra: null
display_os_version: 14.1.1
last_checkin: '2023-12-24T22:00:58.374320+00:00'
last_checkin_agent: '2023-12-24T22:00:58.374320+00:00'
last_checkin_mdm: '2023-12-24T21:39:38.077864+00:00'
battery_health: null
lost_mode_status: null
cursor: null
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Not Found
tags:
- Prism
/api/v1/prism/apps:
get:
summary: Applications
description: This request returns the applications installed on macOS, iOS, iPadOS, and tvOS devices.
parameters:
- name: blueprint_ids
in: query
required: false
description: Filter results by one or more blueprint IDs separated by commas.
schema:
type: string
example: blueprint_id, blueprint_id,blueprint_id
- name: device_families
in: query
required: false
description: Filter results by one or more device families separated by commas (`Mac`, `iPhone`, `iPad`, `tvOS`).
schema:
type: string
example: Mac,iPhone,iPad,tvOS
- name: filter
in: query
required: false
description: 'JSON schema object containing one or more key value pairs. Note: For detailed information on filters, see the Filters section at the beginning of the Visibility API endpoints in this doc.'
schema:
type: string
example: '{"name":{"not_in":["Okta Verify"]},"device__name":{"not_in":["testuser’s MacBook Air"]}}'
- name: sort_by
in: query
required: false
description: Sort results by the name of a given response body key in either ascending (default behavior) or descending() order.
schema:
type: string
- name: limit
in: query
required: false
description: A hard upper limit is set at 300 device records returned per request. If more device records are expected, pagination should be used using the limit and offset parameters. Additionally, parameter queries can be added to a request to limit the results.
schema:
type: integer
minimum: 1
maximum: 300
default: 300
example: 300
- name: offset
in: query
required: false
description: Specify the starting record to return.
schema:
type: integer
minimum: 0
default: 0
example: 0
responses:
'200':
description: success
content:
application/json:
schema:
type: object
example:
offset: null
limit: 25
total: 165
data:
- device_id: aa79459d-8566-4655-b09a-8f5c6bcf8b43
device__name: accuhive_admin
device__family: Mac
device__user_id: '36600'
device__user_name: Accuhive Admin
device__user_email: accuhive@accuhive.io
blueprint_id: 9b1ce867-83dd-46bb-b79a-ba2b5c3a4acc
blueprint_name: _testing_something
tags: null
asset_tag: ''
serial_number: FVHHFKF7Q6L4
model_id: MacBookAir10,1
count: null
created_at: '2024-11-18T23:04:43.852118+00:00'
updated_at: '2024-11-18T23:04:43.852118+00:00'
last_changed_at: null
last_collected_at: '2024-12-18T22:24:03.861846+00:00'
path: /Applications/1Password 7.app
obtained_from: Identified Developer
bundle_size: null
bundle_id: com.agilebits.onepassword7
name: 1Password 7
short_version: '70911000'
signature: 'Developer ID Application: AgileBits Inc. (2BUA8C4S2C), Developer ID Certification Authority, Apple Root CA'
ad_hoc_code_signed: null
app_store_vendable: null
beta_app: null
device_based_vpp: null
download_canceled: null
download_failed: null
download_paused: null
download_waiting: null
dynamic_size: null
external_version_identifier: null
has_update_available: null
installing: null
version: 7.9.11
app_clip: null
validated: null
executable: 1Password 7
bundle_name: 1Password 7
bundle_type: APPL
environment_variables: null
compiler: com.apple.compilers.llvm.clang.1_0
bundle_region: en
bundle_display_name: null
info: null
minimum_system_version: '10.13'
category: public.app-category.productivity
apple_scriptable: null
copyright: Copyright © AgileBits Inc. All rights reserved.
developer_name: AgileBits Inc.
team_id: 2BUA8C4S2C
- device_id: aa79459d-8566-4655-b09a-8f5c6bcf8b43
device__name: accuhive_admin
device__family: Mac
device__user_id: '36600'
device__user_name: Accuhive Admin
device__user_email: accuhive@kandjidev.onmicrosoft.com
blueprint_id: 9b1ce867-83dd-46bb-b79a-ba2b5c3a4acc
blueprint_name: _testing_something
tags: null
asset_tag: ''
serial_number: FVHHFKF7Q6L4
model_id: MacBookAir10,1
count: null
created_at: '2024-11-18T23:05:16.300608+00:00'
updated_at: '2024-11-18T23:05:16.300608+00:00'
last_changed_at: null
last_collected_at: '2024-12-18T22:24:03.861891+00:00'
path: /Applications/1Password 7.app/Contents/Library/LoginItems/1Password Extension Helper.app
obtained_from: Identified Developer
bundle_size: null
bundle_id: 2BUA8C4S2C.com.agilebits.onepassword7-helper
name: 1Password Extension Helper
short_version: '70911000'
signature: 'Developer ID Application: AgileBits Inc. (2BUA8C4S2C), Developer ID Certification Authority, Apple Root CA'
ad_hoc_code_signed: null
app_store_vendable: null
beta_app: null
device_based_vpp: null
download_canceled: null
download_failed: null
download_paused: null
download_waiting: null
dynamic_size: null
external_version_identifier: null
has_update_available: null
installing: null
version: 7.9.11
app_clip: null
validated: null
executable: 1Password Extension Helper
bundle_name: 1Password Extension Helper
bundle_type: APPL
environment_variables: null
compiler: com.apple.compilers.llvm.clang.1_0
bundle_region: en
bundle_display_name: null
info: null
minimum_system_version: '10.13'
category: public.app-category.utilities
apple_scriptable: null
copyright: Copyright © AgileBits Inc. All rights reserved.
developer_name: AgileBits Inc.
team_id: 2BUA8C4S2C
cursor: null
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Not Found
tags:
- Prism
/api/v1/prism/application_firewall:
get:
summary: Application firewall
description: This request returns Application Firewall details for macOS.
parameters:
- name: blueprint_ids
in: query
required: false
description: Filter results by one or more blueprint IDs separated by commas.
schema:
type: string
example: blueprint_id, blueprint_id,blueprint_id
- name: device_families
in: query
required: false
description: Filter results by one or more device families separated by commas (`Mac`, `iPhone`, `iPad`, `tvOS`).
schema:
type: string
example: Mac,iPhone,iPad,tvOS
- name: filter
in: query
required: false
description: 'JSON schema object containing one or more key value pairs. Note: For detailed information on filters, see the Filters section at the beginning of the Visibility API endpoints in this doc.'
schema:
type: string
- name: sort_by
in: query
required: false
description: Sort results by the name of a given response body key in either ascending (default behavior) or descending(-) order.
schema:
type: string
- name: limit
in: query
required: false
description: A hard upper limit is set at 300 device records returned per request. If more device records are expected, pagination should be used using the limit and offset parameters. Additionally, parameter queries can be added to a request to limit the results.
schema:
type: string
- name: offset
in: query
required: false
description: Specify the starting record to return.
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
example:
offset: 0
limit: 25
total: null
data:
- device_id: aa79459d-8566-4655-b09a-8f5c6bcf8b43
device__name: accuhive_admin
device__family: Mac
device__user_id: '36600'
device__user_name: Accuhive Admin
device__user_email: accuhive@accuhive.io
blueprint_id: 9b1ce867-83dd-46bb-b79a-ba2b5c3a4acc
blueprint_name: _testing_something
tags: null
asset_tag: ''
serial_number: FVHHFKF7Q6L4
model_id: MacBookAir10,1
count: null
created_at: '2024-11-18T21:02:58.411377+00:00'
updated_at: '2024-12-10T16:24:07.767954+00:00'
last_changed_at: null
last_collected_at: '2024-12-10T16:24:07.767955+00:00'
status: false
block_all_incoming: false
logging: true
logging_option: throttled
stealth_mode: false
version: '1.7'
allow_signed_applications: true
unloading: false
cursor: null
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Not Found
tags:
- Prism
/api/v1/prism/cellular:
get:
summary: Cellular
description: This request returns Cellular attributes for devices.
parameters:
- name: blueprint_ids
in: query
required: false
description: Filter results by one or more blueprint IDs separated by commas.
schema:
type: string
example: blueprint_id, blueprint_id,blueprint_id
- name: device_families
in: query
required: false
description: Filter results by one or more device families separated by commas (`Mac`, `iPhone`, `iPad`, `tvOS`).
schema:
type: string
example: Mac,iPhone,iPad,tvOS
- name: filter
in: query
required: false
description: 'JSON schema object containing one or more key value pairs. Note: For detailed information on filters, see the Filters section at the beginning of the Visibility API endpoints in this doc.'
schema:
type: string
- name: sort_by
in: query
required: false
description: Sort results by the name of a given response body key in either ascending (default behavior) or descending(-) order.
schema:
type: string
- name: limit
in: query
required: false
description: A hard upper limit is set at 300 device records returned per request. If more device records are expected, pagination should be used using the limit and offset parameters. Additionally, parameter queries can be added to a request to limit the results.
schema:
type: string
- name: offset
in: query
required: false
description: Specify the starting record to return.
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
example:
offset: 0
limit: 25
total: null
data:
- device_id: 387a369d-5d12-4dfe-9ac0-d5af8780b959
device__name: iPhone
device__family: iPhone
device__user_id: ''
device__user_name: null
device__user_email: null
blueprint_id: 9c2a1219-deeb-4b37-845e-b61418275ba1
blueprint_name: accuhive
tags: null
asset_tag: ''
serial_number: F4GVJ4Q9JC6H
model_id: iPhone10,1
count: null
created_at: '2025-02-08T00:55:45.808993+00:00'
updated_at: '2025-02-12T17:33:35.626695+00:00'
last_changed_at: null
last_collected_at: '2025-02-12T17:33:35.626695+00:00'
cellular_technology: GSM and CDMA
data_roaming_enabled: false
voice_roaming_enabled: false
modem_firmware_version: 6.21.01
personal_hotspot_enabled: false
meid: '35673008397160'
carrier_settings_version_slot_1: null
current_carrier_network_slot_1: null
current_mcc_slot_1: null
current_mnc_slot_1: null
eid_slot_1: null
iccid_slot_1: null
imei_slot_1: 35 673008 397160 8
is_data_preferred_slot_1: null
is_roaming_slot_1: null
is_voice_preferred_slot_1: null
label_slot_1: null
label_id_slot_1: null
phone_number_slot_1: null
slot_1: CTSubscriptionSlotOne
subscriber_carrier_network_slot_1: null
carrier_settings_version_slot_2: null
current_carrier_network_slot_2: null
current_mcc_slot_2: null
current_mnc_slot_2: null
eid_slot_2: null
iccid_slot_2: null
imei_slot_2: null
is_data_preferred_slot_2: null
is_roaming_slot_2: null
is_voice_preferred_slot_2: null
label_slot_2: null
label_id_slot_2: null
phone_number_slot_2: null
slot_2: null
subscriber_carrier_network_slot_2: null
cursor: null
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Not Found
tags:
- Prism
/api/v1/prism/certificates:
get:
summary: Certificates
description: This request returns certificate details.
parameters:
- name: blueprint_ids
in: query
required: false
description: Filter results by one or more blueprint IDs separated by commas.
schema:
type: string
example: blueprint_id, blueprint_id,blueprint_id
- name: device_families
in: query
required: false
description: Filter results by one or more device families separated by commas (`Mac`, `iPhone`, `iPad`, `tvOS`).
schema:
type: string
example: Mac,iPhone,iPad,tvOS
- name: filter
in: query
required: false
description: 'JSON schema object containing one or more key value pairs. Note: For detailed information on filters, see the Filters section at the beginning of the Visibility API endpoints in this doc.'
schema:
type: string
- name: sort_by
in: query
required: false
description: Sort results by the name of a given response body key in either ascending (default behavior) or descending(-) order.
schema:
type: string
- name: limit
in: query
required: false
description: A hard upper limit is set at 300 device records returned per request. If more device records are expected, pagination should be used using the limit and offset parameters. Additionally, parameter queries can be added to a request to limit the results.
schema:
type: string
- name: offset
in: query
required: false
description: Specify the starting record to return.
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: object
example:
offset: 0
limit: 25
total: null
data:
- device_id: aa79459d-8566-4655-b09a-8f5c6bcf8b43
device__name: accuhive_admin
device__family: Mac
device__user_id: '36600'
device__user_name: Accuhive Admin
device__user_email: accuhive@accuhive.io
blueprint_id: 9b1ce867-83dd-46bb-b79a-ba2b5c3a4acc
blueprint_name: _testing_something
tags: null
asset_tag: ''
serial_number: FVHHFKF7Q6L4
model_id: MacBookAir10,1
count: null
created_at: '2024-11-18T21:03:05.323348+00:00'
updated_at: '2024-12-10T14:39:34.950229+00:00'
last_changed_at: null
last_collected_at: '2024-12-10T14:39:34.950229+00:00'
common_name: com.apple.kerberos.kdc
identity_certificate: true
- device_id: aa79459d-8566-4655-b09a-8f5c6bcf8b43
device__name: accuhive_admin
device__family: Mac
device__user_id: '36600'
device__user_name: Accuhive Admin
device__user_email: accuhive@accuhive.io
blueprint_id: 9b1ce867-83dd-46bb-b79a-ba2b5c3a4acc
blueprint_name: _testing_something
tags: null
asset_tag: ''
serial_number: FVHHFKF7Q6L4
model_id: MacBookAir10,1
count: null
created_at: '2024-11-18T21:03:05.323348+00:00'
updated_at: '2024-12-10T14:39:34.950256+00:00'
last_changed_at: null
last_collected_at: '2024-12-10T14:39:34.950256+00:00'
common_name: com.apple.systemdefault
identity_certificate: true
- device_id: aa79459d-8566-4655-b09a-8f5c6bcf8b43
device__name: accuhive_admin
device__family: Mac
device__user_id: '36600'
device__user_name: Accuhive Admin
device__user_email: accuhive@accuhive.io
blueprint_id: 9b1ce867-83dd-46bb-b79a-ba2b5c3a4acc
blueprint_name: _testing_something
tags: null
asset_tag: ''
serial_number: FVHHFKF7Q6L4
model_id: MacBookAir10,1
count: null
created_at: '2024-12-05T21:11:17.891381+00:00'
updated_at: '2024-12-10T14:39:34.950276+00:00'
last_changed_at: null
last_collected_at: '2024-12-10T14:39:34.950276+00:00'
common_name: MDM SCEP VERIFIER ...
identity_certificate: true
cursor: null
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: Not Found
tags:
- Prism
/api/v1/prism/desktop_and_screensaver:
get:
summary: Desktop and Screensaver
description: This request returns Desktop and Screensaver details for macOS.
parameters:
- name: blueprint_ids
in: query
required: false
description: Filter results by one or more blueprint IDs separated by commas.
schema:
type: string
example: blueprint_id, blueprint_id,blueprint_id
# --- truncated at 32 KB (88 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kandji/refs/heads/main/openapi/kandji-prism-api-openapi.yml