Back to top

Knox E-FOTA workflow

Last updated January 10th, 2024


Knox E-FOTA is currently in private preview. Some features might be incomplete, or change without notice.

Knox E-FOTA enables enterprise IT admins to remotely deploy specific OS versions and security updates to corporate devices, without any user interactions or interruptions. Furthermore, Knox E-FOTA maximizes flexibility by allowing IT admins to test updates prior to deployment and ensure compatibility between in-house apps and new OS versions.

The following sections help you understand more about the Knox E-FOTA workflow in detail.


The Knox E-FOTA API workflow provides a step-by-step walkthrough of the following steps:

  • Upload device
  • License registration
  • Campaign creation
  • Device assignment
  • Result check

Knox E-FOTA workflow diagram


To sign up for Knox E-FOTA, register for a Samsung Knox account.

Upload devices

To use Knox E-FOTA, the devices must be uploaded first. There are several ways to upload:

  • Use REST API:

    • Knox E-FOTA provides an API to upload devices using IMEIs or serial numbers.

    • Devices uploaded by the API are automatically approved when uploading is successful and the devices enter the device bucket.

    • Finally, the devices are ready to use Knox E-FOTA.

    For more information, see the E-FOTA Upload Devices API.

  • Use the Knox E-FOTA console. The console allows the devices to be uploaded either:

    • directly from the reseller by registering the reseller, or

    • uploaded through the CSV file


    Access to the EMM sync feature will be disabled for your customer once the customer enables access for partners/EMMs to call E-FOTA APIs on their behalf.

    For more information, see the Knox E-FOTA Upload Devices guide.

    Once the device upload is complete, you can use the Knox Webhook Notification API to automatically receive change notifications in a resource-efficient manner. To learn how to get notifications for Knox E-FOTA, see the Knox Webhook Notification for Knox E-FOTA tutorial.

License registration

After you sign up for a account, you can proceed to obtain a license. You can do this by either generating a Knox Suite trial license or purchasing a license from a reseller. For more information, see Get a license in the Knox E-FOTA admin guide.

The devices will be assigned to the license and enrolled automatically when the Knox E-FOTA client is installed and launched. For more information, see Install and launch the Knox E-FOTA client.

Additionally, you can also register your license using the Knox E-FOTA API as well. For more information, see License APIs.

Campaign creation

To use Knox E-FOTA, you must create a campaign and select policies. Using campaigns, you can then schedule, throttle, or configure the firmware policy governing a Knox E-FOTA update.

Knox E-FOTA campaign APIs consist of 2 parts:

Campaign details

  • You can set detailed policies such as setting the firmware download time and throttling.
  • You can receive the function provided by Knox E-FOTA as a schema in JSON format.
  • With this schema, you can configure your UX dynamically.
  • When a new feature is released, an updated schema is transmitted to configure a UX that supports the function.
  • key value is the parameter of the Create campaign API (except "type":"hidden" or "type":"object")

For more information, see Get campaign schema and Create campaign.

Schema properties

Property name Type Description
schemaVersion number Version of the Schema
apiVersion number Version of create/get/update campaign REST APIs
campaign array List of objects, each represents a property of the campaign.
campaign.key string Unique key of campaign property
campaign.title string Title of campaign property
campaign.description string Detailed description of campaign property


Data type of campaign property. Accepted inputs:

  • "object"
  • "number"
  • "string"
  • "bool"
  • "hidden"

Depending on type of input:

  • object — Menu depth (tree)
  • number — Number input
  • string — String input
  • bool — True/false input
  • hidden — Not for UX
campaign.mandatory bool Whether this campaign property is mandatory or not
campaign.defaultValue bool, string, number Default type of this campaign property, the default value type is the same as campaign[].type.
campaign.multiple bool Determines whether this campaign property allows multiple selections from an enum list of settings.
campaign.enum array

A list of enums which represents a list of selections for this property. Each enum in the list has the properties text and value.

  • text — description of item
  • value — return value when user selects the item
campaign.nestedObjects array List of objects within this campaign property. Campaign properties with an object type also have the nestedObjects property. Top level objects are always considered as headers when rendered in a UI.
campaign.required string Some campaign properties can only be set if another campaign property has been defined. The required property shows the campaign property that needs to be defined for this campaign property to be available.
campaign.pattern string Fixed input pattern. For example, yyyy-MM-dd.

Create a UI with the schema

You can use the properties outlined in the returned schema to develop a campaign creation UI.

Firmware policies

  • There are 4 firmware policies provided by Knox E-FOTA:

    • Lock current firmware

    • Latest any

    • Latest up to Android OS version

    • Select from firmware list

  • Since the firmware provided by Samsung depends on the model name / carrier code / CSC, the firmware policy must be set separately, according to the device that the customer has. For example, it should be set as:

    • SM-G986N / KOO / OKR — Latest Any

    • SM-G986N / KTC / OKR — Latest Any


    If there was no policy, lock current firmware is the default policy.

For more information, see Get Firmware Policy, Get models, Get carrier codes, Get model CSC, and Get device details.

Furthermore, to provide Select from firmware list, you need to implement the Get firmware list API and will require some more parameters in the Create Firmware Policy API.

If you need more detailed information about creating campaigns, see Create Campaigns.

Device assignment

After specifying your settings for the campaign, you can assign uploaded devices to this campaign and push firmware to each device. Every 24 hours from the time the campaign is activated, the Knox E-FOTA client app on the assigned devices automatically polls the Knox E-FOTA server to check for any policy changes made to the campaign.

For more information, see Assign campaigns.

Result check

You can easily access information about the current status of campaign, device and license.

Campaign information

  • current campaign setting values

  • number of assigned devices

  • campaign status

Campaign status

Status Description
Active Campaign is activated and is working
Scheduled Campaign is scheduled to start
Cancelled User cancelled the campaign. The campaign can’t be activated anymore
Expired Campaign end-date is over. User can re-activate the campaign by extending the end-date

See List campaign.

Device information

  • device ID, IMEI, serial number
  • model name, firmware version, campaign ID, license ID
  • device status

Update status enables customers to easily access basic information about the device status — based on the operation and client status — directly on the dashboard.

See List devices.

Update status

Status Description
Completed These devices are up to date and no operations are pending.
In Progress These devices are waiting for or are currently in the process of a firmware download or installation.
Attention These devices require you or the device user to take action. For example, a license is invalid and needs to be replaced.
Error These devices failed to download or install firmware, or have experienced a campaign error.
Not Started These devices have been added but the Knox E-FOTA client app has not been installed, or the campaign has not started yet.


  • license name, key, type (Trial or Commercial)

  • license start date and end date

  • total count and consumed count

  • license status

    • Active

    • Registered (the license has been added to the account but isn’t active yet

    • Expired

    • Terminated

See Get license list.

Is this page helpful?