Skip to main content

Overview

The Mission API provides TAK-compatible endpoints for creating and managing missions, mission subscriptions, mission content, and mission logs. These endpoints are available on both HTTP and HTTPS TAK API services.

Base Endpoints

List All Missions

Returns a list of all available missions.

Create or Update Mission

string
required
Unique identifier for the mission
string
UID of the mission creator
object
Mission subscription details for the created/updated mission
Creates a new mission or updates an existing one. Triggers a MissionCreatedNotification asynchronously.

Get Mission Details

string
required
Unique identifier for the mission
object
Complete mission details including metadata, contents, and subscriptions

Mission Content

Get Mission CoT Events

string
required
Unique identifier for the mission
Returns all Cursor-on-Target (CoT) events associated with the mission.
array
Array of CoT event objects

Add Mission Contents

string
required
Unique identifier for the mission
array
Array of content hashes to add to the mission
array
Array of UIDs to add to the mission
Adds data package contents or UIDs to a mission. Triggers MissionContentCreatedNotification for each hash.

Upload Mission Package

string
required
Unique identifier for the mission
string
required
Name of the file being uploaded
string
UID of the creator
string
default:"public"
Tool/privacy setting (“public” or “private”)
string
Optional hash for the content (auto-generated if not provided)
Directly uploads a mission package file. The file is stored in Enterprise Sync and automatically added to the mission.

Mission Logs

Create Log Entry

object
required
Log entry data in TAK format
Creates a new mission log entry. Returns HTTP 201 on success.
object
Created log entry with generated ID

Update Log Entry

object
required
Updated log entry data

Get Mission Logs

string
required
Mission identifier
integer
Get logs from the last N seconds
string
Start timestamp for log range
string
End timestamp for log range

Delete Log Entry

string
required
Log entry identifier

Get All Logs

Returns all mission logs across all missions.

Mission Subscriptions

Subscribe to Mission

string
required
Mission identifier
string
required
Client UID subscribing to the mission
string
Subscription topic
string
Mission password if required
integer
Sync data from last N seconds
string
Start time for sync
string
End time for sync
Subscribes a client to a mission. Returns HTTP 201 on successful subscription.

Unsubscribe from Mission

string
required
Mission identifier
string
required
Client UID to unsubscribe
string
Subscription topic
boolean
Only disconnect without removing subscription data

Get Mission Subscriptions

string
required
Mission identifier
Returns all subscriptions for a specific mission.

Get All Subscriptions

Returns all mission subscriptions across all missions.

Mission Hierarchy

Add Child Mission

string
required
Child mission identifier
string
required
Parent mission identifier
Establishes a parent-child relationship between missions.

Remove Parent Mission

string
required
Child mission identifier

Get Child Missions

string
required
Parent mission identifier

Get Parent Mission

string
required
Child mission identifier

Mission Invitations

Send Mission Invitation (PUT)

string
required
Mission identifier
string
required
Invitation type
string
required
UID of the invitee
string
default:"unknown"
UID of the invitation sender
string
Mission role for the invitee

Send Mission Invitation (POST)

string
required
Mission identifier
string
UID of the invitation sender
string
Invitee contact information
string
UID of the invitee (in request body)
object
Role object with type field

Get Mission Invitations

string
required
Client UID to get invitations for (HTTPS only)
The HTTP variant returns an empty invitations list, while HTTPS requires a clientUid query parameter and returns actual invitations.

Mission Changes and External Data

Get Mission Changes

string
required
Mission identifier
Returns the change history for a mission.

Create External Mission Data

string
required
Mission identifier
object
required
External data object (e.g., ExCheck checklists)

Groups

Get All Groups

Returns all available groups. Currently returns the system __ANON__ group.

HTTP vs HTTPS Differences

Both HTTP and HTTPS TAK API services implement the same mission endpoints with these key differences:
  • Controller: HTTP uses HTTPTakApiCommunicationController, HTTPS uses HTTPSTakApiCommunicationController
  • Invitations: HTTP returns empty list, HTTPS requires clientUid and returns actual invitations
  • URL Scheme: Mission upload returns http:// URLs for HTTP service, https:// for HTTPS service

Source Code References

  • HTTP Blueprint: FreeTAKServer/services/http_tak_api_service/blueprints/mission_blueprint.py
  • HTTPS Blueprint: FreeTAKServer/services/https_tak_api_service/blueprints/mission_blueprint.py