Skip to content
Up to 50% off lifetime deal.Claim
GrowthxAI Outreach
Start freeUp to 50% off

REST endpoints over the same functions the app uses, keys scoped by role and client, and signed webhooks for every event that matters.

Adding a lead with one API call: the request carries an API key and an idempotency key, and the response says the lead was created with no fields left unchanged.

Webhooks

Get every event that matters sent straight to your URL.

Pick all events or only the ones you need. Each delivery is a signed JSON POST, so you can check it came from us before you act on it.

  • Every delivery is signed with an HMAC-SHA256 of the raw body, keyed with your webhook’s secret.
  • Failed deliveries are retried up to 5 times, with the wait doubling each time (about 2, 4, 8, then 16 minutes).
  • Any delivery can be sent again, and the last 100 attempts are listed with their status and error.
  • A failing webhook switches itself off after 50 failures in a row, and comes back on with one click.
Read the webhook guide
A signed webhook delivery for a new interested reply: the event name, delivery id and signature headers, and a payload with the lead id and intent.

Get told the moment a lead replies interested or books a meeting.

Payloads carry ids, not full records. The ones most people start with are highlighted: a new interested reply, a meeting booked, a stalled campaign and an account running dry or disconnected.

Leads

  • lead.created
  • lead.updated
  • lead.unsubscribed

Invites

  • invite.sent
  • invite.accepted
  • invite.withdrawn

Messages

  • message.sent
  • message.received
  • message.classified

Email

  • email.sent
  • email.opened
  • email.clicked
  • email.bounced

Enrollments

  • enrollment.started
  • enrollment.exited
  • enrollment.completed
  • enrollment.held
  • enrollment.resumed
  • enrollment.recovered

Tasks and meetings

  • task.created
  • task.completed
  • meeting.booked

Sequences

  • sequence.activated
  • sequence.paused
  • sequence.published
  • sequence.throttled
  • sequence.stalled
  • sequence.recovered
  • sequence.webhook

Senders

  • sender.connected
  • sender.disconnected
  • sender.reconnected
  • sender.paused
  • sender.level_changed
  • sender.running_dry

Workspace

  • workspace.billing_recovered

Public API

Create leads, enrol them and pull reports from your own code.

Base path /v1, JSON in and out. Keys carry a role and an optional client scope, every write takes an idempotency key, and the full reference is an OpenAPI file you can import into Postman, Insomnia or Swagger UI.

Early access
  1. 1

    Send only the fields you want to change

    Creating or updating a lead changes only the fields you send. A field you leave out keeps its value, and unknown fields are rejected.

  2. 2

    Retries are safe

    Send an Idempotency-Key header on any write. A retry returns the first answer and runs nothing twice.

  3. 3

    Preview, then commit

    Enrolling takes two calls. The preview shows who is eligible and why others aren’t. The commit checks every rule again.

  4. 4

    Behaves exactly like the app

    Every call runs the same database function the app runs, and uses the same sender budgets. Schedules, warm-up, health, the reply stop and blacklists all apply.

What you can call

Leads

Search, create or update, tag, set stage and list, suppress, read the timeline, queue enrichment.

Enrollments

Preview, commit, list, pause, resume, exit, and recover failed leads.

Sequences

List, read steps and stats, activate, pause, and ask why a sequence isn’t sending.

Inbox

List threads, read a thread with the step and sender behind each message, set the intent, assign a teammate.

Senders

Status, health breakdown, today’s budgets and the caps that apply right now.

Reports

Overview, funnel, sequences, senders, clients, reply intents and cost.

Webhooks

Create, list and delete webhooks, see recent deliveries, and replay any delivery.

Keys

Each key has a role and can be limited to some clients. It acts as the teammate who created it.

Building and publishing sequences, connecting senders and changing caps stay in the app, or go through Claude.

Call your own systems from any step in a campaign.

Add either of these two steps anywhere in a sequence.

Call webhook

Sends a signed sequence.webhook event when a lead reaches the step, for example to create a CRM task after the second follow-up.

Call API

Makes an HTTP request to any endpoint you choose, filled in with the lead’s variables.

Recipes

Copy-paste recipes for the tools you already use.

Each file has four recipes with the exact HTTP settings: interested reply to Slack or a CRM, new row to lead to enrolment, found email to lead, booked meeting to CRM deal. They run over the public API.

The detail that matters

Missed an event while your server was down? Replay it from the log.

Failed deliveries are retried on their own, and recent ones stay in the log with their status and last error. Replay any of them once you’re back up, signed like the original and marked as a replay.

API and webhook questions, answered.

Which plan includes the API and webhooks?

Enterprise, which covers outbound webhooks, the public API and CRM sync. The Claude connector is on every plan.

What are the rate limits?

Per key and per hour: 600 reads, 300 writes, and 60 calls that start spending a sender’s budget, such as committing an enrolment. These protect the API; how much a sender does each day is still set by its own limits.

Is there a sandbox?

Not a separate one. Read calls and the enrolment preview change nothing, and a key can be limited to a single client, so you can try calls against a test client first.

How do I get a key?

A manager creates keys in Settings, under API & webhooks. The key is shown once, so store it safely. A workspace can have 25 active keys, and any key can be revoked.

Can a webhook delivery be sent again?

Yes. Recent deliveries are listed with their status and last error, and any of them can be replayed. The replay carries the same payload, marked as a replay, and is signed like every other delivery.

Can I send inbox replies through the API?

Not yet. The route is in the reference and answers “not implemented” for now. Replies go out from the inbox or the Claude connector.

Can I build sequences through the API?

No. Building and publishing sequences, connecting senders and changing caps stay in the app or go through Claude.

Your next customers are one message away.

GrowthxAI is the highest-performing AI sales agent.

Up to 50% off lifetime deal, limited seats

  • Try it risk-free
  • Cancel any time in the billing portal
  • Teammates are free