API
Authentication
All API calls except for /api/login require
authentication. Some are restricted to
administrators only.
Pagination
Most GET queries are paginated. You can include the page and
per_page parameters to specify which page to get and how many
results should be returned.
/api/status
Returns information about the server including disk usage, memory, usage, OS type and version, etc.
HTTP Method:
GETAccess: Everyone
/api/tcp/start
Starts the TCP CoT streaming server.
HTTP Method:
GETAccess: Administrators only
/api/tcp/stop
Stops the TCP CoT streaming server.
HTTP Method:
GETAccess: Administrators only
/api/ssl/start
Starts the SSL CoT streaming server
HTTP Method:
GETAccess: Administrators only
/api/ssl/stop
Stops the TCP SSL streaming server
HTTP Method:
GETAccess: Administrators only
/api/certificate
Downloads a certificate data package for the specified callsign
HTTP Method:
GETAccess: Administrators only
Parameters: callsign
/api/certificate
Creates a certificate data package for an EUD
HTTP Method:
POSTAccess: Administrators only
Content Type:
JSONContent:
{'uid': 'Android-123456789', 'callsign': 'BRAVO'}
/api/me
Returns user account details
HTTP Method:
GETAccess: Everyone
/api/data_packages
Uploads a data package
HTTP Method:
POSTAccess: Everyone
/api/data_packages
Deletes a data package
HTTP Method:
DELETEAccess: Everyone
Parameters:
hash- The sha256 hash of the data package to delete
/api/data_packages
Returns info about data packages
HTTP Method:
GETAccess: Everyone
Parameters: The following parameters are all optional
hash- The sha256 hash of the data packagefilename- Data package filename.creator_uidkeywordsmime_typesizetoolpage- Which page to getper_page- Number of results per page
/api/data_packages/download
Downloads a data package
HTTP Method:
GETAccess: Everyone
Parameters:
hash- The sha256 hash of the data package to download
/api/cot
Searches for CoTs stored in the database
HTTP Method:
GETAccess: Everyone
Parameters: The following parameters are all optional
howtypesender_callsignsender_uidpageper_page
/api/alerts
Searches for alerts stored in the database
HTTP Method:
GETAccess: Everyone
Parameters:
uidsender_uidalert_typepageper_page
/api/point
Searches for points stored in the database
HTTP Method:
GETAccess: Everyone
Parameters
uid- UID of the EUD that created the pointcallsign- Callsign of the EUD that created the pointpageper_page
/api/casevac
Searches for CasEvacs that are stored in the database
HTTP Method:
GETAccess: Everyone
Parameters
sender_uid- UID of the EUD that created the pointcallsign- Callsign of the EUD that created the pointuid- UID of the CasEvacpageper_page
/api/markers
Searches for markers stored in the database
HTTP Method:
GETAccess: Everyone
Parameters
uid- The marker’s unique IDaffiliation- One of the followingfriendly
hostile
unknown
pending
assumed
neutral
suspect
joker
faker
callsign- The marker’s callsign
/api/markers
Adds a new marker or updates an existing one
HTTP Method:
POSTAccess: Everyone
Content Type: JSON
Required data in the JSON body
latitude- float, must be >= -90 and <= 90longitude- float, must be >= -180 and <= 180name- name/callsign of the markeruid- An identifier in UUID4 format. If no marker exists with this UUID, a new on is created. Otherwise, the existing marker is updated.
Optional data in the JSON body
type- The CoT type, defaults toa-u-Gif none is given. There are too many possible valid values to list but here are a few examples. See this chart from milsymbol for more examples.a-f-G- Affiliation friendly, battle dimension grounda-h-U- Affiliation hostile, battle dimension subsurfacea-j-A- Affiliation joker, battle dimension airborne
course- The direction of travel in compass degrees. Must be >= 0 and < 360. Defaults to 0.azimuth- The azimuth in compass degrees. Must be >= 0 and < 360. Defaults to 0.speed- The speed in INSERT_UNIT_HERE. Must be >= 0. Defaults to 0.battery- The remaining battery percentage. Must be >= 0 and <= 100. Defaults to NULL.fov- The camera’s field of vision in compass degrees. This will show a camera’s view shed on the map.ce- Circular 1-sigma or a circular area about the location in metershae- Height above the WGS ellipsoid in metersle- Linear 1-sigma error or an altitude range about the location in meters
/api/markers
Deletes a marker
HTTP Method:
DELETEAccess: Everyone
Parameters
uid- The marker’s UID
/api/casevac
Searches for CasEvacs in the database
HTTP Method:
GETAccess: Everyone
Parameters
callsign- The CasEvac’s Callsignuid- The CasEvac’s UID
/api/casevac
Add or update a CasEvac
HTTP Method
POSTAccess: Everyone
Content Type: JSON
Required data in JSON body
uid- An identifier in UUID4 format. If no marker exists with this UUID, a new on is created. Otherwise, the existing marker is updated.title- Name of the CasEvac that will appear on the maplatitude- float, must be >= -90 and <= 90longitude- float, must be >= -180 and <= 180
Optional data in the JSON body
ambulatory- Integercasevac- Booleanchild- Integerenemy- Integerepw- Integerequipment_detail- Stringequipment_none- Booleanequipment_other- Booleanextration_equipment- Booleanfreq- Integerfriendlies- Stringhlz_marking- Integerhlz_remarks- Stringhoist- Booleanlitter- Integermarked_by- Stringmedline_remarks- Stringnonus_civilian- Integernonus_military- Integerobstacles- Stringpriority- Integerroutine- Integersecurity- Integerterrain_loose- Booleanterrain_other- Booleanterrain_other_detail- Booleanterrain_detail- Stringterrain_none- Booleanterrain_rough- Booleanterrain_slope- Booleanterrain_slope_dir- Stringurgent- Integerus_civilian- Integerus_military- Integerventilator- Booleanwinds_are_from- Stringzone_prot_selection- Integer