Skip to main content
GET
List opportunities
Retrieve a paginated list of opportunities (deals) for your organization, newest first. Each opportunity is a booking call viewed as a deal, joined to its lead and any linked sale. The stage field is derived at read time from the lead’s full call history using the same rules as the dashboard pipeline:
  1. disqualified — latest form/intent disqualification (overridden by newer booking activity)
  2. booked / confirmed — active future booking (confirmed when the guest accepted)
  3. Most recent past outcome — won / unfit / lost / cancelled / declined / attended / no_show / follow_up
  4. qualified / interested — qualification signals without a booking
  5. Stored lead status fallback
Use Cases:
  • Sync deals into an external CRM or reporting warehouse
  • Track pipeline movement without polling individual leads
  • Reconcile expected vs actual deal value
Filtering:
  • Filter by derived stage, lead, or scheduled date range
  • Stage filtering is applied per page (see the stage parameter)

Query Parameters

limit
integer
default:20

Number of opportunities to return (1-100)

Required range: 1 <= x <= 100
Example:

20

cursor
string

Pagination cursor from a previous response

stage
enum<string>

Filter by derived pipeline stage. The server scans a bounded set of candidates to fill the page. A scan-limited page can be short or empty. Continue with next_cursor while has_more is true.

Available options:
interested,
disqualified,
qualified,
booked,
confirmed,
declined,
cancelled,
attended,
unfit,
no_show,
follow_up,
lost,
won
Example:

"booked"

lead_id
string

Filter by lead ID

from_date
string

Filter calls scheduled on/after this date (ISO 8601)

Example:

"2026-01-01"

to_date
string

Filter calls scheduled on/before this date (ISO 8601)

Example:

"2026-12-31"

Response

Successfully retrieved opportunities

data
object[]
required
pagination
object
required