Gamification API for software teams

Gamification for your product, as an API.

Give your users XP, levels, rewards, collectible cards, live team games and a loyalty program. Your backend sends one event when a user does something; we handle the rules, the balances and the real-time updates.

For SaaS and software teams building CRMs, HR tools, contact centers, e-commerce platforms and more.

Friday Sales Race ยท target 300Live
Blue Bolts
Red Rockets
Green Gears
POST /api/events closed_deal +50 XP
Already running inside the Jurassic Business Suite: CRMHROffice ManagementProject ManagementContact CenterKnowledge Base
What your users get

One event from your code. Four things your users see.

Say your product is a CRM, and one of your users closes a deal.

  1. Ana closes a deal

    Your CRM sends us one event: โ€œclosed_dealโ€. That's the only line of integration this takes.

  2. She's rewarded instantly

    +50 XP and 10 credits. She reaches level 8, and a Legendary โ€œGolden Ticketโ€ card drops into her collection.

  3. Her team pulls ahead

    On the office TV, her team's car jumps forward in this week's sales race. Everyone sees it live.

  4. Credits become perks

    After a month of deals she trades her credits for a half day off โ€” from a catalog you define.

Building for merchants instead? Your e-commerce platform reports each purchase with its amount. Every shopper earns points, climbs from Silver to Gold and redeems a free pastry in a widget your merchants embed with one script tag.

What you can ship

Three features your customers will ask for.

Engagement & recognition

Reward the work your users already do in your product.

  • XP and 50 levels
  • Credits and badges
  • Collectible cards in five rarities
  • Leaderboards

Live team games

Activity in your product moves a game on a shared screen.

  • Racing โ€” first to the target
  • Tanks โ€” last team standing
  • Heist โ€” thieves vs. detectives

Customer loyalty

Let your merchants run a points-and-perks program for their shoppers.

  • Points per euro spent
  • Tiers they define: Bronze, Silver, Gold
  • A catalog of perks to redeem
  • Embeddable widget, one script tag
How it works

Three calls. That's the integration.

Even your AI can do it.

Show the prompt
Integrate my application with the Gamification Engine (https://gamification.one), a REST API that turns what users do into XP, levels, credits, collectible cards, team-game progress and loyalty tiers.

Connection
- Read the base URL and API key from configuration: GAMIFICATION_API_BASE and GAMIFICATION_API_KEY. The key is a server-side secret: never send it to a browser or mobile app, never commit it.
- Send it as the X-Api-Key header on every request. Bodies are JSON with camelCase fields; enum values are numbers.
- Errors are RFC 7807 problem+json: 400 invalid input, 401 bad key, 404 unknown participant or action, 409 a rule said no (for example a daily cap was reached).

1. Define the reward-worthy actions (a one-time setup script; a 409 means the key already exists)
POST /api/actions
{"key": "closed_deal", "name": "Closed a deal", "xpReward": 50, "creditReward": 10}
Rewards per amount, e.g. 2 XP + 1 credit per euro spent, at most 5 times a day:
{"key": "purchase", "name": "Purchase", "xpReward": 0, "creditReward": 0, "rewardMode": 1, "xpPerUnit": 2, "creditsPerUnit": 1, "dailyCap": 5}
Look through my codebase, propose the actions that fit it with their rewards, and wait for my confirmation before creating them.

2. Register users as participants (idempotent: a known externalUserId returns the existing participant)
POST /api/participants
{"externalUserId": "<my user id>", "displayName": "Jane Doe", "email": "jane@example.com", "type": 0}
type 0 = employee, 1 = customer. Call it when a user is created, plus a one-off backfill for existing users.

3. Send an event whenever one of those actions happens
POST /api/events
{"externalUserId": "<my user id>", "actionKey": "closed_deal"}
Add "amount": 49.90 for per-amount actions. The response says what the event caused: xpAwarded, creditsAwarded, totalXp, totalCredits, levelBefore, levelAfter, leveledUp, drop (a collectible card, or null) and gameScoreUpdates. A 404 for the participant means they were never registered: register them, then send the event once more.

How to build it
- One small client in my backend, in the language and HTTP library my project already uses, with configurable base URL and timeouts.
- Send events after my own transaction commits. A gamification failure must never break the user's action: log it instead of failing the request. Events are not deduplicated, so don't retry blindly after a timeout.
- Where my UI has a natural place for it, show level-ups and card drops; ask me before adding new screens.
- Add tests with the HTTP calls mocked.

Optional, ask me first
- Leaderboard: GET /api/participants/leaderboard (?type=Customer ranks customers).
- Customer loyalty widget: my backend mints a short-lived token with POST /api/participants/{id}/tokens and renders
  <script src="{GAMIFICATION_API_BASE}/widget/loyalty-widget.js" data-api-base="{GAMIFICATION_API_BASE}" data-token="{token}" data-target="#loyalty"></script>
  and the site's origin is registered once with POST /api/widget-origins {"origin": "https://shop.example.com"}.
  1. Register your platform

    One call, one API key, your own isolated tenant.

  2. Say what deserves a reward

    closed_deal is 50 XP and 10 credits. purchase pays 2 XP and 1 credit per euro, with a daily cap.

  3. Send events, get rewards back

    Every event returns the XP, credits, level-up, card drop and game progress it caused โ€” in the same response.

# Send an event when someone does something reward-worthy
curl -X POST https://api.example.com/api/events \
  -H "X-Api-Key: $GAMIFICATION_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "externalUserId": "rep-42",
    "actionKey": "closed_deal"
  }'
