Skip to main content
GET
/
api
/
signals
/
search
Get Searches
curl --request GET \
  --url https://app.puffle.ai/api/signals/search \
  --header 'Authorization: Bearer <token>'
{
  "searches": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "query": "<string>",
      "filterPrompt": "<string>",
      "progress": {
        "fetched": 4503599627370495,
        "filtered": 4503599627370495,
        "total": 4503599627370495
      },
      "createdAt": "2023-11-07T05:31:56Z",
      "completedAt": "2023-11-07T05:31:56Z",
      "results": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "signalId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "relevant": true,
          "reason": "<string>"
        }
      ]
    }
  ],
  "pagination": {
    "cursor": "<string>",
    "hasMore": true,
    "count": 4503599627370495
  }
}
CLI:
puffle signal search
puffle signal search --ids <ids> --cursor <cursor> --limit <limit>

Overview

Returns the caller’s recent signal searches, newest first. Each row carries lifecycle status (pending, running, completed, failed) plus a progress object (fetched, filtered, total) so the UI can render history without a second query. Pass ids= to inline the full per-search results: SearchResult[]. Pass ids= (comma-separated UUIDs) to fetch one or more searches with full results[] inlined — this is what the poll loop on a running search uses.
This operation shares the URL path /api/signals/search with the create verb. Use Create Search to start a new search, then call this endpoint with ids= to poll it.

AI agent notes

Polling cadence. Every 5 to 10 s while status is pending or running. Give up at 10 minutes and escalate with the correlationId.Cursor pagination applies when ids= is not set. Pass pagination.cursor back as ?cursor= and stop when pagination.hasMore is false.Result shape. With ids=, each search includes results: SearchResult[]. Without ids=, only the search row metadata is returned.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

ids
string

Comma-separated search ids. When present, returns full results inline and ignores cursor/limit.

cursor
string
limit
integer
Required range: 1 <= x <= 100

Response

Page of searches.

searches
object[]
required
pagination
object
required

Cursor pagination envelope. cursor: null marks the last page.