Skip to main content

Notes - Notes List

Endpoint

/o/notes

Overview

Returns a permission-filtered, paginated notes list for selected apps and period.

Authentication

  • API Key (parameter): api_key=YOUR_API_KEY
  • Auth Token (parameter): auth_token=YOUR_AUTH_TOKEN
  • Auth Token (header): countly-token: YOUR_AUTH_TOKEN

Permissions

  • Requires core read permission for scoped apps.

Request Parameters

ParameterTypeRequiredDescription
api_keyStringYes (or use auth_token)Dashboard API key.
auth_tokenStringYes (or use api_key)Dashboard auth token.
app_idStringYes for non-global-admin usersApp id used by read-permission validation layer.
periodStringNoCountly period format (for example 30days or [startTs,endTs]). Defaults to 30days when omitted.
notes_appsJSON String (Array)NoApp IDs to query. If empty/missing, server resolves apps from user access.
categoryJSON String (Array)NoCategory filter list.
note_typeStringNoNote type filter (for example public).
sSearchStringNoCase-insensitive text search in note.
iDisplayStartNumberNoPagination offset. Default 0.
iDisplayLengthNumberNoPage size. Default 5000.
iSortCol_0StringNoSort column index (2 => ts, 3 => noteType).
sSortDir_0StringNoSort direction (asc or desc).
sEchoNumberNoEcho value returned unchanged.

Response

Success Response

{
"aaData": [
{
"_id": "67b2fc5a7274b47fce18c301",
"app_id": "6991c75b024cb89cdc04efd2",
"note": "Traffic anomaly reviewed",
"ts": 1739788800000,
"noteType": "public",
"emails": ["ops@example.com"],
"color": "#F59E0B",
"category": true,
"owner": "67b1d21f1c8b2b714d99e001",
"created_at": 1739788901200,
"updated_at": 1739788901200,
"indicator": "D",
"owner_name": "Operations Admin"
}
],
"iTotalDisplayRecords": 1,
"iTotalRecords": 1,
"sEcho": 1
}

Response Fields

FieldTypeDescription
aaDataArrayNotes rows matching permissions and filters.
aaData[]._idStringNote ID.
aaData[].app_idStringApp ID associated with note.
aaData[].noteStringNote text.
aaData[].tsNumberNote timestamp used for period filtering.
aaData[].noteTypeStringVisibility/type value.
aaData[].emailsArray of StringEmail-shared recipients.
aaData[].ownerStringOwner dashboard user id.
aaData[].owner_nameStringOwner display name resolved from countly.members.
iTotalDisplayRecordsNumberTotal records after current filters.
iTotalRecordsNumberSame value as iTotalDisplayRecords in this response.
sEchoNumberEcho value from request.

Error Responses

Status Code: 503 Service Unavailable

{
"result": "fatch notes failed"
}

Status Code: 503 Service Unavailable

{
"result": "fatch countly members for notes failed"
}

Behavior/Processing

Behavior Modes

ModeTriggerResponse Shape
Matching notes foundQuery returns recordsTable payload with populated aaData.
No matching notesQuery count is zeroaaData: [] with zero totals.
Query failureNotes/member query failsWrapped error message.

Database Collections

CollectionUsed forData touched by this endpoint
countly.notesMain notes source.Reads notes by app scope, period, visibility, and filters.
countly.membersOwner enrichment source.Reads member full names for owner_name enrichment.

Examples

Example 1: Read notes for selected apps

/o/notes?api_key=YOUR_API_KEY&app_id=6991c75b024cb89cdc04efd2&period=30days&notes_apps=["6991c75b024cb89cdc04efd2"]&iDisplayStart=0&iDisplayLength=50&sEcho=1
{
"aaData": [
{
"note": "Traffic anomaly reviewed",
"owner_name": "Operations Admin"
}
],
"iTotalDisplayRecords": 1,
"iTotalRecords": 1,
"sEcho": 1
}

Example 2: Read only public notes in category set

/o/notes?api_key=YOUR_API_KEY&app_id=6991c75b024cb89cdc04efd2&period=30days&note_type=public&category=[true]&iDisplayStart=0&iDisplayLength=20&sEcho=2

Operational Considerations

  • Very large iDisplayLength values can increase query and enrichment cost.
  • Notes are enriched with owner names using an additional members lookup.

Limitations

  • category and notes_apps must be valid JSON strings when provided.
  • Results are restricted by visibility rules: owner, public note, or email sharing.

Last Updated

2026-02-17