Skip to content

Overview

Run games, draws and rewards from your own backend.

The Keliplay API lets your backend do most of what the dashboard does with campaigns: set up channels, configure and activate campaigns, draw winners, hand out rewards and read results. It also mints the client tokens your players need to play.

The base URL is https://api.keliplay.com. To import this reference into Postman or a code generator, download openapi.yaml.

Authentication

Create an API key in the dashboard under Settings > API keys, then send it on every request as a bearer token:

Authorization: Bearer krds_sk_a1b2c3d4e5f6_...

Each key carries a list of permissions. Every operation below names the permission it needs. A key without it gets 403 forbidden. Keep keys on your server. Never send one to a browser or an app.

Errors

Every error has the same shape:

{ "error": { "code": "invalid_request", "message": "Invalid request json.", "details": [] } }

code is stable and safe to branch on. message is written for a person. details appears on validation errors and lists each field that failed, as { "path": "name", "message": "..." }.

A 402 upgrade_required means your plan does not include the feature, or you have reached a plan limit. A 403 forbidden means the key lacks a permission. The two are fixed by different people, so they are kept apart.

Rate limits

Some operations are rate limited per API key. Their responses carry X-RateLimit-Limit (requests allowed in the window) and X-RateLimit-Remaining. Over the limit you get 429 rate_limited with a Retry-After header, in seconds. Each limited operation states its limit.

Pagination

List operations that page take limit and offset query parameters and return total, the number of matching items across all pages. Fetch the next page by adding limit to offset until you have total items.

Request size

Request bodies are limited to 256 KB.

Information

  • OpenAPI version: 3.1.0

An API key from Settings > API keys, sent as Authorization: Bearer <key>.

Security scheme type: http

Bearer format: krds_sk_...