This guide provides step-by-step instructions to integrate Knox Asset Intelligence API capabilities into your web services.
Before you begin
Before you start the integration process, ensure you have the following:
A valid Samsung Knox account with Knox Asset Intelligence enabled
Familiarity with REST APIs and authentication mechanisms
A development environment capable of making HTTP requests
Devices enrolled in Knox Asset Intelligence
Step 1 — Request API access
Request access to the Cloud Apps feature in Knox Developer Portal. Follow the steps in Register a new cloud app, requesting the following scopes for Knox Asset Intelligence:
Scope
Permission
kai
Manage all Knox Asset Intelligence functionality
kai.settings
View and configure your Knox Asset Intelligence tenant
kai.devices
View Knox Asset Intelligence device and group information
kai.diagnostics
Request and view Knox Asset Intelligence diagnostic logs
kai.network
Subscribe to Knox Asset Intelligence notifications about Wi-Fi connection and disconnection events
kai.battery
Subscribe to Knox Asset Intelligence notifications about battery-related events
kai.app
Subscribe to Knox Asset Intelligence notifications about app usage and abnormal app events
kai.miscellaneous
View the deployment status of your Knox Service Plugin policies
Support for client ID creation using legacy authentication has been discontinued since Knox Asset Intelligence 24.09. Existing client IDs will continue to be supported. However, you must use OAuth 2.0 to generate new client IDs.
To request access to the Knox Asset Intelligence API, send an email to knoxapi@samsungknox.com with the subject line “Knox Asset Intelligence API access request”. Include the following details in your email:
Company name
Country
Email address associated with your Samsung Knox account
Include your access token in the header of all Knox Asset Intelligence API requests. For security reasons, the access token has a default expiry of 30 minutes. Store access tokens securely, and never expose them in client-side code.
Once Cloud Apps access is approved, generate an access token for API authentication. Proceed to the following steps based on your OAuth integration type:
When making a Knox Asset Intelligence API request, include this access token in the request header as x-knox-apitoken.
To let your sub-admins generate access tokens, go to Knox Admin Portal, and grant the Access Knox Cloud APIs portal permission to roles associated with sub-admins. Refer to steps to edit roles in Knox Admin Portal.
Step 3 — Verify your integration
Make a test call to any Knox Asset Intelligence API endpoint to ensure your integration was successful. For example, try retrieving device information. For more examples and use cases, see Tutorials.
An API call to retrieve device information will look like this (remember to replace {ACCESS_TOKEN} with your actual access token):
If you encounter issues with your integration, check these common problems:
Authentication errors: Verify that your access token is valid and properly formatted in the Authorization header. Ensure that the token hasn’t expired, and that it was generated with the correct client credentials. Use tools like cURL to test your authentication.
Permission errors: Make sure your application has the required kai scopes (for OAuth 2.0 integrations) or equivalent permissions (for legacy authentication integrations) for the operations you’re trying to perform.
Invalid parameters: Ensure all required parameters are provided in the correct format according to the API reference. Review error messages returned by the API for specific details on what might be wrong. Make sure you are using the correct customer ID for your company account.
Network issues: Verify that your network connection is stable and that there are no firewall restrictions blocking API requests. Test connectivity to the API endpoint, and confirm that your requests are not being blocked by corporate firewalls or proxies.
Rate limit exceeded: The API has a rate limit of 25 requests per second. If you exceed this limit, wait before making additional requests.
If you still need help, create a support ticket. Include detailed information about the error, including the endpoint you were calling, request/response details (with sensitive data redacted), and any error codes received.