Scalefusion Developer API

We at Scalefusion realize that an enterprise might be using other ITSM software and/or internal applications that need a quick and direct access to their managed device inventory and in some cases perform actions on the managed devices. This ensures that the IT Team do not have to switch the context explicitly from the internal application to Scalefusion Dashboard to perform tasks.

To address this requirement, Scalefusion provides a Developer API, that can be integrated into your internal applications and perform device management operations. This document guides you on how to enable the Developer API, how to use the API Explorer with some examples and some frequently asked questions.

Before you Begin

  • Ensure that you have a valid Scalefusion account with permission to view Developer API.
  • To test the APIs (the examples show here), you need to have,
    • A Device managed by Scalefusion
    • Have at-least one Device Profile
    • Have at-least one Device Group

Step 1: Generating the API Key

The first step is to generate the Developer API Key that is used to authorize the API calls from your applications. To do so,

  1. Login to Scalefusion Dashboard and navigate to Utilities > Developer API

  2. Click on Generate API Key to generate a new API Key. This will generate the API Key that you can use with your applications.

  3. You need to Copy/Paste the API Key and share it with your application developer to use it in the application. You will also need the key to use the Scalefusion API Explorer.

NOTE: The API key should be secured from unauthorized access. You can regenerate if it gets compromised, which will automatically disable the old key.

Step 2: Testing the API Key using Scalefusion API Explorer

Now that you have the API Key, you can use the API Explorer to test the key and try out APIs. We have given some examples below, but feel free to try out other APIs as well.

  1. Click on READ API DOCS to launch the API Explorer,

  2. The first step in the API Explorer is to paste the API Key that you generated in Step 1.

  3. Global options for API Explorer are,
    1. Show/Hide: Show or hide the API section
    2. List Operations: Lists the HTTP operations that can be performed on this API
    3. Expand Operations: Opens up the expanded view of API console so that you can try all the APIs.

Example: Getting the Device ID(s)

This is the precursor to most API, that gives you the IDs of the managed devices, that can be used in other APIs. To try this,

  1. Click on the Devices API title to expand the devices API. Click on Try it out
    1. page: Leave this parameter blank to get all the devices.

    2. Sample Output: This returns the device information such as name, battery, status, IMEI etc. You can obtain and cache the id parameter for further use.

Example: Getting the Last 10 Locations

  1. Click on the Locations API to expand it. Enter/Paste a device id that you obtained previously. Click Try it Out.


    1. Sample Output: The last 10 locations are printed.

Example: Getting Device Profile ID(s)

  1. To get your Profile ID’s, click on device_profiles.json API, located under device_profiles section and click on Try it out

    1. Sample Output: This provides the ID as well as the name of every device profile in your account. You can cache these device profile IDs when using the APIs related to Device Profiles.

Example: Getting Device Group ID(s)

  1. To get your Group ID’s, click on device_groups.json API, located under device_groups section and click on Try it out

    1. Sample Output: This provides the Device Group ID (beside “id”), the name of the group, and the ID of any Device Profile that is associated with that group. You can cache these device group IDs when using the APIs related to Device Groups.

Example: Removing Devices from a Device Profile

  1. To remove a device from a profile, expand the remove_from_device.json API and enter the additional parameters,
    1. id: Enter the Device Profile Id.
    2. device_ID: Enter the device id of the device that you want to remove from the profile.
    3. Click Try it out
    4. Sample Output: Upon a successful command, you should receive a status of success, as well as a 200 response code (HTTP response for success). If you view the device on the Dashboard, you will see that it no longer has a device profile!

Frequently Asked Questions

Question: Can we prevent our Admins to access this developer API Key?

Answer: Yes. Navigate to Admins and Roles and edit the hide the Visibility of Developer API.

Question: Why do we get an error, "Access to API has been blocked by CORS policy"?

Answer: The APIs cannot be called from the Browser directly as we have restricted the access. The API request has to be routed through a backend server or you can use CURL. Also we advise against using the API key directly in JavaScript as it is insecure and can be accessed by anyone.

List of APIs

We recommend using the API Explorer at https://scalefusion.com/api-doc for a complete and latest list of supported APIs. Here is a list of important APIs.

API Endpoint

Category

Description

/api/v1/devices.json

Devices

The basic API to get the list of managed Devices and their IDs. The IDs are used in most of the other APIs to manage.

/api/v1/devices/{id}/battery.json

Devices

Gets the Battery Information of one Device basing on the Id.

/api/v1/devices/{id}/send_alarm.json

Devices

Send Buzz to an Android or iOS managed device.

/api/v1/devices/{id}/reboot.json

Devices

Send a Reboot command to the managed device. This works only on the supported devices.

/api/v1/devices/{id}/monthly_data_usage.json

Devices

Get the Monthly Data Usage of an Android or iOS device.

/api/v1/devices/{id}/update_exit_passcode.json

Devices

Update the Exit passcode of a single device that does not have any Device Profile.

/api/v1/devices/{id}/change_group.json

Devices

Move the device to a new group.

/api/v1/devices/{id}/assign_group.json

Devices

Assign a Device group to a device.

/api/v1/devices/broadcast_message.json

Devices

Send a broadcast message to the Android or iOS device.

/api/v1/devices/lock.json

Devices

Send a Lock command that will apply the policies on the device.

/api/v1/devices/unlock.json

Devices

Send an Unlock command that will relax the policies on the device.

/api/v1/devices/search.json

Devices

Search your device inventory using IMEI or Serial Number.

/api/v1/devices/clear_app_data.json

Devices

Send a command to Clear Application Data.

/api/v1/devices/{id}.json

Devices

Get complete information about a Device.

/api/v1/devices/{device_id}/locations.json

Devices

Fetch the latest 10 locations of the managed devices.

/api/v1/devices/{device_id}/browser_shortcuts.json

Devices

Fetch the browser shortcuts enabled on the device.

/api/v1/devices/{device_id}/device_apps/enabled_apps.json

Devices

Fetch the applications that the user is allowed to use.

/api/v1/devices/{device_id}/device_apps/registered_apps.json

Devices

Fetch the applications that are installed on the device.

/api/v1/device_profiles.json

Device Profile

Get a List of all the Device Profiles in the account.

/api/v1/device_profiles/{id}/apply_to_device.json

Device Profile

Apply the Device Profile to device(s).

/api/v1/device_profiles/{id}/remove_from_device.json

Device Profile

Remove the Device Profile from the device.

/api/v1/device_groups.json

Device Group

Get a List of all the Device Groups.

/api/v1/device_groups/{id}/remove_device.json

Device Group

Remove a Device from the Group.

/api/v1/device_groups/{id}/lock_devices.json

Device Group

Lock (apply policies) on all the devices in a group.

/api/v1/device_groups/{id}/unlock_devices.json

Device Group

Unlock (relax policies) on all the devices in a group.

/api/v1/device_groups/{id}/enroll_device.json

Device Group

Add a Device to a Device Group.

/api/v1/device_groups/{id}.json

Device Group

Supports DELETE and PATCH methods to delete the group and update the device profile of the group.


How did we do?