DevOps

Android

MDM

Esper Features

Esper Device Management Automations That Scale: Blueprints, Converge, and App Updates

Device Management Automations: use Esper APIs to update blueprints, trigger converge, and ship app updates across fleets at scale with fewer manual steps.

Kailana Kahawaii
May 13, 2026

May 13, 2026

The most common feedback we hear from customers who adopt the Esper API isn't about a specific endpoint. It's about a feeling: the moment a workflow that used to take hours becomes something that runs unattended overnight.

That feeling almost always comes from the same three capabilities: blueprints, converge, and automated app updates. Together, they form the backbone of what it actually means to manage devices at scale programmatically.

Using Blueprints to Set Baselines and Manage Programatically

A blueprint is Esper's way of defining the desired state for a device or group of devices. It contains which apps are installed, what settings are applied, and how the device behaves, in a single, versioned configuration object. Instead of configuring devices one at a time in the console, you define the configuration once and apply it broadly.

Blueprints work across Android, Apple, Windows, and Linux device management. One blueprint can encode the complete setup for a device type in your fleet, and any changes to that blueprint can be pushed to every assigned device.

The Blueprints API lets you create, retrieve, update, and manage blueprints programmatically. That means blueprint management can live inside your existing tooling, including your CI/CD pipeline, your deployment scripts, or your internal platform.

Learn More: Device Management for the Enterprise Edge >

Enforcing consistency with device converge

Publishing a new blueprint version doesn't automatically update the devices assigned to it. That's where converge comes in.

Converge is the operation that compares a device's current state to its assigned blueprint and brings it into alignment. It's how changes actually reach devices — pushing updated app versions, applying new settings, correcting configuration drift.

You can trigger a converge via the Commands API or Operations API.

Commands API

When converging a device or group of devices, use the Commands API. 

POST https://{tenant_name}-api.esper.cloud/api/commands/v0/commands/

{

  "command_type": "DEVICE",

  "devices": ["device_id"],

  "device_type": "all",

  "command": "CONVERGE"

}

Converge also works at the group level: swap "command_type": "GROUP" and replace the devices array with a groups array to push changes to an entire fleet segment at once. That's where the real leverage is.

Operations API

For very large operations (we’re talking about thousands of devices) use the optimized Operations endpoints. 

POST https://{tenant}-api.esper.cloud/api/v0/operations/

{

    "operation_type":"CONVERGE",

    "arguments":{},

    "schedule_type":"IMMEDIATE",

    "operation_device_query": {

        "device_ids":"device_id_1, device_id_2,...., device_id_50000"

        

    }

}

Operations works with smaller deployments as well, but you’ll need to track Operations APIs from the Activity Feed rather than the Event Feed.

Automating app updates with APIs

One of the most immediately useful things you can do with the Esper API is automate enterprise app updates. Normally, pushing a new app version means uploading it in the console, updating the blueprint, and converging. This sequence works for operators managing single locations, but what happens when you have to update at the regional or national level?

Read More: API-first Device Management >

With the API, that entire sequence becomes a script. Here's the general flow:

Step 1: Upload the new app version

POST https://{tenant_name}-api.esper.cloud/api/enterprise/{enterprise_id}/application/upload/

Submit the APK as multipart/form-data. The response gives you the new application_id and version_id.

Step 2: Get the target blueprint and retrieve its current settings

GET https://{tenant_name}-api.esper.cloud/api/v2/blueprints/

Parse the response for the blueprint you want to update. Pull the id and the full settings.android block (or the OS you’re working with). Then you'll need both to write back the changes.

Step 3: Add the new app version to the blueprint

Modify the apps section of the settings object with the new app_id and app_version_id from Step 1, then save:

PUT https://{tenant_name}-api.esper.cloud/api/v2/blueprints/{blueprint_id}/

{

  "publish": true,

  "settings": { "android": { ...updated settings... } }

}

Setting "publish": true makes the updated blueprint version live immediately. A draft version ("publish": false) lets you stage changes for review first.

Step 4: Converge to devices

POST https://{tenant_name}-api.esper.cloud/api/commands/v0/commands/

{

  "command_type": "GROUP",

  "groups": ["{group_id}"],

  "device_type": "all",

  "command": "CONVERGE"

}

The full Python implementation of this workflow — including error handling and step-by-step breakdown — is in the Automating App Updates guide.

Applying Automations to Your Device Management Workflow

Save time across every update you ever push. That could translate to countless hours and effort in the long run.

Once the workflow exists, an app update is no longer a manual task. A new build can trigger an upload, a blueprint update, and a group-wide converge. Best yet, you can integrate this workflow into your own systems because it’s entirely API-based.

Teams managing hundreds or thousands of devices can operate with the same efficiency as teams managing dozens. And because blueprints track every change as a versioned record, there's a built-in audit trail. You can see exactly what changed, when, and roll back if something goes wrong.

These are workflows a small engineering team can build in an afternoon using standard tools and the Esper API. The APIs are REST-based, the documentation includes working code examples, and the logic maps directly to operations your team already understands: upload, configure, deploy. Whether you're integrating Esper into a CI/CD pipeline, an internal platform, or a set of scheduled scripts, the building blocks are straightforward.

For organizations managing device fleets at scale, that kind of automation isn't a nice-to-have. It's what makes the whole operation sustainable.

Ready to start building? Start your Esper Free Trial, then check out the Esper API reference and the Getting Started with APIs guide. 

Learn More

Keep Exploring

Learn More

Learn More

Kailana Kahawaii

Kailana Kahawaii is a Senior Technical Writer at Esper. Before getting into tech, she was an educator. She has a passion for enhancing products that wow and inspire.

Learn More

7 min read