API, MCP and webhooks

The REST API

1 min read·Updated October 27, 2026

Short answer

Make codes, read stats and change destinations from your own tools at https://ariaqr.com/api/v1, with your key as a Bearer token. JSON in and out. The full spec is at /openapi.json and the docs at /developers.

Your app
POST /api/v1/codes
Authorization: Bearer aq_…
A verified code or a live page
Your app calls the API with your key and gets a verified code back.

Endpoints

  • POST /api/v1/codes: turn an image into a verified code and (by default) activate it. Business.
  • GET /api/v1/codes: every code, newest first.
  • GET /api/v1/codes/{code}: one code, with its stats.
  • PATCH /api/v1/codes/{code}: change where it points. Business.
  • GET /api/v1/pages/{id}/leads: a page’s leads, as JSON or CSV.

Create a code

bash
curl -X POST https://ariaqr.com/api/v1/codes \
  -H "Authorization: Bearer aq_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"image_url":"https://harborpine.com/lighthouse.png","url":"https://aqr.li/harborpine","edge":"soft"}'
Create a code from an image URL.

The image must be square (PNG, JPEG or WebP, up to 10 MB). Generation and verification can take a few minutes. The response has the short link, the preview, the download link and the private stats link.

json
{
  "job_id": "j_8f2c…",
  "verified": true,
  "activated": true,
  "code": "a7Bx9Q",
  "short_url": "aqr.li/a7Bx9Q",
  "preview_url": "https://ariaqr.com/api/preview/…",
  "download_url": "https://ariaqr.com/api/download/…",
  "stats_url": "https://ariaqr.com/stats/a7Bx9Q?k=…",
  "pay_url": null
}
What comes back.

Errors and limits

Errors come back as { "error": "…" } with status 400, 401, 402 (plan needed), 403, 404 or 429. The limit is 60 requests a minute per key.

Tip · Landing pages are made through MCP, not REST: see connect Claude or ChatGPT.

Related articles

Search all guides

Still stuck?Write to us and a person replies, usually the same day.Contact us