Skip to main content
GET
/
api
/
signals
/
leads
Get Signal Leads
curl --request GET \
  --url https://app.puffle.ai/api/signals/leads \
  --header 'Authorization: Bearer <token>'
{
  "leads": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "signalIds": [
        "3c90c3cc-0d44-4b50-8888-8dd25736052a"
      ],
      "person": {
        "name": "<string>",
        "linkedinUrl": "<string>",
        "headline": "<string>",
        "avatar": "<string>",
        "email": "<string>"
      },
      "company": {
        "name": "<string>",
        "domain": "<string>",
        "linkedinUrl": "<string>",
        "industry": "<string>"
      }
    }
  ],
  "pagination": {
    "cursor": "<string>",
    "hasMore": true,
    "count": 4503599627370495
  }
}
CLI:
puffle signal lead
puffle signal lead --group-by <group-by> --sort-by <sort-by> --ids <ids> --cursor <cursor> --limit <limit>

Overview

Returns a deduplicated view of every person or company referenced by the caller’s signals, grouped by groupBy=person or groupBy=company. Each row carries the underlying signal count and the top score across linked signals. Use this when you want a Lead-style summary view rather than the raw feed — for example, “show me the 5 companies with the strongest signals this week.”

AI agent notes

Grouping. Pass groupBy=person or groupBy=company. Defaults to person when omitted. The two views never mix in one page.Sort modes. sortBy=recency orders by most recent signal, sortBy=signalCount orders by raw count, sortBy=topScore orders by the best score seen.Cursor pagination. Same shape as Get Signals — pass pagination.cursor back as ?cursor= and stop when pagination.hasMore is false.Entity resolution. Enrichment runs inline during the signal pipeline. Rows where enrichment failed appear here without a linkedinUrl or domain; there is no manual retry endpoint.

Authorizations

Authorization
string
header
required

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

Query Parameters

groupBy
enum<string>
Available options:
person,
company
sortBy
enum<string>
Available options:
recency,
signalCount,
topScore
ids
string
cursor
string
limit
integer
Required range: 1 <= x <= 200

Response

Page of leads plus the next cursor (or null at end).

leads
object[]
required
pagination
object
required

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