Pharos
Pharos is a marketing command center for the apps you ship: contacts, email campaigns, drip automations, mention monitoring, social, revenue and reviews — all of it scoped per project, all of it reachable over one HTTP API.
The product surface is the API
Most marketing tools are a dashboard with an API bolted on. Pharos is the other way around. Every capability lands as a documented endpoint first, and the dashboard exists so a human can review and approve what was drafted — not to compete with a campaign builder.
That ordering has a practical consequence: these docs are the contract. They
are written to be read by a person onboarding an integration and by a model
driving one. The same pages are served to agents as MCP resources
(pharos://docs/<slug>), so what you read here is what your agent reads.
How the pieces fit
An organization owns projects. A project is one app — its own sender identity, branding, audience, automations and revenue view. Everything else hangs off a project: contacts and the lists they subscribe to, email templates and the campaigns rendered from them, automations, beacons, and the send log.
Three credentials reach a project: a dashboard session, a project API key
(phk_…, pinned to exactly one project), and an organization API key
(pha_…, good for any project it owns). See
Core concepts for the whole model.
Preview is a property of your credential
The ability to actually deliver mail is a separate scope from the ability
to draft, render, and resolve recipients. An agent key carries
campaigns:preview and events:write; it does not carry campaigns:send or
events:send.
So a model can write a campaign, resolve exactly who would receive it, render the final HTML, and preview a transactional email — and cannot send any of it, regardless of what it decides to do. The guarantee lives in the credential rather than in a prompt, which is the only place a guarantee can live.
The same discipline applies to the model itself: Pharos uses an LLM for bounded language generation only. Recipients, numbers, prices, rankings and URLs are computed deterministically and validated before they reach a template. Every generation is audited with its model, prompt version and a hash of its input.
Where to go next
- Quickstart — a key, a synced contact, and a real send, in about ten minutes.
- Core concepts — the object model, in one page.
- Authentication & keys — credentials, scopes, expiry, rate limits.
- Sending & deliverability — bring your own Resend or SES account; Pharos never pools sending.
- API reference — every endpoint, with the scope it demands.
- MCP server — point Claude Code or another agent at your projects.