Built to be driven by code
REST endpoints for links, analytics, QR codes, barcodes, and conversion tracking; signed webhooks on every scan; and an MCP server so an AI assistant can manage links without the dashboard. Full API access is included on Enterprise at $19.99 a month. Pro includes a conversion key (scope track:write only) for the Track API.
Authentication
Send your key as a Bearer token. Keys are stored as SHA-256 hashes and scoped to one workspace. The API allows 100 requests per minute per workspace.
curl https://reroutehq.com/api/v1/analytics \
-H "Authorization: Bearer $RR_API_KEY"
{
"totalScans": 18422,
"topLinks": [
{ "shortId": "menu", "scans": 6120 },
{ "shortId": "q3-flyer", "scans": 4380 }
],
"countries": [
{ "country": "US", "count": 11204 },
{ "country": "CA", "count": 3311 }
]
}Endpoints
/api/v1/linksList links with search, tag filter, sort, and pagination (up to 100 per page).
/api/v1/linksCreate a link. Optional custom short ID, tags, iOS and Android URLs, expiry, or scan limit.
/api/v1/links/:idFetch one link by UUID.
/api/v1/links/:idUpdate destination, tags, pixels, expiry, scan limit, or active state.
/api/v1/links/:idSoft-delete a link (sets isActive to false).
/api/v1/links/bulkCreate, update, or soft-delete up to 100 links in one call.
/api/v1/links/:id/analyticsPer-link scan analytics for a date range.
/api/v1/analyticsTime series, totals, top links, devices, browsers, countries, cities, UTM, and referrers.
/api/v1/analytics/exportExport raw scan events as CSV or JSON (up to 50,000 rows).
/api/v1/qrRender a QR code as PNG or SVG (100–1024 px). Optional styled output: shapes, colors, circular ring frames, shape masks, and halftone art — SVG only. In the API (Enterprise), all styles are available.
/api/v1/barcodeRender UPC-A, EAN-13, EAN-8, ITF-14, GS1-128, or Code 128 with check-digit checks.
/api/v1/trackRecord a conversion for a scan click ID (rr_cid) to attribute revenue. Pro: use a conversion key (scope track:write only). Enterprise: any key with track:write.
The QR endpoint takes an optional style object for module and eye shapes, custom colors, circular ring frames, shape masks, and halftone art. Styled output is SVG only and always uses error correction H. In the API (Enterprise), all styles are available.
curl -X POST https://reroutehq.com/api/v1/qr \
-H "Authorization: Bearer $RR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"shortId":"menu","format":"svg","style":{"qrShape":"circle","ringText":"SCAN ME • REROUTEHQ.COM","fgColor":"#1e293b"}}'The AI that sees your funnels and revenue
Connect Claude, ChatGPT, or any MCP client to reRoute and your assistant works from the same data the dashboard shows: where a funnel loses people, which scans turned into revenue through track_conversion and click IDs. It can also create links with routing rules or pull scan numbers from a conversation. Competitors package this as a chat product; we expose the same capabilities through the open Model Context Protocol so you pick the assistant.
Endpoint: POST https://reroutehq.com/api/mcp. Authenticates with the same Bearer API key as REST (Enterprise only; a Pro conversion key cannot use MCP). Same workspace rate limit. Transport is stateless JSON-RPC (no SSE stream). Nine tools: list_links, create_link, list_campaigns, create_campaign, get_analytics, get_report, get_referrers, get_funnel, and track_conversion.
{
"mcpServers": {
"reroute": {
"url": "https://reroutehq.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Full tool arguments and response shapes are in the dashboard Developers documentation. Machine-readable REST: /api/v1/openapi. MCP analytics uses a trailing daysBack window, not the full REST time-series export.
Webhooks
Register an HTTPS endpoint. On each scan the platform sends event scan.created. Each request has an HMAC-SHA256 signature in the reroute-signature header. Reject a timestamp more than 5 minutes (300 seconds) from now, in either direction. The x-reroute-signature header is deprecated. Delivery runs after the redirect, so a slow endpoint does not delay the scanner.
Each event is queued before the first attempt. If your endpoint is down, the platform retries with exponential backoff for up to 5 attempts, then stops. Delivery is at-least-once: a retry can repeat an event your endpoint already accepted, so treat scanId as the idempotency key. Reply 2xx to acknowledge. A 4xx reply is taken as a permanent rejection and is not retried.
Rate limits
- API, per workspace100 / min
- Redirects, per IP60 / min
- Auth attempts, per IP10 / min
Every response carries the standard X-RateLimit headers.
Full reference lives in the dashboard
Create an account to get a key. The Developers tab has request and response shapes, webhook payloads, conversion attribution (rr_cid), and MCP tools. OpenAPI is public at /api/v1/openapi.