renzora
Game Engine

Game Services API

The Game Services API provides backend features for published games: app management, achievements, stats, leaderboards, and friends.

Base URL

https://renzora.com/api

Apps

Register an App

curl -X POST https://renzora.com/api/apps \
  -H "Authorization: Bearer rz_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Game",
    "description": "An awesome multiplayer game",
    "website": "https://mygame.com"
  }'

Response:

{
  "id": "uuid",
  "name": "My Game",
  "app_token": "rza_x9y8z7...",
  "created_at": "2026-03-31T00:00:00Z"
}

List Your Apps

curl https://renzora.com/api/apps \
  -H "Authorization: Bearer rz_..."

Achievements

Define and unlock achievements for your game's players.

Define Achievements

curl -X POST https://renzora.com/api/apps/{app_id}/achievements \
  -H "Authorization: Bearer rza_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "First Blood",
    "description": "Win your first battle",
    "icon_url": "https://example.com/icon.png",
    "points": 10,
    "hidden": false
  }'

Unlock Achievement for Player

curl -X POST https://renzora.com/api/apps/{app_id}/achievements/{achievement_id}/unlock \
  -H "Authorization: Bearer rza_..." \
  -H "Content-Type: application/json" \
  -d '{"user_id": "player-uuid"}'

Get Player Achievements

curl "https://renzora.com/api/apps/{app_id}/achievements?user_id={player_uuid}" \
  -H "Authorization: Bearer rza_..."

Stats

Track per-player statistics like play time, scores, and custom metrics.

Update Player Stats

curl -X POST https://renzora.com/api/apps/{app_id}/stats \
  -H "Authorization: Bearer rza_..." \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "player-uuid",
    "stats": {
      "kills": 42,
      "play_time_seconds": 3600,
      "level": 5
    }
  }'

Get Player Stats

curl "https://renzora.com/api/apps/{app_id}/stats/{user_id}" \
  -H "Authorization: Bearer rza_..."

Leaderboards

Create a Leaderboard

curl -X POST https://renzora.com/api/apps/{app_id}/leaderboards \
  -H "Authorization: Bearer rza_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "High Scores",
    "stat_key": "score",
    "sort": "desc",
    "reset_interval": "weekly"
  }'

Submit Score

curl -X POST https://renzora.com/api/apps/{app_id}/leaderboards/{board_id}/submit \
  -H "Authorization: Bearer rza_..." \
  -H "Content-Type: application/json" \
  -d '{"user_id": "player-uuid", "score": 9500}'

Get Leaderboard

curl "https://renzora.com/api/apps/{app_id}/leaderboards/{board_id}?limit=50" \
  -H "Authorization: Bearer rza_..."

Response:

{
  "leaderboard": "High Scores",
  "entries": [
    { "rank": 1, "username": "pro_gamer", "score": 15000 },
    { "rank": 2, "username": "speedrunner", "score": 12300 }
  ]
}

Friends

Get Friends List

curl https://renzora.com/api/friends \
  -H "Authorization: Bearer rz_..."

Send Friend Request

curl -X POST https://renzora.com/api/friends/request \
  -H "Authorization: Bearer rz_..." \
  -H "Content-Type: application/json" \
  -d '{"username": "other_player"}'

Accept / Decline

curl -X POST https://renzora.com/api/friends/request/{request_id}/accept \
  -H "Authorization: Bearer rz_..."

Get Online Friends

curl https://renzora.com/api/friends/online \
  -H "Authorization: Bearer rz_..."