An open standard, OpenAPI-driven spec and toolkit that frees tasks from proprietary lock-ins.
TaskTakeout defines a shared API for task data. Any provider or client can implement it, which gives users true data freedom. Users can switch apps, sync accounts, or export and import their data without pain. A common spec means clients do not need one-off adapters and providers can focus on features instead of bespoke integrations.
Task management tools today trap your data. Each app has its own format, its own API, and its own export quirks. Moving between tools means:
- Losing your task history and timestamps
- Breaking parent-child relationships
- Losing custom fields and metadata
- Writing one-off migration scripts
- Vendor lock-in
TaskTakeout provides a standard API specification that any task management provider can implement. When providers adopt TaskTakeout:
- Users can export complete data in a universal format
- Users can import that data into any other TaskTakeout-compliant provider
- Apps can sync across multiple providers
- Developers build once, work everywhere
- Competition focuses on features, not data lock-in
- Complete data portability - IDs, timestamps, relationships, and metadata preserved
- RESTful API with comprehensive filtering, search, and sorting
- Hierarchical tasks with parent-child relationships
- Rich task model - priorities, tags, due dates, descriptions, custom metadata
- Atomic import/export - transactional bulk operations
- OpenAPI 3.1 specification - machine-readable, tooling-friendly
Version 1.0.0 - Current
Status: Stable
The initial release of the TaskTakeout specification.
Features:
- Core CRUD operations for tasks
- Hierarchical task support (parent-child relationships)
- Filtering, searching, and sorting
- Priority levels (0-99)
- Tags for organization
- Custom metadata
- Bulk export/import with ID preservation
- Optimistic concurrency control
Specification: v1/openapi.yaml
Documentation: v1/README.md
Implement the TaskTakeout API in your task management service:
- Review the specification:
v1/openapi.yaml - Implement the core endpoints according to the spec
- Support export/import for data portability
- Test against the specification
Integrate with TaskTakeout-compliant providers:
- Review the API documentation:
v1/README.md - Obtain an API token from your provider
- Use the standard endpoints at
/task/v1/ - Leverage export/import for backups and migrations
Look for task management apps that support TaskTakeout:
- Check if your current provider offers TaskTakeout export
- Choose new tools based on features, knowing your data isn't locked in
- Use export/import to switch tools or maintain backups
This repository uses directory-based versioning:
- Each major version lives in its own directory (
v1/,v2/, etc.) - Each version contains its own OpenAPI spec and documentation
- Versions are maintained independently
- Breaking changes result in a new version directory
TaskTakeout is an open specification. We're looking for:
- API Providers to implement the spec in their services
- Client Developers to build TaskTakeout-compatible apps
- Contributors to improve the specification
We welcome contributions to improve the TaskTakeout specification:
- Fork the repository
- Create a feature branch
- Make your changes (update the spec or documentation)
- Submit a pull request with a clear description
For breaking changes, propose a new version with rationale.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions, issues, or discussions about TaskTakeout:
- Open an issue in this repository
- Review existing issues and discussions
- Check the version-specific documentation
TaskTakeout is currently in initial release. We're seeking:
- Early adopters to implement the specification
- Feedback on the API design
- Real-world usage to validate the approach
- Community growth and adoption