mxAURA Developer Center

Quickstart

Five minutes from nothing to a simulated campaign journey.

1. Create an API key

In the app: Account → API → Create key. Choose a name and scopes. For a first look, the Read-only preset is right. The key is shown once; copy it. Keys look like mxa_live_….

2. Prove it works

curl https://api.mxaura.ai/v1/me \
  -H "Authorization: Bearer mxa_live_YOUR_KEY"
{
  "data": {
    "key_id": "a1b2c3d4-…",
    "key_name": "first key",
    "account_id": "bc486e46-…",
    "account_type": "company",
    "scopes": ["components.read", "pools.read", "campaigns.read", "flows.read", "dispatch.read", "hubs.read"],
    "rate_limit_per_min": 120,
    "key_status": "active"
  }
}

/v1/me is the one endpoint every key can call. Use it to verify a key, see its scopes, and see the account it belongs to.

3. List your campaigns

curl "https://api.mxaura.ai/v1/campaigns?limit=10" \
  -H "Authorization: Bearer mxa_live_YOUR_KEY"
{
  "data": [
    { "id": "ad7b0e66-…", "name": "Direct Client", "enabled": 1, "status": "active", "…": "…" }
  ],
  "meta": { "limit": 10, "returned": 1, "total": 1, "next_cursor": null }
}

Every list answers ?limit and ?cursor the same way. See Conventions.

4. Simulate what a contact would receive

This is read-only — it writes nothing and sends nothing.

curl -X POST https://api.mxaura.ai/v1/preview/simulate-campaign \
  -H "Authorization: Bearer mxa_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "campaignId": "ad7b0e66-…", "contactId": "124303957916", "maxSteps": 5 }'

The response is the ordered list of steps the cascade would produce for that contact: which pool, which message, at what position, with the resolved sender and branding. It is the same engine dispatch uses, so what you see here is what would send.

5. Where to next