- 298 typed API operations
- 3 synced entities (
campaigns,contactLists,contacts) for fast.search()/.list()
Setup
1
Install
2
Add the plugin
corsair.ts
multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
Store the Benchmark Email API key before the first call: More: API Key
pnpm corsair setup --plugin=benchmarkemail --tenant=acme api_key=<your-key> (leave out --tenant without multiTenancy), or pass it as key in the plugin options. With Hub, each tenant enters their own key on the connect page. See API key auth.4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
List contact listsQuery synced data
These tables exist, but Benchmark Email calls don’t fill them yet. This returns only rows you have written yourself.campaigns, contactLists, contacts. See Database for filters and operators.
What’s next
API reference
Every
benchmarkemail.api.* operation with input and output types.Database
Synced entities, search filters, and operators.
Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.