Per-account keys, predictable REST endpoints for every resource — affiliates, campaigns, referrals, commissions, payout batches, webhooks — and an MCP server that lets Claude Code, Cursor, or Codex run the program from the same chat window.
if your agent can call an API, it can run your program.
Ask a typical affiliate platform for API access and the answer is often "talk to sales," a rate limit that can't survive a real sync job, or a handful of read-only endpoints that skip payouts and webhooks entirely. What's left is CSV exports and a person copying numbers by hand. Here's the difference a real API — one an agent can drive, too — makes:
Full API access sits behind an Enterprise tier, or covers clicks and conversions but not payouts or webhooks. Anything more is a CSV export and a sales call.
Every account gets its own key on every plan — affiliates, campaigns, referrals, commissions, and payouts are each one documented endpoint away, day one.
1. Mint a key in Settings — every account gets its own
qnry_sk_… secret, sent as a Bearer token or the HTTP Basic username, no
shared credentials.
2. Call the endpoint you need — affiliates, campaigns, referrals, commissions, payout batches, webhook endpoints, all cursor-paginated with predictable errors.
3. Or just tell your agent — point Claude Code, Cursor, or Codex at Qanary's MCP server and ask for the same thing in plain English — see the full AI agent setup guide.
Each account mints its own qnry_sk_… secret — nothing shared across
tenants, revoke and reissue from Settings without touching anyone else's integration.
Affiliates, campaigns, referrals, commissions, payout batches, and webhook subscriptions — plus a magic-link endpoint that mints single-use portal SSO links for white-label setups.
Qanary's MCP server at app.qanary.cloud/mcp wraps the same account
credentials so an agent can create programs, list promoters, pull usage, or run
diagnose_attribution without writing a single request — see the
AI agent guide for the full tool list.
Pull GET /payouts and GET /payouts/{id} into your ERP or BI
warehouse on a schedule — batches arrive with line items, so there's no CSV to open and
re-key by hand.
Filter GET /affiliates by campaign_id, status, or
tag, join it with GET /referrals, and ship a branded view your
team actually wants to look at.
Call POST /affiliates the moment your own signup flow completes — a
repeat email re-enrolls the existing promoter instead of erroring, so there's nothing to
catch and retry.
Point Claude Code or Cursor at the MCP server and ask it to run
diagnose_attribution the morning after a campaign launch — no dashboard
clicking, just an answer in chat.
| Capability | Typical affiliate tools | Qanary |
|---|---|---|
| Full REST API on every plan, including Free | Often Enterprise-only | Yes |
| Per-account API keys, not a shared secret | Varies by vendor | Yes |
| Payouts and webhooks covered, not just clicks | Often not | Yes |
| Portal SSO magic links for white-label setups | No | Yes |
| MCP server for AI agents (Claude Code, Cursor, Codex) | No | Yes, app.qanary.cloud/mcp |
| Published OpenAPI spec | Varies by vendor | Yes |
| Rate limit | Often undocumented | 300 requests/minute per key |
"Typical affiliate tools" describes REST access commonly gated behind a paid tier, missing resources like payouts or webhooks, or provisioned only after a sales call. See the full API reference for exact request and response shapes.
qnry_sk_…
secret in Settings → API keys — nothing shared, nothing to leak across tenants.
app.qanary.cloud/mcp and it can create programs, list promoters, pull usage,
and run diagnose_attribution — same account, same permissions, no extra setup.
The REST API and the MCP server are the same account, two front doors — see the full AI agent setup guide for how to point Claude Code, Cursor, or Codex at it.
Mint a per-account secret from Settings → API keys — it looks like
qnry_sk_… — and send it as an Authorization: Bearer header, or
as the username in HTTP Basic auth. There's no account-wide shared key.
300 requests per minute per key. List endpoints use cursor pagination — pass
starting_after with the last seen id and an optional limit
(up to 100) — and every list response returns {data: [...], has_more: bool}.
No — it's the same account and the same data, just a different front door. The MCP
server at app.qanary.cloud/mcp wraps the API for AI agents so you can ask
in plain English instead of writing requests; see the AI agent guide
for the full tool list, including diagnose_attribution.
No. Both ship on every plan, including Free. You're metered on meaningful events — a bot-filtered click or a new conversion — not on API calls or which endpoints you use.
qnry_sk_… secret from Settings.
See pricing
Usage-based, metered on real events — never on API calls or which endpoints you use.
Set up your AI agent
Point Claude Code, Cursor, or Codex at the MCP server and ask in plain English.
Mint a key, point your agent at the MCP server, or both — free, on every plan, no card required.
Join the waitlist