XDM API Changelog
Jan 1, 2026
Added Endpoints
6.11 POST /api/external/v4/devicesSdk/filter
Location: Section 6.11
Description: Added v4 endpoint for filtering SDK devices.
Details:
Request Body: application/json
Response: 200 (success), 400 (validation errors), 403 (unauthorized), 500 (internal error)
This endpoint introduces version 4 of device SDK filtering and extends the existing v1 and v3 filter functionality with the latest improvements to the request/response contract.
Jan 7, 2026
Updated Endpoints
6.4 POST /api/external/v1/devicesSdk/cancelUpdate
6.6 POST /api/external/v3/devicesSdk/cancelUpdate
Added validation that permits inserting multiple devices in a single request as long as they belong to the same dealer. Devices from different dealers can no longer be mixed in one request.
This aligns the behavior with other endpoints and improves audit functionality.
20.2 PUT /api/external/v1/userTemplates/{templateId}/categories/ {categoryId}/elementGroups/{elementGroupId}/elements/{elementId}
Added support for submitting files in Base64 format.
File-type elements now support an additional filename field, which is required when submitting files.
Example request body for filename upload:
{
"id": 12345,
"value": "SGVsbG8gd29ybGQh",
"filename": "new file.txt"
}
20.3 PUT /api/external/v1/userTemplates/{templateId}/elements/multiple
Added support for submitting files in Base64 format.
File-type elements now support an additional filename field, which is required when submitting files.
Example request body for filename upload:
[
{
"id": 12345,
"value": "SGVsbG8gd29ybGQh",
"filename": "new file.txt"
}
]
Oct 3, 2025
Added Endpoints
15.1 POST /api/external/v1/rollouts/create
Location: Section 15.1
Description: Endpoint to create a new rollout.
Details:
Request Body: application/json
Auth: Authorized dealer users only
Response: 200 (success), 400 (validation errors), 403 (unauthorized), 500 (internal error)
15.2 GET /api/external/v1/rollouts/{rolloutId}
Location: Section 15.2
Description: Retrieve details of a specific rollout.
Details:
Path Parameter: rolloutId (GUID)
Auth: Authorized dealer users only
Response: 200 (success), 400, 403, 404 (not found), 500
15.3 DELETE /api/external/v1/rollouts/{rolloutId}
Location: Section 15.3
Description: Delete an existing rollout.
Details:
Path Parameter: rolloutId (GUID)
Response: 200 (success), 400, 403, 500
15.4 GET /api/external/v1/rollouts/{rolloutId}/approvals
Location: Section 15.4
Description: Retrieve approvals and their status for a rollout.
Details:
Path Parameter: rolloutId (GUID)
Response: 200 (success), 400, 403, 500
15.5 GET /api/external/v1/rollouts/devices
Location: Section 15.5
Description: Retrieve device states for a rollout with filtering options.
Details:
Request Body: application/json
Response: 200 (success), 400, 403, 500
15.6 GET /api/external/v1/rollouts
Location: Section 15.6
Description: Retrieve filtered rollouts and their data.
Details:
Request Body: application/json
Response: 200 (success), 400, 403, 500
15.7 GET /api/external/v1/rollouts/device/commands
Location: Section 15.7
Description: Retrieve commands and their latest status for a rollout device.
Details:
Request Body: application/json
Response: 200 (success), 400, 403, 500
15.8 GET /api/external/v1/rollouts/device/command/states
Location: Section 15.8
Description: Retrieve states of a specific device command.
Details:
Request Body: application/json
Response: 200 (success), 400, 403, 500
15.9 POST /api/external/v1/rollouts/{rolloutId}/release
Location: Section 15.9
Description: Release a rollout that is ready.
Details:
Path Parameter: rolloutId (GUID)
Response: 200 (success), 400, 403, 500
15.10 POST /api/external/v1/rollouts/{rolloutId}/terminate
Location: Section 15.10
Description: Terminate an active rollout.
Details:
Path Parameter: rolloutId (GUID)
Response: 200 (success), 400, 403, 500
15.11 POST /api/external/v1/rollouts/{rolloutId}/approve
Location: Section 15.11
Description: Approve a rollout.
Details:
Path Parameter: rolloutId (GUID)
Response: 200 (success), 400, 403, 500
15.12 POST /api/external/v1/rollouts/remove/devices
Location: Section 15.12
Description: Remove devices from an existing rollout.
Details:
Request Body: application/json
Response: 200 (success), 400, 403, 500
Sep 1, 2025
Created Endpoints
POST /api/external/v1/userTemplates/duplicate
Location: Section 21.2
Description: Endpoint to duplicate existing settings template
Details:
Request Body: application/json
Auth: Authorized dealer users only
Response: 200 (success), 400 (validation errors), 403 (unauthorized), 500 (internal error)
NAME | TYPE | DESCRIPTION |
|---|---|---|
settingTemplateId | integer | ID of an already existing settings template |
name | string | Name of a new settings template |
notes | string | Notes for a new settings template |
dealerId | integer | Dealer ID of the new settings template owner |
DELETE /api/external/v1/userTemplates/{templateId}
Location: Section 21.5
Description: Endpoint to delete existing settings template
Details:
Path Parameter: id (int32)
Auth: Authorized dealer users only
Response: 200 (success), 400 (validation errors), 403 (unauthorized), 500 (internal error)
NAME | TYPE | DESCRIPTION |
|---|---|---|
templateId | integer | ID of an already existing settings template |
Aug 20, 2025
Updated Endpoints
20.3 POST /api/external/v1/userTemplates/{templateId}/categories/{categoryId}/elementGroups
Location: Section 20.3
Description: Endpoint to create a new element group
Details:
Request Body: application/json
Auth: Authorized dealer users only
Now allows for submission of a file in base64 format. Introduced new field: filename for each file type elements.
Response: 200 (success), 400 (validation errors), 403 (unauthorized), 500 (internal error)
Apr 23, 2025
Added Endpoints
15.2 POST /api/external/v1/scripts
Location: Section 15.2
Description: Endpoint to create a new script
Details:
Request Body: application/json
Auth: Authorized dealer users only
Allows for submission of a new script with source code and configuration parameters.
Response: 200 (success), 400 (validation errors), 403 (unauthorized), 500 (internal error)
15.3 GET /api/external/v1/scripts/{id}
Location: Section 15.3
Description: Retrieve script details by ID
Details:
Path Parameter: id (int32)
Auth: Authorized dealer users only
Returns script metadata and content
Response: 200 (success), 400, 403, 404 (not found), 500
15.4 PUT /api/external/v1/scripts/{id}
Location: Section 15.4
Description: Update an existing script
Details:
Path Parameter: id (int32)
Request Body: application/json
Auth: Authorized dealer users only
Replaces script content and configuration
Response: 200 (success), 400, 403 (unauthorized or released), 500
15.5 DELETE /api/external/v1/scripts/{id}
Location: Section 15.5
Description: Delete a script by ID
Details:
Path Parameter: id (int32)
Auth: Authorized dealer users only
Removes the script from the system
Response: 200 (success), 403, 404 (not found), 500
15.6 POST /api/external/v1/scripts/Release/{id}
Location: Section 15.6
Description: Release a script
Details:
Path Parameter: id (int32)
Auth: Authorized dealer users only
Marks the script as released (active)
Response: 200 (success), 400 (invalid or unmet release conditions), 403, 500 (compilation error)
Dec 17, 2024
XDM v3 documentation was updated with new external endpoints.
Added Endpoints
8.9 POST /api/external/v2/geozonegroups
Location: Section 8.9
Description: Added endpoint geozone groups kml files import
Details:
Request Body: Form
Response:
Status Code: 200
Response Model: application/json
Allows for the batch import of geozone groups through KML file uploads. The endpoint parses the
uploaded KML files to extract coordinates and other relevant metadata for the system integration.
Nov 28, 2024
XDM v3 documentation was updated with new external endpoints.
Added Endpoints
6.8 POST /api/external/v3/devicesSdk/multiple
Location: Section 6.8
Description: Added endpoint for creating multiple Sdk devices.
Details:
Request Body: JSON
Response:
Status Code: 200
Response Model: application/json
With this new endpoint clients can create multiple Sdk devices as long as they have matching hardware versions. Additionally can set config, firmware and notes to be set.
Aug 27, 2024
XDM v3 documentation was updated with new descriptions for mass operations parameters.
Aug 13, 2024
XDM v3 documentation was updated with new external endpoints.
Added Endpoints
1.1 POST /api/external/v1/AdminTemplates/filter
Location: Section 1.1
Description: Added endpoint for filtering admin setting templates.
Details:
Request Body: JSON
Response:
Status Code: 200
Response Model: application/json
This new endpoint allows filtering of admin setting templates, enabling users to retrieve paged results based on specific criteria.
19.1 POST /api/external/v1/userTemplates
Location: Section 19.1
Description: Added endpoint for creating a new user settings template.
Details:
Request Body: JSON
Response:
Status Code: 200
Response Model: application/json
This endpoint allows the creation of a new user settings template, facilitating user customization and configuration within the API.
19.5 GET /api/external/v1/userTemplates/{templateId}/serialize
Location: Section 19.5
Description: Added endpoint for retrieving the serialized file of a user setting template.
Details:
Path Parameters:
templateId (int32): User Template Id
Response:
Status Code: 200
Response Model: application/octet-stream
This endpoint enables the retrieval of a serialized file of a user setting template, allowing users to download the template in a binary format.
These new endpoints enhance the API by providing functionality for filtering admin setting templates, creating user settings templates, and managing template serialization.
Jul 2, 2024
XDM v3 documentation was updated with new external endpoints.
Added Endpoints
16.3 PUT /api/external/v1/userTemplates/{templateId}/elements/multiple
Location: Section 16.3
Description: Added endpoint for updating multiple user template elements.
Details:
Path Parameters:
templateId(int32): User Template Id
Request Body: JSON
Response:
Status Code: 200
Response Model: application/json
18.4 GET /api/external/v1/userTemplates/{templateId}/GetTree
Location: Section 18.4
Description: Added endpoint for retrieving the tree structure of a user template.
Details:
Path Parameters:
templateId(int32): User Template Id
Response:
Status Code: 200
Response Model: application/json
These new endpoints extend the capabilities of the API by allowing users to update multiple template elements in a single request and retrieve the hierarchical structure of a user template.