Cards & collections

Every event is a shot at a drop.

Five rarities from Common to Legendary. Define cards and sets โ€” three scissors and a comb make a haircut โ€” and completion is detected the moment the last card lands.

ScissorsCommon
CombUncommon
HeadsetRare
LaunchEpic
Golden TicketLegendary
Redemption marketplace

Credits become real perks.

A catalog you define โ€” a day off, a team lunch, a free coffee. Redemptions land in a fulfilment queue; cancel one and the credits or cards go back exactly where they came from.

Team lunch
120 credits
Half day off
400 credits
Noise-cancelling headphones
1,500 credits
Team lunch
redeemed by Ana
Pending
Team games

Put the sales floor on the big screen.

Your users open one link on the office TV. Cars move the second a deal closes in your product, the session finishes itself when a team hits the target, and a score multiplier makes the last week of the quarter count double.

๐ŸŽ๏ธ Racingfirst to the target
๐Ÿช– Tankslast team standing
๐Ÿฅท๐Ÿ•ต๏ธ Heistescape or arrest
Loyalty widget

One script tag. A full loyalty program.

Your backend mints a short-lived token per customer; the widget shows their balance, tier progress and perks, and lets them redeem on your site. Your API key never touches the browser.

Acme Coffee RewardsSilver
60credits
150XP
4level
350 XP to Gold
Pastry of the day
25 credits
Coffee for a month
900 credits
Why not build it yourself?

Months of work you don't have to do.

Points look simple until you need level curves, balance audits, refunds, expiry, abuse limits, real-time updates and an admin panel. It's all here, built to be embedded in your product.

Multi-tenant by design

One tenant per customer of yours, each with its own API key, rules and data.

Participant-scoped tokens

Browsers get a short-lived token that sees one person โ€” never your key.

Real-time hub

SignalR pushes game progress the moment an event lands.

Errors you can act on

400s name the field, 409s give a sentence you can show a user.

Admin dashboard

Catalogs, rules, tiers, sessions and the fulfilment queue.

Reward rules, not code

Fixed or per-unit rewards, per-event maximums and daily caps.

Modern .NET

.NET 10 and PostgreSQL, with 290+ automated tests.

Full audit trail

Every credit earned, spent, refunded or expired is on the statement.

Pricing

Start small. Grow into it.

Starter

Free

One tenant, sandbox limits โ€” for trying the API.

Get an API key

Platform

Custom

Many tenants, your hosting, your terms.

Contact sales

Pricing is being finalised โ€” tell us what you're building and we'll set you up.

Ship your first reward this afternoon.

Register a tenant, define one action, post one event. Watch the level-up come back in the response.