Skip to content

API Endpoints Reference

This document provides a comprehensive reference of all available API endpoints organized by category.

Authentication Endpoints

User Authentication

POST /v2/authentication/token

  • Authenticate with user credentials
  • Returns JWT token for authenticated requests
  • Headers: x-access-key, x-secret-key

POST /v2/authentication/token/refresh

  • Refresh an expired JWT token
  • Headers: x-access-key, x-secret-key

GET /v2/authentication/jwt-public-key

  • Retrieve the public key for JWT validation

POST /v2/authentication/device-token

  • Generate a device token for device-to-server communication
  • Headers: x-access-key, x-secret-key

Access Key Management

GET /v2/access-keys

  • List all access keys for your organization
  • Query params: take, skip

POST /v2/access-keys

  • Create a new access key
  • Body: { "description": "string" }

PUT /v2/access-keys/{access_key}

  • Update an access key
  • Body: { "enabled": boolean }

DELETE /v2/access-keys/{access_key}

  • Revoke an access key

Secret Key Management

GET /v2/secret-keys

  • List all secret keys
  • Query params: take, skip

POST /v2/secret-keys

  • Generate a new secret key
  • Body: { "description": "string" }

DELETE /v2/secret-keys/{secret_key}

  • Revoke a secret key

Fleet Management Endpoints

Devices

GET /v2/devices

  • List all devices
  • Query params: take, skip, search

POST /v2/devices

  • Create a new device
  • Body: device configuration

GET /v2/devices/{id}

  • Retrieve a specific device

PUT /v2/devices/{id}

  • Update device configuration
  • Body: partial device configuration

DELETE /v2/devices/{id}

  • Remove a device from fleet

POST /v2/devices/{id}/sync

  • Force device synchronization
  • Returns immediately, sync happens asynchronously

POST /v2/devices/{id}/lock

  • Lock a device remotely
  • Returns: lock confirmation

POST /v2/devices/{id}/unlock

  • Unlock a device remotely
  • Returns: unlock confirmation

Device Applications

GET /v2/devices/{id}/applications

  • List installed applications on a device
  • Query params: take, skip, search

GET /v2/devices/{id}/applications/{deviceApplicationId}

  • Get details of a specific installed application

Device Messages

GET /v2/devices/{id}/messages

  • Retrieve messages sent to a device
  • Query params: take, skip

POST /v2/devices/{id}/messages

  • Send a message to a device
  • Body: { "title": "string", "body": "string", "priority": "high|normal|low" }

Device Status

GET /v2/devices/{id}/status-events

  • Get status event history for a device
  • Query params: take, skip

GET /v2/device-status-events

  • List all device status events across fleet
  • Query params: take, skip, deviceId, type

Device URLs

GET /v2/devices/{id}/blocked-urls

  • Get list of blocked URLs on a device
  • Query params: take, skip

Notification Templates

GET /v2/devices/notification-templates

  • List notification templates
  • Query params: take, skip

POST /v2/devices/notification-templates

  • Create a new notification template
  • Body: template configuration

GET /v2/devices/notification-templates/{deviceNotificationTemplateId}

  • Get a specific notification template

PUT /v2/devices/notification-templates/{deviceNotificationTemplateId}

  • Update a notification template

DELETE /v2/devices/notification-templates/{deviceNotificationTemplateId}

  • Delete a notification template

Device Group Management Endpoints

Device Groups

GET /v2/device-groups

  • List all device groups
  • Query params: take, skip, search

POST /v2/device-groups

  • Create a new device group
  • Body: { "name": "string", "description": "string" }

GET /v2/device-groups/{id}

  • Get device group details

PUT /v2/device-groups/{id}

  • Update device group
  • Body: { "name": "string", "description": "string" }

DELETE /v2/device-groups/{id}

  • Delete a device group

Device Group Devices

GET /v2/device-groups/{id}/devices

  • List devices in a group
  • Query params: take, skip

POST /v2/device-groups/{id}/devices

  • Add devices to a group
  • Body: { "deviceIds": ["id1", "id2"] }

DELETE /v2/device-groups/{id}/devices

  • Remove devices from a group
  • Body: { "deviceIds": ["id1", "id2"] }

Device Group Configuration

GET /v2/device-groups/{id}/agent-configuration

  • Get agent configuration for the group

PUT /v2/device-groups/{id}/agent-configuration

  • Set agent configuration for the group
  • Body: { "configurationId": "string" }

Device Group Enrollment

GET /v2/device-groups/{id}/enrollment-code

  • Get or generate enrollment code
  • Returns: { "code": "string", "expiresAt": "ISO8601", "maxUses": number }

