1. Leaderboards
Returning.AI
  • Getting Started
  • Bulk Operations
    • Bulk user updates
    • List bulk update jobs
      GET
    • Get bulk update job status
      GET
    • Get bulk update job details
      GET
    • Bulk update users from CSV
      POST
    • Bulk update premium currency from CSV
      POST
  • Chart Analysis
    • Create Analysis
      POST
    • Get Analysis
      GET
    • Update Analysis
      PATCH
    • Delete Analysis
      DELETE
    • List Analyses
      GET
    • Append Drawings
      POST
  • Rewards & Redemptions
    • Redemption lifecycle
    • Store catalog to redemptions
    • Update redemption order status or refund
    • List redemption orders by user email
    • List redemption statuses
    • Get redemption status by ID
    • List redemption orders by community
    • Create redemption order status
    • Get redemption order status history
    • List redemption orders by custom-field identifier
  • Gamification
    • Leaderboards
      • Leaderboards
      • List leaderboards with pagination
        GET
      • Create a new leaderboard
        POST
      • Update an existing leaderboard
        PATCH
      • Get a single leaderboard by ID
        GET
      • Delete a leaderboard
        DELETE
    • Streaks & Mini Games
      • Mini-game State and History
      • List user streak logs
      • List mini-game logs by user email
      • Get current mini-game and streak state
      • Update user spin-wheel information
    • Referral
      • Referral Program Integration
      • Get referral programs
      • Get user's referral summary
    • Rolling Data
    • Match Predictions
      • Create match prediction
      • List match predictions
      • Get match prediction
      • Patch match prediction
      • Publish match prediction
      • Settle match prediction
      • Get settlement results
      • Void match prediction
      • Bulk update match predictions
      • Get bulk job status
      • Get bulk job results
    • Loyalty Points
      • Create loyalty points export
      • Get loyalty points export status
      • Get loyalty points export download link
    • Quizzes
      • Create quiz
      • List quizzes
      • Get quiz
      • Update quiz
      • Delete quiz
      • Add quiz question
      • Update quiz question
      • Delete quiz question
    • Get tier configuration
      GET
    • Get daily user XP and coin changes
      POST
    • Search user gamification logs
      POST
    • Get user activity stats
      POST
  • Messaging
    • Agent messaging workflow
    • Get Messages
    • Send Message
    • Reply Message
    • React Message
    • Upload message images
  • Users
    • User directory and provisioning
    • Get Users with Filters
    • Create New User
    • Get User Data
    • Manage User Account
    • Get User Milestones
    • Update User Data, Identifier, And Roles
  • Channels
    • Iframe
    • List integration channels
  • Events
    • Outgoing webhooks
      • Encryption
      • User Joins Server
      • User Visits server
      • New Message Posted Anywhere
      • New Message Posted To channel
      • Purchased Store Item
    • Incoming webhooks
      • API Keys & Encryption
      • Send message into channels
      • Update Custom User Fields
      • Update In-game currency
  • Widgets
    • Authenticated Widgets
    • Public widgets
    • Channels
    • Leaderboard
    • Milestone
    • Socials
    • Store
  • Community Analytics
    • Get Loyalty Overview
    • Get Phone Verification Contacts
  • Store
    • Store journey
    • Store catalog
    • Purchase History
      • Archive or restore an order
      • Update redemption instructions or voucher details
    • Categories
      • List Store categories
      • Create Store category
      • Get Store category by ID
      • Update Store category
      • Delete Store category
    • Products
      • List products
      • Create products in bulk
      • Create product with vouchers
      • Update products in bulk
      • Read product
      • Update product and append vouchers
      • Delete product
    • Redemption-transaction
      • Get redemption transaction detail
    • Get Store configuration
    • Update Store configuration
  • Community
    • Community directory and appearance
    • Appearance
      • Update community theme colors
      • Update community bot profile
      • Update community URL metadata
      • Update community name and URL
    • Community Users
      • Get community users
      • Get user
    • Create community
  • User Fields
    • User field definitions and history
    • User Field History
      • List Community User-Field History
      • List One Field Across Users
      • List One User Across Fields
      • List One User's One Field
      • Update A User Field Value
      • Deprecated Field-First History Write
      • Deprecated Field-First History Read
    • Create A User Field Definition
    • Get A User Field Definition
    • Update A User Field Definition
    • Delete A User Field Definition
    • List User Field Definitions
  • API Keys
    • API key lifecycle
    • Community API Keys
      • Create API key
      • Read API keys
      • Delete API key
      • Update API key
    • User API Keys
      • List user API keys
      • Create user API key
      • Update user API key
      • Delete user API key
      • Get current API key information
  • Legacy
    • Servers
      • Create server
      • List servers
      • Update server metadata
    • Bulk Operations
      • Bulk import users from CSV
    • Authentication
      • Register user with password
      • Verify user email
      • Log in user with password
      • Secure Auth
    • Badges
      • List badges
      • Create badge
      • Update badge
      • Delete badge
      • Remove badge from user
      • Award badge to user
    • Messaging
    • Roles & Permissions
      • List server roles
      • Create role
      • Update role
      • Delete role
      • List user roles
      • Add role to user
      • Remove role from user
    • Users
      • Get user
      • Upload user avatar
    • Channels
      • Create channel
      • Update channel
      • Delete channel
    • API Keys
      • List integration API keys
      • Create integration API key
      • Delete integration API key
      • Update integration API key
  • Community Logs
    • Retrieve and export community logs
  1. Leaderboards

