space.opendeck.profile

opendeck.space

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "OpenDeck profile and synced preferences.",
      "key": "literal:self",
      "record": {
        "properties": {
          "accentColor": {
            "description": "Hex accent color, e.g. #3b82f6.",
            "maxGraphemes": 9,
            "maxLength": 90,
            "type": "string"
          },
          "bio": {
            "maxGraphemes": 2000,
            "maxLength": 20000,
            "type": "string"
          },
          "breakReminders": {
            "description": "Suggest breaks after long study sessions or days; absent means on.",
            "type": "boolean"
          },
          "creditStyle": {
            "description": "How shown credit roles look: theme styles the whole profile, badges only lists them; absent means theme.",
            "enum": [
              "theme",
              "badges"
            ],
            "type": "string"
          },
          "defaultVisibility": {
            "enum": [
              "public",
              "private"
            ],
            "type": "string"
          },
          "newCardsPerDay": {
            "description": "How many new cards to introduce per deck each day; absent means no limit.",
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "publicStats": {
            "description": "Summary of your study stats without deck or card details; only present while showStats is everyone.",
            "ref": "space.opendeck.profile#publicStats",
            "type": "ref"
          },
          "reminderDays": {
            "description": "Weekdays 0-6 (Sun-Sat); absent means Monday to Friday.",
            "items": {
              "maximum": 6,
              "minimum": 0,
              "type": "integer"
            },
            "maxLength": 7,
            "type": "array"
          },
          "reminderEnabled": {
            "type": "boolean"
          },
          "reminderHour": {
            "description": "Local hour (0-23) of the study reminder; absent means 19.",
            "maximum": 23,
            "minimum": 0,
            "type": "integer"
          },
          "shortTermIntervals": {
            "description": "Default short-term intervals preset; absent means auto.",
            "enum": [
              "auto",
              "quick",
              "balanced",
              "relaxed",
              "spaced"
            ],
            "type": "string"
          },
          "showActivityOnProfile": {
            "type": "boolean"
          },
          "showCredits": {
            "description": "Who sees your OpenDeck credit roles on your profile; absent means everyone.",
            "enum": [
              "nobody",
              "me",
              "everyone"
            ],
            "type": "string"
          },
          "showDecksOnProfile": {
            "type": "boolean"
          },
          "showFollowsOnProfile": {
            "type": "boolean"
          },
          "showMotivation": {
            "description": "Who sees tier progress boxes: nobody hides them, me shows them on the home, study and profile pages, everyone also shows the profile box to visitors (only while showTier is everyone); absent means me.",
            "enum": [
              "nobody",
              "me",
              "everyone"
            ],
            "type": "string"
          },
          "showProgressOnProfile": {
            "type": "boolean"
          },
          "showStats": {
            "description": "Who sees your study stats on your profile; absent means me.",
            "enum": [
              "nobody",
              "me",
              "everyone"
            ],
            "type": "string"
          },
          "showTier": {
            "description": "Who sees your study tier on your profile, and with everyone also in battles; absent means me.",
            "enum": [
              "nobody",
              "me",
              "everyone"
            ],
            "type": "string"
          },
          "studyDays": {
            "description": "Study sessions per day (capped at 3) for the 84 days up to studyDaysEnd, oldest first; only present while the motivation box is public.",
            "items": {
              "maximum": 3,
              "minimum": 0,
              "type": "integer"
            },
            "maxLength": 84,
            "type": "array"
          },
          "studyDaysEnd": {
            "description": "Local date (YYYY-MM-DD) of the last entry in studyDays.",
            "maxGraphemes": 10,
            "maxLength": 100,
            "type": "string"
          },
          "studyTier": {
            "description": "Study tier from the days studied in the last four weeks; only present while it is shown publicly.",
            "enum": [
              "bronze",
              "silver",
              "gold",
              "platinum",
              "diamond",
              "champion",
              "grandChampion",
              "supernova"
            ],
            "type": "string"
          },
          "studyTierAt": {
            "description": "When studyTier was last computed.",
            "format": "datetime",
            "type": "string"
          },
          "tierStyle": {
            "description": "How a shown tier looks: theme styles the whole profile, badge only adds a badge; absent means theme.",
            "enum": [
              "theme",
              "badge"
            ],
            "type": "string"
          },
          "uiLanguage": {
            "description": "BCP-47 language tag for the OpenDeck interface.",
            "maxGraphemes": 20,
            "maxLength": 200,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "record"
    },
    "publicStats": {
      "properties": {
        "activity": {
          "description": "Repetitions per day for the days up to activityEnd, oldest first.",
          "items": {
            "minimum": 0,
            "type": "integer"
          },
          "maxLength": 371,
          "type": "array"
        },
        "activityEnd": {
          "description": "Local date (YYYY-MM-DD) of the last entry in activity.",
          "maxGraphemes": 10,
          "maxLength": 100,
          "type": "string"
        },
        "firstStudiedOn": {
          "description": "Local date (YYYY-MM-DD) of the first study day.",
          "maxGraphemes": 10,
          "maxLength": 100,
          "type": "string"
        },
        "lastStudiedAt": {
          "format": "datetime",
          "type": "string"
        },
        "learned": {
          "description": "Cards in review.",
          "type": "integer"
        },
        "learning": {
          "description": "Cards in learning or relearning.",
          "type": "integer"
        },
        "repetitions": {
          "description": "All ratings ever given.",
          "type": "integer"
        },
        "retention": {
          "description": "Percent of ratings in the last 30 days that were not again.",
          "maximum": 100,
          "minimum": 0,
          "type": "integer"
        },
        "secondsStudied": {
          "description": "Active study time in the last 365 days.",
          "type": "integer"
        },
        "updatedAt": {
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "learned",
        "learning",
        "repetitions",
        "secondsStudied",
        "activity",
        "activityEnd",
        "updatedAt"
      ],
      "type": "object"
    }
  },
  "id": "space.opendeck.profile",
  "lexicon": 1
}

Validate Record

Validate a record against space.opendeck.profile

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:5xoilbawtptc3wha4zplgkwd
CID
bafyreia4onvnvpikzxfabhft4uvffneezuve3uscg37fyc2lgox7e76vba
Indexed At
2026-10-08 13:09 UTC
AT-URI
at://did:plc:5xoilbawtptc3wha4zplgkwd/com.atproto.lexicon.schema/space.opendeck.profile

Version History (6 versions)

Lexicon Garden

@