Menu

Theme
Free consultation

Dummy API Lab

Practice REST with 27 fake Indian student records. Safe sandbox — changes stay on this server.

Try live CRUD demo →
Base URL: /dummy_api/
Send Content-Type: application/json for POST, PUT, and DELETE bodies. All responses are JSON. Use the Try buttons below, Postman, Thunder Client, curl, or fetch(). Demo login password is always student123.
Open FE + BE CRUD demo — list, create, edit, delete students using these same endpoints.

GET 5 endpoints

Endpoint Description & params Try it
/get-students
List students (pagination & filters)
Required: None — open with no filters
Optional query: page, limit (1–50, default 10), city, course, status (active|inactive)
Example: ?page=1&limit=10&city=Mumbai&course=Python&status=active · Open filtered
Open JSON
/get-student
Single student by ID
Required: Query: id
id (integer)
Example: ?id=5
Open JSON
/search-students
Search by name, email, city, or course
Required: Query: q
q (string)
Example: ?q=priya
Open JSON
/student-stats
Counts by city, course, status + average score
Required: None
Open JSON
/get-courses
Available course catalog
Required: None
Open JSON

POST 5 endpoints

Endpoint Description & params Try it
/create-student
Add one student
Required: JSON body: name, email
Optional body: phone, city, state, course, batch, age, gender, score, status
{"name":"New Student","email":"new@student.in","city":"Delhi","course":"MERN Stack"}
/bulk-students
Add multiple students
Required: JSON body: students (array of objects with name, email)
{"students":[{"name":"A","email":"a@student.in"},{"name":"B","email":"b@student.in"}]}
/fake-login
Demo login (password: student123)
Required: JSON body: email, password
Password is always student123 for any seed student email
{"email":"priya.patel@student.in","password":"student123"}
/post-enrollment
Enroll / change course
Required: JSON body: student_id, course
Optional body: batch
{"student_id":3,"course":"DevOps","batch":"DO-2025-E"}
/post-feedback
Submit rating & comment
Required: JSON body: student_id, rating
Optional body: comment · rating 1–5
{"student_id":1,"rating":5,"comment":"Great class!"}

PUT 5 endpoints

Endpoint Description & params Try it
/update-student
Full update
Required: Query: id · JSON body: fields to update
id (integer)
Example: ?id=5
{"name":"Updated Name","score":90}
/update-contact
Update email / phone only
Required: Query: id · JSON body: email and/or phone
id (integer)
Example: ?id=5
{"email":"new@student.in","phone":"+91 90000 11111"}
/update-course
Change course & batch
Required: Query: id · JSON body: course
Optional body: batch
Example: ?id=5
{"course":"AIML","batch":"AI-2025-E"}
/update-status
Set active or inactive
Required: Query: id · JSON body: status
status = active | inactive
Example: ?id=5
{"status":"inactive"}
/reset-data
Reset all data to 27 seed students
Required: None (empty body OK)
{}

DELETE 5 endpoints

Endpoint Description & params Try it
/delete-student
Remove one student
Required: Query: id
id (integer)
Example: ?id=99
/delete-inactive
Remove all inactive students
Required: None
/delete-enrollment
Clear course enrollment
Required: Query: id
id (integer)
Example: ?id=5
/delete-feedback
Delete feedback by ID
Required: Query: id (feedback id)
id (integer)
Example: ?id=1
/clear-session
Invalidate demo login token
Required: Query or body: token
token from /fake-login response
Example: ?token=YOUR_TOKEN
{"token":"YOUR_TOKEN"}

Sample student fields

{
  "id": 1,
  "name": "Aarav Sharma",
  "email": "aarav.sharma@student.in",
  "phone": "+91 98765 43210",
  "city": "New Delhi",
  "state": "Delhi",
  "course": "Full Stack Python",
  "batch": "PY-2025-A",
  "age": 22,
  "gender": "Male",
  "enrollment_date": "2025-01-12",
  "status": "active",
  "score": 88.5
}

Quick test (browser console)

fetch('/dummy_api/get-students')
  .then(r => r.json())
  .then(console.log);