Search the caller’s bubbles by keyword, returning matching bubble summaries ranked by relevance. Matches fuzzily (prefix/typo-tolerant) against each bubble’s title, its author’s name, and its AI-generated meeting notes/summary — so a keyword that appears only inside the notes still finds the bubble; title matches rank highest, then author, then notes. Requires current Home, visit, or visible-Space discovery in addition to read access — a bubble the caller cannot read is never returned (a notes-only match on an unreadable bubble never surfaces). Each result row includes the bubble’s AI meeting-notes/summary text (summary, capped at 1000 characters; null when there are no notes) so an agent can read why it matched inline. q is required (non-empty, ≤256 chars); an empty or overlong q yields 400 invalid_request. Supports the same team_id/space_id/type/created_after/created_before filters as the list endpoint. Search pagination covers authorized matches within the first 1,000 fuzzy-ranked candidates; has_more and next_cursor refer to that window. Pagination is by opaque cursor (relevance-ordered); rows exclude transcripts and comments (fetch a bubble by id for those).

get/v1/bubbles/search

Request

  • Base URL
    https://api.usebubbles.com
  • Auth
    HTTP bearer

Query parameters

qstring

The search query — matched fuzzily against bubble title, author name, and AI meeting-notes summary (non-empty string (≤256 chars)).

team_idstring

Only bubbles in this team (team id).

space_idstring

Only bubbles in this channel (channel id).

typestring

Only bubbles of this type (meeting_recording | screen_recording | custom_image).

created_afterstring

Only bubbles created strictly after this instant (ISO-8601 timestamp (exclusive)).

created_beforestring

Only bubbles created strictly before this instant (ISO-8601 timestamp (exclusive)).

limitstring

Page size (integer 1–100 (default 25)).

cursorstring

Opaque pagination cursor from the previous response’s next_cursor; never construct one (opaque string).

Response

Success.

has_moreboolean required

Whether another page exists within the search window.

next_cursorstring nullable required

Next page within the window, or null.

search_window_limitnumber required

Maximum ranked candidates examined (1000).

Changes

No recorded changes to this operation across all 1 revision of this API.