Skip to main content
GET
List lead outreach (all brands)

Authorizations

Authorization
string
header
required

API key in the format avoca_<64 hex characters>

Path Parameters

enterpriseId
integer
required

The enterprise ID

Query Parameters

start_date
string<date-time>

Inclusive lower bound on created_at (>=)

end_date
string<date-time>

Exclusive upper bound on created_at (<)

medium
enum<string>

Lead-source medium. Every value of the lead-source medium enum is accepted.

Available options:
webhook,
angi_webhook,
email_alerts,
st_bookings_alerts,
st_native,
hcp_native,
google_lsa,
yelp,
thumbtack,
web_chat,
dropped_responder,
genesys,
everconnect
source
string

Lead-source canonical name (exact match)

status
enum<string>

Lead processing status

Available options:
created,
queued,
processing,
completed,
failed,
skipped
include_ignored
boolean
default:false

When true, include suppressed leads (adds is_ignored / ignored_reason)

include_test_numbers
boolean
default:false

When true, include leads from the team's registered test phone numbers (default false)

outreach_state
string

Comma-separated outreach.state values to return: not_contacted, active, with_human, ended. A filter only: it never changes the ordering. With outreach_live it may only list active and/or with_human.

Example:

"active,with_human"

outreach_live
boolean
default:false

When true, return every lead being worked right now (active or with_human) whose latest conversation had a message in the last 30 days, instead of every lead. Rows come in no particular order; follow pagination.cursor, which is the only way to continue. A page can hold fewer than limit rows while has_more is true. Cannot be combined with outreach_changed_after.

outreach_changed_after
string<date-time>

Inclusive lower bound on outreach.changed_at. Returns only the leads whose outreach changed in the window, each once, in no particular order; follow pagination.cursor (a page can hold fewer than limit rows while has_more is true). To poll, pass the previous response's meta.outreach_changed_before. A move to human follow-up or an AI-texting toggle without a message, a cleared opt-out, and a deleted conversation do not appear in windows. To pick them up, sweep outreach_live=true daily, and re-read with ids any lead you hold as active or with_human that the sweep did not return.

outreach_changed_before
string<date-time>

Exclusive upper bound on outreach.changed_at. Requires outreach_changed_after and must be at most 24 hours after it. Defaults to 2 minutes before the request, so changes still being written land in the next window.

include_test_teams
boolean
default:false

Include designated internal QA/test teams in multi-team aggregations (default false)

cursor
string

Opaque pagination cursor from the previous response's pagination.cursor

limit
integer
default:50

Results per page (default 50, max 500)

Required range: x <= 500

Response

Paginated leads across all brands

data
object[]
pagination
object
meta
object