Notes API Documentation (ExpandTesting)
API Documentation Link: https://practice.expandtesting.com/notes/api/api-docs/
This API allows you to manage notes and organize them according to different categories, supporting all primary CRUD operations.
Prepared by:
Md. Ebrahim Hossain
SQA Engineer at Achieve Test Prep (Newark, US)
Source API: practice.expandtesting.com/notes/api
Base URL
The primary endpoint for all API calls is:
https://practice.expandtesting.com/notes/api
Note Management Operations
Authentication is required for most note operations, typically using a Bearer Token in the Authorization header (details not provided by source, standard practice assumed).
1. Create New Note
/notes
Status Code: 201
Request Body (JSON Example)
{
"title": "Initial Setup Notes",
"content": "Remember to configure the database connection before deployment.",
"category": "Technical"
}
Requires Authorization Header.
Response (201 Created)
HTTP/1.1 201 Created { "id": 1001, "title": "Initial Setup Notes", "category": "Technical", "created_at": "2025-12-04T12:00:00Z" }
2. Get All Notes (Searchable)
/notes?title={query}&category={name}
Status Code: 200
Supports optional query parameters for filtering by title and category.
Request Example (Filtering)
GET /notes?category=Technical HTTP/1.1 Host: practice.expandtesting.com/notes/api
Response (200 OK)
HTTP/1.1 200 OK [ { "id": 1001, "title": "Initial Setup Notes", "category": "Technical" }, { "id": 1002, "title": "Database Schema", "category": "Technical" } ]
3. Update Note (Full Replacement)
/notes/{noteId}
Status Code: 200
Request Body (Full Note Object)
{
"title": "Updated Setup Notes",
"content": "DB configuration complete, moved to production branch.",
"category": "Deployment"
}
Requires Authorization Header.
Response (200 OK)
HTTP/1.1 200 OK { "id": 1001, "title": "Updated Setup Notes", "content": "DB configuration complete, moved to production branch.", "category": "Deployment" }
4. Delete Note
/notes/{noteId}
Status Code: 204
Request
Requires Authorization Header.
DELETE /notes/1001 HTTP/1.1 Host: practice.expandtesting.com/notes/api
Response (204 No Content)
HTTP/1.1 204 No Content # Success: Resource deleted, no body returned.
Category Management Operations
1. Create New Category
/categories
Status Code: 201
Request Body (JSON Example)
{
"name": "Personal"
}
Requires Authorization Header.
Response (201 Created)
HTTP/1.1 201 Created { "id": 5, "name": "Personal", "created_at": "2025-12-04T12:05:00Z" }
2. Get All Categories
/categories
Status Code: 200
Request
GET /categories HTTP/1.1 Host: practice.expandtesting.com/notes/api
Response (200 OK)
HTTP/1.1 200 OK [ { "id": 1, "name": "Work" }, { "id": 2, "name": "Home" } ]
3. Update Category
/categories/{categoryId}
Status Code: 200
Request Body (New Name)
{
"name": "Work Projects"
}
Requires Authorization Header.
Response (200 OK)
HTTP/1.1 200 OK { "id": 1, "name": "Work Projects", "updated_at": "2025-12-04T12:10:00Z" }