Quick start

Mirror a player, fire an event, open a lootbox, see the WINZ credit. ~5 minutes.

1 · Get an API key

Your account manager provisions a tenant at /tenants and issues your first API key. The secret is shown once; store it safely.

Key format
wsk_live_<48 hex chars> (production) or wsk_test_<48 hex chars> (sandbox)

2 · Identify yourself

Confirm your key works and see what tenant + brand it resolves to:

GET /v1/me
Authorization: Bearer wsk_live_…

# Response 200
{
  "tenant": { "slug": "acme-casino", "service_mode": "plug_in", "key_mode": "live", "scopes": ["*"] },
  "brand": { "slug": "acme-casino" }
}

3 · Mirror a player

One call from your PAM creates the player on WOWsino. Idempotent on username within your brand.

POST /v1/players
Authorization: Bearer wsk_live_…
Content-Type: application/json

{
  "username":      "StarlordV7",
  "email":         "sv7@example.com",
  "external_ref":  "your-pam-user-uuid",
  "country_code":  "US"
}

4 · Open a lootbox

Server-authoritative RNG, balanced WINZ credit, provably-fair seed.

POST /v1/lootbox/<lootbox_id>/open
Authorization: Bearer wsk_live_…
Content-Type: application/json

{
  "user_id":         "StarlordV7",
  "idempotency_key": "open-2025-05-19-uniq-abc"
}

# Response 201
{
  "open_id":           "…uuid…",
  "reward":            { "asset": "WINZ", "amount": 1500, "segment_label": "big" },
  "server_seed":       "abc…64hex",
  "server_seed_hash":  "7f3…64hex",
  "deduped":           false
}
Replay the same request with the same idempotency_key: you get the original reward back, with "deduped": true. Never a second draw.

5 · Subscribe to webhooks

Get notified when something happens. Webhooks reference →

# Subscribed event
{
  "type":         "lootbox.opened",
  "delivered_at": "2025-05-19T20:14:33Z",
  "data": {
    "lootbox_id":   "…uuid…",
    "lootbox_name": "Friday Daily",
    "user":         "StarlordV7",
    "reward":       { "asset": "WINZ", "amount": 1500 }
  }
}

What's next