Casino Api Pro

Get started

Quickstart

From nothing to a playable sandbox session in six steps.

This walks from nothing to a playable game session in the sandbox. Everything here uses play money — no licence is required to complete it, and no real balance can move.

1. Get credentials

Ask us for a sandbox account at casinoapipro.com. You will get a dashboard login; create a credential pair there. The secret is shown once — store it in your secret manager before closing the dialog.

credential (example)
{
  "api_key": "ck_test_7f3c9a21",
  "api_secret": "cs_test_9d41…shown once"
}

2. Exchange them for a token

Credentials are long-lived; access tokens are not. Exchange the pair for a bearer token and cache it until it expires.

curl -X POST https://api.casinoapipro.com/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "ck_test_7f3c9a21",
    "api_secret": "cs_test_9d41"
  }'

3. List the games you can launch

bash
curl https://api.casinoapipro.com/v1/games \
  -H "Authorization: Bearer $ACCESS_TOKEN"

The response contains only games enabled for your operator account, with your per-game stake limits already applied.

4. Point us at a wallet

Before a session can be created, we need somewhere to send debits and credits. In the sandbox you can skip writing one: create a sandbox player from the dashboard and we will use the built-in play-money wallet, which honours the same idempotency contract as a real one.

iTest your retries properly

The sandbox wallet is not a stub that always says yes. It enforces balances, rejects duplicate transaction_ids the way production does, and can be told to fail, so your retry path is genuinely exercised before it matters.

5. Create a session

curl -X POST https://api.casinoapipro.com/v1/sessions \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "game_id": "mines",
    "player_id": "your_player_42",
    "currency": "GHS"
  }'
json
{
  "session_id": "sess_kgv5ws4duteqwhvjobok",
  "launch_url": "https://games.casinoapipro.com/play?token=eyJhbGciOi…",
  "expires_at": "2026-08-29T19:11:56.237Z",
  "game": { "id": "d533d22e…", "slug": "mines", "name": "Mines" },
  "player_id": "your_player_42",
  "currency": "GHS"
}

6. Open the launch URL

Redirect the player, or drop it into an <iframe>. The token in the URL is scoped to one operator, one player and one game, and it is short-lived — mint a fresh session per launch rather than storing the URL.

What to build next