API Reference

Complete reference documentation for the Nomid MDM External API. Find detailed information about endpoints, parameters, and response formats.

Base URL

https://api.nomid.tech/emm/api/v1

Documentation Sections

All Endpoints

MethodEndpointDescription
GET/assetsList all assets with pagination and filtering
GET/assets/countGet total count of assets
GET/assets/{id}Get details of a specific asset
GET/policiesList all policies
GET/policies/{pathName}Get details of a specific policy
GET/assets/summaryGet aggregate fleet numbers: totals, a status breakdown and a security posture summary
GET/assets/{assetId}/commandsList the most recent commands sent to a device
POST/assets/{assetId}/commands/lockLock the device screen immediately. Android Management devices only. No request body.
POST/assets/{assetId}/commands/lost-modeLock the device and show a message, with optional contact details, on its lock screen. Android Management devices only.
POST/assets/{assetId}/commands/foundEnd lost mode. Nothing happens, and no error is returned, if the device was not in lost mode. Android Management devices only. No request body.
POST/assets/{assetId}/commands/messageShow a plain-text push notification on the device.
POST/assets/{assetId}/commands/status-reportAsk the device to send a fresh status report now. The report arrives later: read it with GET /assets/ASSET_ID. No request body.
POST/assets/{assetId}/commands/location-updateAsk the device to report its current location now. The location arrives later: read it with GET /assets/ASSET_ID. No request body.
POST/assets/{assetId}/commands/sync-policySend the device its current policy again. Devices managed by the Nomid agent (AOSP) only: Android Management devices receive policy changes automatically and answer 409. No request body.
POST/assets/{assetId}/commands/rebootRestart the device now. Whoever is using it is interrupted, and unsaved work may be lost. No request body.
POST/assets/{assetId}/commands/shutdownPower the device off now. It cannot be turned back on remotely. Devices managed by the Nomid agent (AOSP) only. No request body.
POST/assets/{assetId}/commands/launch-appOpen an installed app on the device by package name. Devices managed by the Nomid agent (AOSP) only.
POST/assets/{assetId}/commands/clear-app-dataDelete all data of the given apps (accounts, settings and files), as if they had just been installed. It cannot be undone. Android Management devices only.
POST/assets/{assetId}/commands/change-policyMove the device to another policy of the company. The device applies the new policy's apps, restrictions and settings, and anything only the current policy had is removed. Also needs POLICIES_READ.
POST/assets/{assetId}/commands/wipeRemove the device from management and erase its managed data. A company-owned device is factory reset: every app and all data on it are erased. On a personally owned device with a work profile, only the work profile and its apps and data are removed; personal apps and data stay. Irreversible. No request body.
POST/assets/{assetId}/commands/reset-screen-lockRemove the device's screen lock (PIN, pattern or password), so it can be unlocked without one. Android Management devices only. No request body.
POST/assets/{assetId}/commands/change-screen-lock-passwordSet a new screen lock password. The device locks, and only the new password unlocks it. Android Management devices only.
POST/assets/{assetId}/commands/relinquish-ownershipRelease a company-owned device to its user. The work profile and its data are removed, and the device is no longer managed. Irreversible. No request body.
GET/policies/{policyId}/settingsThe policy's editable settings, each with its current value, allowed values, group and whether changing it is high impact. Also returns the policy version, deviceCount, whether the policy is editable, and its apps, each with packageName, name, source, installType and managedByNomid, which is true for the apps that cannot be changed here.
GET/policies/{policyId}/documentThe policy's full configuration as JSON in value, or only the part at path, a JSON Pointer such as /openNetworkConfigurations. An app is addressed by its package name, as in /apps/com.example.app. Secrets come back as a marker, an object with redacted set to true, and so does every value of an app's managed configuration. Without path, apps are summarized with packageName, name, source, installType and managedConfigurationKeys. Also returns policyId, displayName, version, deviceCount, editable and lockedFields, the fields the edits endpoint refuses, each with the reason. A part longer than 30000 characters returns fieldSizes instead of value: read a narrower path. Returns 422 when path names an app the policy does not have.
GET/policies/{policyId}/revisionsThe policy's saved revisions, newest first, with when and by whom each was saved. limit is optional, from 1 to 100, default 20.
GET/policy-proposals/{proposalId}A proposal made by this key, with its change list and status: PENDING, EXECUTING, SUCCEEDED, FAILED, UNCONFIRMED or EXPIRED.
POST/policies/{policyId}/changesPropose setting changes to an existing policy. Returns 201 with the proposal.
POST/policies/{policyId}/app-changesPropose adding apps to an existing policy, removing them or changing how they are installed. Returns 201 with the proposal.
POST/policies/{policyId}/editsPropose changes to any editable part of an existing policy, as JSON Pointer edits of its document. Returns 201 with the proposal.
POST/policiesPropose a new policy, with optional setting changes. With fromPolicyId it is a copy of that policy, and without changes a duplicate. Without fromPolicyId it starts from Nomid's defaults. Returns 201 with the proposal.
POST/policies/{policyId}/rollbacksPropose restoring the policy to an earlier revision. Returns 201 with the proposal.
POST/policy-proposals/{proposalId}/applyApply a pending proposal. Returns 200 with the proposal and its result: policyId, displayName, version and a portal link.
POST/policies/{policyId}/provisioning-qr-codesCreate a provisioning QR code for a policy, with a new enrollment token

Content Types

All requests and responses use JSON format. Set the Content-Type header accordingly.

Content-Type: application/json

Choose Your Time

Loading...
Open booking calendar