List leaderboards with pagination

GET
https://sgtr-api.returning.ai/v1/leaderboards
Gamification/Leaderboards

What this endpoint does#

Lists leaderboards for the community resolved from the Bearer API key.
A key missing permission leaderboard receives 403, not a catalog.
INFO
Workflow
Use a community API key that includes leaderboard → GET https://api.returning.ai/v1/leaderboards → if 403 AUTH_PERMISSION_REQUIRED, add the permission or switch keys → do not call GET /leaderboards without /v1.

Quick start#

On https://api.returning.ai:
GET /v1/leaderboards — mounted. 403 when leaderboard is missing.
GET /leaderboards — not mounted (404).

Authentication and permission#

Send Authorization: Bearer <COMMUNITY_API_KEY>. Required permission: leaderboard. Community is resolved from the key; do not send communityID in the path.
FailureResultRecovery
Valid key, missing leaderboard403 AUTH_PERMISSION_REQUIRED Insufficient API key permissions detail: API key is missing required permissions: leaderboardUpdate the key permissions or use a key that includes leaderboard.
Missing or invalid token401Add a valid community key.

Complete examples#

Missing permission (403).
{
  "meta": {
    "status": "error",
    "statusCode": 403,
    "code": "AUTH_PERMISSION_REQUIRED"
  },
  "message": "Insufficient API key permissions",
  "detail": "API key is missing required permissions: leaderboard",
  "solution": "Update the API key permissions or use a key with the required permissions"
}
Same body for ?page=1&limit=5.
List success (200). A key that includes leaderboard returns message Read leaderboards success. Pagination sits on meta (page, limit, total). data is an array of boards.
{
  "meta": {
    "status": "success",
    "statusCode": 200,
    "page": 1,
    "limit": 5,
    "total": 1
  },
  "message": "Read leaderboards success.",
  "data": [
    {
      "_id": "<leaderboardID>",
      "name": "Example board",
      "slug": "example-board",
      "rankBy": "Messages Sent",
      "enabled": true,
      "selected": true
    }
  ]
}
Board objects also include displayedFields, displayFieldsOrder, timeFilters, duration, widget, translations, and permission role lists. Treat those as community-specific. Pagination query: page (minimum 1) and limit (maximum 100).

Success and readback#

HTTP 200 Read leaderboards success. is the list and the readback for create/update/delete. Use _id from data[] on get / patch / delete.
CHECK
403 means the route is mounted
Add the leaderboard permission and retry. GET /leaderboards without /v1 is a missing route.

Errors and recovery#

StatusWhenRecovery
403 AUTH_PERMISSION_REQUIRED leaderboardKey lacks the permissionGrant leaderboard.
404Caller used /leaderboards without /v1Call /v1/leaderboards.
401Missing or invalid Bearer tokenAdd a valid community key.

Retry safety#

TIP
Exact retry
This GET does not create leaderboards. Retry timeouts with bounded backoff. Do not retry 403 without changing the key.

Gotchas#

Call /v1/leaderboards on this gateway.
A 403 is a missing permission, not a missing product.
Prize and reset fields can move rewards. Use a disposable board in tests.

Next steps#

Create a new leaderboard
Requires leaderboard. Prove GET /v1/leaderboards first.

Request

Query Params

Header Params

Responses

