Esper website screenshot

Esper

Esper is the DevOps platform for connected devices, providing cloud-based Android (and edge) device management, application deployment, and remote orchestration for dedicated-device fleets. The Esper Manage REST API lets developers programmatically provision, monitor, and control Android-based dedicated devices running the Esper agent: manage devices and device groups, upload and roll out applications and versions, run device and group commands, configure compliance and enterprise policies, set up geofences, manage content, and subscribe to device events via webhooks. APIs are authenticated with a Bearer API key and served per-tenant on a dedicated Esper Cloud environment, with an official Python SDK (esperclient) and CLI.

Esper publishes 13 APIs on the APIs.io network, including Application API, Application V1 API, Commands API, and 10 more. Tagged areas include Device Management, Mobile Device Management, Android, DevOps, and Internet of Things.

The Esper catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Esper’s developer surface includes documentation, API reference, getting-started guide, support, engineering blog, pricing, signup flow, and 12 more developer resources.

50.2/100 developing ▬ flat Agent 18/100 agent aware Full breakdown ↓
scored 2026-08-10 · rubric v0.9.1
AccessSelf serve
13 APIs
Device ManagementMobile Device ManagementAndroidDevOpsInternet of ThingsFleet ManagementEnterprise MobilityEdge ComputingKiosk

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-10 · rubric v0.9.1
Composite quality — 50.2/100 · developing
Contract Quality 17.1 / 25
Developer Ergonomics 10.9 / 20
Commercial Clarity 12.1 / 20
Operational Transparency 0.7 / 13
Governance 1.4 / 12
Discoverability 8.2 / 10
Agent readiness — 18/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 0 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/esper: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 13

Individual APIs this provider publishes, each with its own machine-readable definition.

Esper Application API

APIs for application management

Esper Application V1 API

APIs for application management

Esper Commands API

APIs to run device commands. `This version of commands is being deprecated and documentation will be archived soon. Please use Commands V2.`

Esper Commands V2 API

Commands V2.0 is to provide advanced device commands capabilities like queuing, support for offline devices, dynamic device set for commands and command history. Commands 2.0 is...

Esper Content API

APIs for Content management

Esper Device API

APIs for device management

Esper Device Group API

APIs for device group management

Esper Enterprise API

The Esper Enterprise APIs to manage the account information set up for your company’s account. Read our Esper Manage documentation or use the Esper Manage Dashboard through the ...

Esper Enterprise Policy API

APIs to Esper Compliance Policy

Esper Geofence API

APIs for geofence management

Esper Group Commands API

APIs to run group commands. Command will be run on all the active devices in a group

Esper Subscription API

APIs for Subscription management

Esper Token API

Fetch API token information

Scroll for all 13

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Esper Authentication

apiKey · 1 scheme

SECURITY

Esper Domain Security

TLSv1.3 · DMARC

SECURITY

Esper Trust Center

SOC 2, ISO 27001, PCI DSS

SECURITY

Resources

Get Started 3

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 4

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: esper
name: Esper
description: 'Esper is the DevOps platform for connected devices, providing cloud-based Android (and edge) device management,
  application deployment, and remote orchestration for dedicated-device fleets. The Esper Manage REST API lets developers
  programmatically provision, monitor, and control Android-based dedicated devices running the Esper agent: manage devices
  and device groups, upload and roll out applications and versions, run device and group commands, configure compliance and
  enterprise policies, set up geofences, manage content, and subscribe to device events via webhooks. APIs are authenticated
  with a Bearer API key and served per-tenant on a dedicated Esper Cloud environment, with an official Python SDK (esperclient)
  and CLI.'
url: https://raw.githubusercontent.com/api-evangelist/esper/refs/heads/main/apis.yml
x-type: company
x-source: vc-portfolio
x-backed-by:
- insight-partners
- scale-venture-partners
- madrona-ventures
- root-ventures
x-disambiguation: This profile is Esper the DevOps-for-devices company (esper.io, GitHub org esper-io, backed by Insight Partners).
  It is NOT the similarly named govtech policy/regulatory company at esper.com (backed by 8VC), which the original VC-portfolio
  stub conflated into the x-backed-by list.
