API
Latest Beta Version
Fixed
- OwnServerLicense and OwnServerLicenseValidity model references (no longer used)
- Use ahash function from new dedicated lib-image library
[11.0.0] - 2026-02-25
Added
locationUidsto filter for endpointPOST /v1/export/device
Removed
organizationUidproperty from endpointPOST /v1/export/device
[10.16.1] - 2026-02-23
Fixed
- Types for policyItems and powerAction
[10.16.0] - 2026-02-18
Added
GET /v1/devicenow supports account and jwtToken authenticationGET /v1/device/countnew endpoint addedGET /v1/device/:deviceUidnow supports account and jwtToken authenticationGET /v1/device/alivenow supports account and jwtToken authenticationGET /v1/device/alive/countnew endpoint addedGET /v1/device/:deviceUid/alivenow supports account and jwtToken authenticationPUT /v1/device/:deviceUidnow supports account and jwtToken authenticationGET /v2/devicenow supports account and jwtToken authentication and has expanded filtersGET /v2/device/countnow supports account and jwtToken authentication and has expanded filtersGET /v2/device/:deviceUidnow supports account and jwtToken authenticationPUT /v2/device/:deviceUidnow supports account and jwtToken authentication
[10.15.0] - 2026-02-17
Added
- (internal) Updated CORS middleware
Fixed
- Endpoint
/v1/system-log- limitsinceanduntilquery parameters to 30 days to the past - Endpoint
/v1/device/{deviceUid}/system-log- limitsinceanduntilquery parameters to 30 days to the past
[10.14.0] - 2026-01-29
Added
- deviceCount property to GET /v1/runner and GET /v1/runner/{runnerUid}
Je to tak?
[10.13.0] - 2026-01-28
Added
GET /v1/organization-tagreturnsassignedContentGuardItemsCountin responsePUT /v1/content-guard/item/{contentGuardItemUid}/tag/{tagUid}andDELETE /v1/content-guard/item/{contentGuardItemUid}/tag/{tagUid}endpoints for assigning and removing tags- Endpoint
POST /v1/content-guard/ai-helper/upload-temp-image - Endpoint
POST /v1/content-guard/ai-helper/generate/description - Endpoint
POST /v1/content-guard/ai-helper/generate/prompt - Endpoint
POST /v1/content-guard/ai-helper/finalize
[10.12.2] - 2026-01-27
[10.12.1] - 2026-01-26
[10.12.0] - 2026-01-23
Added
- Use correct algorithm for ahash computation
- Endpoint
GET /v1/organization-tag- endpoint now supports account, organization and jwtToken authentication - Endpoint
POST /v1/organization-tag- endpoint now supports account, organization and jwtToken authentication - Endpoint
GET /v1/organization-tag/:uid- endpoint now supports account, organization and jwtToken authentication - Endpoint
PUT /v1/organization-tag/:uid- endpoint now supports account, organization and jwtToken authentication - Endpoint
DELETE /v1/organization-tag/:uid- endpoint now supports account, organization and jwtToken authentication - Endpoint
GET /v1/location/organization-tags- endpoint now supports account, organization and jwtToken authentication - Endpoint
GET /v1/location/:locationUid/organization-tag- endpoint now supports account, organization and jwtToken authentication - Endpoint
PUT /v1/location/:locationUid/organization-tag/:tagUid- endpoint now supports account, organization and jwtToken authentication - Endpoint
DELETE /v1/location/:locationUid/organization-tag/:tagUid- endpoint now supports account, organization and jwtToken authentication - Organization tag responses now include counter fields:
assignedDevicesCount,assignedLocationsCount,assignedPoliciesCount
[10.11.2] - 2026-01-19
[10.11.1] - 2026-01-14
Fixed
- Graceful shutdown works again. When the service is stopping, it will drain all pending requests before exiting.
- Add keepAlive to fix 502 errors when running with AWS ALB
[10.11.0] - 2026-01-13
Added
- Telemetry supports
INSTALLED_PACKAGEStype for Android and newly also for Linux
[10.10.0] - 2026-01-12
Added
- Endpoint
GET /v1/device/appletallowing to list devices with their applet assignments
[10.9.0] - 2026-01-07
Added
- API CRUD operations for ContentGuard
- Endpoint
GET /v1/device/exportadded support for account authentication - Endpoint
POST /v1/export/:uidadded support for account authentication
Fixed
POST /v1/custom-scriptandPUT /v1/custom-script/:customScriptUidnow validate tags that are being assigned to the custom script- System log endpoints now return same result as in the
boxwhen nosincequery parameter is provided - Setting plugin properties are validated against plugin schema definitions
- Setting runner properties are validated against runner input schema definitions
PUT /v1/timing/:timingUidcorrectly validates rights for "User" roleDEL /v1/timing/:timingUidcorrectly validates rights for "User" role- Prevent a possible memory leak around repeated parsing of OpenAPI specification
[10.8.0] - 2025-12-15
Fixed
GET /v1/firmware/versionendpoint now avoids unused query.GET /v1/device/screenshotissue where pagination sometimes returned invalid link
Added
- Endpoint
POST /v1/timing- endpoint now supports account, organization and jwtToken authentication - Endpoint
GET /v1/timing- endpoint now supports account, organization and jwtToken authentication - Endpoint
GET /v1/timing/:timingUid- endpoint now supports account, organization and jwtToken authentication - Endpoint
PUT /v1/timing/:timingUid- endpoint now supports account, organization and jwtToken authentication - Endpoint
DELETE /v1/timing/:timingUid- endpoint now supports account, organization and jwtToken authentication - Endpoint
POST /v1/device/:deviceUid/applet- endpoint now supports account, organization and jwtToken authentication - Endpoint
GET /v1/device/:deviceUid/applet- endpoint now supports account, organization and jwtToken authentication - Endpoint
GET /v1/device/:deviceUid/applet/:assignmentUid- endpoint now supports account, organization and jwtToken authentication - Endpoint
PUT /v1/device/:deviceUid/applet/:assignmentUid- endpoint now supports account, organization and jwtToken authentication - Endpoint
DELETE /v1/device/:deviceUid/applet/:assignmentUid- endpoint now supports account, organization and jwtToken authentication - New endpoint
GET /v1/timing/count - New endpoint
GET /v1/device/:deviceUid/applet/count
[10.7.0] - 2025-12-08
Added
- CORS headers are handled in application not at infrastructure level
Fixed
- API requests counter is stable
[10.6.1] - 2025-12-05
Fixed
- (internal) Prevent user enumeration possibility in authentication error messages, always return generic errors
- Correctly parse parameters, when passing more than 21 elements in an array query parameter
[10.6.0] - 2025-12-04
Added
- Endpoint
POST /v1/device/verification- refactored to support account, organization and jwtToken authentication - Endpoint
GET /v1/device/verification/:deviceVerificationUid- refactored to support account, organization and jwtToken authentication
[10.5.0] - 2025-12-03
Added
V1/device/telemetry/latestsupports account authenticationV1/device/:deviceUid/telemetry/latestsupports account authenticationV1/device/:deviceUid/telemetry/:type/latestsupports account authentication
[10.4.0] - 2025-12-02
Added
GET /v1/js-api-versionendpoint to get list of all available JS API versionsGET /v2/devicenow returnsfeatureFlagsfield in device resources when setGET /v2/device/:deviceUidnow returnsfeatureFlagsfield in device resource when setPUT /v2/device/:deviceUidnow acceptsfeatureFlagsfield to enable/disable device features (screenshotCapture, systemLogs, cpuUsage, memoryUsage, customScripts, plugins, runners)PUT /v1/accountendpoint now supports updating favoritesaccessLevelfield to account resource inGET /v1/account- Connection to API DragonFly Redis database for request rate limiting and counting
[10.3.2] - 2025-11-20
Fixed
- (internal) Fixed spamming command-handler for application version build requests with each file upload, build=false query parameter is used correctly.
[10.3.1] - 2025-11-20
Fixed
- link and location headers protocol should not point to http
[10.3.0] - 2025-11-19
Added
- (internal) Support for validating tokens against multiple auth0 tenants
[10.2.0] - 2025-11-12
Fixed
PUT /v1/location/:locationUid/unarchivenow properly validates deleted locationsGET /v1/timing/:deviceUid/applet/:appletUid/command/:commandUidissues with record validation
Added
PUT /v1/location/:locationUid/restorePOST /v1/timing/:deviceUid/applet/:appletUid/commandnow returnsLinkheader
[10.1.1] - 2025-11-10
[10.1.0] - 2025-11-10
Added
- New middleware that automatically detects white label settings by hostname and Auth0 status from JWT tokens, injecting client context into API requests
- Integrated CQRS command models pattern into API endpoints with automatic client context injection and mock command dispatcher for testing
Fixed
- Properly handle command processing timeouts and return GatewayTimeoutError (504) on timeout.
[10.0.0] - 2025-11-04
Changed
- Increased limit of JSON request body to 10mb
Fixed
- E2E tests against SDK project
[9.5.0] - 2025-10-23
Added
GET /v1/device/taglisting devices with their tags
[9.4.0] - 2025-10-21
Added
- Endpoint
GET /v1/device/:deviceUid/power-actionadded support for account authentication - Endpoint
POST /v1/device/:deviceUid/power-actionadded support for account authentication
[9.3.2] - 2025-10-16
Fixed
- Fix
POST /v1/firmware/versionfor SDK and CLI
[9.3.1] - 2025-10-15
[9.3.0] - 2025-10-14
Added
GET /v1/policyendpoint now supports account, organization and jwtToken authentication
Fixed
- Endpoint
POST /v1/appletalso returns link header with the location of the created applet - Endpoint
POST /v1/bulk-operationalso returns link header with the location of the created bulk operation - Endpoint
POST /v1/timingalso returns link header with the location of the created timing - Endpoint
POST /v1/policyalso returns link header with the location of the created policy - Endpoint
POST /v1/locationalso returns link header with the location of the created location - Endpoint
POST /v1/emulatoralso returns link header with the location of the created emulator
[9.2.1] - 2025-10-13
[9.2.0] - 2025-10-10
Added
settingsfield to account resource inGET /v1/accountandPUT /v1/account
[9.1.2] - 2025-10-08
Fixed
- Endpoint
Offline Rangesis deprecated and replaced withdevice/telemetry-ONLINE_STATUS
Fixed
GET /v1/appletendpoint now supports account, organization and jwtToken authenticationGET /v1/applet/:appletUidendpoint now supports account, organization and jwtToken authenticationDELETE /v1/applet/:appletUidendpoint now supports account, organization and jwtToken authenticationPOST /v1/applet/:appletUidendpoint now supports account, organization and jwtToken authentication
Changed
- TimingCommands reads from Loki instead of Mongo
[9.1.1] - 2025-10-01
Fixed
- Endpoint
GET /v1/emulator- refactored to use support account, organization and JWT tokens - Endpoint
DELETE /v1/emulator/:emulatorUid- refactored to support account, organization and JWT tokens - Endpoint
POST /v1/emulator- refactored to use support account, organization and JWT tokens
[9.1.0] - 2025-09-29
Added
- Support for custom sorting keys in API endpoints via
sortKeyquery parameter (previously limited tocreatedAtonly) - New
viewerrole for accounts - Endpoint
GET /v1/accountto get account details - Endpoint
PUT /v1/accountto update account details
Fixed
- (internal) Database connection for deviceConnection models to DragonFly
[9.0.0] - 2025-09-23
Removed
- Endpoint
/v1/device/:deviceUid/offline-rangeis no longer available in favor to/v1/device/:deviceUid/telemetry/latest,/v1/device/telemetry/latestor/v1/device/:deviceUid/telemetry/ONLINE_STATUS
Changed
- Aliveness is read from dedicated DragonFly database
[8.0.2] - 2025-09-16
Fixed
- Properly update version of API in OpenAPI specification
[8.0.1] - 2025-09-15
[8.0.0] - 2025-09-12
Changed
- Using new DragonFly telemetry database for monitoringLog latest
[7.9.4] - 2025-09-12
[7.9.3] - 2025-09-12
Fixed
- added optional
nameproperty to body payload to POST/v1/applet/:appletUid/version/:appletVersion/fileas it is sent by CLI
[7.9.2] - 2025-09-10
[7.9.1] - 2025-09-10
Fixed
- Updated intro section of openapi documentation to be better formatted with valid markdown
- Runner input encrypting
/v1/applet/:appletUid/version/:appletVersion/file- refactored to use new ACL/v1/applet/:appletUid/version/:appletVersion/test- refactored to use new ACL/v1/device/:deviceUid/applet-test/:appletUid/:appletVersion- refactored to use new ACL
Added
- Endpoint
GET /v1/device/screenshotnow also includescreatedAtandupdatedAtin each item - Endpoint
GET /v1/device/:deviceUid/screenshotnow also includescreatedAtandupdatedAtin each item - Endpoint
GET /v1/device/policynow also includescreatedAtandupdatedAtin each item - Endpoint
GET /v1/licenseandGET /v1/license/:licenseUidnow supportdeletedquery parameter
[7.9.0] - 2025-09-04
Added
- ADD_ORGANIZATION_TAGS device bulk action
Fixed
- Remove deprecated OpenAPI telemetry specifications and add new for plugins and runners
- Read screenshot data from mongo telemetry
[7.8.0] - 2025-08-25
Added
- Update OpenAPI documentation and changelog for plugins and runners, plugins and runners feature has been released.
- Runners get/set telemetry data.
[7.7.0] - 2025-08-19
Added
- Revert "Endpoint
GET /v1/organizationnow supports account, organization and jwtToken authentication" due to increased number of 400 responses in production. Needs further investigation.
[7.6.0] - 2025-08-19
Added
- Plugins and runners can be assigned to devices via policies (coming soon).
- Plugins get/set telemetry data (coming soon).
Fixed
- Endpoint -
GET /v1/firmware/version- refactored to support account, organization and jwtToken authentication - Endpoint -
POST /v1/firmware/version- refactored to support account, organization and jwtToken authentication - Endpoint -
GET /v1/firmware/version/:applicationType/:version/:type- refactored to support account, organization and jwtToken authentication
Fixed
- Configuration Definition openapi schema for url
- Improved error handling for policy creation and updates with encrypted values
- Endpoint
POST /v1/device/:deviceUid/connect- refactored to support account, organization and jwtToken authentication - Endpoint
POST /v1/device/:deviceUid/disconnect- refactored to support account, organization and jwtToken authentication - Upgrade lib to v21.1.3 - Application won't exit if Redis connection is lost for a while. It will keep trying to reconnect forever or it apply provided retryStrategy instead
- respond with SERVICE_UNAVAILABLE on redis error
- Endpoint
GET /v1/organizationnow supports account, organization and jwtToken authentication
[7.5.1] - 2025-07-31
Fixed
- Upgrade UDM to v32.14.3 to leverage improved device search performance (/v1/device?search=<TERM>)
[7.5.0] - 2025-07-31
Added
- New endpoint -
/v1/plugin- (coming soon) - New endpoint -
/v1/plugin/count- (coming soon) - New endpoint -
/v1/plugin/:pluginUid- (coming soon) - New endpoint -
/v1/plugin/:pluginUid/version- (coming soon) - New endpoint -
/v1/plugin/:pluginUid/version/count- (coming soon) - New endpoint -
/v1/plugin/:pluginUid/version/:version- (coming soon) - New endpoint -
/v1/plugin/:pluginUid/version/:version/platform- (coming soon) - New endpoint -
/v1/plugin/:pluginUid/version/:version/platform/:platform- (coming soon) - New endpoint -
/v1/plugin/:pluginUid/version/:version/platform/:platform/archive- (coming soon) - New endpoint -
/v1/runner- (coming soon) - New endpoint -
/v1/runner/count- (coming soon) - New endpoint -
/v1/runner/:runnerUid- (coming soon) - New endpoint -
/v1/runner/:runnerUid/version- (coming soon) - New endpoint -
/v1/runner/:runnerUid/version/count- (coming soon) - New endpoint -
/v1/runner/:runnerUid/version/:version- (coming soon) - New endpoint -
/v1/runner/:runnerUid/version/:version/platform- (coming soon) - New endpoint -
/v1/runner/:runnerUid/version/:version/platform/:platform- (coming soon) - New endpoint -
/v1/runner/:runnerUid/version/:version/platform/:platform/archive- (coming soon)
Fixed
- Prefer reading from secondary replicas for MongoDB Telemetry to distribute the load across the replica set
[7.4.0] - 2025-07-25
Added
- Endpoint
GET /v1/locationsupports filtering bycustomIdfield - Endpoint
v1/device/:deviceUid/applet-test/:appletUid/:appletVersion- refactored to use new ACL - Endpoint
/v1/applet/{appletUid}/version/{appletVersion}/test- refactored to use new ACL
Fixed
- Filtering by states and countries in the
GET /v1/locationendpoint - Endpoint
GET /v1/locationfilters locations by partial match ofcustomIdandnamefields - Device configuration
connectionMethodis not required for changing configuration - API endpoints are not ordered alphabetically
- Endpoint
GET /v1/device- refactored to support account, organization and jwtToken authentication - Endpoint
GET /v1/device/alive- refactored to support account, organization and jwtToken authentication - Endpoint
GET /v1/device/:deviceUid- refactored to support account, organization and jwtToken authentication - Endpoint
GET /v1/device/:deviceUid/alive- refactored to support account, organization and jwtToken authentication - Endpoint
PUT /v1/device/:deviceUid- refactored to support account, organization and jwtToken authentication - Improved documentation of the
GET /v1/locationendpoints - Open Api specs correctly states the 'host' not as a {{host}} but as a real domain which limits the confusion to none
[7.3.0] - 2025-07-08
Added
- Endpoint
GET /v1/locationnow supportsdeletedanddescendingquery parameters to fetch soft-deleted items and control sort order - Endpoint
GET /v1/device/policyfetches list of all devices in organization and their policies
Fixed
- The device/telemetry endpoint has better documentation of telemetry Type
- The bulk-action endpoint has better documentation of the operationType
- Added titles to configDefinition soecs for better readability
Fixed
- Endpoint
PUT /v1/device/:deviceUid/location/:locationUidno longer returns a 5xx error if the device actually exists - Endpoint
DELETE /v1/device/:deviceUid/location/:locationUidno longer returns a 5xx error if the device actually exists
Added
- Endpoint
GET /v1/device/screenshot- added support for filtering out screenshots by specifying excluded image hashes - Endpoint
GET /v1/device/:deviceUid/screenshot- added support for filtering out screenshots by specifying excluded image hashes
[7.2.2] - 2025-06-26
[7.2.1] - 2025-06-26
Fixed
- Endpoint
GET /device/:deviceUid/scheduled-power-action- performance issue fixed - Endpoint
GET /v1/device/screenshot- refactored to use new ACL - Endpoint
GET /v1/device/:deviceUid/screenshot- refactored to use new ACL - Endpoint
POST /v1/device/:deviceUid/screenshot- refactored to use new ACL
[7.2.0] - 2025-06-23
Added
- Endpoint
POST /v1/bulk-operation/preview- preview the impact of bulk operation before it is created - Endpoint
GET /v1/organization/:organizationUidsupports account based authentication now - Endpoint
GET /v1/company/countto count companies - New endpoint -
GET /v1/company/:companyUid/credit-transaction - New endpoint -
GET /v1/company/:companyUid/credit-transaction/:creditTransactionUid - New endpoint -
GET /v1/company/:companyUid/credit-transaction/count
Fixed
- Endpoint
GET /v1/device/:deviceUid/storage- refactored to use new ACL - Endpoint
GET /v1/device/:deviceUid/volume- refactored to use new ACL, supports pagination and sorting - Endpoint
PUT /v1/device/:deviceUid/volume- refactored to use new ACL - Endpoint
GET /v1/device/:deviceUid/application/version- refactored to use new ACL, supports pagination and sorting - Endpoint
PUT /v1/device/:deviceUid/application/:applicationType/version- refactored to use new ACL - New endpoint
GET /v1/device/volume/latest - New endpoint
GET /v1/device/:deviceUid/volume/count - New endpoint
GET /v1/device/:deviceUid/volume/latest - New endpoint
GET /v1/device/application/version/latest - New endpoint
GET /v1/device/:deviceUid/application/version/latest - New endpoint
GET /v1/device/:deviceUid/application/version/count
[7.1.0] - 2025-05-27
Added
- Endpoint
PUT /v1/device/:deviceUid/application/:applicationType/version- check that requested Android application version is not older than current application version (Android doesn't support downgrading applications) - Preview of Plugin endpoints
Fixed
- Endpoint
GET /v1/license- status filter now takes into account all possible combinations of statuses
[7.0.0] - 2025-05-16
Changed
GET /export/:uidendpoint to sign uris on request, because when service which generated links previously dies all links expire
Added
- Endpoint
GET /v1/device/custom-script/latestto get latest executions for devices
Fixed
- Improved documentation of telemetry endopoint with additional telemetry types and notes
- Endpoint
POST /v1/company/:companyUid/member- refactored to use new ACL - Endpoint
POST /v1/organinzation/:organinzationUid/member- refactored to use new ACL - Endpoint
GET /v1/license- change status filtervalidtoexpired
[6.19.0] - 2025-05-07
Added
- Endpoint
POST /v1/device/deprovisionto deprovision device by authHash
Fixed
- Endpoint
POST /v1/company- company network UID is added to a create company command and company network assignment is done in different service
[6.18.1] - 2025-04-23
Fixed
- Endpoint
PUT /v1/device/:deviceUid/location/:locationUidno longer returns a "device not found" error if the device actually exists - Endpoint
DELETE /v1/device/:deviceUid/location/:locationUidno longer returns a "device not found" error if the device actually exists
[6.18.0] - 2025-04-17
Added
- Endpoint
POST /v1/custom-scripts/:customScriptUid/versionnow accepts frontAppletVersion field - Endpoint
PUT /v1/custom-scripts/:customScriptUid/versionnow accepts frontAppletVersion field - New endpoint
GET /v1/device/:deviceUid/location/:locationUidto retrieve the location assigned to a device - Endpoint
PUT /v1/device/:deviceUid/location/:locationUidnow supports account-based authentication - Endpoint
DELETE /v1/device/:deviceUid/location/:locationUidnow supports account-based authentication
Fixed
- Endpoint
POST /v1/bulk-operationno longer produces an error about invalid body properties. Previously, it incorrectly requireddeviceIdentityHashto be included in the request body. - Endpoint
POST /v1/:deviceUid/deprovisionrefactored to use new ACL
[6.17.0] - 2025-04-09
Added
- Endpoint
PUT /v1/device/${deviceUid}/custom-scriptsupports encrypted config values - Endpoint
POST /v1/bulk-operationsupports encrypted values forEXECUTE_CUSTOM_SCRIPT - Endpoint
POST /v1/custom-script/{customScriptUid}/versionsupports adding configDefinition items with valueType encrypted
[6.16.0] - 2025-04-03
Added
- tagUids for Custom Script
[6.15.0] - 2025-04-02
Added
- Endpoint
POST /v1/bulk-operationhasactiveAppletVersioninfilterin request body
[6.14.0] - 2025-03-31
Added
- Endpoint
POST /v1/bulk-operationsupports encrypted values forCREATE_TIMINGandUPDATE_TIMING - New endpoint
PUT /v1/device/:deviceUid/revoke-keyto revoke device key for encryption - New endpoint
GET /v1/device/:deviceUid/revoke-keyto list device's key revocations - New endpoint
GET /v1/device/:deviceUid/revoke-key/countto count device's key revocations - New endpoint
GET /v1/device/:deviceUid/revoke-key/latestto get latest device's key revocation
Fixed
- Endpoint
GET /v1/device/screenshotandGET /v1/device/:deviceUid/screenshotdoesn't return imageHashes if it's empty
[6.13.0] - 2025-03-31
Added
- Endpoint
POST /v1/license- addedlicenseTypefield to the command payload
[6.12.0] - 2025-03-26
Added
- Endpoints return
503 Service Unavailablewhen the connection to MongoDB fails - Validations to
POST /v1/licenseendpoint - license type, number of credits, description length and validity dates - Endpoint
POST /v1/license/redeem- add possibility to redeem a license for a company network manager - Endpoint
POST /v1/license- add possibility to create a license for an admin user
Fixed
- Make date validation less strict for comparing dates in
POST /v1/licenseendpoint - Endpoint
GET /v1/custom-scriptallows filtering bytitleandnameusing$regexquery parameter
[6.11.0] - 2025-03-20
Added
- White-label settings to a
POST /v1/companyendpoint to create a new account properly with a white-labeled email
[6.10.0] - 2025-03-19
Added
- Endpoint
GET /v1/device/screenshotandGET /v1/device/:deviceUid/screenshotsupports image hashes as a query parameter to filter by - Endpoint
GET /v1/device/screenshotandGET /v1/device/:deviceUid/screenshotreturns imageHashes for every screenshot
Fixed
- Endpoint
POST /v1/licenseusescreditsinstead ofdeviceCountandlicensePeriodInMonths - Endpoint
GET /v1/companynow returns all required fields
[6.9.0] - 2025-03-14
Added
- Endpoint
GET /v1/device/:deviceUid/custom-scriptsupports pagination, sorting and filtering by customScriptUids and versions - Endpoint
DELETE /v1/device/:deviceUid/custom-script/:customScriptUidsupports query parameter deleteVersions to delete all versions of the custom script as well - Endpoint
GET /v1/device/:deviceUid/custom-script/:customScriptUid/versionsupports filtering by platforms - Endpoint
GET /v1/device/:deviceUid/custom-script/:customScriptUid/versionreturns publishedAt and deprecatedAt - New endpoint
GET /v1/device/:deviceUid/custom-script/count - New endpoint
GET /v1/device/:deviceUid/custom-script/latest
[6.8.0] - 2025-03-06
Added
- Endpoint
GET /v1/custom-scriptreturns additional fieldssupportedPlatforms,latestVersion,lastExecutedAt,createdByandupdatedBy - Endpoint
GET /v1/custom-scriptallows filtering byplatform - New endpoint
POST /v1/company - New endpoint
GET /v1/company
Fixed
- Endpoint
POST /v1/custom-script/:customScriptUid/version/:version/platform/:platform/archiveconverts base64 encoded md5 checksum to hexadecimal in the final file path.
[6.7.1] - 2025-03-03
Fixed
- Added missing result to Custom Script execution in OpenAPI spec
[6.7.0] - 2025-03-03
Added
GET /v1/device/:deviceUid/custom-scriptreturns originator for each execution- Filtering by
$regexin description filter toGET /v1/license
[6.6.0] - 2025-02-28
Added
- Company network as privilege entity to account privileges
- API schema for licenses
- Endpoint
GET /v1/license - Endpoint
POST /v1/license - Endpoint
POST /v1/license/redeem - Endpoint
GET /v1/license/:licenseUid - Endpoint
DELETE /v1/license/:licenseUid - Possibility to use account tokens in API calls
[6.5.1] - 2025-02-28
Fixed
- Endpoint
GET /v1/company/:companyUid/public-keycan be accessed by all roles in company
[6.5.0] - 2025-02-28
Added
- New endpoint
GET /v1/device/:deviceUid/custom-script
[6.4.0] - 2025-02-27
Added
- New endpoints
/v1/custom-script/* - New endpoint
/v1/device/:deviceUid/custom-script - Endpoint
PUT /v1/bulk-operationsupports typeEXECUTE_CUSTOM_SCRIPT
[6.3.0] - 2025-02-26
Added
- Endpoints related to Device Telemetry are now loaded from MongoDB database instead of InfluxDB. This change is transparent to the user and should not affect the functionality of the API.
Fixed
- Optimize resolving of organization privileges by company
[6.2.1] - 2025-02-25
Fixed
- Calculating device current time for devices without specified timezone
- Update privileges needed for endpoint
POST /v1/policy/ - Update privileges needed for endpoint
PUT /v1/policy/ - Occasional 404 on
GET /v1/emulatorafterPOST /v1/emulatorcall. (It was responding sooner than the emulator was written to the database) - Remove privilege check for reading the company. There are cases where a user needs access to a company's organizations but is only a guest in the parent company. The previous ACL check prevented this type of access. Removing the rule fixes the issue.
[6.2.0] - 2025-02-24
Added
- ACL provider respects company owner and company manager user roles and allows them to manage company child organizations entities for account based authentication
[6.1.0] - 2025-02-21
Added
- Endpoint
PUT /v1/timing/:timingUidhas optionalactive
Fixed
- Response
Locationheader for endpointPOST /v1/location - Response
Locationheader for endpointPOST /v1/policy/ - Response
Locationheader for endpointPOST /v1/timing/
[6.0.1] - 2025-02-14
Fixed
- Validation of fields
startsAtandendsAtfor endpointPOST /v1/timing/is backwards compatible - Validation of fields
startsAtandendsAtfor endpointPUT /v1/timing/:timingUidis backwards compatible - Permissions for policy when authenticated as an Account
[6.0.0] - 2025-02-12
Changed
- Endpoint
POST /v1/locationresponse has 201 Created status code instead of 200 OK - Endpoint
PUT /v1/location/:locationUidresponse has 204 No Content status code instead of 200 OK and contains no body - Endpoint
DELETE /v1/location/:locationUidresponse has 204 No Content status code instead of 200 OK and contains no body - Endpoint
PUT /v1/location/:locationUid/add-attachmentresponse has 204 No Content status code instead of 200 OK and contains no body - Endpoint
PUT /v1/location/:locationUid/remove-attachmentsresponse has 204 No Content status code instead of 200 OK and contains no body - Endpoint
PUT /v1/location/:locationUid/archiveresponse has 204 No Content status code instead of 200 OK and contains no body - Endpoint
PUT /v1/location/:locationUid/unarchiveresponse has 204 No Content status code instead of 200 OK and contains no body - Endpoint
PUT /v1/location/:locationUid/organization-tag/:tagUidresponse has 204 No Content status code instead of 200 OK and contains no body - Endpoint
DELETE /v1/location/:locationUid/organization-tag/:tagUidresponse has 204 No Content status code instead of 200 OK and contains no body - Endpoint
POST /v1/policy/response has 201 Created status code instead of 200 OK and contains no body - Endpoint
PUT /v1/policy/:policyUidresponse has 204 No Content status instead of 200 OK and contains no body - Endpoint
POST /v1/timing/response has 201 Created status code instead of 200 OK and contains no body - Endpoint
PUT /v1/timing/:timingUidresponse has 204 Created status code instead of 200 OK and contains no body
Fixed
- Endpoint
POST /v1/policyallows organizationUid in body even if authenticated with organization token, as long as it matches the authenticated organization
[5.4.0] - 2025-01-28
Added
- Model for secrets manager service
- Endpoint
GET /v1/company/:companyUid/public-keyto get company's public key
Fixed
- Optimized
v1/device/telemetry/latestendpoint - Optimized authentication process and dramatically sped up the overall response time of the API
- Incorrect device export link in
/v1/device/exportresponse header
[5.3.0] - 2025-01-17
Added
- Endpoint
v2/device/exportto start exporting devices andv2/device/export/:uidto get export status
[5.2.0] - 2025-01-15
Added
GET /v1/applet/(:appletUid?/)?commandendpoint. It's more scalable, because it doesn't require to specify deviceUid and it's possible to list commands for all devices in the organization.
[5.1.4] - 2025-01-13
Added
- Endpoint
GET /v1/device/screenshotwon't return screenshots of devices that have disabled screen capture. - Endpoints
GET /v1/device/:deviceUid/screenshotandPOST /v1/device/:deviceUid/screenshotfail with403 Forbiddenif device has disabled screen capture.
Fixed
- (internal) system logs tests
[5.1.3] - 2024-12-10
Fixed
- Location 404 error
- issue with
PUT /v1/policy/:policyUidendpoint when policy name and items were specified, but it still was throwing error:MISSING_ITEMS_OR_NAME_FIELD_TO_UPDATE_POLICY - validation of policy items in
PUT /v1/policy/:policyUidendpoint
[5.1.2] - 2024-12-09
Fixed
- default security headers added to all API responses
x-powered-byheader removed from all API responses- Location api endpoint refactoring
[5.1.1] - 2024-11-15
Fixed
- Limit max telemetry interval to 583 hours
- (internal) Made it possible to pass a callback as an expectedBody parameter in testResource function
[5.1.0] - 2024-11-08
Added
- Added support to allow set device capture settings in device policy
- Endpoint
v1/device/:deviceUid/screen-captureto get/set device screen capture status
[5.0.1] - 2024-10-30
Fixed
- Fixed conversion of OpenAPI to Postman collection, prefilling x-auth header with
<string>instead of{{x-auth}}and other headers and variables similarly.
[5.0.0] - 2024-10-30
Added
- Endpoint
v1/device/:deviceUid/system-logto get device system logs - Endpoint
v1/system-logto get organization system logs
Fixed
- Supports breaking changes in underlying location model
Removed
- unused
selectivecommand consistency - not optimized
minStorageStatusPercentageandmaxStorageStatusPercentagefrom Device list endpoint
[4.16.4] - 2024-10-22
Fixed
/v1/device/screenshotFixed screenshots pagination.
[4.16.3] - 2024-10-16
Fixed
- Fixed an issue exposing the Mapbox access_token in HTTP error responses during Mapbox service failures
[4.16.1] - 2024-09-27
Fixed
- Endpoint
v1/deviceno longer returns 500 Internal Server Error when there are devices that didn't report timezone
[4.16.0] - 2024-09-24
Added
- Added
DeviceMonitoringType.STORAGEto device telemetries
[4.15.0] - 2024-09-23
Added
- Log 500 error messages
[4.14.2] - 2024-09-12
Fixed
- Removed a limitation in the DELETE device policy endpoint which required the deletion to be performed from the same organization the policy belonged to
[4.14.1] - 2024-09-03
Fixed
- Policy supports telemetry intervals
- Bulk operations support sending applet commands
- Removed counter-productive conditions in setDeviceConfiguration method to make it actually work when called with a new configuration.
[4.14.0] - 2024-08-21
Added
- Support for
PUT /v1/alertRule/:alertRuleUid/unarchiveendpoint
Fixed
- Return a 404 Not Found code instead of a 500 Internal Server Error when the application version for the device is not found during the setting process.
[4.13.1] - 2024-08-09
Fixed
- Backward compatibility installing package (from uri) in bulk operation. Prefill
applicationTypeandspecswith defaults
Security
- Updated
@aws-sdkto3.626.0to fix vulnerability issue
[4.13.0] - 2024-08-02
Added
GET /v1/organization/:organizationUID/security-tokenendpoint- Bulk operation for
SET_RM_SERVER,SET_VPN,UPDATE_TELEMETRY_CHECK_INTERVALS
Fixed
- Bulk operation for
INSTALL_PACKAGE(specsif required),INSTALL_PACKAGE_FROM_URI(applicationTypeandspecsif required)
[4.12.4] - 2024-07-24
Fixed
- AWS sdk updated to V3
- autodetect AWS credentials
[4.12.3] - 2024-07-11
Fixed
- revert: autodetection for AWS credencials
[4.12.2] - 2024-07-09
Fixed
- autodetect AWS credentials
[4.12.1] - 2024-06-21
Fixed
GET /v2/devicepagination- Login using Auth0. Endpoint
POST /v1/account/security-token
[4.12.0] - 2024-06-07
Added
- Allow filtering devices by the
hasPolicyfilter property, which indicates whether a device has any policy assigned or not
[4.11.0] - 2024-06-07
Added
GET /v1/device/:deviceUid/appletendpointPOST /v1/device/:deviceUid/appletendpointGET /v1/device/:deviceUid/applet/:assignmentUidendpointPUT /v1/device/:deviceUid/applet/:assignmentUidendpointDELETE /v1/device/:deviceUid/applet/:assignmentUidendpoint
[4.10.0] - 2024-06-05
Added
- Alive endpoint allows to specify
deviceUidsin body - Allow to specify location uid and location tags in alert rule
- Implement dummy API endpoint for device security settings
POST /v1/device/:deviceUid/pin-codedummy implementation for refreshing PIN on device
[4.9.0] - 2024-05-31
Added
- Optional policy items payload in the policy creation endpoint
[4.8.0] - 2024-05-22
Fixed
- vpn server api url helm values for staging and experimental
Added
GET /v1/organization/:organizationUid/client-vpn-configGet VPN configuration listPOST /v1/organization/:organizationUid/client-vpn-configGenerate vpn client vpn configuration and add it to VPN serverGET /v1/organization/:organizationUid/client-vpn-config/:uidGet VPN configurationDELETE /v1/organization/:organizationUid/client-vpn-config/:uidRevoke VPN configuration
[4.7.0] - 2024-05-15
Added
- test API resources against OpenApi documentation
- report of untested resources
- report undocumented resources
- report resources without objects schema
- suggest schema by example
Fixed
- get rid of request-promise
- speed up tests
[4.6.0] - 2024-05-01
Added
PUT /v2/device/:deviceUidenables to set platformUri, staticBaseUrl, uploadBaseUrl, weinreUri, extendedManagementUrl
[4.5.0] - 2024-04-25
Added
- Added VPN support for devices
POST /v1/management/accountendpoint to create account. It's called by Auth0.PUT /v1/management/account/:accountIdendpoint to update account. It's called by Auth0.
Fixed
PUT /v1/management/account/activateignores authenticationStrategy parameter. Instead, it only uses the account's email to try to pair it with a Company by email domain, if it exists.
[4.4.1] - 2024-04-08
Fixed
/PUT /device/:deviceUid/organizationadd missing body schema in docs
[4.4.0] - 2024-04-03
Added
- Snooze and unsnooze alert per device
[4.3.2] - 2024-03-22
Fixed
/v1/device/:deviceUid/applet/:appletUid/commanddocumentation discrepancies
[4.3.1] - 2024-03-21
Added
GET /v1/device/:deviceUid/applet/:appletUid/commandandGET /v1/device/:deviceUid/applet/:appletUid/command/:commandUidresponse containscommandfield instead ofcommandPayload. This makes it consistent with JS API where the command event containscommandfield. It still containscommandPayloadfield as a duplicate for backwards compatibility.
Fixed
- device UID validation
[4.3.0] - 2024-03-21
Added
/v1/device/:deviceUid/applet/:appletUid/commandexpects body to containcommandfield instead ofcommandPayload. This makes it consistent with JS API where the command event containscommandfield. ThecommandPayloadfield is still supported for backwards compatibility./admin/device/:deviceUid/organizationapi endpoint (only for internal use, admin privileges required)
[4.2.0] - 2024-03-18
Added
- Exports MongoDB connection metrics
[4.1.0] - 2024-03-13
Added
- Access logs
Fixed
- (internal) new AAPT2 service (returning parsed output)
- (internal) AAPT2 parser removed
- Better error message when authenticating with Organization token where Account token is expected
[4.0.0] - 2024-02-26
Added
- Export Prometheus metrics for HTTP requests
Removed
- Removed
GET /v1endpoint
[3.10.1] - 2024-02-15
Fixed
- Login with username and password via Auth0 for the first time, when the account existed prior in our system. Then Auth0 will call API to validate the email and password. If the email was a substring of another email that also exists in the system, sometimes it would validate for the wrong account.
[3.10.0] - 2024-02-14
Added
- (internal) fields
targetSdkVersionandveresionCodeto Android package specs - (internal)
updatedAtfield to policy items
Fixed
- Firmware upgrade for devices with new Core App reporting firmware type (and firmware is uploaded without type limitation)
[3.9.0] - 2024-01-28
Fixed
- Wrong path in documentation for
GET /device/:deviceUid/applet/:appletUid/command/:timingCommandUid - AndroidPackageParser refactored to use new lambda aapt2 service
- Improve performance and stability of
/applet/:appletUid/version/:version/fileendpoint
Security
- CVE-2023-28155
- CVE-2022-25883
- CVE-2023-26136
- CVE-2023-37466
- CVE-2023-37903
Added
- Added device RM server api endpoints
[3.8.1] - 2023-12-21
Fixed
- Invalid production helm configuration
[3.8.0] - 2023-12-21
Fixed
- Ensured support of MongoDB 4.4
- Fixed various security vulnerabilities
Security
- CVE-2021-29469
- Address security issues
Added
- Abstracted
Auth0AuthenticationClientto@signageos/lib
[3.7.1] - 2023-11-08
Fixed
- (internal) SAML auto assign to company
[3.7.0] - 2023-11-07
Added
- (internal) auto assign SAML account to company
Fixed
- Upgraded Zod library because of faulty email validation
[3.6.1] - 2023-10-27
Fixed
- Fix accidental mentions of policy in alerts documentation
[3.6.0] - 2023-10-25
Added
- Added bulk provisioning api endpoints
- Added upload of CSV for bulk provisioning
- Added serialNumber into devices listing filter
[3.5.1] - 2023-10-12
Fixed
- Auth0 enabled (bug) - fixed issue with auth0 enabled for CLI tool
[3.5.0] - 2023-09-25
Added
- (internal) Add legacy authentication method override for account security-token endpoint
- Added a comma-separated method to express list query parameters
Fixed
- Organization tag router archived endpoint now deletes tag
- Endpoints now accept single item query parameter lists. Previously, validation failed because the item was not recognized as an array
[3.4.0] - 2023-09-12
Added
brandandosVersionto deviceV2 get endpoint/v2/devicesupports filtering by locations, alerts, applets, brand, policy, model, FW, OS version and tags
[3.3.0] - 2023-09-07
Added
- set minimum bulk operation rolling update batch delay to one minute
[3.2.1] - 2023-08-31
Fixed
- (internal) Abstract terms & condition variable to common place
- (internal) CLI username login with enabled auth0
[3.2.0] - 2023-08-30
Added
- (internal) Auth0 rollout for cli
[3.1.1] - 2023-08-29
Fixed
- Typos in documentation for
PUT /v1/device/:deviceUid/time - (internal) AccessLevel for newly created auth0 account
[3.1.0] - 2023-08-23
Added
- (internal) Endpoint
POST /v1/management/account/preparenow marks terms and conditions as agreed if parametershouldAgreeWithTermsAndConditions (boolean)is provided in body of the request
[3.0.3] - 2023-08-16
Fixed
POST /v1/organizationhas new limit for fieldsnamefrom50to255characters andtitlefrom100to255. Fieldnamecan contain only letters and numbers separated by dashes and it must start and end with a letter or a numberPUT /v1/organization/:organizationUidhas new limit of for fieldtitlefrom100to255charactersPUT /v1/device/:deviceUid/peer-recoveryattributeautoEnableTimeoutMsis requiredPUT /v1/device/:deviceUid/auto-recoveryattributeautoEnableTimeoutMsis required
[3.0.2] - 2023-08-07
Fixed
- Timing create works when called from SDK, which got broken in the previous release
[3.0.1] - 2023-07-31
Fixed
- Timing update endpoint handles old format of
finishEventobject - Documentation for
POST /v1/device/:deviceUid/screenshotcontained explicit empty body which caused issues in Postman - Timing create/update changed these fields to optional - startsAt, endsAt, position, finishEvent, finishEventType, finishEventData. They are deprecated and shouldn't be used anymore
[3.0.0] - 2023-07-12
Removed
- Remove provision and deprovision device actions from bulk operations
[2.45.0] - 2023-06-28
Fixed
- Field
urlLauncherAddresswhen enabling Peer recovery process
Added
- (internal)
PUT /v1/management/account/:id/activateendpoint to activate account
[2.44.0] - 2023-06-08
Fixed
- (internal) replaced outdated test coverage tool
nycwithc8 - (internal) Updated node version from
12to16and npm from6to8
Added
- (internal) Auth0 authentication
- (internal) auth0_enabled flag
[2.43.2] - 2023-05-03
Fixed
setTelemetryIntervalsreturns error when value is more than 1 year
[2.43.1] - 2023-04-14
Fixed
- Error messages for location endpoint
[2.43.0] - 2023-04-04
Added
- Response with Open API YAML format on public endpoint
/openapi.yml
Fixed
GET /v2/devicereturns "websocket" inconnectionMethodfield instead of "ws"
[2.42.2] - 2023-03-24
Fixed
POST /timingwon't automatically generate random configuration.identification if non is provided
[2.42.1] - 2023-03-23
Fixed
- Allow remove all device schedule power actions
- Finalize bulk operation validations
- (internal) Fix variables validation
Deprecated
- Endpoints Device Connect renamed parameter
remoteIptoappletPublicUrland mark old name as deprecated
[2.42.0] - 2023-03-15
Fixed
- (internal) Refactor
config/parameters.jstoconfig/parameters.tsand fixed type issues
Added
- (internal)
POST /v1/management/accountto create siple account, which will not be used for authentication - (internal) Basic token authentication on
/v1/management/accountendpoints
[2.41.0] - 2023-02-22
Fixed
- (internal) Restricted
nodeandnpmversions to12and6respectively - (internal) Updated company dependencies
- (internal) BillingPlan type
- (internal) Replaced AccessLevel with common-types type
- Clarify combination usage of
size,framerateandresolution /device/:deviceUid/timedidn't accept certain timezones likeUS/Central
Added
- Endpoint
/v1/device/configuration/:deviceUid/telemetry-intervalsfor configuring device telemetry intervals
[2.40.0] - 2023-01-25
Added
- Endpoint
/v1/device/:deviceUid/tagfor managing device tags (assign, list, remove) - (internal) Add code coverage
[2.39.0] - 2022-12-14
Added
- (internal) Endpoint
/account/credentials/validatefor validation of the user credentials against old auth DB - (internal) Add tests to cover query parsing of
/account/credentials/validateendpoint
[2.38.1] - 2022-12-12
Fixed
- Update PUT
/locationendpoint now show proper error message when payload is invalid. - List GET
/v2/deviceacceptssearchparam
[2.38.0] - 2022-11-30
Added
- Endpoint
/v1/company/:companyUid/memberfor management of company members - Endpoint
/v1/organization/:organization/memberfor management of organization members
Fixed
- Upload applet version files will not produce a failed applet build anymore
[2.37.0] - 2022-11-02
Added
- Endpoint POST
/emulatorresponds with a header Location that contains an URL pointing to the created emulator device
Fixed
- Added missing telemetry types to documentation
[2.36.0] - 2022-10-19
Added
- Endpoint
/device/:deviceUid/auto-recoveryto get/set device auto recovery - Endpoint
/device/:deviceUid/peer-recoveryaccepts optional fieldautoEnableTimeoutMswhen disabling device peer recovery - Support for unrecognized keys used in Zod error parsing
Fixed
- Endpoint
POST /v1/bulk-operationreturn type to return correct bulk operation uid
[2.35.0] - 2022-10-05
Added
- Endpoint
PUT /v1/bulk-operation/archive/:bulkOperationUidto archive bulk operation - Enhance description of Uptime response documentation
- Filter of emulator list endpoint
GET /v1/emulatorbyorganizationUidquery parameter - Show OS version in device resource
Fixed
- Creating of organization
- Device configuration
connectionMethodfield is set tonull= automatic instead of WS by default - (internal) format check in CI imported from common place instead of declared in local CI
- (internal) Type check
- (internal) Removed unused code
[2.34.0] - 2022-09-21
Fixed
- Package version upload: Understand multi-arch APKs
Added
- Show device brand in device resource
[2.33.0] - 2022-09-07
Added
- Endpoint
PUT /v1/organization/:organizationUidto update organization title
Fixed
- Endpoint
GET /v1/device/screenshotoptimization of slow request
[2.32.1] - 2022-08-31
Fixed
/v1/device/:deviceUid/telemetry/:telemetryTypeoutput format
[2.32.0] - 2022-08-30
Added
- Endpoint
GET /v1/device/screenshotto get list of latest screenshots, one per each device
Fixed
- Sorting in
/v1/device/:deviceUid/telemetry/:telemetryTypeendpoint
[2.31.0] - 2022-08-24
Added
- Endpoint
/v1/device/:deviceUid/telemetry/:telemetryTypeto get history of telemetry readings of one type of telemetry for one device - (internal) prettier for formatting
Fixed
- Endpoint
/v1/bulk-operationimplements standard link pagination like other endpoints that return list - Bulk operation contains list of organizations that it belongs to
- (internal) replaced deprecated tslint with eslint
[2.30.1] - 2022-08-17
Fixed
- (internal) MongoDB connection of bulk operations to the separated replica set
- It's possible to send Applet Commands to device that runs an applet from another organization
[2.30.0] - 2022-08-17
Added
- Endpoint
/v1/organization-tagfor getting organization tags - Endpoint
/v1/device/:deviceUid/action-log/:actionUidfor getting single action log - Endpoints for setting device properties (i.e. brightness, firmware type, etc.) respond with "Link" header that contains a link to the result of the operation, since it's asynchronous in nature
Fixed
- Slow/unresponsive
GET /v2/device
[2.29.0] - 2022-07-27
Fixed
- Move documentation of Tag endpoints from Organization/Tags to Tag directory
- It's now possible to create a timing with any applet, even if it's from another organization
- Organization tag security issue
- Added async requests flow diagram and documentation
Added
- enable/disable extended telemetry and setPeerRecovery to bulk operation validation schemas
[2.28.1] - 2022-07-20
Fixed
- Package Version endpoint identified by UID only
[2.28.0] - 2022-07-20
Added
- Loading of timing commands from telemetry database
- Additional information about organization (name) and account (email) to bulk operations
- Endpoints
GET /v2/deviceandGET /v2/device/:deviceUidreturn new fieldconnectionMethod, which can behttporwebsocket - Endpoint
PUT /v2/device/:deviceUidto set fieldsnameandconnectionMethod(http/websocket) to device - Package and Package Version endpoints
- Endpoint
PUT/POST /v1/applet/:appletUid/version/:version/file/*optionally acceptsbuildboolean query param which can prevent building applet version
Fixed
- (internal) telemetry imports
- (internal) Add check dependencies ignore list
- Documentation default example header settings. Removed
charset=utf-8, so raw json can be used for request body - Organization account limit wrongly included all account tokens
- Updated Postman documentation
- Forbid to upload
node_modules/files as applet files
[2.27.0] - 2022-06-29
Fixed
- Endpoint
device/:deviceUid/peer-recoveryto enable/disable peer recovery on device and to fetch history of peer recovery settings - (internal) change of builder tool from webpack (4.40.2) to esbuild
- (internal) speedup tests start by replacing builder from
ts-node/registertoesbuild-runner/register - (internal)
check-typesscript removal from initial start of tests. Which speed up the process.check-typescan be ran manually or it will be running in CI - (internal) Esbuild production build. Added external dependencies
- (internal) Postman documentation update. Schema handling after access removal to dev account
- (internal) Request rate limiter now doesn't throw 500 error, when invalid route is provided. But skips the request limitation instead
Added
- (internal)
validateRequestRateLimiterutility script for validating newrequestRateLimiterconfigs before they are added to db
[2.26.0] - 2022-06-22
Added
- (internal) Better universal pagination
- (internal) Better parsing of query, params and body from request
- (internal) Better validation of inputs with zod
Fixed
- (internal) Open api file structure, so it is matching 1:1 to postman
[2.25.2] - 2022-06-08
Fixed
- Endpoints
/device/aliveand/device/:deviceUid/aliveadded fallback aliveAt value asnull
[2.25.1] - 2022-05-26
Fixed
- improved documentation for
/v1/deviceand/v2/device - improved documentation for
/v1/device/:deviceUidand/v2/device/:deviceUid
[2.25.0] - 2022-05-25
Fixed
- improved v1/device and
v1/device/:deviceUidperformance - (internal) Fixed alertRule documentation
- UDM deviceTelemetry modules imports
- (internal)
createRouterGetListHandlerdefault sorting bydescending - Fixed response data format for endpoints
/device/telemetry/latestand/device/:deviceUid/telemetry/latest
Added
- added v2/device and
v2/device/:deviceUidendpoints - Endpoints might have limited request rate in within defined time window
- Endpoints
/device/aliveand/device/:deviceUid/aliveto fetch when device was last time alive. List and single device - Additional fields
configurationSetandconfigurationRemoveKeysfor update timings payload in bulk operations - Endpoint
/device/telemetry/latestto fetch list of devices with all their latest telemetries - Endpoint
/device/:deviceUid/telemetry/latestto fetch a single device with all its latest telemetries
[2.24.1] - 2022-04-27
Fixed
Locationenhancement ofAdd attachmentcontent type validation- Error messages when user put wrong values
- GET devices endpoint is using cached values of telemetry to optimize performance
[2.24.0] - 2022-04-13
Added
- Location search enhancement
- Location validation by organization enhancement
- (internal) OpenAPI Documentation
Locationattachments upload management. OnAddattached file can be added. OnDeleteattached files can be deleted- (internal)
Locationgenerated documentation fix - (internal) Add OpenAPI Editor
Fixed
- Replace delete location by archive location
- (internal) Load device application version from influxdb
Location(GET) no longer returns all locations, but only the ones that belong to the client's organization.- (internal) Load device temperature from influxdb
[2.23.0] - 2022-04-06
Added
- Location now saves also
cityandcountryCodefields - Endpoint
/device/:deviceUid/offline-rangeto fetch data about device connectivity - Alert rule periodicity is now object with
intervalandactiveTimeWindowsfields
Fixed
- (internal) Missing documentation for storage abstraction
[2.22.0] - 2022-03-16
Added
- Add bulk operation api endpoints
- Location to organization tag relation (assign and unassign)
- Organization tag
get one,create,updateanddelete(archive) - Uptime computed by device or organization
- Location
createandupdateendpoints simplification of thefeatureparameter into twocoordinates: { lat: number; long: number }andaddress: string. Where now the feature params is obtained programmatically from themapboxAPI
Fixed
- Location properties adjustment. Removal of
floorand addition of thecustomId,attachmentsanddescription. - Location properties adjustment. Replaced
addressandcoordinateswithfeaturefield of typeFeature<Point> - Alert and alert rule creation
[2.21.0] - 2022-02-09
Fixed
- Request count is correctly saved and counted
- Returns ntpServer address, when is set on /device{deviceUid} endpoint
Added
- Location resource
[2.20.0] - 2022-01-26
Added
- Policy status for given device by policyUid or itemType or their combination
- Array
supportedResolutionsinto device endpoints
[2.19.0] - 2022-01-19
Added
- Latest telemetry data
- Endpoint
routeDateTime(/device/:deviceUid/time) now accept UNIX timestamp or date time. With or without offset, if with offset is ignored. Offset is now take from the time zone and then transformed into correct UNIX timestamp.
[2.18.3] - 2021-12-23
Fixed
- Remote control API has additional parameters aliases
locked&kioskwhich are reversed values ofenabled.
[2.18.2] - 2021-12-15
Fixed
- Device info (e.g. storageStatus in device route) is fetched from separated telemetry database
- Resolution & Orientation PUT api error message
[2.18.1] - 2021-12-10
Fixed
- Race condition in updating device name & fetching devices using name filter
- Alert & alert rules related bugs
[2.18.0] - 2021-12-08
Added
- Device action log (history of the device) resource
- Counting api requests per resource and organization - storing them to redis
Fixed
- Error reporting for timing create/update when config is missing
[2.17.0] - 2021-11-17
Added
- Missing automatic pagination for /device/:deviceUid/power-action resource using
since&until(page has size 5000)
Fixed
- (internal) pagination is consistent in all paginated endpoints
[2.16.2] - 2021-11-10
Fixed
- Applet version test suite resource accepts / (slashes) in identifier name
[2.16.1] - 2021-10-13
Fixed
- Timeout POST/PUT requests by 504 with additional command ID info
- Optimization: Prepared separation of telemetry from other resources
[2.16.0] - 2021-09-01
Added
- Optional frame rate can be set along with resolution
[2.15.2] - 2021-08-11
Fixed
- Prevent falling api when device connections or pings are temporarily unavailable (return undefined values instead)
[2.15.0] - 2021-07-28
Added
- Alert and AlertRule resources
[2.14.0] - 2021-06-23
Added
- Allow to fetch company organizations
- Allow to to fetch organization statistics with devices count
- Only test and 3.0 organizations can create device policies
[2.13.3] - 2021-05-26
Fixed
- Slow responding write requests
- Limit the max number of fetched devices to 4000 in a single request
[2.13.0] - 2021-03-31
Added
- Policy archive resource
- Archived filter to get policies list resource
Fixed
- Device policy assign/unassign resource by UID
- Only one policy can be assigned to device
- Improve
currentTimeof/deviceresource
[2.12.0] - 2021-03-24
Fixed
- Some resources where failing when new organization token was used
- Policy resource response correctly when items or name haven't changed
Added
- Policy clone resource
[2.11.0] - 2021-03-17
Added
- Firmware can be uploaded for Android & signageOS (linux) devices (including firmware type. E.g.:
rpi,rpi4,benq_sl550) - Policies resources
- Resource PUT
/device/:uid/timeoptionally acceptsntpServerproperty in body
Fixed
- Missing uid in PowerActionSchedule PolicyItems
[2.10.2] - 2021-03-03
Fixed
- Uploading firmware can be done up to 2GB
[2.10.1] - 2021-02-18
Fixed
- Resources
/device/{deviceUid}/brightness&/device/{deviceUid}/resolutioncorrectly accepts number values even for URL encoded body.
[2.10.0] - 2021-02-03
Added
- New endpoint to set organization of device
- Optional descending parameter for list of device screenshot, optional limit parameter to set page size
Fixed
- More than one emulator can be created for one account
- Exception handling refactored, more precise messages for user, backward compatibility preserved
[2.9.0] - 2021-01-27
Added
- New endpoint to manage organization tokens which are scoped for specific account
[2.8.0] - 2021-01-22
Added
- Added routes to get emulators and create emulator assigned to authenticated account
- Added endpoint to delete emulator
[2.7.0] - 2021-01-13
Added
- Organization tokens are scoped for an account where every account has a unique personal organization token
- Screen size with certain width, height in pixels can be set instead of pre-defined HD_READY, FULL_HD resolution values
- New endpoints to allow sent data for connect, disconnect computer from device in local network
Security
- Prevent creating and updating timing for applet from foreign company regardless organization
[2.6.0] - 2020-10-28
Added
- Missing automatic pagination for /device resource using
createdSince&createdUntil(page has size 200)
[2.5.0] - 2020-10-21
Added
- Added route for deleting existing organization
Fixed
- 10x faster account API security token encryption
- Strong consistency model of device feature tests
- Allow account authentication against real API security token clientId, not substitution of username or email of account (much faster)
[2.4.4] - 2020-10-14
Fixed
- Selective consistency of resources (not responding write requests)
[2.4.3] - 2020-10-14
Fixed
- HTTP server terminated after all pending requests resolved thus it prevents 5xx status codes
- Update name of device, deprovisioning & power actions will always respond
- Get current list of uploaded multifile applet files
[2.4.2] - 2020-09-22
Fixed
- Power action write requests uses new strong consistency model
[2.4.1] - 2020-09-16
Fixed
- Originator added to all commands being send in API
Security
- Prevent creating timing for applet from another organization
[2.4.0] - 2020-09-03
Added
- Video orientation landscape flipped
Fixed
- Updated model where productionSince and MaxDevicesCount fields of organization's were moved to organizationModel
[2.3.4] - 2020-08-22
Fixed
- Response of resources occasionally failing
[2.3.3] - 2020-08-19
Fixed
- Internally memory optimized processing of write operations
[2.3.2] - 2020-08-19
Fixed
- Race condition in consistency of REST API requests which sometimes returned 404 or 403 in fast sequence of calls
- New internals for installing packages to device
[2.3.1] - 2020-07-21
Fixed
- Decide new organization device plan according to default company settings
[2.3.0] - 2020-07-09
Fixed
- device plans namings (i.e. from basic -> 1.0)
- Fixed logic of validation of organization subscriptionType and default subscriptionType of creating organization
- Fixed content-type. It can be omitted when uploading file (back compatibility for cli 0.7.0)
Added
- Acl permission based authorization
[2.2.2] - 2020-06-23
Fixed
- Missing content-type in applet version file response
[2.2.1] - 2020-06-22
Fixed
- REST API for uploading applet files accepts content type for update files as well.
[2.2.0] - 2020-06-15
Added
- Tracking applet version files when uploading them (multifile applet timing support)
- DUID (duid) physical device UID is available in /v1/device/... REST API
[2.1.0] - 2020-05-27
Added
- Add limit of verify devices count for non production organizations
Fixed
- Upgrade sentry logging
- Remove deprecations of mongoose
[2.0.0] - 2020-04-28
Fixed
- Rethink device models replaced by mongo device aciton log model
- Add error handler for duplicate identifier case in test suite
- Rethink models replaced by mongo models
- Device resolution and orientation params validation on changing
- Attach company when creating organization
- Added originator to originator aware actionLog commands
- Added new STARTER billing plan
- Listing companies and changing it's plan now uses dedicated company commands
Added
- Device package start resource
- Companies endpoints. Added ability to get companies and set their billing plans
- Ability to set organizations's subscription type
Removed
- IntroPage and IntroMetadata models removed
[1.15.0] - 2019-12-23
Added
- Multi file firmware support
- Endpoints for firmware files management
- Multi file applets support
- Endpoints for applets files management
- Redis storage added, device connections are now retrieved directly from Redis deviceConnectionModel
Fixed
- Applet Version endpoint POST and PUT return link to resource
- Optimize loading of data using mongodb instead of rethinkdb
[1.14.0] - 2019-12-02
Added
- GET resource for fetching latest device feature test
/v1/device/:deviceUid/feature-test - PUT resource to update device feature test
/v1/device/:deviceUid/feature-test - GET resource for fetching latest device applet test
/v1/device/:deviceUid/applet-test - PUT resource to update device applet test
/v1/device/:deviceUid/applet-test
Fixed
- Replacement of all invalid imports from rethink by corresponding user-domain-model imports
- Little code readability refactoring and typos fixes
[1.13.0] - 2019-10-17
Added
- Default subscription type of organization is based on account subscription
[1.12.0] - 2019-10-14
Added
- Ability to have multiple api security tokens per account
Fixed
- Change device subscriptionType after the device is paired
[1.11.0] - 2019-09-21
Added
- Updating and Creating applet version with applet binary in request body
[1.10.0] - 2019-09-17
Fixed
- Updating and Creating applet version with bundled front-applet
- Unified the format of error and success HTTP REST response bodies
Added
- Routes for managing applet test suites (CRUD)
[1.9.1] - 2019-08-28
Fixed
- Allow to omit frontAppletVersion in appletVersion
[1.9.0] - 2019-08-25
Added
- Accept username or email in authentication for organization manipulation (not only accountId)
- Allow get and recreate account API security token for account by password login
- GET resource for list of organizations
/organization
[1.8.4] - 2019-07-18
Fixed
- device deprovisioning 403 error
[1.8.3] - 2019-07-04
Fixed
- Optimize loading of device info (storage, online, batter etc. resources)
[1.8.2] - 2019-06-21
Fixed
- Applet POST API response contains Link to created entity in header
- Some resources are loaded from more optimal MongoDB (device reports, monitoring, screenshots, temperatures and timing commands)
[1.8.0] - 2019-05-29
Added
- Windows Application type support
[1.7.0] - 2019-02-13
Added
- Support Power actions applet enable/disable: https://docs.signageos.io/api/device-management-api/#Set_Device_Power_Action
[1.6.0] - 2019-01-14
Added
- New resource to get current firmware versions
GET /v1/firmware/version - Device temperature can be filtered by additional query parameters createdSince & createdUntil
GET /v1/device/:deviceUid/temperature
[1.5.5] - 2018-11-17
Fixed
- Applet Dispatch commands (Timing commands) POST can be done to any applet. Even without organization access to it.
[1.5.0] - 2018-09-05
Added
- Dispatching custom commands to device by POST /device/:deviceUId/applet/:appletUid/command (https://docs.signageos.io/api/device-monitoring-api/#Send_Device_Applet_Command_to_device)
Fixed
- Scheduled power action resource is standardized & response header contains location to created resource
[1.4.0] - 2018-08-14
Fixed
- Authentication of /organization resource by accountId & apiSecurityToken: https://docs.signageos.io/api/organizationuser-rest-api/
Added
- Simple GET /organization/:organizationUid resource
- Create POST /organization resource returns reference to just created organization in Location header (with code 201)
[1.3.0] - 2018-07-19
Added
- GET method for device power actions: https://docs.signageos.io/api/device-management-api/#Get_Device_Power_Action
[1.2.2] - 2018-07-13
Fixed
- Volume can be set also to 0 (zero) value
[1.2.1] - 2018-07-13
Fixed
- GET device timing - when there is no current timing, last outdated timing will be returned
[1.2.0] - 2018-07-09
Added
- New feature and resource for schedule power actions of device: https://docs.signageos.io/api/device-management-api/#Get_Device_Scheduled_Power_Actions
- New resource for upgrading/downgrading Firmware of device: https://docs.signageos.io/api/device-management-api/#Get_Device_Firmware_version
Fixed
- Optimized fetching of device screenshots
[1.1.3] - 2018-06-20
Added
- Security token based authentication - to create new organization without client ID/client secret
- An API resource for creating a new organization
[1.1.2] - 2018-06-18
Fixed
- Optimized device reports GET methods
[1.1.0] - 2018-06-08
Added
- Changelog file containing all changes in current project
- Explicit video orientation different from screen orientation