XDM API Changelog

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

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

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

  1. Location: Section 8.9

  2. Description: Added endpoint geozone groups kml files import

  3. 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

  1. Location: Section 6.8

  2. Description: Added endpoint for creating multiple Sdk devices.

  3. 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.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

  1. 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

  2. 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.