API Practice
REST API endpoints for testing automation practice
https://api.qa-practice.dev/api/v1๐ Test Credentials
test@example.compassword123/api/v1/usersGet all users (supports ?fields=id,name for field masking)
?fields=id,name,email
{ "data": [...], "total": 3, "fields": ["id","name","email"] }/api/v1/usersCreate a new user
{ "name": "John", "email": "john@example.com" }{ "id": "4", "name": "John", ... }/api/v1/users/:idGet user by ID
/api/v1/users/:idUpdate user
{ "name": "Updated Name" }/api/v1/users/:idDelete user
/api/v1/postsGet all posts (supports ?userId=1&fields=id,title)
?userId=1&fields=id,title
/api/v1/postsCreate a new post
{ "userId": "1", "title": "...", "body": "..." }/api/v1/posts/:idGet post by ID
/api/v1/posts/:idUpdate post
/api/v1/posts/:idDelete post
/api/v1/productsGet products (pagination, filtering, sorting, field masking)
?page=1&limit=10&category=electronics&fields=id,name,price
/api/v1/productsCreate a new product
{ "name": "...", "price": 99.99, "category": "..." }/api/v1/products/:idGet product by ID
/api/v1/products/:idUpdate product
/api/v1/products/:idDelete product
/api/v1/auth/loginLogin and get token
{ "email": "test@example.com", "password": "password123" }{ "token": "...", "user": {...} }/api/v1/auth/registerRegister new user
{ "email": "...", "password": "...", "name": "..." }/api/v1/auth/refreshRefresh token (Bearer required)
/api/v1/auth/logoutLogout (Bearer required)
/api/v1/auth/meGet current user (Bearer required)
/api/v1/protectedProtected endpoint (Bearer required)
/api/v1/status/:codeReturns specified HTTP status (100-599)
/api/v1/status/404
{ "status": 404, "message": "Not Found" }/api/v1/delay/:secondsDelayed response (max 10s)
/api/v1/delay/3
/api/v1/headersEcho request headers
/api/v1/echoEcho request body
{ "any": "data" }/api/v1/tracingW3C Trace Context - parse and propagate distributed traces
Headers: traceparent: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01
{ "trace": { "parsed": {...}, "response": {...} } }/api/v1/tracing?simulate=trueSimulate distributed trace through multiple services
?simulate=true&services=api-gateway,user-service,database
{ "simulation": { "spans": [...], "totalDuration": "150ms" } }/api/v1/tracingPropagate trace with custom tracestate values
{ "tracestate": { "vendor": "value" } }/api/v1/retryGet retry strategies and configuration info
?strategy=aggressive
{ "currentConfig": {...}, "delaySequence": [...] }/api/v1/retrySimulate retry scenario with exponential backoff
{ "failUntilAttempt": 2, "failWithStatus": 503 }{ "simulation": {...}, "attempts": [...] }/api/v1/retryCalculate delay for specific attempt number
{ "attempt": 3, "strategy": "aggressive" }