🟢200OK
application/json
Leaderboards returned successfully.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🔴500Server Error
🔴502Bad Gateway
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://sgtr-api.returning.ai/v1/leaderboards?page=1&limit=20&sort=displayOrder&fields=name%2Cslug%2CleaderImage%2Cwidget%2CenablePrizePool&search=spring' \
--header 'Authorization: Bearer XXXXXX'
Response Response Example
{"meta": {"status": "success", "statusCode": 200, "page": 1, "limit": 20, "total": 1}, "message": "Read leaderboards success.", "data": [{"_id": "507f1f77bcf86cd799439012", "communityID": "6502c97314a3e564c5bbfa84", "name": "April Last Leaderboard", "slug": "april-last-leaderboard", "description": "Monthly leaderboard created through the partner API.", "image": "https://cdn.example.com/leaderboards/april.png", "rankBy": "currencies", "displayedFields": ["user", "currencies", "xps", "level"], "displayFieldsOrder": ["user", "currencies", "xps", "level"], "timeFilters": ["all-time", "daily", "weekly", "monthly", "yearly"], "performanceDisplay": {"showTop": {"enabled": true, "value": 10}, "showPositive": {"enabled": true}, "showDummy": {"enabled": false}}, "duration": {"start": "2026-01-30T00:00:00.000Z", "end": null, "noEndDate": true, "timeZone": 600, "startTime": {"hours": 12, "minutes": 0, "ampm": "AM"}, "endTime": {"hours": 11, "minutes": 59, "ampm": "PM"}}, "rankedUserRoles": {"users": [], "roles": ["6502c97314a3e564c5bbfa84"], "tags": []}, "viewPermissionUserRoles": {"users": [], "roles": ["6502c97314a3e564c5bbfa84"], "tags": []}, "widget": {"enabled": true, "apiKey": "widget-key", "whitelistedDomains": ["example.com"], "size": "dynamic", "width": null, "height": null, "theme": {"default": "dark", "dark": {"name": "Custom Dark", "accent": "#7C3AED", "accent2": "#22C55E", "accent3": "#F59E0B", "accent4": "#EF4444", "text": "#FFFFFF", "text2": "#E5E7EB", "text3": "#D1D5DB", "text4": "#9CA3AF", "text5": "#6B7280", "text6": "#4B5563", "background": "#111827", "background2": "#1F2937", "background3": "#374151", "background4": "#4B5563", "background5": "#6B7280", "background6": "#9CA3AF", "background7": "#D1D5DB", "divider": "#374151", "divider2": "#4B5563", "shadow": "#000000", "scrollbarBackground": "#1F2937", "scrollbarThumb": "#6B7280"}}, "font": "Inter", "ctaButton": {"enabled": true, "text": "Join", "link": "https://example.com/join"}, "button": {"enabled": true, "text": "View leaderboard", "link": "https://example.com/leaderboard"}, "domains": ["example.com"], "communityThemeOverride": true}, "banner": {"enabled": true, "title": "April Challenge", "description": "Compete for the top monthly prize.", "image": "https://cdn.example.com/banners/april.png"}, "translations": {"name": [{"languageCode": "en", "translation": "April Last Leaderboard"}, {"languageCode": "th", "translation": "April Leaderboard TH"}], "description": [{"languageCode": "en", "translation": "Monthly leaderboard created through the partner API."}]}, "enableLeaderboardReset": true, "leaderboardResetFrequency": "weekly", "enablePrizePool": true, "prizes": [{"_id": "prize-1", "position": 1, "positionFrom": null, "positionTo": null, "isRange": false, "prizeName": "Champion Reward", "useRewardAsPrizeName": false, "coins": 1000, "xp": 500, "customFields": [{"id": "wallet-address", "fieldType": "text", "fieldName": "Wallet Address", "description": "Wallet address used for prize delivery.", "placeholderText": "0x...", "isRequired": true, "isExpanded": false}]}, {"_id": "prize-2", "position": null, "positionFrom": 2, "positionTo": 5, "isRange": true, "prizeName": "Top 5 Reward", "useRewardAsPrizeName": false, "coins": 500, "xp": 250, "customFields": []}], "userInformationDisplay": [{"field": "name", "displayMode": "full", "order": 0}, {"field": "email", "displayMode": "partial", "order": 1}], "leaderboardPageConfig": {"bannerDisplay": {"enabled": true}, "rolesUsers": {"roles": ["6502c97314a3e564c5bbfa84"], "users": []}, "viewingPermission": {"roles": ["6502c97314a3e564c5bbfa84"], "users": []}, "enableWidgets": {"enabled": true}, "guestMode": {"enabled": false}, "leftPanel": {"leaderboardName": true, "startAndEndDate": true, "countdown": true, "eventImage": true, "eventDescription": true, "prizePool": true}, "rightPanel": {"podium": true, "userPosition": true, "hallOfChampions": true}, "timeFilterView": {"allTime": true, "daily": true, "weekly": true, "monthly": true, "yearly": false}}, "enabled": true, "previewEnabled": false, "displayOrder": 1, "order": 1, "selected": false, "createdAt": "2026-05-20T10:00:00.000Z", "updatedAt": "2026-05-20T10:00:00.000Z"}]}
Modified at 2026-08-19 18:38:48
Previous
Leaderboards
Next
Create a new leaderboard
Built with