Adwix AtlasPlatform

REST API

Create and read leads and customers from your own systems. Version 1 is live: bearer-authed with workspace API keys, stable snake_case responses, honest limits.

Base URL & versioning#

All endpoints live under https://adwixatlas.com/api/v1. The v1 contract is stable — fields are only ever added, never renamed or removed. Breaking changes would ship as v2 alongside, not on top.

Authentication#

Create a key in Atlas → Settings → Integrations → API Keys (workspace owner only, up to 10 active keys). The full secret — aa_live_… — is shown once at creation; we store only a hash, so copy it immediately. Send it on every request:

Authenticated request
curl https://adwixatlas.com/api/v1/leads \
  -H "Authorization: Bearer aa_live_xxxxxxxxxxxxxxxx"

A key grants access to its own workspace's data only, across all v1 endpoints. Revoke a key anytime from the same Settings card — it stops working on the very next request. The list there also shows each key's last used time, so a forgotten integration is easy to spot.

Rate limits#

120 requests per minute per key. Over it you get 429 with Retry-After: 60 — wait and resend. Request bodies are capped at 100 KB (413 beyond). List endpoints return at most 100 rows per call.

Conventions#

FieldAccepted keysNotes
Lists{ "data": [...], "has_more": true }Page with ?limit= (1–100, default 25) and ?offset=. has_more tells you whether another page exists.
Single objects{ "data": { ... } }Creates return 201 with the full created object.
Errors{ "error": "human-readable message" }401 bad/revoked key · 404 not found · 413 too large · 422 validation · 429 rate limit · 500 our side (safe to retry with backoff).
Field stylesnake_casee.g. travel_date, follow_up_date, total_spend, created_at (ISO 8601 timestamps).

Endpoints#

FieldAccepted keysNotes
LeadsGET /v1/leads · POST /v1/leads · GET /v1/leads/{id}List (status filter), create (fires your automations + ad attribution, same as the webhook), fetch one.
CustomersGET /v1/customers · POST /v1/customers · GET /v1/customers/{id}List (search on name/phone/email), create, fetch one.
Outbound webhooksAtlas → your URLlead.created · lead.stage_changed · quote.accepted, HMAC-signed with retries — see the webhooks page.

Spec & tooling#

OpenAPI 3.0 spec — import into any client or codegen tool.
Postman collection — import, set the apiKey variable, go.

Planned next#

Dedicated booking.confirmed and payment.received webhook events (today, lead.stage_changed → confirmed covers the booking-won moment) and update endpoints (PATCH) for leads. Tell us what you need — real requests shape the order.