-
-
Notifications
You must be signed in to change notification settings - Fork 1
API Notes
Saiful Alam Rakib edited this page Apr 22, 2026
·
1 revision
Add contextual notes to bills or keep general reminders. Notes can be personal (visible only to the creator) or shared with the whole team.
Base path: /api/v1/notes
| Method | Endpoint | Description |
|---|---|---|
GET |
/notes |
List notes |
POST |
/notes |
Create a note |
GET |
/notes/{note} |
Get a single note |
PUT |
/notes/{note} |
Update a note |
DELETE |
/notes/{note} |
Delete a note |
List notes visible to the authenticated user.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
search |
string | Search in title/content |
is_pinned |
boolean | Filter by pinned status |
team_notes_only |
boolean | Show only team-shared notes |
personal_notes_only |
boolean | Show only personal notes |
sort_by |
string | Column to sort by |
per_page |
integer | Results per page |
Response 200:
{
"data": [
{
"id": 1,
"title": "Payment Reminder",
"content": "Remember to update payment method",
"is_pinned": true,
"team_id": null,
"was_recently_created": false,
"created_at": "2026-02-01T00:00:00.000Z"
}
],
"links": { ... },
"meta": { ... }
}
team_id: nullindicates a personal note. A non-nullteam_idmeans the note is shared with that team.
Create a new note.
Request:
{
"title": "Payment Reminder",
"content": "Remember to update payment method before March 1st.",
"is_pinned": false,
"team_id": 1
}| Field | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Note title |
content |
string | Yes | Note body (supports Markdown) |
is_pinned |
boolean | No | Pin note to the top (default: false) |
team_id |
integer | No | Team ID to share with; null for personal note |
Response 201:
{
"success": true,
"message": "Note created successfully",
"data": {
"id": 1,
"title": "Payment Reminder",
"content": "Remember to update payment method before March 1st.",
"is_pinned": false,
"team_id": 1
}
}Get a single note by ID.
Response 200:
{
"success": true,
"data": {
"id": 1,
"title": "Payment Reminder",
"content": "Remember to update payment method before March 1st.",
"is_pinned": true,
"team_id": null,
"created_at": "2026-02-01T00:00:00.000Z",
"updated_at": "2026-02-05T10:00:00.000Z"
}
}Update an existing note. All fields are optional.
Request:
{
"title": "Updated Reminder",
"content": "Updated content here.",
"is_pinned": true
}Response 200:
{
"success": true,
"message": "Note updated successfully",
"data": {
"id": 1,
"title": "Updated Reminder",
"content": "Updated content here.",
"is_pinned": true
}
}Permanently delete a note.
Response 200:
{
"success": true,
"message": "Note deleted successfully"
}TOKEN="YOUR_TOKEN"
BASE="https://bills.msar.me/api/v1"
# List all pinned notes
curl "$BASE/notes?is_pinned=true" \
-H "Authorization: Bearer $TOKEN" -H "Accept: application/json"
# List team notes only
curl "$BASE/notes?team_notes_only=true" \
-H "Authorization: Bearer $TOKEN" -H "Accept: application/json"
# Create a personal note
curl -X POST "$BASE/notes" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"Reminder","content":"Check Netflix billing","is_pinned":true}'
# Pin an existing note
curl -X PUT "$BASE/notes/1" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"is_pinned":true}'
# Delete a note
curl -X DELETE "$BASE/notes/1" \
-H "Authorization: Bearer $TOKEN" -H "Accept: application/json"- Notes Export — Download notes as JSON, Markdown, CSV, or plain text from the UI
© Bill Organizer - Free for Personal use | Need paid license for Commercial use