Skip to main content

Overview

The ExCheck (Extended Checklist) API provides TAK-compatible endpoints for creating and managing checklist templates and active checklists. ExCheck allows teams to create, share, and track completion of task checklists in TAK environments.

Template Management

Create Template

string
UID of the template creator (falls back to clientUid if not provided)
string
Alternative parameter for creator UID
xml
required
XML template data in TAK ExCheck format
Creates a new checklist template. Templates define the structure and tasks for checklists.

Get Template

string
required
Unique identifier of the template
xml
Template definition in XML format

Manage Template Tasks

string
required
Template identifier
string
required
Task identifier
xml
Task data for POST/PUT operations
  • GET: Retrieve a specific template task
  • POST: Create a new template task
  • PUT: Update an existing template task
  • DELETE: Delete a template task

Active Checklists

Start Checklist from Template

string
required
Template UID to instantiate as a checklist
string
required
Name for the new checklist instance
string
Description for the checklist
Creates an active checklist from a template. The checklist can then be updated as tasks are completed.
xml
Created checklist data

Get All Active Checklists

Returns all currently active checklists.
xml
XML document containing all active checklists
Response Content-Type is set to application/xml

Get Specific Checklist

string
required
Unique identifier of the checklist
xml
Complete checklist data including all tasks and their status

Checklist Task Management

Update Checklist Task

string
required
Checklist identifier
string
required
Task identifier to update
xml
required
Updated task data (typically includes completion status)
Updates a task within an active checklist. Triggers ChecklistUpdateNotification to both TCP and SSL CoT services to notify connected clients.
Notifications are sent to both tcp_cot_service and ssl_cot_service asynchronously

Get Checklist Task

string
required
Checklist identifier
string
required
Task identifier
xml
Individual task data and status

Mission Integration

Add Checklist to Mission

string
required
Checklist identifier
string
required
Mission identifier
string
Client UID performing the operation
Links a checklist to a mission as external data. Triggers MissionExternalDataCreatedNotification asynchronously.
This integrates ExCheck with the Mission API, allowing checklists to be part of mission planning and execution

Workflow Example

Creating and Using a Checklist

Data Format

ExCheck uses XML format for templates and checklists, following the TAK ExCheck specification:

Template Structure

Checklist Instance

Notifications

The ExCheck API triggers real-time notifications:
  • ChecklistUpdateNotification: Sent when a task is updated (sent to TCP and SSL CoT services)
  • MissionExternalDataCreatedNotification: Sent when a checklist is added to a mission
These notifications ensure all connected TAK clients receive updates immediately.

HTTP vs HTTPS Differences

Both HTTP and HTTPS services implement identical ExCheck endpoints:
  • Controller: HTTP uses HTTPTakApiCommunicationController, HTTPS uses HTTPSTakApiCommunicationController
  • Endpoints: All routes and functionality are the same
  • Notifications: Both trigger the same notification types

Use Cases

  • Mission Planning: Pre-mission checklists for equipment, personnel, and procedures
  • Operational Checklists: In-mission task tracking and coordination
  • Training: Standardized training checklists across teams
  • Quality Assurance: Post-mission review checklists
  • Maintenance: Equipment maintenance and inspection checklists

Error Responses

  • 200 OK: Successful operation
  • 500 Internal Server Error: Processing error (exceptions are logged)

Source Code References

  • HTTP Blueprint: FreeTAKServer/services/http_tak_api_service/blueprints/excheck_blueprint.py:1-97
  • HTTPS Blueprint: FreeTAKServer/services/https_tak_api_service/blueprints/excheck_blueprint.py:1-97