Skip to main content
GET
/
api
/
notes
Get Notes
curl --request GET \
  --url https://api.example.com/api/notes \
  --header 'Authorization: <authorization>'
{
  "message": "<string>",
  "data": [
    {
      "id": 123,
      "title": "<string>",
      "data": {},
      "description": {},
      "thumbnail": {},
      "views": 123,
      "visibility": "<string>",
      "ownerId": 123,
      "createdAt": "<string>",
      "updatedAt": "<string>",
      "owner": {
        "id": 123,
        "email": "<string>",
        "username": "<string>"
      },
      "sharedStatuses": [
        {
          "id": 123,
          "sharedById": 123,
          "sharedWithId": 123,
          "permissions": "<string>",
          "noteId": 123,
          "sharedAt": "<string>"
        }
      ],
      "likes": [
        {}
      ],
      "comments": [
        {}
      ]
    }
  ]
}

Authentication

This endpoint requires authentication via an Authorization header.
Authorization
string
required
Bearer token for user authentication

Query Parameters

id
string
Retrieve a specific note by ID. The user must be the owner, have the note shared with them, or the note must be public.
type
string
Filter notes by type:
  • shared - Returns notes that have been shared with the authenticated user
  • featured - Returns all public notes
If neither id nor type is provided, returns all notes owned by the authenticated user.

Response

message
string
Success message indicating notes were fetched successfully
data
array | object
Array of note objects (or single note object when querying by id)
id
number
Unique identifier for the note
title
string
Title of the note
data
string | null
Content of the note
description
string | null
Description of the note
thumbnail
string | null
Thumbnail image path
views
number
Number of views
visibility
string
Note visibility: “Public”, “Private”, or “Shared”
ownerId
number
ID of the user who owns the note
createdAt
string
ISO 8601 timestamp when the note was created
updatedAt
string
ISO 8601 timestamp when the note was last updated
owner
object
Owner information
id
number
User ID
email
string
User email
username
string
Username
sharedStatuses
array
Array of sharing information
id
number
Sharing record ID
sharedById
number
ID of user who shared the note
sharedWithId
number
ID of user the note was shared with
permissions
string
Permission level: “View” or “Edit”
noteId
number
ID of the shared note
sharedAt
string
ISO 8601 timestamp when the note was shared
likes
array
Array of users who liked the note (returned for owned notes, shared notes, and featured notes)
comments
array
Array of comments on the note (returned for shared and featured notes)
curl -X GET https://api.noteverse.com/api/notes \
  -H "Authorization: Bearer YOUR_AUTH_TOKEN"

Response Examples

User’s Notes

{
  "message": "Notes fetched successfully",
  "data": [
    {
      "id": 123,
      "title": "My Note",
      "data": "Note content here",
      "description": null,
      "thumbnail": null,
      "views": 15,
      "visibility": "Private",
      "createdAt": "2026-03-01T10:30:00.000Z",
      "updatedAt": "2026-03-02T14:20:00.000Z",
      "ownerId": 42,
      "categoryId": null,
      "subcategoryId": null,
      "owner": {
        "id": 42,
        "email": "user@example.com",
        "username": "john_doe",
        "password": "hashed_password",
        "authToken": "token",
        "emailVerified": true,
        "verificationToken": null
      },
      "sharedStatuses": [],
      "likes": []
    }
  ]
}

Specific Note

{
  "message": "Notes fetched successfully",
  "data": {
    "id": 123,
    "title": "Shared Note",
    "data": "Content of shared note",
    "description": "A note shared with me",
    "thumbnail": null,
    "views": 5,
    "visibility": "Shared",
    "createdAt": "2026-02-15T08:00:00.000Z",
    "updatedAt": "2026-02-20T12:00:00.000Z",
    "ownerId": 10,
    "owner": {
      "id": 10,
      "email": "owner@example.com",
      "username": "note_owner"
    },
    "sharedStatuses": [
      {
        "id": 1,
        "sharedById": 10,
        "sharedWithId": 42,
        "permissions": "Edit",
        "noteId": 123,
        "sharedAt": "2026-02-16T09:00:00.000Z"
      }
    ]
  }
}

Error Responses

Unauthorized (401)

Returned when the authentication token is invalid or missing.
{
  "error": "Invalid or expired token"
}

Not Found (404)

Returned when the requested note(s) cannot be found.
{
  "error": "Notes not found"
}
When querying a specific note by id, the user must either:
  • Own the note
  • Have the note shared with them
  • The note must have “Public” visibility
The type=featured query returns all public notes in the system, which may be a large dataset. Consider implementing pagination for production use.

Build docs developers (and LLMs) love