guide.climbers.dev.boardRoute

gunnar.foo

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "grade": {
      "description": "A grade at a specific wall angle.",
      "properties": {
        "angle": {
          "description": "Wall angle in degrees from vertical.",
          "type": "integer"
        },
        "value": {
          "description": "Difficulty.",
          "type": "integer"
        }
      },
      "required": [
        "angle",
        "value"
      ],
      "type": "object"
    },
    "hold": {
      "description": "A hold used by a route.",
      "properties": {
        "conditions": {
          "description": "Constraints applying to this hold alone. `no-matching` forbids using this hold with both hands at once, whether or not the route permits matching elsewhere.",
          "items": {
            "knownValues": [
              "no-matching"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "placementId": {
          "description": "Identifier of a placement in guide.climbers.dev.boardFamily#placement.",
          "type": "integer"
        },
        "position": {
          "description": "Whether the hold begins or completes the route. Absent for holds that do neither.",
          "knownValues": [
            "start",
            "end"
          ],
          "type": "string"
        },
        "role": {
          "description": "Whether the hold is used by hand or foot.",
          "knownValues": [
            "hand",
            "foot"
          ],
          "type": "string"
        }
      },
      "required": [
        "placementId",
        "role"
      ],
      "type": "object"
    },
    "main": {
      "description": "A climbing route set on a specific board",
      "key": "tid",
      "record": {
        "properties": {
          "board": {
            "description": "The guide.climbers.dev.board the route is set on. Its family holds the placement grid the route's holds refer to.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "conditions": {
            "description": "Constraints applying to the whole route. `no-matching` forbids using any hold with both hands at once. `footwork-free` leaves feet unspecified, so any hold may be used as a foot.",
            "items": {
              "knownValues": [
                "no-matching",
                "footwork-free"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "description": {
            "type": "string"
          },
          "grades": {
            "description": "Grades declared by the route's author, at the angles they set it for. Consensus grades can be computed by aggregating ratings.",
            "items": {
              "ref": "#grade",
              "type": "ref"
            },
            "type": "array"
          },
          "holds": {
            "items": {
              "ref": "#hold",
              "type": "ref"
            },
            "type": "array"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "board",
          "name",
          "holds"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "guide.climbers.dev.boardRoute",
  "lexicon": 1
}

Validate Record

Validate a record against guide.climbers.dev.boardRoute

Validation Options
Treat any remaining unresolved references as valid

Metadata

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

Similar Lexicons

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

Lexicon Garden

@