title | description | author | ms.author | ms.date | ms.topic | keywords |
---|---|---|---|---|---|---|
Device portal API reference |
Stay up to date on the Windows Device Portal API for HoloLens development. |
hamalawi |
moelhama |
08/03/2020 |
article |
HoloLens, Windows Device Portal, API, mixed reality headset, windows mixed reality headset, virtual reality headset |
Everything in the Windows Device Portal is built on top of REST API's that you can use to access the data and control your device programmatically.
/api/app/packagemanager/package (DELETE)
Uninstalls an app.
Parameters
- package: File name of the package to be uninstalled.
/api/app/packagemanager/package (POST)
Installs an App.
Parameters
- package: File name of the package to be installed.
Payload
- multi-part conforming http body
/api/app/packagemanager/packages (GET)
Retrieves the list of installed apps on the system. Includes details.
Return data
- List of installed packages with details
/api/app/packagemanager/state (GET)
Gets the status of in-progress app installation.
/api/debug/dump/usermode/crashcontrol (DELETE)
Disables crash dump collection for a sideloaded app.
Parameters
- packageFullName: package name
/api/debug/dump/usermode/crashcontrol (GET)
Gets settings for sideloaded apps crash dump collection.
Parameters
- packageFullName: package name
/api/debug/dump/usermode/crashcontrol (POST)
Enables and sets dump control settings for a sideloaded app.
Parameters
- packageFullName: package name
/api/debug/dump/usermode/crashdump (DELETE)
Deletes a crash dump for a sideloaded app.
Parameters
- packageFullName: package name
- fileName: dump file name
/api/debug/dump/usermode/crashdump (GET)
Retrieves a crash dump for a sideloaded app.
Parameters
- packageFullName: package name
- fileName: dump file name
Return data
- Dump file. Inspect with WinDbg or Visual Studio.
/api/debug/dump/usermode/dumps (GET)
Returns list of all crash dumps for sideloaded apps.
Return data
- List of crash dumps per side loaded app
/api/etw/providers (GET)
Enumerates registered providers.
Return data
- List of providers, friendly name and GUID
/api/etw/session/realtime (GET/WebSocket)
Creates a real-time ETW session; managed over a websocket.
Return data
- ETW events from the enabled providers
/api/holographic/os/etw/customproviders (GET)
Returns a list of HoloLens-specific ETW providers that aren't registered with the system.
/api/holographic/os/services (GET)
Returns the states of all services running.
/api/holographic/os/settings/ipd (GET)
Gets the stored IPD (Interpupillary distance) in millimeters.
/api/holographic/os/settings/ipd (POST)
Sets the IPD.
Parameters
- ipd: New IPD value to be set in millimeters
/api/holographic/os/webmanagement/settings/https (GET)
Gets HTTPS requirements for the Device Portal.
/api/holographic/os/webmanagement/settings/https (POST)
Sets HTTPS requirements for the Device Portal.
Parameters
- required: yes, no or default
/api/holographic/perception/client (GET/WebSocket)
Accepts WebSocket upgrades and runs a perception client that sends updates at 30 fps.
Parameters
- clientmode: "active" forces visual tracking mode when it can't be established passively
When using these thermal APIs, reference the managing power and thermals article.
/api/holographic/thermal/stage (GET)
Get the thermal stage of the device (0 normal, 1 warm, 2 critical).
/api/holographic/thermal/getMitigationLevels (GET/websocket)
Open a websocket (or do a single HTTP GET query), returning a list of objects containing the following:
- IsSuppressed - Identifying if a given peripheral has mitigations suppressed
- Level - Latest thermal mitigation level for this peripheral
- Mask - Mask of this peripheral
- ThermalScore - Latest thermal score for this peripheral
Objects are named by peripheral name (Example: Battery)
/api/holographic/thermal/setMitigationLevel (POST)
Change the mitigation level being reported for a given peripheral
Parameters
- mask: bitmask with single bit set for the peripheral of interest (See PowerThermalPeripheralFlags for details)
- level: new level to use (0-3)
/api/holographic/thermal/setThermalScore (POST)
Change the thermal score being reported for a given peripheral
Parameters
- mask: bitmask with single bit set for the peripheral of interest (See PowerThermalPeripheralFlags for details)
- thermalScore: new thermal score to use (100-0)
/api/holographic/mapmanager/mapFiles (GET)
Gets the list of the available map files (.mapx).
/api/holographic/mapmanager/anchorFiles (GET)
Gets the list of available anchor files (.ancx).
/api/holographic/mapmanager/srdbFiles (GET)
Gets the list of available spatial reconstruction database files (.srdb).
/api/holographic/mapmanager/getanchors (GET)
Gets the list of persisted anchors for the current user.
/api/holographic/mapmanager/download (GET)
Downloads a map, anchor, or spatial reconstruction database file. The file must've been previously uploaded or exported.
Parameters
- FileName: Name of file to download.
Example:
$.post("/api/holographic/mapmanager/download?FileName=" + spaceID)
/api/holographic/mapmanager/upload (POST)
Uploads a map, anchor, or spatial reconstruction database file. Once a file is uploaded, it can later be imported and used by the system.
Parameters
- file: Name of the file to upload.
Example:
var form_data = new FormData();
form_data.append("file", file_data);
$.ajax({
url: "/api/holographic/mapmanager/upload",
dataType: 'json',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post'
})
/api/holographic/mapmanager/delete (POST)
Deletes a map, anchor, or spatial reconstruction database file. The file must've been previously uploaded or exported.
Parameters
- FileName: Name of file to delete.
Example:
$.post("/api/holographic/mapmanager/delete?FileName=" + spaceID)
/api/holographic/mapmanager/export (POST)
Exports the map currently in use by the system. Once exported, it can be downloaded.
Example:
$.post("/api/holographic/mapmanager/export")
/api/holographic/mapmanager/exportanchors (POST)
Exports the map currently in use by the system. Once exported, it can be downloaded. Example:
$.post("/api/holographic/mapmanager/exportanchors")
/api/holographic/mapmanager/exportmapandanchors (POST)
Exports the map and anchors currently in use by the system. Once exported, they can be downloaded. Example:
$.post("/api/holographic/mapmanager/exportmapandanchors")
/api/holographic/mapmanager/exportmapandspatialmappingdb (POST)
Exports the map and spatial reconstruction database currently in use by the system. Once exported, they can be downloaded.
Example:
$.post("/api/holographic/mapmanager/exportmapandspatialmappingdb")
/api/holographic/mapmanager/import (POST)
Indicates to the system which map should be used. Can be called on files that have been exported or uploaded.
Parameters
- FileName: Name of the map to be used.
Example:
$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })
/api/holographic/mapmanager/importanchors (POST)
Indicates to the system which anchors should be used. Can be called on files that have been exported or uploaded.
Parameters
- FileName: Name of the anchors to be used.
Example:
$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })
/api/holographic/mapmanager/importspatialmappingdb (POST)
Indicates to the system which spatial reconstruction database should be used. Can be called on files that have been exported or uploaded.
Parameters
- FileName: Name of the spatial mapping db to be used.
Example:
$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })
/api/holographic/mapmanager/resetmapandanchorsandsrdb (POST)
Reset the system the map, anchors and spatial reconstruction database.
Example:
$.post("/api/holographic/mapmanager/resetmapandanchorsandsrdb")
/api/holographic/mapmanager/status (GET)
Gets the status of the system, including which map, anchors, and spatial reconstruction database files were last imported.
/api/holographic/mrc/file (GET)
Downloads a mixed reality file from the device. Use the op=stream query parameter for streaming.
Parameters
- filename: Name, hex64 encoded, of the video file to get
- op: stream
/api/holographic/mrc/file (DELETE)
Deletes a mixed reality recording from the device.
Parameters
- filename: Name, hex64 encoded, of the file to delete
/api/holographic/mrc/files (GET)
Returns the list of mixed reality files stored on the device.
/api/holographic/mrc/photo (POST)
Takes a mixed reality photo and creates a file on the device.
Parameters
- holo: capture holograms: true or false (defaults to false)
- pv: capture PV camera: true or false (defaults to false)
- RenderFromCamera: (HoloLens 2 only) render from perspective of photo/video camera: true or false (defaults to true)
/api/holographic/mrc/settings (GET)
Gets the default mixed reality capture settings.
/api/holographic/mrc/settings (POST)
Sets the default mixed reality capture settings. Some of these settings are applied to the system's MRC photo and video capture.
/api/holographic/mrc/status (GET)
Gets the state of mixed reality capture within the Windows Device Portal.
Response
The response contains a JSON property that indicates if Windows Device Portal is recording video or not.
{"IsRecording": boolean}
/api/holographic/mrc/thumbnail (GET)
Gets the thumbnail image for the specified file.
Parameters
- filename: Name, hex64 encoded, of the file for which the thumbnail is being requested
/api/holographic/mrc/video/control/start (POST)
Starts a mixed reality recording.
Parameters
- holo: capture holograms: true or false (defaults to false)
- pv: capture PV camera: true or false (defaults to false)
- mic: capture microphone: true or false (defaults to false)
- loopback: capture app audio: true or false (defaults to false)
- RenderFromCamera: (HoloLens 2 only) render from perspective of photo/video camera: true or false (defaults to true)
- vstab: (HoloLens 2 only) enable video stabilization: true or false (defaults to true)
- vstabbuffer: (HoloLens 2 only) video stabilization buffer latency: 0 to 30 frames (defaults to 15 frames)
/api/holographic/mrc/video/control/stop (POST)
Stops the current mixed reality recording.
Caution
Because of loopback isolation, you can't connect to mixed reality streaming from inside an app on a device.
HoloLens supports live preview of mixed reality via chunked download of a fragmented mp4.
Mixed reality streams share the same set of parameters to control what's captured:
- holo: capture holograms: true or false
- pv: capture PV camera: true or false
- mic: capture microphone: true or false
- loopback: capture app audio: true or false
If none of these are specified, then holograms, photo/video camera, and app audio will be captured.
If any are specified, the unspecified parameters will default to false
Optional parameters (HoloLens 2 only)
- RenderFromCamera: render from perspective of photo/video camera: true or false (defaults to true)
- vstab: enable video stabilization: true or false (defaults to false)
- vstabbuffer: video stabilization buffer latency: 0 to 30 frames (defaults to 15 frames)
/api/holographic/stream/live.mp4 (GET)
A 1280x720p 30fps 5Mbit stream.
/api/holographic/stream/live_high.mp4 (GET)
A 1280x720p 30fps 5Mbit stream.
/api/holographic/stream/live_med.mp4 (GET)
A 854x480p 30fps 2.5Mbit stream.
/api/holographic/stream/live_low.mp4 (GET)
A 428x240p 15fps 0.6Mbit stream.
/api/networking/ipconfig (GET)
Gets the current IP configuration.
/api/os/info (GET)
Gets operating system information.
/api/os/machinename (GET)
Gets the machine name.
/api/os/machinename (POST)
Sets the machine name.
Parameters
- name: New machine name, hex64 encoded, to set to
/api/holographic/simulation/control/mode (GET)
Gets the simulation mode.
/api/holographic/simulation/control/mode (POST)
Sets the simulation mode.
Parameters
- mode: simulation mode: default, simulation, remote, legacy
/api/holographic/simulation/control/stream (DELETE)
Delete a control stream.
/api/holographic/simulation/control/stream (GET/WebSocket)
Open a WebSocket connection for a control stream.
/api/holographic/simulation/control/stream (POST)
Create a control stream (priority is required) or post data to a created stream (streamId required). Posted data is expected to be of type 'application/octet-stream'.
/api/holographic/simulation/display/stream (GET/WebSocket)
Request a simulation video stream containing the content rendered to the system display when in 'Simulation' mode. A simple format descriptor header will be sent initially, followed by H.264-encoded textures, with each preceded by a header indicating the eye index and texture size.
/api/holographic/simulation/playback/file (DELETE)
Delete a recording.
Parameters
- recording: Name of recording to delete.
/api/holographic/simulation/playback/file (POST)
Upload a recording.
/api/holographic/simulation/playback/files (GET)
Get all recordings.
/api/holographic/simulation/playback/session (GET)
Get the current playback state of a recording.
Parameters
- recording: Name of recording.
/api/holographic/simulation/playback/session/file (DELETE)
Unload a recording.
Parameters
- recording: Name of recording to unload.
/api/holographic/simulation/playback/session/file (POST)
Load a recording.
Parameters
- recording: Name of recording to load.
/api/holographic/simulation/playback/session/files (GET)
Get all loaded recordings.
/api/holographic/simulation/playback/session/pause (POST)
Pause a recording.
Parameters
- recording: Name of recording.
/api/holographic/simulation/playback/session/play (POST)
Play a recording.
Parameters
- recording: Name of recording.
/api/holographic/simulation/playback/session/stop (POST)
Stop a recording.
Parameters
- recording: Name of recording.
/api/holographic/simulation/playback/session/types (GET)
Get the types of data in a loaded recording.
Parameters
- recording: Name of recording.
/api/holographic/simulation/recording/start (POST)
Start a recording. Only a single recording can be active at once. One of these must be set: head, hands, spatialMapping or environment.
Parameters
- head: Set to 1 to record head data.
- hands: Set to 1 to record hand data.
- spatialMapping: Set to 1 to record spatial mapping.
- environment: Set to 1 to record environment data.
- name: Name of the recording.
- singleSpatialMappingFrame: Set to 1 to record only a single spatial mapping frame.
/api/holographic/simulation/recording/status (GET)
Get recording state.
/api/holographic/simulation/recording/stop (GET)
Stop the current recording. Recording will be returned as a file.
/api/resourcemanager/processes (GET)
Returns the list of running processes with details.
Return data
- JSON with list of processes and details for each process
/api/resourcemanager/systemperf (GET)
Returns system perf statistics (I/O read/write, memory stats, etc.
Return data
- JSON with system information: CPU, GPU, Memory, Network, IO
/api/power/battery (GET)
Gets the current battery state.
/api/power/state (GET)
Checks if the system is in a low power state.
/api/control/restart (POST)
Restarts the target device.
/api/control/shutdown (POST)
Shuts down the target device.
/api/taskmanager/app (DELETE)
Stops a modern app.
Parameters
- package: Full name of the app package, hex64 encoded
- forcestop: Force all processes to stop (=yes)
/api/taskmanager/app (POST)
Starts a modern app
Parameters
- appid: PRAID of app to start, hex64 encoded
- package: Full name of the app package, hex64 encoded
/api/wifi/interfaces (GET)
Enumerates wireless network interfaces.
Return data
- List of wireless interfaces with details (GUID, description etc.)
/api/wifi/network (DELETE)
Deletes a profile associated with a network on a specified interface.
Parameters
- interface: network interface guid
- profile: profile name
/api/wifi/networks (GET)
Enumerates wireless networks on the specified network interface.
Parameters
- interface: network interface guid
Return data
- List of wireless networks found on the network interface with details
/api/wifi/network (POST)
Connects or disconnects to a network on the specified interface.
Parameters
- interface: network interface guid
- ssid: ssid, hex64 encoded, to connect to
- op: connect or disconnect
- createprofile: yes or no
- key: shared key, hex64 encoded
/api/wpr/customtrace (POST)
Uploads a WPR profile and starts tracing using the uploaded profile.
Payload
- multi-part conforming http body
Return data
- Returns the WPR session status.
/api/wpr/status (GET)
Retrieves the status of the WPR session
Return data
- WPR session status.
/api/wpr/trace (GET)
Stops a WPR (performance) tracing session.
Return data
- Returns the trace ETL file
/api/wpr/trace (POST)
Starts a WPR (performance) tracing session.
Parameters
- profile: Profile name. Available profiles are stored in perfprofiles/profiles.json
Return data
- On start, returns the WPR session status.