POST /v2/device-groups/{id}/enrollment-code

  • Create a new enrollment code
  • Body: { "expiresIn": number, "maxUses": number }

DELETE /v2/device-groups/{id}/enrollment-code

  • Revoke enrollment code

Device Group Messages

POST /v2/device-groups/{id}/messages

  • Send message to all devices in group
  • Body: { "title": "string", "body": "string", "priority": "high|normal|low" }

Device Group Hierarchies

GET /v2/device-groups-hierarchies

  • Get hierarchical structure of device groups
  • Query params: take, skip

Enrollment Endpoints

Enrollment Certificates

POST /v2/enrollments/certificates

  • Upload an enrollment certificate
  • Body: certificate data

Device Couplings

POST /v2/enrollments/couplings

  • Pre-register a device for zero-touch enrollment
  • Body: { "deviceGroupId": "string", "serialNumber": "string", "deviceType": "android|ios" }

Statistics Endpoints

Instant Statistics

GET /v2/statistics

  • Get current fleet statistics
  • Returns: device counts, application counts, threat statistics

Statistics History

GET /v2/statistics/history

  • Get historical statistics data
  • Query params: take, skip, startDate, endDate, ascending

Applications Management Endpoints

Applications

GET /v2/applications

  • List applications in your catalog
  • Query params: take, skip, search

POST /v2/applications

  • Add application to catalog
  • Body: application details

GET /v2/applications/{id}

  • Get application details

GET /v2/applications/{id}/devices

  • List devices with a specific application installed

Application Binaries

GET /v2/application-binaries

  • List application binaries
  • Query params: take, skip

POST /v2/application-binaries

  • Upload application binary for analysis
  • Body: multipart/form-data with binary file

GET /v2/application-binaries/{id}

  • Get binary details

On-Device Applications

GET /v2/applications/on-device

  • Get applications currently installed on devices
  • Query params: take, skip, deviceId

Application Packages

GET /v2/applications/packages

  • List application packages
  • Query params: take, skip

Application Reports Endpoints

GET /v2/application-reports/{id}

  • Get application analysis report

GET /v2/application-reports/{id}/accesses

  • Get data access information

GET /v2/application-reports/{id}/accesses/{data}/matches

  • Get specific data access matches

GET /v2/application-reports/{id}/analyses

  • Get analysis details

GET /v2/application-reports/{id}/communications

  • Get communication patterns

GET /v2/application-reports/{id}/components

  • Get application components

GET /v2/application-reports/{id}/features

  • Get application features

GET /v2/application-reports/{id}/features/{name}/matches

  • Get feature usage matches

GET /v2/application-reports/{id}/leaks

  • Get potential data leaks

GET /v2/application-reports/{id}/libraries

  • Get third-party libraries

GET /v2/application-reports/{id}/permission-requests

  • Get permission requests

GET /v2/application-reports/{id}/vulnerabilities

  • Get detected vulnerabilities

Centralized Applications Store

POST /v2/applications-catalog/upload

  • Upload application for analysis
  • Content-Type: multipart/form-data

POST /v2/applications-catalog/search

  • Search applications in database
  • Body: search parameters

GET /v2/applications-catalog/uploaded-packages

  • List uploaded packages
  • Query params: take, skip

GET /v2/applications-catalog/search/{id}/applications-packages

  • Get packages for search result

GET /v2/applications-catalog/application-packages/{id}/applications

  • List applications in package
  • Query params: take, skip, isUploaded, searchInVersion

GET /v2/applications-catalog/analyses/{id}/report

  • Download analysis report

Policies Management Endpoints

Detection Policies

GET /v2/detection-policies

  • List detection policies
  • Query params: take, skip

POST /v2/detection-policies

  • Create detection policy
  • Body: policy configuration

GET /v2/detection-policies/{id}

  • Get policy details

PUT /v2/detection-policies/{id}

  • Update policy

DELETE /v2/detection-policies/{id}

  • Delete policy

Response Policies

GET /v2/response-policies

  • List response policies
  • Query params: take, skip

POST /v2/response-policies

  • Create response policy
  • Body: policy configuration

GET /v2/response-policies/{id}

  • Get policy details

PUT /v2/response-policies/{id}

  • Update policy

DELETE /v2/response-policies/{id}

  • Delete policy

Response Policy Rulesets

GET /v2/response-policies/{id}/rulesets

  • List rulesets for policy
  • Query params: take, skip

POST /v2/response-policies/{id}/rulesets

  • Create ruleset
  • Body: ruleset configuration

GET /v2/response-policies/{id}/rulesets/{rulesetId}

  • Get ruleset details

PUT /v2/response-policies/{id}/rulesets/{rulesetId}

  • Update ruleset

