Developer API
Build verified lead intelligence into your workflow.
Every lead you acquire is available programmatically under the same entitlement rules as the workspace — tenant-isolated, payment-gated, and auditable.
X-API-Key header409 coded states429 Retry-After
- Tenant-isolated
- Every resource is scoped server-side. Foreign rows read as not-found.
- Entitlement-gated
- Sensitive data, exports, CRM pushes, and outreach re-check payment.
- Idempotent writes
- Reservations, charges, and deliveries take idempotency keys for safe retries.
- Stable error semantics
- 409s carry branchable codes; rate limits send Retry-After; outages are 503.
Documentation
Integrate in an afternoon
One key, predictable envelopes, and errors your integration can branch on. Key management — scopes, rotation, revocation — lives in the workspace API section.
Authentication
Programmatic access uses per-customer API keys sent as the X-API-Key header. Browser sessions and API keys are separate: signing into the workspace never requires pasting a key.
Example request
List leads in a campaign — paginated envelope, highest scores first:
curl -s "$BASE/v1/campaigns/<campaign_id>/leads?min_score=65&sort=-score" \
-H "X-API-Key: $KEY"Response & pagination
Collections return items, total, limit, and offset. Locked leads carry fit metadata with server-masked contacts; acquired leads disclose values under your entitlement.
What the API enforces
- Tenant isolation on every resource — foreign rows read as not-found.
- Entitlement before sensitive contact data, exports, CRM pushes, or outreach.
- Idempotency keys on reservations, charges, and deliveries for safe retries.
Errors & rate limits
- 401 · 403Missing key or insufficient scope. Browser sessions and API keys are separate.
- 404Not found — including cross-tenant rows, which never leak existence.
- 409 + codeExpected product states (unavailable, already acquired, duplicate). Branch on code.
- 422Validation: the request shape was rejected before anything ran.
- 429 + Retry-AfterRate limited. Back off for the advertised window, then retry.
- 503Integration unavailable. Retry later; nothing was partially applied.