Public API V2
Josh Franzen avatar
Written by Josh Franzen
Updated over a week ago

Who can use this feature?

👤 Organizations Owners and Admins.
🚩 Only available on the Enterprise Plan.

Overview

The ArborXR Public API V2 provides access to your organization’s data via a RESTful interface.

The root of v2 of the API is located at https://api.xrdm.app/api/v2 . Documentation is located at https://api.xrdm.app/api/v2/docs. From the documentation page, you can download the OpenAPI spec documentation as JSON or YAML, for use with your API development client of choice.

💡 We also have an Analytics API that lets you integrate with business intelligence tools. It uses the same access token as the Public API, but we document it separately to avoid confusion. Check out the Analytics API article for details.

Generate an Access Token

When generating an access token, you’ll have the option to choose the scopes you want to grant. Different scopes will allow you to access different resources in the API.

  1. Navigate to organization Settings, select Access Token in the top right, then click Create Access Token.

  2. Enter a title, check the Public API checkbox, then click Create.

  3. Copy the token value before closing.

Authentication

Once you’ve generated an access token, you can use that token to make HTTP requests to the API, by adding it as a bearer token to your request’s Authorization header. You should also be sure to include the Accept and specify that you expect a JSON response.

Authorization: Bearer <access_token>

Accept: application/json

Apps

Access information about apps in your organization.

Endpoint

Method

Description

Attributes

https://api.xrdm.app/api/v2/apps

GET

Returns an arraylist of applications

  • ID

  • Title

  • Description

  • Tags

  • Device Models

https://api.xrdm.app/api/v2/apps/{id}

GET

Returns a specific application

  • ID

  • Title

  • Latest Version {version, code, size, added, status}

https://api.xrdm.app/api/v2/apps/{id}

PUT

Allow the caller to modify specific attributes of a specific application

  • Title

  • Description

  • Tags

https://api.xrdm.app/api/v2/apps/{id}/versions

GET

Returns a list of all the versions available for a given application ID

  • ID

  • Version

  • Code

  • Size

  • Added

  • Status

https://api.xrdm.app/api/v2/apps/{id}/versions

POST

Allow the caller to upload a specific version/build to a content

  • INPUTS:

    • Filename

    • releaseChannelId (optional)

  • OUTPUTS:

    • uploadId

    • Key

    • versionId

https://api.xrdm.app/api/v2/apps/{appId}/versions/{versionId}/pre-sign

POST

  • INPUTS:

    • Key

    • uploadId

    • partNumbers

  • OUTPUTS:

    • partNumber => presignedUrl array

https://api.xrdm.app/api/v2/apps/{appId}/versions/{versionId}/complete

POST

  • INPUTS:

    • Key

    • uploadId

    • Parts array

      • partNumber

      • eTag

    • versionName

    • releaseNotes

https://api.xrdm.app/api/v2/apps/{id}/release-channels

GET

Returns all the release channels associated with the app and also return the version information associated with that release channel

  • ID

  • name

https://api.xrdm.app/api/v2/apps/{id}/release-channels/{id}

GET

Returns a single release channel with its version detail

  • ID

  • name

  • version

    • version (this is user_version in DB)

    • code (this is version_code in DB)

    • size

    • added

    • status

https://api.xrdm.app/api/v2/apps/{id}/release-channels/{id}

POST

This associates a release channel with a different content_channel_build id

  • version_id (this maps to content_channel_build_id)

Files

Access information about files in your organization

Endpoint

Method

Description

Attributes

https://api.xrdm.app/api/v2/files

GET

Retrieves a list of files for the specific organization

  • ID

  • Name

  • Location

  • Size

  • Tags

  • Added

https://api.xrdm.app/api/v2/files/{id}

GET

Retrieves a detail record for a specific file by ID

  • Name

  • Location

  • Size

  • Tags

  • Device ID’s

  • Added

Devices

Access information about devices in your organization and remotely launch apps & reboot devices.

Endpoint

Method

Description

Attributes

https://api.xrdm.app/api/v2/devices

GET

Returns a list of devices for the current org

  • ID

  • Title

  • Serial Number

  • Group Name

  • Device Model

  • Tags

  • Last communicated At

https://api.xrdm.app/api/v2/devices/{id}

GET

Returns the detail record of the device by ID

  • Title

  • Serial Number

  • Group Name/ID

  • Device Model

  • Tags

  • Last communicated At

  • Status (online/offline)

https://api.xrdm.app/api/v2/devices/{id}/launch/{appId}

POST

Remotely launches an app

https://api.xrdm.app/api/v2/devices/{id}/reboot

POST

Reboots a device immediately by device ID

https://api.xrdm.app/api/v2/device-models

GET

Get a list of device models where supported = true AND where devices in org use this model

  • ID

  • Name

  • Manufacturer

https://api.xrdm.app/api/v2/device-models/{id}

GET

Get details for a single device model

  • ID

  • Name

  • Manufacturer

https://api.xrdm.app/api/v2/devices/{id}

POST

Update a device's information by ID

  • Title

  • Tags

  • Group Name/ID

https://api.xrdm.app/api/v2/deviceGroups

GET

Get a list of all device groups in the current organization

  • ID

  • Title

  • Number of Devices

Did this answer your question?