---
name: autonix-api
description: >-
  Use when creating Autonix tracked QR codes, listing trackers, reading scan/visit
  data, pulling CRM reports, or wiring Autonix via REST, Zapier, MCP, or agent tools.
  Requires a Professional+ API token (AUTONIX_API_TOKEN).
---

# Autonix API

Autonix tracks QR codes and short links. Prefer the **hosted MCP** when the client
supports remote MCP; otherwise call the REST API with the same Bearer token.

Public install: https://www.autonix.io/developers/guides/mcp-and-skill

## Hosted MCP (preferred)

Point Cursor (or any MCP client) at:

```json
{
  "mcpServers": {
    "autonix": {
      "url": "https://app.autonix.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}
```

No local Node install required. Same Professional+ token as REST.

## Auth (REST)

- Base URL: `https://app.autonix.io/api` (override with `AUTONIX_API_BASE`)
- Header: `Authorization: Bearer $AUTONIX_API_TOKEN`
- Also accepted: `api_token` query/body (Zapier-compatible)
- Plan: Professional ($99) or Enterprise. Free cannot mint tokens.
- Rate limit: default 120 req/min per token (protective; usage unlimited)
- Mint tokens in-app: Account → API

## Date formats

| Surface | Format | Example |
|---------|--------|---------|
| Reports + visit windows | `Y-m-d\TH:i:sO` | `2026-01-01T00:00:00+0000` |
| `scansAnalytics` | `YYYY-MM-DD` | `2026-01-01` |

Foreign tracker ids return **403** (never silently filtered).

## Preferred workflows

### Create a tracked QR from a URL

`POST /tracker/qrcode`

```json
{ "redirect_url": "https://example.com/page", "name": "optional-name" }
```

Use stable names per page type when generating many codes (`page:pricing`).
Counts against the plan tracker limit.

### List / inspect trackers

- `GET /tracker`
- `GET /tracker/show/{id}`
- `GET /tracker/analytics/{id}` → `{ totalScans, totalClicks }`

### List scans (Zapier surface)

`GET /visits/tracker/{id}`

Optional query: `visit_start`, `visit_start_end`, `page`, `rows`, `search` (min 3 chars).

CSV: `GET /visits/tracker/{id}/download/csv`

Do not invent new Zapier endpoints — use this surface.

### Reporting for CRM sync

- `GET /report/?report={name|type|tag|date|browser|city|country}`
  - optional `trackers[]`, `visit_start`, `visit_start_end`
  - response: `{ data, meta: { report, tracker_count, ... } }`
- `GET /report/tag-crosstab?row=&col=`
- `GET /dashboard/scansAnalytics?dateStart=&dateEnd=`

### Plain (non-tracked) QR image

`POST /qrCode` with `type=url` + `url` (auth required). Prefer tracked QR create
when analytics matter.

## MCP tools (same auth)

| Tool | API |
|------|-----|
| `create_tracked_qr` | `POST /tracker/qrcode` |
| `list_trackers` / `get_tracker` | `GET /tracker`, `GET /tracker/show/{id}` |
| `tracker_analytics` | `GET /tracker/analytics/{id}` |
| `list_visits` | `GET /visits/tracker/{id}` (+ date/page filters) |
| `download_visits_csv` | `GET /visits/tracker/{id}/download/csv` |
| `get_report` / `get_tag_crosstab` | report endpoints |
| `scans_analytics` | `GET /dashboard/scansAnalytics` |

Optional local stdio fallback (Node): https://www.autonix.io/developers/mcp/

## Docs

- https://www.autonix.io/developers
- OpenAPI: https://www.autonix.io/openapi.yaml

## Safety

- Never put API tokens in browser/embed scripts.
- The free Take It Mobile widget is client-side only; trackable QRs need a
  server-side token call.
