Todos API
To-do items with priority, due date and completion state. Shared with the GraphQL todo mutations. Hardcoded in-memory data: writes last until the app restarts.
Free: these endpoints need no account or key.
- GET
https://api.testingapis.com/api/TodosList todos with filtering, sorting, search and pagination. - POST
https://api.testingapis.com/api/TodosCreate a todo. - GET
https://api.testingapis.com/api/Todos/{id}Get a todo by ID. - PUT
https://api.testingapis.com/api/Todos/{id}Update a todo. - DELETE
https://api.testingapis.com/api/Todos/{id}Delete a todo.
Example request
List todos with filtering, sorting, search and pagination. Full reference and a Send button.
cURL
curl -X GET "https://api.testingapis.com/api/Todos?limit=2"Response · 200 OK
[
{
"id": 1,
"userId": 101,
"title": "Review pull request #42",
"completed": false,
"priority": "high",
"dueDate": "2025-07-20"
},
{
"id": 2,
"userId": 101,
… (3 more lines)Filtering, sorting and pagination
The list endpoint accepts limit, page, offset, sort, order and q, and any field name as an exact filter. Totals come back in the X-Total-Count header. Writes are kept in memory until the server restarts, so tests can create, change and delete records freely. Query parameter reference.