Download OpenAPI specification:
This API does not document the WebSocket API A reference can be found in our typescript client sdk documentation
Check out our typescript client sdk on github
For example a tree has a property apples which is an array of apple.
These paths reflect some actions:
| Path | Method | Description | 
|---|---|---|
/tree/{id} | 
GET | returns the tree data and and array of apples, but only the id of each apple, not the apple data{apples: [{ id: "1" }, { id: "2" }]} | 
/apple/{id} | 
GET | returns the apple data {id: "1", weight: 0.2 } | 
/apple/{id} | 
PATCH | modify an apple. Each property is optional, only present properties will be updated in the database. Maybe some properties cannot be changed! | 
/apple/{id} | 
DELETE | delete an apple | 
/apple | 
POST | create a new apple | 
Data is not guaruanteed to be ordered by id or creation date (unless endpoint specifically tells it does).
These status codes can be returned by almost any path and are not specifically declared for each path!
| username required  | string (email)    | 
| password required  | string   | 
{- "username": "john.doe@example.com",
 - "password": "string"
 
}{- "id": 42
 
}| current_password required  | string (password)   Maximum length is 72 Bytes (utf-8).  | 
| new_password required  | string (password)   Maximum length is 72 Bytes (utf-8).  | 
{- "current_password": "j9876sa1kjhqsa6dtasd12=",
 - "new_password": "j9876sa1kjhqsa6dtasd12="
 
}| email required  | string (email)    | 
| password | string (password)   Maximum length is 72 Bytes (utf-8).  | 
{- "email": "john.doe@example.com",
 - "password": "j9876sa1kjhqsa6dtasd12="
 
}{- "id": 42
 
}| user_id required  | number (id)    Example:  42  | 
| name | string   | 
string (email)    | |
| locale | string   | 
{- "name": "Harry Potter",
 - "email": "john.doe@example.com",
 - "locale": "en-US"
 
}{- "id": 42,
 - "name": "Harry Potter",
 - "email": "john.doe@example.com",
 - "created_at": "2023-12-11 23:06:52.7879+00",
 - "locale": "en-US",
 - "registration_incomplete": true
 
}| name required  | string   | 
| longitude required  | number   | 
| latitude required  | number   | 
{- "name": "string",
 - "longitude": 0,
 - "latitude": 0
 
}{- "id": 42
 
}| workspace_id required  | number (id)    Example:  42  | 
| name | string   | 
{- "name": "string"
 
}{- "id": 42,
 - "name": "string",
 - "longitude": 0,
 - "latitude": 0
 
}| workspace_id required  | number (id)    Example:  42  | 
| file_id required  | number (id)    Example:  42  | 
| filename | string   | 
{- "filename": "string"
 
}| workspace_id required  | number (id)    Example:  42  | 
| name required  | string   | 
{- "name": "string"
 
}{- "connection_id": "string",
 - "secret": "string"
 
}| workspace_id required  | number (id)    Example:  42  | 
[- {
- "id": 42,
 - "uuid": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "name": "string",
 - "created_at": "2023-12-11 23:06:52.7879+00",
 - "updated_at": "2023-12-11 23:06:52.7879+00",
 - "type": 0,
 - "color": "string",
 - "latitude": 0,
 - "longitude": 0,
 - "elevation": 0
 
} 
]| workspace_id required  | number (id)    Example:  42  | 
| uuid | string (uuid)    | 
| name required  | string   | 
| color required  | string   | 
| longitude required  | number   | 
| latitude required  | number   | 
| elevation | number   | 
{- "uuid": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "name": "string",
 - "color": "string",
 - "longitude": 0,
 - "latitude": 0,
 - "elevation": 0
 
}{- "id": 42
 
}| workspace_id required  | number (id)    Example:  42  | 
| uuid | string (uuid)    | 
| name required  | string   | 
| color required  | string   | 
required  | Array of objects   | 
{- "uuid": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "name": "string",
 - "color": "string",
 - "coordinates": [
- {
- "longitude": 0,
 - "latitude": 0,
 - "elevation": 0
 
} 
] 
}{- "id": 42
 
}| workspace_id required  | number (id)    Example:  42  | 
| uuid | string (uuid)    | 
| name required  | string   | 
| color required  | string   | 
required  | Array of objects[ items ]   | 
{- "uuid": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "name": "string",
 - "color": "string",
 - "coordinates": [
- [
- {
- "longitude": 0,
 - "latitude": 0,
 - "elevation": 0
 
} 
] 
] 
}{- "id": 42
 
}| workspace_id required  | number (id)    Example:  42  | 
| uuid | string (uuid)    | 
| name required  | string   | 
| color required  | string   | 
| longitude required  | number   | 
| latitude required  | number   | 
| radius required  | number   | 
{- "uuid": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "name": "string",
 - "color": "string",
 - "longitude": 0,
 - "latitude": 0,
 - "radius": 0
 
}{- "id": 42
 
}| workspace_id required  | number (id)    Example:  42  | 
| map_element_id required  | number (id)    Example:  42  | 
| name | string   | 
| color | string   | 
| latitude | number   | 
| longitude | number   | 
| elevation | number   | 
{- "name": "string",
 - "color": "string",
 - "latitude": 0,
 - "longitude": 0,
 - "elevation": 0
 
}{- "id": 42,
 - "uuid": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "name": "string",
 - "created_at": "2023-12-11 23:06:52.7879+00",
 - "updated_at": "2023-12-11 23:06:52.7879+00",
 - "type": 0,
 - "color": "string",
 - "latitude": 0,
 - "longitude": 0,
 - "elevation": 0
 
}| drone_id required  | number (id)    Example:  42  | 
[- {
- "id": 42,
 - "drone_id": 42,
 - "flight_id": 42,
 - "type": 0,
 - "file_id": 42,
 - "file_name": "string",
 - "received_at": "2023-12-11 23:06:52.7879+00",
 - "meta": "string",
 - "captured_at": "2023-12-11 23:06:52.7879+00",
 - "camera_location": {
- "position": {
- "longitude": 0,
 - "latitude": 0
 
}, - "height": 0
 
}, - "camera_angles": {
- "heading": 0,
 - "pitch": 0,
 - "roll": 0
 
} 
} 
]| drone_id required  | number (id)    Example:  42  | 
[- {
- "id": 42,
 - "drone_id": 42,
 - "started_at": "2023-12-11 23:06:52.7879+00",
 - "landed_at": "2023-12-11 23:06:52.7879+00",
 - "ended_at": "2023-12-11 23:06:52.7879+00",
 - "track": [
- {
- "height": 0,
 - "longitude": 0,
 - "latitude": 0,
 - "time": "2023-12-11 23:06:52.7879+00"
 
} 
] 
} 
]| drone_id required  | number (id)    Example:  42  | 
{- "id": 42,
 - "drone_id": 42,
 - "started_at": "2023-12-11 23:06:52.7879+00",
 - "landed_at": "2023-12-11 23:06:52.7879+00",
 - "ended_at": "2023-12-11 23:06:52.7879+00",
 - "track": [
- {
- "height": 0,
 - "longitude": 0,
 - "latitude": 0,
 - "time": "2023-12-11 23:06:52.7879+00"
 
} 
] 
}| flight_id required  | number (id)    Example:  42  | 
{- "id": 42,
 - "drone_id": 42,
 - "started_at": "2023-12-11 23:06:52.7879+00",
 - "landed_at": "2023-12-11 23:06:52.7879+00",
 - "ended_at": "2023-12-11 23:06:52.7879+00",
 - "track": [
- {
- "height": 0,
 - "longitude": 0,
 - "latitude": 0,
 - "time": "2023-12-11 23:06:52.7879+00"
 
} 
] 
}| flight_id required  | number (id)    Example:  42  | 
[- {
- "id": 42,
 - "drone_id": 42,
 - "flight_id": 42,
 - "type": 0,
 - "file_id": 42,
 - "file_name": "string",
 - "received_at": "2023-12-11 23:06:52.7879+00",
 - "meta": "string",
 - "captured_at": "2023-12-11 23:06:52.7879+00",
 - "camera_location": {
- "position": {
- "longitude": 0,
 - "latitude": 0
 
}, - "height": 0
 
}, - "camera_angles": {
- "heading": 0,
 - "pitch": 0,
 - "roll": 0
 
} 
} 
]| media_id required  | number (id)    Example:  42  | 
{- "id": 42,
 - "drone_id": 42,
 - "flight_id": 42,
 - "type": 0,
 - "file_id": 42,
 - "file_name": "string",
 - "received_at": "2023-12-11 23:06:52.7879+00",
 - "meta": "string",
 - "captured_at": "2023-12-11 23:06:52.7879+00",
 - "camera_location": {
- "position": {
- "longitude": 0,
 - "latitude": 0
 
}, - "height": 0
 
}, - "camera_angles": {
- "heading": 0,
 - "pitch": 0,
 - "roll": 0
 
} 
}{- "connection_id": "string",
 - "platform_name": "string",
 - "platform_url": "string",
 - "workspace_id": "string",
 - "workspace_uuid": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "workspace_name": "string",
 - "secret": "string"
 
}{- "app_id": "string",
 - "app_key": "string",
 - "app_license": "string",
 - "mqtt_url": "string",
 - "rtmp_url": "string",
 - "api_url": "string",
 - "ws_url": "string"
 
}Only returns file meta data, For the actual file see /file/data
| file_id required  | number (id)    Example:  42  | 
{- "id": 42,
 - "name": "string",
 - "created_at": "2023-12-11 23:06:52.7879+00",
 - "has_thumbnail": true
 
}Only returns file meta data, For the actual file see /file/data
| ids required  | Array of numbers (id)    | 
{- "ids": [
- 42
 
] 
}[- {
- "id": 42,
 - "name": "string",
 - "created_at": "2023-12-11 23:06:52.7879+00",
 - "has_thumbnail": true
 
} 
]{- "coverage": {
- "all": [
- {
- "position": {
- "longitude": 0,
 - "latitude": 0
 
}, - "elevation": 0,
 - "debug": "string",
 - "ray": {
- "bearing": 0,
 - "pitch": 0,
 - "imagePosition": {
- "x": 0,
 - "y": 0
 
} 
}, - "directDistance": 0,
 - "meterSize": {
- "vertical": 0,
 - "horizontal": 0
 
} 
} 
], - "outer": [
- {
- "position": {
- "longitude": 0,
 - "latitude": 0
 
}, - "elevation": 0,
 - "debug": "string",
 - "ray": {
- "bearing": 0,
 - "pitch": 0,
 - "imagePosition": {
- "x": 0,
 - "y": 0
 
} 
}, - "directDistance": 0,
 - "meterSize": {
- "vertical": 0,
 - "horizontal": 0
 
} 
} 
], - "holes": [
- [
- {
- "position": {
- "longitude": 0,
 - "latitude": 0
 
}, - "elevation": 0,
 - "debug": "string",
 - "ray": {
- "bearing": 0,
 - "pitch": 0,
 - "imagePosition": {
- "x": 0,
 - "y": 0
 
} 
}, - "directDistance": 0,
 - "meterSize": {
- "vertical": 0,
 - "horizontal": 0
 
} 
} 
] 
] 
} 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
object   | |
| fingerprint required  | string   | 
| name | string   | 
| path | string   | 
{- "code": 0,
 - "message": "success",
 - "data": { }
 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
TODO what is the format? documentation does not say
{- "code": 0,
 - "message": "success",
 - "data": {
- "tiny_fingerprints": [
- "5aec4c6e78052bf38fab901bcd1a2319_2021_12_8_22_13_10"
 
] 
} 
}| workspace_uuid required  | number (id)    Example:  42  | 
{- "code": 0,
 - "message": "success",
 - "data": {
- "bucket": "string",
 - "credentials": {
- "access_key_id": "string",
 - "access_key_secret": "string",
 - "expire": 0,
 - "security_token": "string"
 
}, - "endpoint": "string",
 - "object_key_prefix": "string",
 - "provider": "string",
 - "region": "string"
 
} 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
| result | integer  non-zero means failure  | 
| name required  | string   | 
| object_key required  | string   | 
| path | string   | 
| sub_file_type | number   | 
object   | |
| fingerprint | string   | 
object   | 
{- "code": 0,
 - "message": "success",
 - "data": {
- "object_key": "string"
 
} 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
| file_group_id | string   | 
| file_count required  | integer   | 
| file_uploaded_count required  | integer   | 
{- "code": 0,
 - "message": "success",
 - "data": { }
 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
| group_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
| id required  | string (uuid)    | 
| name required  | string   | 
required  | object  TODO missing documentation  | 
{- "code": 0,
 - "message": "success",
 - "data": {
- "id": "87ffce7c-da28-49cf-9134-8db9fd87ccd1"
 
} 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
| is_distributed | boolean  element group distributed status (default value: true if not existent)  | 
{- "code": 0,
 - "message": "success",
 - "data": [
- {
- "id": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "name": "string",
 - "create_time": "1239213862",
 - "is_lock": true,
 - "type": 0,
 - "elements": [
- {
- "id": "87ffce7c-da28-49cf-9134-8db9fd87ccd1",
 - "name": "string",
 - "create_time": "1239213862",
 - "update_time": "1239213862",
 - "resource": {
- "type": 0,
 - "content": {
- "type": "string",
 - "properties": {
- "clampToGround": true,
 - "is3d": true,
 - "color": "BLUE"
 
}, - "geometry": {
- "type": "string",
 - "coordinates": [
- 0
 
], - "radius": 0
 
} 
} 
} 
} 
] 
} 
] 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
| element_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
| name required  | string   | 
required  | object   | 
{- "code": 0,
 - "message": "success",
 - "data": {
- "id": "87ffce7c-da28-49cf-9134-8db9fd87ccd1"
 
} 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
| element_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
{- "code": 0,
 - "message": "success",
 - "data": {
- "id": "87ffce7c-da28-49cf-9134-8db9fd87ccd1"
 
} 
}| workspace_uuid required  | string (uuid)    Example:  87ffce7c-da28-49cf-9134-8db9fd87ccd1  | 
{- "code": 0,
 - "message": "success",
 - "data": {
- "list": [
- {
- "hosts": [
- {
- "device_callsign": "string",
 - "device_model": {
- "key": "string",
 - "domain": "string",
 - "type": "string",
 - "sub_type": "string"
 
}, - "icon_urls": {
- "normal_icon_url": "string",
 - "selected_icon_url": "string"
 
}, - "online_status": true,
 - "sn": "string",
 - "user_callsign": "string",
 - "user_id": "string"
 
} 
], - "parents": [
- {
- "device_callsign": "string",
 - "device_model": {
- "key": "string",
 - "domain": "string",
 - "type": "string",
 - "sub_type": "string"
 
}, - "icon_urls": {
- "normal_icon_url": "string",
 - "selected_icon_url": "string"
 
}, - "online_status": true,
 - "sn": "string",
 - "user_callsign": "string",
 - "user_id": "string"
 
} 
] 
} 
] 
} 
}