DELETE /v2/response-policies/{id}/rulesets/{rulesetId}

  • Delete ruleset

Ruleset Assignments

GET /v2/response-policies/{id}/rulesets/{rulesetId}/assignments

  • List assignments for ruleset
  • Query params: take, skip

POST /v2/response-policies/{id}/rulesets/{rulesetId}/assignments

  • Create assignment
  • Body: assignment configuration

GET /v2/response-policies/{id}/rulesets/{rulesetId}/assignments/{rulesetAssignmentId}

  • Get assignment details

DELETE /v2/response-policies/{id}/rulesets/{rulesetId}/assignments/{rulesetAssignmentId}

  • Delete assignment

Device Rules

GET /v2/response-policies/{id}/rulesets/{rulesetId}/device-rules

  • List device rules
  • Query params: take, skip

POST /v2/response-policies/{id}/rulesets/{rulesetId}/device-rules

  • Create device rule
  • Body: rule configuration

GET /v2/response-policies/{id}/rulesets/{rulesetId}/device-rules/{deviceRuleId}

  • Get rule details

PUT /v2/response-policies/{id}/rulesets/{rulesetId}/device-rules/{deviceRuleId}

  • Update rule

DELETE /v2/response-policies/{id}/rulesets/{rulesetId}/device-rules/{deviceRuleId}

  • Delete rule

Device Application Rules

GET /v2/response-policies/{id}/rulesets/{rulesetId}/device-application-rules

  • List device application rules
  • Query params: take, skip

POST /v2/response-policies/{id}/rulesets/{rulesetId}/device-application-rules

  • Create device application rule
  • Body: rule configuration

GET /v2/response-policies/{id}/rulesets/{rulesetId}/device-application-rules/{deviceApplicationRuleId}

  • Get rule details

PUT /v2/response-policies/{id}/rulesets/{rulesetId}/device-application-rules/{deviceApplicationRuleId}

  • Update rule

DELETE /v2/response-policies/{id}/rulesets/{rulesetId}/device-application-rules/{deviceApplicationRuleId}

  • Delete rule

Tag Management Endpoints

GET /v2/tags

  • List tags
  • Query params: take, skip

POST /v2/tags

  • Create tag
  • Body: { "name": "string", "color": "string" }

GET /v2/tags/{id}

  • Get tag details

PUT /v2/tags/{id}

  • Update tag

DELETE /v2/tags/{id}

  • Delete tag

GET /v2/tags/{id}/devices

  • List devices with tag

PUT /v2/tags/{id}/devices

  • Add devices to tag
  • Body: { "deviceIds": ["id1", "id2"] }

DELETE /v2/tags/{id}/devices

  • Remove devices from tag
  • Body: { "deviceIds": ["id1", "id2"] }

GET /v2/tags/{id}/device-rules

  • Get tag device rules
  • Query params: take, skip

PUT /v2/tags/device/{deviceId}

  • Apply tags to device
  • Body: { "tagIds": ["id1", "id2"] }

Administration Endpoints

Account Management

GET /v2/account

  • Get current user account information

PUT /v2/account

  • Update account details
  • Body: account configuration

PUT /v2/account/password

  • Change account password
  • Body: { "currentPassword": "string", "newPassword": "string" }

Company Management

GET /v2/company

  • Get company information

PUT /v2/company

  • Update company information

GET /v2/company/tree

  • Get company hierarchy

GET /v2/company/sub-companies

  • List sub-companies

POST /v2/company/sub-companies

  • Create sub-company

GET /v2/companies

  • List all companies (admin only)

POST /v2/companies/{id}/token

  • Generate token for company

License Management

GET /v2/company/assignable-commercial-licenses

  • List available commercial licenses

GET /v2/company/commercial-license

  • Get company commercial license

POST /v2/company/commercial-license

  • Create commercial license

PUT /v2/company/commercial-license

  • Update commercial license

GET /v2/company/commercial-license/sub-commercial-licenses

  • List sub-licenses

GET /v2/company/commercial-license/sub-commercial-licenses/{id}

  • Get sub-license details

PUT /v2/company/commercial-license/sub-commercial-licenses/{id}

  • Update sub-license

GET /v2/license-checks

  • Check license validity

User Management

GET /v2/users

  • List users
  • Query params: take, skip, search

POST /v2/users

  • Create new user
  • Body: user configuration

GET /v2/users/{id}

  • Get user details

PUT /v2/users/{id}

  • Update user
  • Body: partial user configuration

DELETE /v2/users/{id}

  • Delete user

PUT /v2/users/{id}/password

  • Reset user password

PUT /v2/users/{id}/is-deactivated

  • Deactivate/activate user

