Examples use fictional data. Every company, person, address and count in them is invented, and their domains use the reserved .example TLD.
API reference · v1
Everything the product does, available as an endpoint.
The dashboard is a client of this API and nothing more. The same key drives search, campaigns, the inbox and the sending infrastructure underneath them.
- Endpoints
- 83
- Reference sections
- 20
- Webhook events
- 22
Start here
Quickstart
Key, first request, first page of results. Four minutes, no sales call.
Authentication
Bearer sessions for people, x-api-key for servers. One header either way.
Search
One filter grammar across companies, people and places — with the parse returned to you.
Webhooks
22 signed events, so you hear about a booked meeting instead of polling for it.
One call, three languages
Every entry in this reference carries the same three tabs, generated from one description of the request — so the curl you copy and the SDK call beside it can never disagree.
curl -X POST "https://beamro.com/api/v1/lookalike" \
-H "x-api-key: $SALVO_API_KEY" \
-H "content-type: application/json" \
-d '{ "domain": "harlowmeadow.example", "limit": 12 }'Reference map
Getting started
Quickstart
GuideCreate a workspace, mint a key, and pull your first slice of the company graph. Four minutes end to end, no sales call in the middle.
Authentication
5 endpointsTwo credential types, one header each. Session tokens are for humans in a browser; API keys are for your servers. Everything else on this page is a consequence of that split.
Workspace & API keys
6 endpointsMint and revoke machine credentials, rename the workspace, and see who else is in it.
Rate limits
GuideTwo buckets, four headers, one retry strategy. Nothing here should surprise you at 3am.
Errors
GuideOne envelope, nine codes. Branch on the code — never on the message, which is written for humans and may be reworded.
Credits & metering
GuideData costs credits. Sending costs cash from a wallet. They are separate balances on purpose, so a runaway export can never stop your campaigns mid-sequence.
GTM data
Search
6 endpointsOne filter grammar across companies, people and places. Send structured filters, plain language, or both — the response always tells you how it was read.
Companies & people
2 endpointsFetch a single record by id once search has found it, and walk from a company to the humans who work there.
Lookalike
1 endpointsGive it a domain you already win at, get back the companies that resemble it — each with a score and a sentence explaining the match.
Segments
4 endpointsThe taxonomy the whole graph is filed under — plus the geography and industry roll-ups you need to size a market before you touch a row.
Enrichment
4 endpointsEverything here is asynchronous and returns a job. Poll it, or let a webhook tell you when the output is ready.
Autopilot
Projects & ICPs
10 endpointsA project is what you sell. Research reads your site and writes down the pitch; ICPs turn that into filter sets a campaign can target.
Campaigns
13 endpointsA campaign is a target definition plus a set of instructions. The agents pick the leads, write each email individually and follow up until someone answers.
Leads
3 endpointsA lead is one person inside one campaign, carrying the research the agents wrote about them and their position in the ladder.
Inbox
6 endpointsReplies arrive classified. Every thread carries an intent, a sentiment and a flag for the ones a human should really see before the agent answers.
Sending
10 endpointsDomains, mailboxes and suppressions. Salvo warms new domains for you and refuses to send faster than a domain has earned.
Platform
Billing
5 endpointsBalances, the ledger behind them, and the two ways to add money. Every amount is an integer number of cents.
Analytics
2 endpointsTotals, a daily series and a per-campaign breakdown, in the shape a dashboard actually wants.
Exports
3 endpointsHand a filter set to a background job and collect a file. The right way to move more than a few thousand rows.
Webhooks
3 endpoints22 events, one signed envelope, and a verification snippet you can paste. Subscribe once and stop polling for the things that matter.
Conventions
Versioned in the path
Every route lives under
/v1. Breaking changes get a new prefix; additive fields do not.Money in cents
Always an integer.
spend_cents: 4314is $43.14 — no floats anywhere near a balance.Times in ISO-8601 UTC
Ending in
Z. Sending windows are the one exception and carry their owntz.Prefixed identifiers
An id says what it is:
cmp_,led_,thr_. Never parse them, only compare them.Paged the same way
List endpoints take
limitandoffsetand returntotal.Unknown fields are ignored
Send extra keys and they are dropped, so a shared filter object is safe to reuse across endpoints.
The full segment taxonomy is listed at GET /v1/segments. Questions the reference does not answer go to support@salvo.example.