Platform

Available

REST API & webhooks

A read API over leads, campaigns, senders and the inbox, two webhook events, and the MCP endpoint on the same key.

Who it's for: Engineers moving outreach state into their own systems — a CRM, a warehouse, a dashboard, an agent.

The problem it solves

  • ✕Outreach state that only exists in one vendor's UI cannot be joined to anything else.
  • ✕Polling for replies is wasteful when the engine already knows the moment one lands.
  • ✕A packaged integration never covers the one field your team actually reports on.

How it works

1

Mint one key

A tcz_live_ workspace key from Developer → Create a key. It authenticates the REST API and the MCP endpoint; only its hash is stored.

2

Read what you need

GET /api/v1/campaigns, /leads, /accounts and /inbox — the same objects the app renders, as JSON.

3

Subscribe to the two events

Register a URL under Settings → Webhooks and receive connection.accepted and message.received as they happen.

What you get

  • ✓GET /api/v1/campaigns (with funnel counters), /campaigns/:id, /leads, /accounts, /inbox
  • ✓Webhook deliveries for connection.accepted and message.received, with a per-workspace delivery log
  • ✓The same key drives the MCP endpoint — LinkedIn search and profile tools, plus the workspace reads
  • ✓Bearer auth, or the session cookie when called from the app

Honest limits

  • ›v1 is a read API. POST authenticates and answers 202 with the body it received, but nothing is written yet — drive changes from the app or the MCP pause tool.
  • ›Webhook payloads are not signed. Deliveries carry an x-topclozer-event header; treat the endpoint URL as a secret and read anything important back over the API.
  • ›Two events, not a catalogue: an accept and an inbound message. There is no booking, draft or campaign-state event.
  • ›No paging, filtering or since-parameters — collections come back whole. Filter on your side.

FAQ

What does the API cover?

Reads over campaigns (with their funnel counters), leads, sender accounts and the unified inbox, plus two outbound webhook events. Writes over v1 are accepted but not yet applied.

Are webhooks signed?

Not today. A delivery is one best-effort POST carrying an x-topclozer-event header and no signature, and it is not retried. Keep the endpoint URL secret and confirm anything consequential with a read before you act on it.

Can an agent use the same key?

Yes — the MCP endpoint takes the same tcz_live_ credential. Every tool there reads except the 15 propose_* tools, which queue an action for a person to approve, and connect_linkedin_account, add_do_not_contact, pause_campaign and install_product, which change only this workspace. Neither interface sends on its own: a proposal waits for a person.

Run it against your own workspace

7-day free trial · no setup fees · cancel anytime.