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

  1. GET /api/ping — verify the module is reachable

  2. POST /api/upload/maps — upload a map archive

  3. GET /api/extraction/status — poll until extraction completes

  4. POST /api/maps/set — activate the uploaded map

  5. POST /api/home-position — set the takeoff / starting location


Connectivity

Ping

GET /api/ping

Response 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:

Header
Required
Description

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:

Error Code
Reason

400

Missing map_name

400

Map extraction not yet complete

404

Map not found


Delete a Map

Request body:

Field
Required
Description

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:

Field
Required
Description

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:

Error Code
Reason

400

Missing lat or lon

400

Coordinates not numeric or out of valid range

500

Elevation lookup failed — is a map loaded?

Last updated