maxlevel
ContactLog inStart free
API reference

A side door for systems you already run.

The API is not the product — it is how a community that already exists logs actions from its own tools. Three endpoints, an API key, and an idempotency header so a retry cannot double-award.

Base URL and authentication

Every request carries an API key, and the key itself determines which community you are acting on — there is no community id in the path. That is deliberate: with no session to check membership against, deriving scope from the key is stronger than trusting a path parameter.

https://app.maxlevel.be/api/v1/external

Available on every plan. The free tier is rate-limited to 1,000 calls a day rather than blocked, because a developer who cannot make one call cannot evaluate the integration.

Endpoints

MethodEndpointWhat it does
GET/whoamiConfirms a key works and shows the community and tier it is bound to. The fastest way to check an integration is wired up.
GET/actionsThe action definitions this key may log against — id, name, description, XP value, and frequency limit — so an integrator can discover ids without opening the UI.
POST/actions/registerLog a completed action for a member. Accepts an Idempotency-Key header, so a retry after a timeout cannot double-award.
Planned — not built

Outbound webhooks

The signing scheme is real and worth knowing about if you are planning an integration: deliveries are signed with an HMAC over the timestamp and the body, so a captured request cannot be replayed, and the delivery path re-checks the destination against private address ranges at send time rather than only at registration.

What does not exist yet is subscription: there is no way to register an endpoint, so none of the events below can currently reach you. They are listed so you can plan, not so you can build against them today.

action.logged
Fires on every successful log, including the source — web, QR, NFC, bot, or API.
level.up
A member crossed a level threshold. Includes the old and new level.
badge.unlocked
A badge rule evaluated true. Includes the badge and the action that triggered it.
streak.broken
A member missed their window. Useful for a gentle nudge before they give up entirely.
season.ended
A season closed. Carries the final standings so you can run your own rewards.
reward.requested
A member asked to redeem points, ready for an admin to approve or reject.