We're excited to announce a significant enhancement to our JSON API: full CRUD (Create, Read, Update, Delete) support for list items! This update gives developers even more flexibility when integrating FreeTodoList with other applications.
Our API now allows you to:
All endpoints follow RESTful principles and are accessible through our API namespace at /api/v1
.
GET /api/v1/lists/:list_id/items
This endpoint returns all items from a specific list, with support for advanced filtering:
{
"items": [
{
"uid": "01234567-89ab-cdef-0123-456789abcdef",
"body": "Complete project proposal",
"complete": false,
"position": 1,
"created_at": "2025-04-05T13:14:15Z",
"updated_at": "2025-04-05T13:14:15Z",
"due_at": "2025-04-10T17:00:00Z",
"completed_at": null,
"archived": false,
"list_uid": "abc123"
},
// Additional items...
]
}
POST /api/v1/lists/:list_id/items
This endpoint allows you to create a new item in a specified list:
// Request body
{
"item": {
"body": "New item added via API",
"due_at": "2025-04-15T09:00:00Z"
}
}
// Response
{
"item": {
"uid": "fedcba98-7654-3210-fedc-ba9876543210",
"body": "New item added via API",
"complete": false,
"position": 1,
"created_at": "2025-04-09T14:22:15Z",
"updated_at": "2025-04-09T14:22:15Z",
"due_at": "2025-04-15T09:00:00Z",
"completed_at": null,
"archived": false,
"list_uid": "abc123"
},
"message": "Item successfully created"
}
GET /api/v1/items/:uid
Retrieve detailed information about a specific item:
{
"item": {
"uid": "01234567-89ab-cdef-0123-456789abcdef",
"body": "Complete project proposal",
"complete": false,
"position": 1,
"created_at": "2025-04-05T13:14:15Z",
"updated_at": "2025-04-05T13:14:15Z",
"due_at": "2025-04-10T17:00:00Z",
"completed_at": null,
"archived": false,
"list_uid": "abc123"
}
}
PATCH /api/v1/items/:uid
This endpoint allows you to update an existing item:
// Request body
{
"item": {
"body": "Updated item via API",
"complete": true
}
}
// Response
{
"item": {
"uid": "01234567-89ab-cdef-0123-456789abcdef",
"body": "Updated item via API",
"complete": true,
"position": 1,
"created_at": "2025-04-05T13:14:15Z",
"updated_at": "2025-04-09T14:25:10Z",
"due_at": "2025-04-10T17:00:00Z",
"completed_at": "2025-04-09T14:25:10Z",
"archived": false,
"list_uid": "abc123"
},
"message": "Item successfully updated"
}
DELETE /api/v1/items/:uid
Permanently remove an item:
{
"message": "Item successfully deleted"
}
Our item endpoints support sophisticated filtering options:
only_completed=true
or only_uncompleted=true
include_archived=true
due_before=2025-04-15
or due_after=2025-04-01
sort=position_desc
, sort=date_asc
, sort=created_desc
, etc.With these new endpoints, you can now build more sophisticated integrations. For example, here's a simple workflow automation:
For complete details on all API endpoints, parameters, and response formats, check out our updated API Documentation.
We're committed to making our API as useful as possible. If you have suggestions or feature requests for future API enhancements, please send us feedback.
What are you building with our enhanced API? Share your projects and ideas in the comments below!