PUT /v2/users/{id}/roles

  • Update user roles
  • Body: { "roleIds": ["role1", "role2"] }

GET /v2/users/{id}/invitation-links

  • Get user invitation links

POST /v2/users/{id}/invitation-links

  • Create invitation link for user

PUT /v2/users/{id}/invitation-links/{linkId}

  • Update invitation link

Role Management

GET /v2/roles

  • List roles
  • Query params: take, skip

POST /v2/roles

  • Create role
  • Body: role configuration

GET /v2/roles/{id}

  • Get role details

PUT /v2/roles/{id}

  • Update role

DELETE /v2/roles/{id}

  • Delete role

Contacts

GET /v2/company/contacts

  • List company contacts

POST /v2/company/contacts

  • Add contact
  • Body: contact information

DELETE /v2/company/contacts/{id}

  • Remove contact

Company Configuration

GET /v2/company/default-agent-configuration

  • Get default agent configuration

PUT /v2/company/default-agent-configuration

  • Set default agent configuration

GET /v2/company/device-response-strategy

  • Get device response strategy

PUT /v2/company/device-response-strategy

  • Update device response strategy

GET /v2/company/device-application-response-strategy

  • Get device application response strategy

PUT /v2/company/device-application-response-strategy

  • Update device application response strategy

Messages

POST /v2/company/messages

  • Send message to company
  • Body: message configuration

Additional Endpoints

Health & Status

GET /health

  • Health check endpoint

GET /ping

  • Ping endpoint to verify connectivity

Events

GET /v2/events

  • Get events
  • Query params: take, skip, type, deviceId

Correlation

GET /v2/correlation/{detectionPolicyId}/device/{deviceId}

  • Get device correlation data

GET /v2/correlation/{detectionPolicyId}/application/{applicationId}

  • Get application correlation data

GET /v2/correlation/device-correlation-history

  • Get device correlation history

Knowledge Base

GET /v2/categorized-url

  • Get categorized URL information

GET /v2/categorized-url-snapshot

  • Get URL categorization snapshot

GET /v2/cell-tower

  • Get cell tower information

GET /v2/hardwares

  • List device hardware information
  • Query params: take, skip

GET /v2/hardwares/{id}

  • Get specific hardware details

GET /v2/hardwares/{id}/lastKnownOperatingSystem

  • Get last known OS for hardware

GET /v2/operating-systems

  • List operating systems
  • Query params: take, skip

POST /v2/operating-systems

  • Add operating system

GET /v2/operating-systems/{id}

  • Get OS details

PUT /v2/operating-systems/{id}

  • Update OS

DELETE /v2/operating-systems/{id}

  • Delete OS

URL Bundles

GET /v2/categorized-url-bundles

  • List URL bundles
  • Query params: take, skip

POST /v2/categorized-url-bundles

  • Create URL bundle
  • Body: bundle configuration

GET /v2/categorized-url-bundles/{id}

  • Get bundle details

PUT /v2/categorized-url-bundles/{id}

  • Update bundle

DELETE /v2/categorized-url-bundles/{id}

  • Delete bundle

GET /v2/categorized-url-bundles/{id}/urls

  • List URLs in bundle
  • Query params: take, skip

POST /v2/categorized-url-bundles/{id}/urls

  • Add URL to bundle
  • Body: URL information

DELETE /v2/categorized-url-bundles/{id}/urls/{urlId}

  • Remove URL from bundle

GET /v2/categorized-url-bundles/{id}/handled-companies

  • List companies handling bundle

POST /v2/categorized-url-bundles/{id}/handled-companies

  • Add company to bundle handlers

DELETE /v2/categorized-url-bundles/{id}/handled-companies

  • Remove company from bundle handlers

Query Parameters

Common query parameters used across endpoints:

  • take (number): Number of items to return (default: 50, max: 500)
  • skip (number): Number of items to skip for pagination (default: 0)
  • search (string): Search term for filtering
  • ascending (boolean): Sort order
  • startDate (string): Start date in YYYY-MM-DD format
  • endDate (string): End date in YYYY-MM-DD format

Response Format

All successful API responses return JSON with:

json
{
  "data": {
    /* response data */
  },
  "status": "success",
  "timestamp": "ISO8601 timestamp"
}

Error responses:

json
{
  "error": "Error message",
  "status": "error",
  "code": "ERROR_CODE"
}

HTTP Status Codes

  • 200 - OK
  • 201 - Created
  • 204 - No Content
  • 400 - Bad Request
  • 401 - Unauthorized
  • 403 - Forbidden
  • 404 - Not Found
  • 409 - Conflict
  • 429 - Too Many Requests
  • 500 - Internal Server Error