Developer API
The Micro VPS exposes a REST API over HTTP for direct integration with your GCS software.
Default Base URL: http://192.168.218.100:5000
All responses are JSON. Endpoints return {"code": "SUCCESS", ...} on success and {"code": "ERROR", "message": "..."} on failure.
Integration Flow
GET /api/ping— verify the module is reachablePOST /api/upload/maps— upload a map archiveGET /api/extraction/status— poll until extraction completesPOST /api/maps/set— activate the uploaded mapPOST /api/home-position— set the takeoff / starting location
Connectivity
Ping
GET /api/pingResponse 200:
{
"status": "ok"
}Map Management
Upload a Map
Uploads a .tar.gz map archive. The file is received synchronously; extraction happens in the background.
Headers:
filename
Yes
URL-encoded filename, must end in .tar.gz
checksum
No
SHA256 checksum for integrity verification
Body: Raw binary stream of the .tar.gz file.
Response 200:
After a successful upload, poll /api/extraction/status until extraction is complete.
Get Extraction Status
Poll this endpoint after uploading a map to monitor background extraction progress.
Response 200:
List Available Maps
Response 200:
completed is false while extraction is still in progress. A map cannot be activated until completed is true.
Get Active Map
Response 200:
Returns "active_map": null if no map is selected.
Set Active Map
Request body:
Response 200:
400
Missing map_name
400
Map extraction not yet complete
404
Map not found
Delete a Map
Request body:
map_name
Yes
Name of the map to delete
new_active_map
No
If deleting the active map, switch to this map first
new_home_position
No
Home position for the new active map (lat, lon, alt)
Home Position
Get Home Position
Response 200:
Set Home Position
Sets the starting point for navigation. A map must be active before setting the home position.
Request body:
lat
Yes
Latitude in degrees (-90 to 90)
lon
Yes
Longitude in degrees (-180 to 180)
alt
Yes
Altitude in meters — automatically replaced by an elevation lookup from the active map data
Response 200:
400
Missing lat or lon
400
Coordinates not numeric or out of valid range
500
Elevation lookup failed — is a map loaded?
Last updated
