Skip to content

Help centerDevelopers and security

REST API

Sync contacts, trigger automations and read results from your own systems.

1 min read

The full reference with request and response examples is at /docs/api.

Keys

Create a key under Settings → API keys. Give each integration its own key with only the scopes it needs, for example contacts:write for a signup flow. The key is shown once; store it in your secrets manager.

Authentication

Send the key as a bearer token:

curl https://your-app.example/api/v1/me \
  -H "Authorization: Bearer mm_live_…"

Common tasks

  • Add or update a contact: POST /api/v1/contacts with an email, fields, tags and audience ids. It upserts by email.
  • Start an automation: POST /api/v1/automations/{id}/enroll with an email.
  • Record a custom event: POST /api/v1/contacts/{email}/events.
  • Export engagement: page through GET /api/v1/events with the next_cursor from each response.

Limits

Each key allows 120 requests per minute by default. Over the limit you get 429 with a Retry-After header.

Still hungry for answers?

See every guide