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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| campaign_id | query | string | no | — |
| name | query | string | no | — |
| company | query | string | no | — |
| qualify_verdict | query | stringqualified | disqualified | needs_input | no | — |
| triage_verdict | query | stringqualified | unsure | disqualified | no | — |
| prequalify_verdict | query | stringqualified | unsure | disqualified | no | — |
| reply_status | query | string | no | — |
| selected | query | boolean | no | — |
| limit | query | number | no | — |
| cursor | query | string | no | Opaque 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.