Mock REST API
Free public endpoints for API testing practice. No sign-up, no rate limits, no auth required.
Base URL
https://myqatools.com/api
CORS
Access-Control-Allow-Origin: *
Persistence
POST/PUT/PATCH/DELETE are stateless (echo back)
Supported query parameters
_limit=10 — max items to return
_page=2 — page number (with _limit)
_sort=name&_order=asc|desc — sort results
field=value — filter by any field (e.g. ?userId=1, ?role=admin)
Endpoints
https://myqatools.com/api/usersList all users. Supports filtering, sorting, and pagination.
Query params
?_limit=5 ?_page=2 ?role=admin ?_sort=name&_order=ascExample request
curl "https://myqatools.com/api/users?_limit=3"Example response
[
{ "id": 1, "name": "Alice Johnson", "email": "[email protected]", "role": "admin" },
{ "id": 2, "name": "Bob Smith", "email": "[email protected]", "role": "user" },
{ "id": 3, "name": "Carol White", "email": "[email protected]", "role": "user" }
]https://myqatools.com/api/users/:idGet a single user by ID.
Example request
curl "https://myqatools.com/api/users/1"Example response
{ "id": 1, "name": "Alice Johnson", "username": "alice", "email": "[email protected]", "role": "admin" }https://myqatools.com/api/usersCreate a user (mock — does not persist).
Example request
curl -X POST "https://myqatools.com/api/users" \
-H "Content-Type: application/json" \
-d '{"name":"New User","email":"[email protected]"}'Example response
{ "id": 4782, "name": "New User", "email": "[email protected]", "createdAt": "2025-01-01T00:00:00.000Z" }https://myqatools.com/api/users/:idReplace a user (mock).
Example request
curl -X PUT "https://myqatools.com/api/users/1" \
-H "Content-Type: application/json" \
-d '{"name":"Updated Name","email":"[email protected]"}'Example response
{ "id": 1, "name": "Updated Name", "email": "[email protected]", "updatedAt": "..." }https://myqatools.com/api/users/:idPartially update a user (mock).
Example request
curl -X PATCH "https://myqatools.com/api/users/1" \
-H "Content-Type: application/json" \
-d '{"role":"admin"}'Example response
{ "id": 1, "name": "Alice Johnson", "role": "admin", "updatedAt": "..." }https://myqatools.com/api/users/:idDelete a user (mock — does not persist).
Example request
curl -X DELETE "https://myqatools.com/api/users/1"Example response
{ "deleted": true, "id": 1 }https://myqatools.com/api/postsList posts. Filter by userId.
Query params
?userId=1 ?_limit=5 ?_sort=createdAt&_order=descExample request
curl "https://myqatools.com/api/posts?userId=1&_limit=3"Example response
[{ "id": 1, "userId": 1, "title": "Getting started with test automation", "body": "...", "tags": ["selenium","java"] }]https://myqatools.com/api/productsList products. Filter by category.
Query params
?category=Electronics ?_limit=5Example request
curl "https://myqatools.com/api/products?category=Electronics"Example response
[{ "id": 1, "name": "Wireless Mouse", "category": "Electronics", "price": 29.99, "stock": 150 }]https://myqatools.com/api/commentsList comments. Filter by postId.
Query params
?postId=1 ?_limit=10Example request
curl "https://myqatools.com/api/comments?postId=1"Example response
[{ "id": 1, "postId": 1, "userId": 1, "body": "Great post!" }]https://myqatools.com/api/todosList todos. Filter by completed or userId.
Query params
?completed=true ?userId=1Example request
curl "https://myqatools.com/api/todos?completed=false"Example response
[{ "id": 2, "userId": 1, "title": "Review automation scripts", "completed": false }]https://myqatools.com/api/auth/loginMock login — returns a JWT token for any email/password combination.
Example request
curl -X POST "https://myqatools.com/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","password":"pass123"}'Example response
{ "token": "eyJhbGciOiJIUzI1NiIs...", "user": { "id": 1, "email": "[email protected]", "role": "user" }, "expiresIn": 86400 }https://myqatools.com/api/auth/registerMock register — returns a JWT and new user object.
Example request
curl -X POST "https://myqatools.com/api/auth/register" \
-H "Content-Type: application/json" \
-d '{"name":"New User","email":"[email protected]","password":"pass123"}'Example response
{ "token": "eyJhbGciOiJIUzI1NiIs...", "user": { "id": 4782, "name": "New User", "email": "[email protected]" } }