dev.tsunagite.getLeaderboard

tsunagite.dev

{
  "id": "dev.tsunagite.getLeaderboard",
  "defs": {
    "main": {
      "type": "query",
      "errors": [
        {
          "name": "chartNotFound",
          "description": "No chart matching the given URI was found."
        },
        {
          "name": "invalidComponent",
          "description": "No score component for the game matching the given ID was found."
        },
        {
          "name": "cursorOutOfBounds",
          "description": "There are fewer scores than the requested cursor point."
        }
      ],
      "output": {
        "schema": {
          "ref": "dev.tsunagite.getLeaderboard#leaderboard",
          "type": "ref"
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "required": [
          "chart"
        ],
        "properties": {
          "mode": {
            "type": "string"
          },
          "chart": {
            "type": "string",
            "format": "at-uri",
            "description": "Must point to type `dev.tsunagite.chart`"
          },
          "limit": {
            "type": "integer",
            "default": 50,
            "maximum": 100,
            "minimum": 1,
            "description": "How many scores to get in this slice."
          },
          "cursor": {
            "type": "integer",
            "minimum": 0,
            "description": "The index of the highest score to query in this slice."
          },
          "sortBy": {
            "type": "string",
            "format": "record-key",
            "description": "The ID of the score component to sort the leaderboard by. Will default to the game's default component if not present. Set to `timestamp` to sort by newest/oldest."
          },
          "versions": {
            "type": "array",
            "items": {
              "type": "bytes",
              "maxLength": 16,
              "minLength": 16
            },
            "description": "The md5 hashes of the chart versions to list scores for. Will default to the chart's current ranked versions if not present."
          },
          "inputMethod": {
            "type": "string"
          }
        }
      },
      "description": "List the leaderboard for a given chart. Does not require auth."
    },
    "leaderboard": {
      "type": "object",
      "properties": {
        "cursor": {
          "type": "integer",
          "minimum": 0,
          "description": "The integer index of the next score after this slice. If not present, no further scores remain."
        },
        "scores": {
          "type": "array",
          "items": {
            "ref": "dev.tsunagite.defs#associatedScore",
            "type": "ref"
          },
          "description": "The scores in this slice of leaderboard, sorted in descending order by the specified property."
        }
      },
      "description": "A sorted leaderboard of associated scores, with an index for assembling longer leaderboards."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Defnitions related to querying leaderboards hosted via Tsunagite."
}

Validate Record

Validate a record against dev.tsunagite.getLeaderboard

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:pz4sp2vf5w26wnaee253gfms
CID
bafyreifdm5uuxfoeeg3bu7x2eadvnlyoxstvgybcwwqhm5su62omy6jilu
Indexed At
2026-05-13 10:23 UTC
AT-URI
at://did:plc:pz4sp2vf5w26wnaee253gfms/com.atproto.lexicon.schema/dev.tsunagite.getLeaderboard

Version History (2 versions)

Referenced Schemas (1)

Lexicon Garden

@