Admaxxer Pixel API — Endpoints

All endpoints are mounted under /api/v1/pixel/. The caller workspace is always derived from the API key; no request body or query parameter can override it.

GET /pixel/websites

Lists all non-deleted pixel websites in the workspace. Returns at most 1,000 rows (GL#83 cap).

Scope: pixel:read

curl https://admaxxer.com/api/v1/pixel/websites -H 'Authorization: Bearer $KEY'
{ "data": [{ "id": "admx_…", "domain": "example.com", "name": "Main site", "createdAt": "2026-04-17T00:00:00Z" }], "meta": { "request_id": "req_…" } }

GET /pixel/metrics/{pipe}

Mints a 120-second Tinybird JWT for the named analytics pipe. The client then queries Tinybird directly. Allowed pipes include p_realtime_visitors, p_top_pages, p_referrers, p_geo, p_devices, p_tech, p_languages, p_traffic_sources, p_funnel, p_funnel_v2, p_goal_conversions, p_attributed_revenue, p_retention_cohort, p_sessions_list, p_visitor_profile, p_visitor_timeline, p_llm_traffic, p_events_catalog, p_pixel_healthcheck, p_metric_series.

Scope: pixel:read · Query: website_id (optional, bound as fixed param), from, to (optional date range passed to the downstream pipe).

curl 'https://admaxxer.com/api/v1/pixel/metrics/p_top_pages?website_id=admx_123&from=2026-04-01&to=2026-04-17' \
  -H 'Authorization: Bearer $KEY'

GET /pixel/goals

Lists configured conversion goals (name, selector, created_at).

Scope: pixel:read

GET /pixel/alerts

Lists anomaly detection rules (metric, threshold, channel).

Scope: pixel:read

GET /pixel/reports

Lists scheduled email/Slack reports (cadence, recipients, last_sent_at).

Scope: pixel:read

GET /pixel/share-links

Lists public dashboard share links (token prefix, expires_at, password-protected flag). Raw tokens are never returned.

Scope: pixel:read

GET /pixel/visitors/{id}

Mints a JWT scoped to a single visitor. The token queries p_visitor_profile and returns session count, first/last seen, country, device, LLM engine, and recent events.

Scope: pixel:read

POST /pixel/events

Ingests a single event server-to-server. Routes to the correct Tinybird datasource based on name: pageviewpageviews, customcustom_goals, paymentvisitor_payments.

Scope: pixel:write

curl -X POST https://admaxxer.com/api/v1/pixel/events \
  -H 'Authorization: Bearer $KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "website_id": "admx_123",
    "name": "payment",
    "visitor_id": "v_abc",
    "amount": 99.00,
    "currency": "USD"
  }'

The response contains the visitor_id Admaxxer attached (either the one you supplied or a fresh UUID if omitted).

POST /pixel/identify

Attaches an external identifier (email, user_id) to a pixel visitor. The external id is SHA-256 hashed before being written to Tinybird, so raw PII never lands in the analytics store.

Scope: pixel:write

curl -X POST https://admaxxer.com/api/v1/pixel/identify \
  -H 'Authorization: Bearer $KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "website_id": "admx_123",
    "visitor_id": "v_abc",
    "external_id": "jane@example.com",
    "traits": { "plan": "pro" }
  }'

Response Envelope

Every response (success or error) includes a meta object with a request_id for support triage:

{ "data": …, "meta": { "request_id": "req_abc123" } }

Related

Overview · Auth · Errors · Rate Limits