API

Vero is agent-first. Programmatic access for integrations, custom dashboards, and partner ecosystems.

Auth

API keys are scoped per tenant. Generate one at /settings/api. Send as Authorization: Bearer YOUR_KEY.

Endpoints

GET /api/v1/locations

List all locations under your tenant. Returns array of {id, name, city, state, verified_outcomes_mtd}.

GET /api/v1/locations/{id}/outcomes

List verified booked jobs for a location. Pagination via limit and offset. Filter by since ISO-8601 timestamp.

POST /api/v1/locations/{id}/dispute

Open a dispute on a specific outcome. Body: {outcome_id, reason, note}. Returns the dispute event.

GET /api/v1/funnel

Pre-aggregated lead → verified outcome → completed job funnel for a period. Query params: region_id, period (YYYY-MM).

POST /webhooks/email-inbound

For email-vendor integrations, forward reply payloads as JSON. Vero classifies and routes.

POST /webhooks/stripe

Standard Stripe webhook; signature-verified.

Rate limits

120 requests per minute per tenant. 429 returned on exceed with Retry-After seconds.

Versioning

Path-versioned. Breaking changes go in /api/v2; v1 remains supported for 12 months after a successor version ships.