guide.climbers.appview.getRounds

gunnar.foo

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "attemptView": {
      "description": "One logged go, as it is stored in the climber's space.",
      "properties": {
        "note": {
          "description": "Whatever the climber wants to remember about the go.",
          "type": "string"
        },
        "outcome": {
          "description": "What came of the go, as a token reference.",
          "knownValues": [
            "guide.climbers.dev.attempt#flash",
            "guide.climbers.dev.attempt#send",
            "guide.climbers.dev.attempt#top",
            "guide.climbers.dev.attempt#attempt"
          ],
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "outcome"
      ],
      "type": "object"
    },
    "main": {
      "description": "A climber's logged attempts, grouped into rounds. A round is an unbroken run of attempts within a timeframe sharing both route and wall angle.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "cursor": {
              "type": "string"
            },
            "rounds": {
              "items": {
                "ref": "#roundView",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "rounds"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "actor": {
            "description": "The climber whose logbook to read.",
            "format": "at-identifier",
            "type": "string"
          },
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 50,
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "maxDuration": {
            "description": "Longest a round may span, in seconds. Unbounded when omitted, so a round ends only when the route or the angle changes.",
            "maximum": 86400,
            "minimum": 1,
            "type": "integer"
          },
          "route": {
            "description": "Narrow to one route. Every route is listed when it is omitted.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "actor"
        ],
        "type": "params"
      },
      "type": "query"
    },
    "roundView": {
      "description": "One unbroken run of attempts at one route.",
      "properties": {
        "angle": {
          "description": "Wall angle the round was climbed at.",
          "type": "integer"
        },
        "attempts": {
          "description": "The goes making up the round, in chronological order.",
          "items": {
            "ref": "#attemptView",
            "type": "ref"
          },
          "type": "array"
        },
        "outcome": {
          "description": "What came of the go, as a token reference.",
          "knownValues": [
            "guide.climbers.dev.attempt#flash",
            "guide.climbers.dev.attempt#send",
            "guide.climbers.dev.attempt#top",
            "guide.climbers.dev.attempt#attempt"
          ],
          "type": "string"
        },
        "route": {
          "ref": "guide.climbers.appview.getBoardRoutes#routeView",
          "type": "ref"
        },
        "startedAt": {
          "description": "When the first attempt of the round was logged.",
          "format": "datetime",
          "type": "string"
        },
        "wall": {
          "ref": "guide.climbers.appview.getWall#wallView",
          "type": "ref"
        }
      },
      "required": [
        "route",
        "startedAt",
        "angle",
        "outcome",
        "attempts"
      ],
      "type": "object"
    }
  },
  "id": "guide.climbers.appview.getRounds",
  "lexicon": 1
}

Validate Record

Validate a record against guide.climbers.appview.getRounds

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

Metadata

DID
did:plc:f5gvem3uvafi2ord4txpyvjj
CID
bafyreibtplhgdg2jwrbcdgjo5il2x7ls3eoth6bl4fiz4qyrrchnndah64
Indexed At
2026-09-02 23:27 UTC
AT-URI
at://did:plc:f5gvem3uvafi2ord4txpyvjj/com.atproto.lexicon.schema/guide.climbers.appview.getRounds

Referenced Schemas (2)

  • guide.climbers.appview.getBoardRoutes#routeView
  • guide.climbers.appview.getWall#wallView

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@