---
title: "Search notes"
method: GET
path: "/v1/notes/search"
tags: ["Notes"]
---

# Search notes

`GET /v1/notes/search`

## Request

- Base URL: `https://api.blinq.me`
- URL: `https://api.blinq.me/v1/notes/search`
- Auth: HTTP bearer

Searches the authenticated user's indexed note titles and bodies, including recording summaries and saved text, using keyword and semantic matching.

Returns up to `limit` results ordered from most to least relevant. Search does not support pagination. `is_truncated` indicates that additional results were found.

New or updated notes may be missing until indexing completes. Changing `limit` can change the ranking. Use the list endpoint to retrieve all notes and the get endpoint to read note content.

Requires the `blinq:notes:read` scope.

## Query parameters

- `query` string, required
- `limit` integer

## Response `200`

Search results ordered by relevance.

- object: Search results ordered by relevance.
  - `notes` object[], required: Note metadata ordered from most to least relevant. Results may omit notes that have not been indexed.
    - `id` string, required: The ID of the note.
    - `title` string, nullable, required: The custom title set by the user, otherwise the generated title, or `null` when the note has neither.
    - `created_at` string, date-time, required: When the user's device created the note, as an ISO 8601 timestamp.
    - `updated_at` string, date-time, required: When the note was last updated, as an ISO 8601 timestamp.
    - `deleted_at` unknown, required
    - `status` 'processing' | 'ready' | 'failed' | 'blocked', required: The processing state of the note. `processing`: recording or processing is in progress. `ready`: no recording or processing is pending. Content may be empty or null. `failed`: processing failed. Partial content may be available. `blocked`: processing is blocked by the account plan or usage limits.
    - `type` 'voice_note' | 'phone_call' | 'text', nullable, required: How the note was captured: a recorded `voice_note`, a recorded `phone_call`, or a typed `text` note. `null` when the type is unavailable.
    - `share_url` string, nullable, required: A URL for viewing the note in a browser, or `null` when the note has no share link. Reading a note never creates a share link or changes sharing settings.
    - `linked_contacts` object[], required: The contacts linked to the note, or an empty array when there are none. Retrieving a linked contact requires `blinq:contacts:read` and contact access.
      - `id` string, required: The ID of the linked contact.
      - `full_name` string, nullable, required: The display name of the linked contact, or `null` when none is available.
      - `workspace_id` string, required: The personal workspace ID to pass when getting this contact.
  - `is_truncated` boolean, required: Whether this search found more results than `limit`. A value of `false` does not guarantee that every note was searched. Use the list endpoint to retrieve all notes.

## Other responses

- `400`: Bad request - Invalid query parameters or body. See `details` for each failing field
- `401`: Unauthorized - Missing or invalid API key
- `403`: Forbidden - Missing scope, insufficient permission, or the plan does not include this operation

---

[API](https://skmtc.dev/blinq/apis/blinq-public-api.md) - [All operations](https://skmtc.dev/blinq/apis/blinq-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/blinq/apis/blinq-public-api/revisions/2dedf4b14340?raw)
