This document provides an overview of the DOTA backend API endpoints, including management, acquisition, and authentication routes.
Most endpoints require a Bearer token in the Authorization header:
Authorization: Bearer <accessKey>
Get current user's account.
Response:
{
"account": { ...Account }
}Create a new account.
Body:
{
"account": { ...Account }
}Response:
{
"account": "<accountId>"
}List all access keys for the user.
Response:
{
"accessKeys": [ ...AccessKey ]
}Create a new access key.
Body:
{
"name": "string",
"description": "string",
"ttl": 1234
}Response:
{
"accessKey": { ...AccessKey }
}List all apps for the user.
Response:
{
"apps": [ ...App ]
}Create a new app.
Body:
{
"name": "string",
"displayName": "string",
"manuallyProvisionDeployments": true
}Response:
{
"app": { ...App }
}Get details for a specific app.
Update app metadata.
Delete an app.
List collaborators for an app.
Add a collaborator.
Update collaborator role.
Remove a collaborator.
List deployments for an app.
Create a deployment.
Get deployment details.
Update deployment metadata.
Delete a deployment.
Release a new update.
Patch latest release metadata.
Get release history.
Clear release history.
Get deployment metrics.
List organizations/tenants for the user.
Check for update.
Query Parameters:
deploymentKey(string, required)appVersion(string, required)packageHash(string, optional)isCompanion(boolean, optional)label(string, optional)clientUniqueId(string, optional)
Response:
{
"updateInfo": {
"downloadURL": "string",
"description": "string",
"isAvailable": true,
"isMandatory": false,
"appVersion": "string",
"label": "string",
"packageHash": "string",
"target_binary_range": "string"
}
}Same as /updateCheck, but with snake_case keys.
Report deploy status.
Body:
{
"deploymentKey": "string",
"appVersion": "string",
"label": "string",
"status": "string",
"clientUniqueId": "string",
"previousDeploymentKey": "string",
"previousLabelOrAppVersion": "string"
}Same as above, but with snake_case keys.
Report download status.
Body:
{
"deploymentKey": "string",
"label": "string"
}Same as above, but with snake_case keys.
Returns Healthy if the server and dependencies are up.
- Account:
{ id, name, email, createdTime } - AccessKey:
{ id, name, friendlyName, description, createdBy, createdTime, expires, scope } - App:
{ id, name, displayName, createdTime, tenantId } - Deployment:
{ id, name, key, createdTime, package } - Package:
{ label, appVersion, description, uploadTime, blobUrl, size, isMandatory, isDisabled } - Collaborator:
{ email, accountId, permission } - Organization:
{ id, displayName, role } - Metrics:
{ active, downloaded, failed, installed, totalActive } - UpdateCheckResponse:
{ downloadURL, description, isAvailable, isMandatory, appVersion, label, packageHash, target_binary_range }
For full details and try-it-out, see your (API Guide)[https://dota.dreamsportslabs.com/documentation/api) Swagger UI.