x-tier: enriched
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: medium
  source:
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://avatars.githubusercontent.com/u/49017159?v=4
specificationVersion: '0.20'
created: '2026-07-17'
modified: '2026-07-19'
tags:
- Device Management
- Mobile Device Management
- Android
- DevOps
- Internet of Things
- Fleet Management
- Enterprise Mobility
- Edge Computing
- Kiosk
apis:
- aid: esper:esper-application-api
  name: Esper Application API
  description: APIs for application management
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Application
  properties:
  - type: OpenAPI
    url: openapi/esper-application-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-application-v1-api
  name: Esper Application V1 API
  description: APIs for application management
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Application V1
  properties:
  - type: OpenAPI
    url: openapi/esper-application-v1-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-commands-api
  name: Esper Commands API
  description: 'APIs to run device commands.

    `This version of commands is being deprecated and documentation will be archived soon. Please use Commands V2.`'
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Commands
  properties:
  - type: OpenAPI
    url: openapi/esper-commands-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-commands-v2-api
  name: Esper Commands V2 API
  description: Commands V2.0 is to provide advanced device commands capabilities like queuing, support for offline devices,
    dynamic device set for commands and command history. Commands 2.0 is in active development and support for all the commands
    will be added soon.
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Commands V2
  properties:
  - type: OpenAPI
    url: openapi/esper-commands-v2-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-content-api
  name: Esper Content API
  description: APIs for Content management
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Content
  properties:
  - type: OpenAPI
    url: openapi/esper-content-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-device-api
  name: Esper Device API
  description: APIs for device management
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Device
  properties:
  - type: OpenAPI
    url: openapi/esper-device-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-device-group-api
  name: Esper Device Group API
  description: APIs for device group management
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Device Group
  properties:
  - type: OpenAPI
    url: openapi/esper-device-group-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-enterprise-api
  name: Esper Enterprise API
  description: The Esper Enterprise APIs to manage the account information set up for your company’s account. Read our Esper
    Manage documentation or use the Esper Manage Dashboard through the Esper Developer Console
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Enterprise
  properties:
  - type: OpenAPI
    url: openapi/esper-enterprise-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-enterprise-policy-api
  name: Esper Enterprise Policy API
  description: APIs to Esper Compliance Policy
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Enterprise Policy
  properties:
  - type: OpenAPI
    url: openapi/esper-enterprise-policy-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-geofence-api
  name: Esper Geofence API
  description: APIs for geofence management
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Geofence
  properties:
  - type: OpenAPI
    url: openapi/esper-geofence-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-group-commands-api
  name: Esper Group Commands API
  description: APIs to run group commands. Command will be run on all the active devices in a group
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Group Commands
  properties:
  - type: OpenAPI
    url: openapi/esper-group-commands-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-subscription-api
  name: Esper Subscription API
  description: APIs for Subscription management
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Subscription
  properties:
  - type: OpenAPI
    url: openapi/esper-subscription-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
- aid: esper:esper-token-api
  name: Esper Token API
  description: Fetch API token information
  humanURL: https://api.esper.io/openapi
  baseURL: https://foo-api.esper.cloud/api
  tags:
  - Token
  properties:
  - type: OpenAPI
    url: openapi/esper-token-api-openapi.yml
  - type: Documentation
    url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
  - type: APIReference
    url: https://api.esper.io/openapi
  - type: GettingStarted
    url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
  - type: Authentication
    url: authentication/esper-authentication.yml
  - type: ErrorCatalog
    url: errors/esper-problem-types.yml
  - type: Conventions
    url: conventions/esper-conventions.yml
  - type: DataModel
    url: data-model/esper-data-model.yml
  - type: Conformance
    url: conformance/esper-conformance.yml
  - type: Lifecycle
    url: lifecycle/esper-lifecycle.yml
  - type: Webhooks
    url: asyncapi/esper-events-webhooks.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
common:
- type: TrustCenter
  url: security/esper-trust-center.yml
- type: Compliance
  url: https://trust.esper.io/
- type: DomainSecurity
  url: security/esper-domain-security.yml
- type: Website
  url: https://esper.io
- type: DeveloperPortal
  url: https://docs.esper.io/
- type: Documentation
  url: https://help.esper.io/hc/en-us/categories/11385054747153-Developer-Documentation
- type: APIReference
  url: https://api.esper.io/openapi
- type: GettingStarted
  url: https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs
- type: Support
  url: https://help.esper.io/
- type: Blog
  url: https://www.esper.io/blog
- type: GitHubOrganization
  url: https://github.com/esper-io
- type: Pricing
  url: https://www.esper.io/pricing
- type: SignUp
  url: https://esper.io/signup
- type: TermsOfService
  url: https://esper.io/terms-of-service
- type: PrivacyPolicy
  url: https://www.esper.io/privacy-policy
- type: Packages
  url: packages/esper-packages.yml
- type: SDKs
  url: packages/esper-packages.yml
- type: CLI
  url: cli/esper-cli.yml
- type: LLMsTxt
  url: llms/esper-llms.txt
x-enrichment:
  date: '2026-07-19'
  status: backfilled
  pass: local-v1
  note: backfilled from .gitignore signal + verified work evidence