Reference
API reference
https://test.naimulhassan.me. Select an endpoint for parameters, examples, and a live "Try it" panel.Users
- GET
/api/v1/usersList users - GET
/api/v1/users/searchSearch users - GET
/api/v1/users/{id}Get a user - GET
/api/v1/users/{id}/postsList a user's posts - GET
/api/v1/users/{id}/todosList a user's todos - GET
/api/v1/users/{id}/cartsList a user's carts - POST
/api/v1/usersCreate a user (simulated)simulated - PUT
/api/v1/users/{id}Replace a user (simulated)simulated - PATCH
/api/v1/users/{id}Update a user (simulated)simulated - DELETE
/api/v1/users/{id}Delete a user (simulated)simulated
Products
- GET
/api/v1/productsList products - GET
/api/v1/products/searchSearch products - GET
/api/v1/products/categoriesList product categories - GET
/api/v1/products/category/{category}List products in a category - GET
/api/v1/products/{id}Get a product - POST
/api/v1/productsCreate a product (simulated)simulated - PUT
/api/v1/products/{id}Replace a product (simulated)simulated - PATCH
/api/v1/products/{id}Update a product (simulated)simulated - DELETE
/api/v1/products/{id}Delete a product (simulated)simulated
Posts
- GET
/api/v1/postsList posts - GET
/api/v1/posts/searchSearch posts - GET
/api/v1/posts/{id}Get a post - GET
/api/v1/posts/{id}/commentsList a post's comments - POST
/api/v1/postsCreate a post (simulated)simulated - PUT
/api/v1/posts/{id}Replace a post (simulated)simulated - PATCH
/api/v1/posts/{id}Update a post (simulated)simulated - DELETE
/api/v1/posts/{id}Delete a post (simulated)simulated
Comments
- GET
/api/v1/commentsList comments - GET
/api/v1/comments/{id}Get a comment - POST
/api/v1/commentsCreate a comment (simulated)simulated - PUT
/api/v1/comments/{id}Replace a comment (simulated)simulated - PATCH
/api/v1/comments/{id}Update a comment (simulated)simulated - DELETE
/api/v1/comments/{id}Delete a comment (simulated)simulated
Todos
Carts
Recipes
Quotes
Authentication
HTTP Testing
System endpoints
Operational endpoints live outside the versioned prefix and are not rate limited.
API discovery
/api/v1Lists available resources, documentation links, and pagination defaults.
Status codes
- 200API metadata and resource links.
Request
curl 'https://test.naimulhassan.me/api/v1'Example responses
Captured from the real API with the requests shown on this page.
{
"name": "Mock APIs",
"version": "1.0.0",
"description": "Free REST APIs for learning, building, and testing. No API key required.",
"baseUrl": "https://test.naimulhassan.me/api/v1",
"documentation": {
"openapi": "https://test.naimulhassan.me/openapi.json",
"swaggerUi": "https://test.naimulhassan.me/docs",
"website": null
},
"resources": [
{
"name": "users",
"url": "https://test.naimulhassan.me/api/v1/users",
"description": "Fictional user profiles with contact details, address, company, and role. Users own posts, todos, comments, carts, and recipes.",
"writable": true
},
{
"name": "products",
"url": "https://test.naimulhassan.me/api/v1/products",
"description": "A fictional product catalog across categories with pricing, discounts, ratings, and stock levels.",
"writable": true
},
{
"name": "posts",
"url": "https://test.naimulhassan.me/api/v1/posts",
"description": "Short blog-style posts written by seeded users, with tags, reactions, and view counts.",
"writable": true
},
{
"name": "comments",
"url": "https://test.naimulhassan.me/api/v1/comments",
"description": "Comments left by users on posts. Every comment references an existing post and user.",
"writable": true
},
{
"name": "todos",
"url": "https://test.naimulhassan.me/api/v1/todos",
"description": "Simple to-do items that belong to users. Ideal for practicing list rendering and toggling state.",
"writable": true
},
{
"name": "carts",
"url": "https://test.naimulhassan.me/api/v1/carts",
"description": "Shopping carts that reference seeded users and products, with computed totals and discounts.",
"writable": false
},
{
"name": "recipes",
"url": "https://test.naimulhassan.me/api/v1/recipes",
"description": "Recipes with ingredients, step-by-step instructions, timings, and nutrition information.",
"writable": false
},
{
"name": "quotes",
"url": "https://test.naimulhassan.me/api/v1/quotes",
"description": "Original, fictional quotes with fictional authors. Read-only.",
"writable": false
}
],
"authentication": {
"login": "https://test.naimulhassan.me/api/v1/auth/login",
"note": "Demo-only authentication for practice. Never use it to secure real applications."
},
"testing": {
"echo": "https://test.naimulhassan.me/api/v1/test/echo",
"delay": "https://test.naimulhassan.me/api/v1/test/delay?ms=1000",
"status": "https://test.naimulhassan.me/api/v1/test/status/404"
},
"limits": {
"defaultPageSize": 30,
"maxPageSize": 100,
"maxDelayMs": 5000,
"rateLimit": {
"requests": 100000,
"windowSeconds": 60
}
},
"notice": "POST, PUT, PATCH, and DELETE requests are simulated. They return realistic responses but never modify the shared dataset."
}Try it
Placeholder image (SVG)
/api/v1/images/{type}/{id}Deterministic SVG placeholder used by the image and thumbnail fields of users, products, and recipes.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
typerequired | path | string | Image type.One of: users, products, recipes |
idrequired | path | integer | Record ID.Min: 1 |
Status codes
- 200An SVG image.
- 400Invalid path or query parameter (
INVALID_PARAMETER/INVALID_ID). - 404No record exists with that ID (
RESOURCE_NOT_FOUND).
Request
curl 'https://test.naimulhassan.me/api/v1/images/users/1'Example responses
Captured from the real API with the requests shown on this page.
No response body.
Try it
Health check (liveness)
/healthAlways returns 200 while the process is running, with the current database connection state.
Status codes
- 200The service is running.
Request
curl 'https://test.naimulhassan.me/health'Example responses
Captured from the real API with the requests shown on this page.
{
"status": "ok",
"version": "1.0.0",
"uptimeSeconds": 42,
"startedAt": "2026-01-01T00:00:00.000Z",
"database": "connected"
}Try it
Readiness check
/readyReturns 200 when the database is connected and seeded, otherwise 503.
Status codes
- 200Ready to serve traffic.
- 503Not ready (
SERVICE_UNAVAILABLE).
Request
curl 'https://test.naimulhassan.me/ready'Example responses
Captured from the real API with the requests shown on this page.
{
"status": "ready",
"database": "connected"
}Try it
OpenAPI specification
/openapi.jsonThe OpenAPI 3.0 document for this API. Import it into Postman, Insomnia, or code generators.
Status codes
- 200OpenAPI JSON document.
Request
curl 'https://test.naimulhassan.me/openapi.json'Example responses
Captured from the real API with the requests shown on this page.
{
"note": "The full OpenAPI document is returned. Download it from /openapi.json."
}