OpenAPI 3.0
Interactive API reference
Browse the tenant-facing contract, including operations, authentication, parameters, and request and response schemas.
Browse the API reference OpenAPI JSONWe provide the infrastructure for brands to host contests directly inside their apps.
We handle contests, channels, scoring, leaderboards, and real-time participation while you keep your users, authentication and data.
For tenant developers
Explore Qaragon’s tenant API directly, or connect an MCP-compatible assistant to search operations and integration guidance.
OpenAPI 3.0
Browse the tenant-facing contract, including operations, authentication, parameters, and request and response schemas.
Browse the API reference OpenAPI JSONModel Context Protocol
Connect your MCP-compatible AI client to search API operations, inspect their schemas, and find SDK and webhook guidance.
Streamable HTTP endpoint
https://mcp.qaragon.com/mcpUse this URL in your MCP client’s server configuration.
From prediction polls to creative submissions, the same integration ships any format. Configure the rules; ship the contest.
Live prediction games, quizzes, and tournaments for sports fans across iOS and Android — built end-to-end on the Qaragon API.
fanscontest.com

Three guarantees that make Qaragon safe to plug into production — a typed public API, hardened webhook delivery, and tenant isolation that's never an opt-in.
Tenant-scoped REST endpoints for identity, contests, scoring, leaderboards, and prize delivery. Whatever your stack — Rails, Node, Go, Django — you integrate the same way Adidas would.

HMAC-SHA256 signed events. Exponential backoff. Idempotency keys. Dead-letter routing on permanent failure. The boring stuff, done right.

Every row carries a tenant_id. No shared schemas. No cross-tenant leaks. Your data stays yours.

Send the same event twice; the second is a no-op. No double-scores, no double-charges.
Restrict participation by country at the contest level. Server-enforced, not client-trusted.
Multi-round contests with seeding, advancement rules, and full bracket trees.
Attach sponsor brands and reward currencies to any contest. Multiple sponsors per contest supported.
PI-to-PI blocks, submission anti-cheat, and juror review for creative contests.
Ranks recompute on every scored entry. Pushed to your endpoint via webhook.
Three disciplines underpin everything we ship: how we hold your fans, how we deliver events, and how we keep your data yours.
Lightweight fan records. Display name plus optional geo. We never store emails or phones.
fcn_* keys with rotation, scoping, and per-key audit. Issue and revoke without downtime.
Every query carries tenant_id. Cross-tenant leaks are impossible at the row level.
HMAC-SHA256 signatures per event, per tenant secret. Verify before you trust.
Send the same event twice; the second is a no-op. Safe to retry, always.
After max attempts, events land in a queue you can replay, inspect, or audit.
Every tenant-bound action timestamped, scoped, and queryable. No mysteries.
Distributed traces from API call to webhook delivery. Exportable to your stack.
Strict tenant boundaries. No shared schemas, no shared queries, no surprise leaks.
We're in private beta with custom pricing for each integration. Tell us about your fans, your contests, and your timeline — we'll write the right deal.
Every request needs a tenant API key in the Authorization header — keys look like fcn_<env>_<prefix><secret>. The platform verifies the key, resolves your tenant, and applies tenant scoping on every query. Fan authentication stays on your side — your fans never log into us.
Every webhook is signed with HMAC-SHA256 using a per-tenant secret. The signature ships in an X-FC-Signature header — verify before you trust. Replay attacks are blocked by per-event idempotency keys.
No emails, no phone numbers, no real names, no payment details. The platform stores a PlatformIdentity per fan — your tenant_user_id plus optional display name and country. Everything else lives in your database.
Retries with exponential backoff for up to 24 hours. After max attempts, the event lands in a dead-letter queue you can inspect, replay, or audit. You will never silently lose an event.
Yes. Send your existing user IDs as tenant_user_id when creating PlatformIdentities and we mint platform UUIDs you can store alongside. Migration is one bulk API call — no exports, no schema mapping.
A weekend for a proof of concept; a sprint for production. The integration surface is one API plus your webhook endpoints — most of the work is in your own code (mapping our PI UUID to your user id, writing webhook handlers, dispatching notifications and rewards your way).
Tell us about your fans, your contests, and your timeline — or just say hello. Reach us any time at: