Docs/Wire contract (v1)

Getting credentials

How an integrator gets from nothing to an api_key + slot_id, either through the dashboard or directly against the onboarding API. For the guided version, see the Quickstart.

  1. Create a publisher account — POST /api/v1/auth/signup, role publisher — and log in.
  2. Register a site/app — POST /api/v1/publishers/sites — receives an api_key (pk_…). kind web | flutter | react_native | app | ios | android.
  3. Create ad slots — POST /api/v1/publishers/sites/{site_id}/slots — each returns a slot_id. format banner | video | interstitial | native | rewarded, size = "WIDTHxHEIGHT".
  4. Put api_key + slot_id into the SDK config. That's all it needs.
bash
curl -X POST https://api.adx.theaimart.co/api/v1/auth/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"...","role":"publisher"}'

curl -X POST https://api.adx.theaimart.co/api/v1/publishers/sites \
  -H "Content-Type: application/json" -H "Cookie: __session=..." \
  -d '{"name":"My App","domain":"example.com","kind":"web"}'
# -> { "site_id": "...", "api_key": "pk_..." }

curl -X POST https://api.adx.theaimart.co/api/v1/publishers/sites/{site_id}/slots \
  -H "Content-Type: application/json" -H "Cookie: __session=..." \
  -d '{"name":"Homepage banner","format":"banner","size":"300x250"}'
# -> { "slot_id": "8b1f2c3d-....-uuid" }

Format caveats (current backend)

rewarded slots cannot be filled by internal demand (the creative table lacks the format), and video uses the excluded VAST path (see Wire contract overview). For this SDK generation, use banner, interstitial, or native (image) slots.

Prefer a guided walkthrough with SDK code attached to each step? See the Quickstart. Prefer the dashboard UI entirely? Create a free publisher account.