Available APIs
FreeTAKServer exposes three primary API types:REST API Service
The REST API provides programmatic access to FreeTAKServer functionality including user management, geo-objects, emergencies, missions, and more.- Port: 19023 (default)
- Base URL:
http://<server-ip>:19023/ - Protocol: HTTP/HTTPS
- Authentication: Bearer Token (Flask-HTTPAuth)
- Response Format: JSON
TAK API Service (HTTPS)
The HTTPS TAK API service provides secure TAK protocol compatibility for ATAK/WinTAK/iTAK clients, implementing the Marti API specification.- Port: 8443 (default)
- Base URL:
https://<server-ip>:8443/ - Protocol: HTTPS with mutual TLS
- Authentication: Client certificate authentication
- Response Format: XML/JSON
TAK API Service (HTTP)
The HTTP TAK API service provides non-secure TAK protocol compatibility for development and testing.- Port: 8080 (default)
- Base URL:
http://<server-ip>:8080/ - Protocol: HTTP
- Authentication: Optional
- Response Format: XML/JSON
CoT Services
In addition to HTTP-based APIs, FreeTAKServer provides TCP/UDP streaming services for Cursor-on-Target (CoT) messages:TCP CoT Service
- Port: 8087 (default)
- Protocol: TCP streaming
- Data Format: CoT XML
SSL CoT Service
- Port: 8089 (default)
- Protocol: TLS/SSL encrypted TCP streaming
- Data Format: CoT XML
- Authentication: Client certificate required
Common API Endpoints
REST API Endpoints
The REST API service provides the following major endpoint categories:Health Check
User Management
GET /ManageSystemUser/getAll- Retrieve all system usersGET /ManageSystemUser/getSystemUser- Get specific system userPOST /ManageSystemUser/postSystemUser- Create new system userPUT /ManageSystemUser/putSystemUser- Update system userDELETE /ManageSystemUser/deleteSystemUser- Remove system user
Geo Objects
GET /ManageGeoObject/getGeoObject- Query geo objects by locationPOST /ManageGeoObject/postGeoObject- Create new geo objectPUT /ManageGeoObject/putGeoObject- Update existing geo objectGET /ManageGeoObject/GetRepeatedMessages- Get repeated messagesDELETE /ManageGeoObject/DeleteRepeatedMessage- Delete repeated messages
Emergency Management
GET /ManageEmergency/getEmergency- Retrieve active emergenciesPOST /ManageEmergency/postEmergency- Create emergency alertDELETE /ManageEmergency/deleteEmergency- Cancel emergency
Presence Management
POST /ManagePresence/postPresence- Create presence markerPUT /ManagePresence/putPresence- Update presence marker
Missions
GET /MissionTable- Get all missions
Video Streams
GET /ManageVideoStream/getVideoStream- Get video stream listPOST /ManageVideoStream/postVideoStream- Add video streamDELETE /ManageVideoStream/deleteVideoStream- Remove video stream
Chat
POST /ManageChat/postChatToAll- Send chat message to all users
Sensors
POST /Sensor/postDrone- Post drone sensor dataPOST /Sensor/postSPI- Post sensor point of interest
TAK API Endpoints
Both HTTP and HTTPS TAK API services support the following Marti API endpoints:Version Information
Video Connection Manager
Missions
ExCheck (Execution Checklist)
The TAK API services use Flask blueprints to organize endpoints into logical groups: missions, excheck, citrap, enterprise_sync, and misc.
Service Architecture
FreeTAKServer uses a distributed service architecture:Configuration
API ports and settings are configurable through environment variables or theMainConfig class:
Response Formats
REST API
The REST API returns JSON responses with the following structure: Success Response:TAK API
The TAK API services return XML or JSON responses depending on the endpoint, following the Marti API specification.Rate Limiting
Currently, FreeTAKServer does not implement rate limiting on API endpoints. Clients should implement their own rate limiting to avoid overwhelming the server.WebSocket Support
The REST API service includes WebSocket support for real-time updates:- Endpoint: WebSocket connection to REST API port
- Authentication: Token-based via
authenticateevent - Events:
users,logs,serviceInfo,serverHealth,systemStatus
WebSocket connections require authentication using the server’s configured
websocketkey before any events can be accessed.Next Steps
- Authentication - Learn about API authentication mechanisms
- REST API Reference - Detailed REST API endpoint documentation
- TAK API Reference - TAK API endpoint documentation