Applications Introduction Access Token Access tokens are the secret passwords that gives access to your resources through the APIs. You can create an API token from the Cloud as described in the introduction. Make sure to keep your tokens secret and to not publish them publicly to prevent any security breach. API in use The Cloud API centralizes all your teams, workspaces, devices, applications, logs and telemetries. hub.stereolabs.com/api/v1 List apps List all applications in the specified team. Those applications are available to all workspaces in the team. team_id string optional Filter apps of a single team by providing the team ID as query parameter. ?team_id=54321 apps array List of applications in the team and their details. apps.latest_release array Information about the latest release of the application. /apps curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ https://hub.stereolabs.com/api/v1/apps HTTP/1.1 200 OK { "apps": [ { "id": "101112", "workspace_id": "12345", "name": "My first app", "created_at": "1584106887741", "description": "Runs on test devices", "permissions": { "camera": true }, "auto_install": false, "restart_policy": "always", "user_data": { "customValue": 42 }, "latest_release": { "id": "131415", "name": "1.0.0", "created_at": "1584106887955", "description": "Initial release" } }, ... ] } Get app information Get details about a specific application. :appNameOrId integer ID or url-encoded name of the target application. id integer Unique identifier of the application. team_id string Unique identifier of the team owning this application. name string Name of the application. created_at timestamp Datetime of the application creation (epoch, milliseconds). description string Verbose description of the application. permissions object Contains the application permissions, for example whether it uses the camera or not. auto_install boolean Whether this app should be automatically installed on new devices in the team's workspaces. restart_policy string always if the application should restart when it goes out of the running status unexpectedly, or never. user_data object Format-free json field to store any custom information related to the application. latest_release object Latest release of the application. /apps/:appNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId HTTP/1.1 200 OK { "id": "101112", "team_id": "54321", "name": "My first app", "created_at": "1584106887741", "description": "Runs on test devices", "permissions": { "camera": true }, "auto_install": false, "restart_policy": "always", "user_data": { "customValue": 42 }, "latest_release": { "id": "131415", "app_id": "101112", "name": "1.0.0", "created_at": "1584106887955", "description": "Initial release", "size": 1.5, "type":"docker-compose", "default_parameters": { "reported": {}, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } }, "override_policy": { "requested": { "customParameter": true } } } } Upload app Upload an app as a packaged ZIP file. Information like the app name and its options should be contained in an app.json file at the root of the ZIP file. file form_file_entry The ZIP file corresponding to this application. team_id form_integer_entry The unique identifier of the team this app should be uploaded in. id integer Unique identifier of the application. team_id string Unique identifier of the team owning this application. name string Name of the application. created_at timestamp Datetime of the application creation (epoch, milliseconds). description string Verbose description of the application. permissions object Contains the application permissions, for example whether it uses the camera or not. auto_install string Whether this app should be automatically installed on new devices in the team's workspaces. restart_policy string always if the application should restart when it goes out of the running status unexpectedly, or never. user_data object Format-free json field to store any custom information related to the application. latest_release object Latest release of the application. /apps curl -s \ -H "Content-Type:multipart/form-data" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/apps \ --form "file=@/home/user/first_app.zip" --form "team_id=54321" HTTP/1.1 200 OK { "id": "101112", "team_id": "54321", "name": "My first app", "created_at": "1584106887741", "description": "Runs on test devices", "permissions": { "camera": true }, "auto_install": false, "restart_policy": "always", "user_data": { "customValue": 42 }, "latest_release": { "id": "131415", "app_id": "101112", "name": "1.0.0", "created_at": "1584106887955", "description": "Initial release", "size": 1.5, "type":"docker-compose", "default_parameters": { "reported": {}, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } }, "override_policy": { "requested": { "customParameter": true } } } } Update application information Update application information like its name, its description, user_data and more. :appNameOrId integer ID or url-encoded name of the target application. name string optional New name for the application. description string optional Updated verbose description of the application. user_data object optional Updated custom information related to this application. permissions object optional Updated permissions for this application. auto_install boolean optional true if this app should automatically be installed on all devices in the workspace, or false to only install it when deployed on a specific device. restart_policy string optional always if the application should restart when it goes out of the running status unexpectedly, or never. id integer Unique identifier of the application. team_id string Unique identifier of the team owning this application. name string Name of the application. created_at timestamp Datetime of the application creation (epoch, milliseconds). description string Verbose description of the application. permissions object Contains the application permissions, for example whether it uses the camera or not. auto_install boolean Whether this app should be automatically installed on new devices in the team's workspaces. restart_policy string always if the application should restart when it goes out of the running status unexpectedly, or never. user_data object Format-free json field to store any custom information related to the application. /apps/:appNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X PUT \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId \ -d '{ "name": "Updated app name", "description": "Runs on all test devices" "user_data": { "customValue": 42 } }' HTTP/1.1 200 OK { "id": "101112", "team_id": "54321", "name": "Updated app name", "created_at": "1584106887741", "description": "Runs on all test devices", "permissions": { "camera": true }, "auto_install": false, "restart_policy": "always", "user_data": { "customValue": 42 } } Delete application Delete an application, all its deployments and all its releases. :appNameOrId integer ID or url-encoded name of the target application. /apps/:appNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X DELETE \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId HTTP/1.1 200 OK {} List app deployments in a workspace List all applications currently in use in the workspace by any of its device. :workspaceId integer ID of the target workspace. apps array List of applications currently in use in the workspace and their details. apps.deployments array List of current deployments of this application on workspace's devices and their details. /workspaces/:workspaceId/apps curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/apps HTTP/1.1 200 OK { "apps": [ { "id": "101112", "name": "My first app", "description": "Runs on test devices", "created_at": "1584106887741", "permissions": { "camera": true }, "user_data": { "customValue": 42 }, "restart_policy": "always", "deployments": [ { "deployment_id": 987654, "deployed_at": 1584106888050, "device_id": 67890, "status": "running", "warnings": false, "errors": false, "parameters": { "reported": { "core": { "disable_app": false }, "customParameter": 42 }, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } } }, ... ] }, ... ] } List app deployments on a device List all the applications deployed on a device. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. apps array List of applications currently in use in the workspace and their details. apps.deployment object Current deployment of this application on the device and its details /workspaces/:workspaceId/devices/:deviceNameOrId/apps curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps HTTP/1.1 200 OK { "apps": [ { "id": "101112", "name": "My first app", "description": "Runs on test devices", "created_at": "1584106887741", "permissions": { "camera": true }, "user_data": { "customValue": 42 }, "restart_policy": "always", "deployment": { "deployment_id": 987654, "deployed_at": 1584106888050, "device_id": 67890, "status": "running", "warnings": false, "errors": false, "parameters": { "reported": { "core": { "disable_app": false }, "customParameter": 42 }, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } } } }, ... ] } Get app deployment Get details of an application deployed on a device. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. id integer ID of the application. name string Application's name. description string Verbose description of the application. created_at timestamp Datetime of the application creation (epoch, milliseconds). permissions object Contains the application permissions, for example whether it uses the camera or not. user_data object Custom data attached to the application. restart_policy string always if the application should restart when it goes out of the running status unexpectedly, or never. release object The details of the application's release the device is running. deployment object The details of the application instance on the device. deployment.deployment_id integer Unique identifier of this application deployment on the device. deployment.deployed_at timestamp Datetime of the application deployment on the device (epoch, milliseconds). deployment.device_id string Unique identifier of the device the application is running on. deployment.status string Current status of the application reported by the device. Possible values are: "downloading": Device is downloading the application. "building": Application is being installed on the device. For docker-compose apps, docker-compose build and docker-compose pull commands are used. "built": Application has just been installed but parameters.requested.core.autorun was set to false. "launching": Application is starting and will end up in running status if everything goes right. For docker-compose apps, docker-compose up commands is used. "running": Application is currently running on the device. For docker-compose apps, its services are actually running. "restarting": Application is being stopped and will launched right after. For docker-compose apps, the docker-compose down command is used. "stopping": Application is stopping. For docker-compose apps,docker-compose down command is used. "stopped": Application is stopped and waiting to be launched. For docker-compose apps, its services are not running. "failed": Application reported an error during the downloading, building or launching steps. This status will also be reported if its execution is interrupted (exit code > 0). "paused": Execution of the application has been paused, this can occur during an Edge Agent update. For docker-compose apps, the docker-compose pause command is used. "removing": Application is being stopped and its files deleted from the device. "": No status has been reported yet. deployment.errorsdeployment.warnings booleanboolean Whether the application instance has reported warning or error logs. (Logs marked as read are ignored.) parameters object Requested and reported values of the parameters set for this application deployment. parameters.requested.core.autorunparameters.reported.core.autorun objectobject Whether the application should be launched right after its installation on the device. parameters.requestedreported.core.disable_app objectobject Whether the application should run on the device or be disabled. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId HTTP/1.1 200 OK { "id": "101112", "name": "My first app", "description": "Runs on test devices", "created_at": "1584106887741", "permissions": { "camera": true }, "user_data": { "customValue": 42 }, "restart_policy": "always", "deployment": { "deployment_id": 987654, "deployed_at": 1584106888050, "device_id": 67890, "status": "running", "warnings": false, "errors": false, "parameters": { "reported": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 }, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } } } } Deploy application on device Deploys the latest release of an application on a device. If another release of the same application is already installed on the device, it will be replaced by the latest one. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. disable_app boolean optional Whether the application should be disabled at the moment of its deployment. A disabled app won't be starting its installation until it gets enabled. id integer ID of the application. name string Application's name. description string Verbose description of the application. created_at timestamp Datetime of the application creation (epoch, milliseconds). permissions object Contains the application permissions, for example whether it uses the camera or not. user_data object Custom data attached to the application. restart_policy string always if the application should restart when it goes out of the running status unexpectedly, or never. release object The details of the application's release the device is running. deployment object The details of the application instance on the device. deployment.deployment_id integer Unique identifier of this application deployment on the device. deployment.deployed_at timestamp Datetime of the application deployment on the device (epoch, milliseconds). deployment.device_id string Unique identifier of the device the application is running on. deployment.status string Current status of the application reported by the device. Possible values are: "downloading": Device is downloading the application. "building": Application is being installed on the device. For docker-compose apps, docker-compose build and docker-compose pull commands are used. "built": Application has just been installed but parameters.requested.core.autorun was set to false. "launching": Application is starting and will end up in running status if everything goes right. For docker-compose apps, docker-compose up commands is used. "running": Application is currently running on the device. For docker-compose apps, its services are actually running. "restarting": Application is being stopped and will launched right after. For docker-compose apps, the docker-compose down command is used. "stopping": Application is stopping. For docker-compose apps,docker-compose down command is used. "stopped": Application is stopped and waiting to be launched. For docker-compose apps, its services are not running. "failed": Application reported an error during the downloading, building or launching steps. This status will also be reported if its execution is interrupted (exit code > 0). "paused": Execution of the application has been paused, this can occur during an Edge Agent update. For docker-compose apps, the docker-compose pause command is used. "removing": Application is being stopped and its files deleted from the device. "": No status has been reported yet. deployment.errorsdeployment.warnings booleanboolean Whether the application instance has reported warning or error logs. (Logs marked as read are ignored.) parameters object Requested and reported values of the parameters set for this application deployment. parameters.requested.core.autorunparameters.reported.core.autorun objectobject Whether the application should be launched right after its installation on the device. parameters.requestedreported.core.disable_app objectobject Whether the application should run on the device or be disabled. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId \ -d '{ "disable_app": false }' HTTP/1.1 200 OK { "id": "101112", "name": "My first app", "description": "Runs on test devices", "created_at": "1584106887741", "permissions": { "camera": true }, "user_data": { "customValue": 42 }, "restart_policy": "always", "deployment": { "deployment_id": 987654, "deployed_at": 1584106888050, "device_id": 67890, "status": "running", "warnings": false, "errors": false, "parameters": { "reported": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 }, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } } } } Deploy an application release on a device Deploys the specified application release on the target device. If another release of the same application is already installed on the device, it will be replaced by the requested one. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. :releaseNameOrId integer ID or url-encoded name of the target application release. disable_app boolean optional Whether the application should be disabled at the moment of its deployment. A disabled app won't be starting its installation until it gets enabled. id integer ID of the application. name string Application's name. description string Verbose description of the application. created_at timestamp Datetime of the application creation (epoch, milliseconds). permissions object Contains the application permissions, for example whether it uses the camera or not. user_data object Custom data attached to the application. restart_policy string always if the application should restart when it goes out of the running status unexpectedly, or never. release object The details of the application's release the device is running. deployment object The details of the application instance on the device. deployment.deployment_id integer Unique identifier of this application deployment on the device. deployment.deployed_at timestamp Datetime of the application deployment on the device (epoch, milliseconds). deployment.device_id string Unique identifier of the device the application is running on. deployment.status string Current status of the application reported by the device. Possible values are: "downloading": Device is downloading the application. "building": Application is being installed on the device. For docker-compose apps, docker-compose build and docker-compose pull commands are used. "built": Application has just been installed but parameters.requested.core.autorun was set to false. "launching": Application is starting and will end up in running status if everything goes right. For docker-compose apps, docker-compose up commands is used. "running": Application is currently running on the device. For docker-compose apps, its services are actually running. "restarting": Application is being stopped and will launched right after. For docker-compose apps, the docker-compose down command is used. "stopping": Application is stopping. For docker-compose apps,docker-compose down command is used. "stopped": Application is stopped and waiting to be launched. For docker-compose apps, its services are not running. "failed": Application reported an error during the downloading, building or launching steps. This status will also be reported if its execution is interrupted (exit code > 0). "paused": Execution of the application has been paused, this can occur during an Edge Agent update. For docker-compose apps, the docker-compose pause command is used. "removing": Application is being stopped and its files deleted from the device. "": No status has been reported yet. deployment.errorsdeployment.warnings booleanboolean Whether the application instance has reported warning or error logs. (Logs marked as read are ignored.) parameters object Requested and reported values of the parameters set for this application deployment. parameters.requested.core.autorunparameters.reported.core.autorun objectobject Whether the application should be launched right after its installation on the device. parameters.requestedreported.core.disable_app objectobject Whether the application should run on the device or be disabled. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/releases/:releaseNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/releases/:releaseNameOrId \ -d '{ "disable_app": false }' HTTP/1.1 200 OK { "id": "101112", "name": "My first app", "description": "Runs on test devices", "created_at": "1584106887741", "permissions": { "camera": true }, "user_data": { "customValue": 42 }, "restart_policy": "always", "deployment": { "deployment_id": 987654, "deployed_at": 1584106888050, "device_id": 67890, "status": "running", "warnings": false, "errors": false, "parameters": { "reported": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 }, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } } } } Update application parameters on device Updates the value of a parameter that only applies when a specific application is deployed on a specific device. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. key:value string:value Name of the parameter to update and its json-valid value. This parameter will be created automatically if it does not exist. Multiple key-values can be provided in a single request. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/request curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/request \ -d '{ "customParameter": 42 }' HTTP/1.1 200 OK {} Delete application parameters on device Deletes a parameter that only applies when a specific application is deployed on a specific device. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. key:null string:value key is the name of the parameter to delete by assigning it the null value. Multiple key-values can be provided in a single request. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/request curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/request \ -d '{ "customParameter": null }' HTTP/1.1 200 OK {} Enable application on device Starts the execution of an already-deployed application on a device based on the device ID and application ID. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. key:value string:value core.disable_app: false to run the application on the device. core.autorun: true can be added if the application autorun is currently disabled and pending in "built" status. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/request curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/request \ -d '{ "core.disable_app": false, "core.autorun": true }' HTTP/1.1 200 OK {} Restart application on device Triggers a restart of an application on a device based on the device ID and application ID. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/restart curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/restart HTTP/1.1 200 OK {} Disable application on device Stops the execution of an application on a device based on the device ID and application ID. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. key:value string:value core.disable_app: true to stop the execution of the application on the device. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/request curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/request \ -d '{ "core.disable_app": true }' HTTP/1.1 200 OK {} Uninstall application from device Uninstalls an application from a device based on the application ID. :workspaceId integer ID of the target workspace. :deviceNameOrId integer ID or url-encoded name of the target device. :appNameOrId integer ID or url-encoded name of the target application. /workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/releases/:releaseNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X DELETE \ https://hub.stereolabs.com/api/v1/workspaces/:workspaceId/devices/:deviceNameOrId/apps/:appNameOrId/releases/:releaseNameOrId HTTP/1.1 200 OK {} List all application releases List all releases for the given application. :appNameOrId integer ID or url-encoded name of the target application. releases array List of releases available for this application and their details. /apps/:appNameOrId/releases curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId/releases HTTP/1.1 200 OK { "releases": [ { "id": "131415", "app_id": "101112", "name": "1.0.0", "created_at": "1584106887955", "description": "First release", "size": 4.2, //KB "type": "docker-compose", "default_parameters": { "reported": {}, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } }, "override_policy": { "requested": { "customParameter": true } } }, ... ] } Get application release Get details about a specific release of an application. :appNameOrId integer ID or url-encoded name of the target application. :releaseNameOrId integer ID or url-encoded name of the target release. id integer ID of the release. app_id integer ID of the application this release is linked to. name string Name of this release. created_at timestamp Datetime of the release creation (epoch, milliseconds). description string Verbose description of this release. size number Size in KB of this release file. type string Type of the application. Only "docker-compose" is supported for now. default_parameters object Default parameters used when deploying this release on a device. requested.core.autorun: true if the application should be launched right after its installation on a device. false if the application should only get installed without launching. requested.core.disable_app: true if the application shouldn't start its installation when it is deployed on a device. false otherwise. override_policy object When the release of an app is updated on a device, the override policy defines whether the previous parameters should be kept (default) or overridden, on a per-parameter basis. To override a parameter (applying the value from default_parameters), a key of the same name (in the same tree) should be added to the override_policy with a value set to true. If the key doesn't exist, or the value is set to false, the previous parameter (from the previous deployment) will be used. Notice that the policy can be applied to the root of an object to override all the parameters within. /apps/:appNameOrId/releases/:releaseNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId/releases/:releaseNameOrId HTTP/1.1 200 OK { "id": "131415", "app_id": "101112", "name": "1.0.0", "created_at": "1584106887955", "description": "First release", "size": 4.2, //KB "type": "docker-compose", "default_parameters": { "reported": {}, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } }, "override_policy": { "requested": { "customParameter": true } } } Upload application release Upload a new release as a packaged ZIP file. Information like the release name and its options should be contained in an app.json file at the root of the ZIP file. file form_file_entry The ZIP file corresponding to this release. :appNameOrId integer ID or url-encoded name of the target application. id integer Unique identifier of the application the release has been uploaded in. team_id string Unique identifier of the team owning this application. name string Name of the application. created_at timestamp Datetime of the application creation (epoch, milliseconds). description string Verbose description of the application. permissions object Contains the application permissions, like whether it uses the camera or not. auto_install string Whether this app should be automatically installed on new devices in the team's workspaces. restart_policy string always if the application should restart when it goes out of the running status unexpectedly, or never. user_data object Format-free json field to store any custom information related to the application. latest_release object Latest release of the application, corresponding to the release that has been uploaded. latest_release.id integer ID of the release. latest_release.app_id integer ID of the application this release is linked to. latest_release.name string Name of this release. latest_release.created_at timestamp Datetime of the release creation (epoch, milliseconds). latest_release.description string Verbose description of this release. latest_release.size number Size in KB of this release file. latest_release.type string Type of the application. Only "docker-compose" is supported for now. latest_release.default_parameters object Default parameters used when deploying this release on a device. requested.core.autorun: true if the application should be launched right after its installation on a device. false if the application should only get installed without launching. requested.core.disable_app: true if the application shouldn't start its installation when it is deployed on a device. false otherwise. override_policy object When the release of an app is updated on a device, the override policy defines whether the previous parameters should be kept (default) or overridden, on a per-parameter basis. To override a parameter (applying the value from default_parameters), a key of the same name (in the same tree) should be added to the override_policy with a value set to true. If the key doesn't exist, or the value is set to false, the previous parameter (from the previous deployment) will be used. Notice that the policy can be applied to the root of an object to override all the parameters within. /apps/:appNameOrId/releases curl -s \ -H "Content-Type:multipart/form-data" \ -H "Authorization:Bearer ${access_token}" \ -X POST \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId/releases \ --form "file=@/home/user/new_release.zip" HTTP/1.1 200 OK { "id": "101112", "team_id": "54321", "name": "My first app", "created_at": "1584106887741", "description": "Runs on test devices", "permissions": { "camera": true }, "auto_install": false, "restart_policy": "always", "user_data": { "customValue": 42 }, "latest_release": { "id": "192021", "app_id": "101112", "name": "2.0.0", "created_at": "1584106887955", "description": "Second release", "size": 1.5, //KB "type":"docker-compose", "default_parameters": { "reported": {}, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } }, "override_policy": { "requested": { "customParameter": true } } } } Update application release information Update the name or the description of an existing application release. :appNameOrId integer ID or url-encoded name of the target application. :releaseNameOrId integer ID or url-encoded name of the target release. name string optional New name of the application release. description string optional Updated verbose description of the release. type string optional Updated type of the release. Only "docker-compose" is currently supported. default_parameters string optional Updated default parameters to apply on new deployments of this release on devices. override_policy string optional Updated override policy that will be applied on new deployments of this release on devices. id integer ID of the release. app_id integer ID of the application this release is linked to. name string Name of this release. created_at timestamp Datetime of the release creation (epoch, milliseconds). description string Verbose description of this release. size number Size in KB of this release file. type string Type of the application. Only "docker-compose" is supported for now. default_parameters object Default parameters used when deploying this release on a device. requested.core.autorun: true if the application should be launched right after its installation on a device. false if the application should only get installed without launching. requested.core.disable_app: true if the application shouldn't start its installation when it is deployed on a device. false otherwise. override_policy object When the release of an app is updated on a device, the override policy defines whether the previous parameters should be kept (default) or overridden, on a per-parameter basis. To override a parameter (applying the value from default_parameters), a key of the same name (in the same tree) should be added to the override_policy with a value set to true. If the key doesn't exist, or the value is set to false, the previous parameter (from the previous deployment) will be used. Notice that the policy can be applied to the root of an object to override all the parameters within. /apps/:appNameOrId/releases/:releaseNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X PUT \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId/releases/:releaseNameOrId \ -d '{ "name": "1.2.0", "description": "Add streaming feature" }' HTTP/1.1 200 OK { "id": "131415", "app_id": "101112", "name": "1.2.0", "created_at": "1584106887955", "description": "Add streaming feature", "size": 4.2, //KB "type": "docker-compose", "default_parameters": { "reported": {}, "requested": { "core": { "autorun": true, "disable_app": false }, "customParameter": 42 } }, "override_policy": { "requested": { "customParameter": true } } } Download application release files Download the ZIP file that has been uploaded when creating an application release. :appNameOrId integer ID or url-encoded name of the target application. :releaseNameOrId integer ID or url-encoded name of the target release. /apps/:appNameOrId/releases/:releaseNameOrId/download curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId/releases/:releaseNameOrId/download HTTP/1.1 200 OK application_release.zip file download Delete application release Delete the release of an application. This will automatically uninstall the application release from any device it is deployed on. :appNameOrId integer ID or url-encoded name of the target application. :releaseNameOrId integer ID or url-encoded name of the target release. /apps/:appNameOrId/releases/:releaseNameOrId curl -s \ -H "Content-Type:application/json" \ -H "Authorization:Bearer ${access_token}" \ -X DELETE \ https://hub.stereolabs.com/api/v1/apps/:appNameOrId/releases/:releaseNameOrId HTTP/1.1 200 OK {}