sayintel
Endpoint

Search speakers

GET/api/public/v1/speakersread

Search speakers across the user's campaigns. Returns qualify_verdict (the ICP verdict that gates drafting, with qualify_reason and qualified_at) and triage_verdict (the cheap prequalify first pass; never the qualification). Filter by campaign_id, name (ilike), company (ilike), qualify_verdict, triage_verdict, reply_status, or selected. prequalify_verdict is a deprecated alias of triage_verdict. Paginated: pass next_cursor while has_more is true.

Request

curl "https://sayintel.com/api/public/v1/speakers" \
  -H "Authorization: Bearer $SAYINTEL_TOKEN"

Try it out

Try it outGET/api/public/v1/speakersread

Sent as a bearer token to this site only, and kept in this tab's session storage. It is never written to disk or sent anywhere else.

Paste an API key to run.

Query parameters

NameInTypeRequiredDescription
campaign_idquerystringno—
namequerystringno—
companyquerystringno—
qualify_verdictquerystringqualified | disqualified | needs_inputno—
triage_verdictquerystringqualified | unsure | disqualifiedno—
prequalify_verdictquerystringqualified | unsure | disqualifiedno—
reply_statusquerystringno—
selectedquerybooleanno—
limitquerynumberno—
cursorquerystringnoOpaque cursor from a previous call's next_cursor. Omit for the first page.

Response

{
  "ok": true,
  "tool": "search_speakers",
  "kind": "read",
  "data": { ... },
  "error": null
}

Notes

  • Scope required: read. How scopes work.
  • Paginated. Pass the returned next_cursor while has_more is true.
  • Same capability over MCP as the tool search_speakers. MCP setup.