v1

latestOpenAPI 3.1.02026-07-26183980.3 KB
external
external-v2

Search Notes

Search notes using a required free-text query and structured filters. When multiple filter_by_contains_* fields are true, a note may match any of them. Returns note results from a bounded search snapshot with deterministic offset pagination. Query-based searches are relevance-ranked within the bounded search snapshot window. Reuse the returned snapshot_id when requesting later pages. The returned total reflects the bounded search snapshot, capped by the 100-result search window. For deterministic chronological pagination across all accessible notes, use GET /v2/notes.

post/v2/notes/search

Query parameters

limitinteger nullable

Maximum number of notes in this search page. Use smaller values for lower latency. Default is 20; valid range is 1 to 50.

Maximum number of notes in this search page. Use smaller values for lower latency. Default is 20; valid range is 1 to 50.

offsetinteger

Number of matching notes to skip before returning results. This value is zero-based.

Number of matching notes to skip before returning results. This value is zero-based.

snapshot_idstring uuid nullable

Opaque search snapshot identifier returned by a previous search page. Required when requesting later pages with offset > 0.

Opaque search snapshot identifier returned by a previous search page. Required when requesting later pages with offset > 0.

Request body

filter_by_collection_idsstring[] nullable

Optional collection UUID filters. When provided, results are limited to notes in any listed collection.

filter_by_contains_filesboolean

When true, include notes that contain file-like attachments (including file and PDF kinds).

filter_by_contains_imagesboolean

When true, include notes that contain image media (including image and GIF kinds).

filter_by_contains_open_tasksboolean

When true, include notes that contain at least one open task item.

filter_by_contains_tasksboolean

When true, include notes that contain at least one task item (open or closed).

filter_by_created_afterstring date-time nullable

Optional inclusive lower bound for note creation time (ISO 8601). The timestamp must include a timezone offset such as Z or +01:00.

filter_by_created_beforestring date-time nullable

Optional inclusive upper bound for note creation time (ISO 8601). The timestamp must include a timezone offset such as Z or +01:00.

filter_by_updated_afterstring date-time nullable

Optional inclusive lower bound for note update time (ISO 8601). The timestamp must include a timezone offset such as Z or +01:00.

filter_by_updated_beforestring date-time nullable

Optional inclusive upper bound for note update time (ISO 8601). The timestamp must include a timezone offset such as Z or +01:00.

querystring required

Required text query for relevance matching. The query must contain at least one non-whitespace character. This endpoint does not provide exhaustive chronological pagination; for that, use GET /v2/notes.

Example request

{
  "filter_by_created_after": "2025-04-01T14:30:45Z",
  "filter_by_created_before": "2025-04-30T23:59:59Z",
  "filter_by_updated_after": "2025-04-01T14:30:45Z",
  "filter_by_updated_before": "2025-04-30T23:59:59Z"
}

Response

OK

has_next_pageboolean required

Whether another request within the 100-result search window can return more matching notes.

limitinteger required

Limit applied to this search page.

offsetinteger required

Zero-based offset applied before returning results.

request_idstring required

Identifier for this API request. Useful for tracing and support.

snapshot_idstring uuid required

Opaque snapshot identifier to reuse for deterministic later pages.

totalinteger required

Number of matching notes captured in the bounded search snapshot, capped by the 100-result search window.

Example response

{
  "has_next_page": true,
  "limit": 1,
  "offset": 0,
  "request_id": "api-request-018f8d0d-5a3c-7afc-8321-2f6f6e0fefab",
  "results": [
    {
      "audio_recording_ids": [
        "78ff64bc-09e3-4fd7-a4b9-53c258f35619"
      ],
      "collection_ids": [
        "59508b41-8770-4855-aa37-302b1e09aee7"
      ],
      "content": "# Recipe Notes\n\n- Lemon pasta\n- Chili oil dumplings\n",
      "created_at": "2025-03-18T11:00:00Z",
      "id": "018f8d0d-5a3c-7afc-8321-2f6f6e0fefab",
      "snippet": "Dinner ideas",
      "title": "Recipe Notes",
      "updated_at": "2025-04-22T16:12:34Z"
    }
  ],
  "snapshot_id": "fd233b1f-25ac-4c0d-94db-4fa0843084ff",
  "total": 12
}