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/contactswith an email, fields, tags and audience ids. It upserts by email. - Start an automation:
POST /api/v1/automations/{id}/enrollwith an email. - Record a custom event:
POST /api/v1/contacts/{email}/events. - Export engagement: page through
GET /api/v1/eventswith thenext_cursorfrom each response.
Limits
Each key allows 120 requests per minute by default. Over the limit you get 429 with a Retry-After header.