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
UID of the template creator (falls back to clientUid if not provided)
Alternative parameter for creator UID
XML template data in TAK ExCheck format
Get Template
Unique identifier of the template
Template definition in XML format
Manage Template Tasks
Template identifier
Task identifier
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
Template UID to instantiate as a checklist
Name for the new checklist instance
Description for the checklist
Created checklist data
Get All Active Checklists
XML document containing all active checklists
Response Content-Type is set to
application/xmlGet Specific Checklist
Unique identifier of the checklist
Complete checklist data including all tasks and their status
Checklist Task Management
Update Checklist Task
Checklist identifier
Task identifier to update
Updated task data (typically includes completion status)
ChecklistUpdateNotification to both TCP and SSL CoT services to notify connected clients.
Notifications are sent to both
tcp_cot_service and ssl_cot_service asynchronouslyGet Checklist Task
Checklist identifier
Task identifier
Individual task data and status
Mission Integration
Add Checklist to Mission
Checklist identifier
Mission identifier
Client UID performing the operation
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
HTTP vs HTTPS Differences
Both HTTP and HTTPS services implement identical ExCheck endpoints:- Controller: HTTP uses
HTTPTakApiCommunicationController, HTTPS usesHTTPSTakApiCommunicationController - 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