Todos REST API is a simple REST API for creating, reading, updating, and deleting tasks through a predictable data structure.
It works well for first todo apps, learning projects, interview tasks, and practice with interfaces where the data has to follow a fixed schema.
The API is useful when you want to practice with a clear task structure instead of arbitrary JSON: title, status, and description.
Each response follows the JSend format.
Features and limits#
All data in Todos REST API is tied to your account, so the Authorization header is required for every request.
The API supports up to 30 tasks at the same time.
The rate limit is 100 requests per minute.
There are also field length limits:
title— up to 190 charactersdesc— up to 1000 characters
Strict data schema#
You cannot send an arbitrary JSON object here.
Each task has to match a fixed structure:
title— task titlestatus— task statusdesc— task description (optional field)
Available values for status:
TODOIN_PROGRESSDONEARCHIVED
This strict schema makes the API useful for common CRUD interfaces: task lists, kanban boards, status filtering, and validated forms.
How FIFO works#
Todos REST API uses FIFO behavior.
If you add a new task after reaching the 30 item limit, the oldest task is removed automatically and the new one is saved instead.
This makes it easier to test interfaces without manually cleaning up old data.
Create your first task#
To create a task, send a POST request to:
Example request:
Example response:
Where:
id— unique task identifiertitle— task titlestatus— current statusdesc— task descriptioncreatedAt— creation timeupdatedAt— last update time
Get a single task#
If you need one specific task, use its id:
Example request:
Example response:
Get the task list#
To read all available tasks, send a GET request to:
Example request:
Example response:
You can inspect rate limits in the response headers.
Example headers:
Query parameters#
Todos REST API supports query parameters for working with task lists.
They are useful for interfaces with lists, pagination, search, and sorting.
Available parameters:
page— page numberlimit— number of tasks in the responsesort— sorting by taskid. Available values:ASCandDESCsearch— search bytitleanddesc
Example request:
Update a task#
To update a task, use a PATCH request:
Unlike creation, updates can include only the fields you want to change.
Example request:
Delete a task#
To delete a task, use a DELETE request:
Example request:
If the deletion is successful, the API returns 204 No Content.
Playground#
Todos REST API includes a built-in Playground where you can quickly create, read, update, and delete tasks directly in the browser.
This is useful for testing validation, checking search behavior, and debugging CRUD flows without a separate client.