app.fitsky.profile
Schema Diff
+19 -0
1
1
{
2
2
"id": "app.fitsky.profile",
3
3
"defs": {
4
4
"main": {
5
5
"key": "literal:self",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"properties": {
10
10
"bio": {
11
11
"type": "string",
12
12
"maxLength": 2560,
13
13
"description": "FitSky-specific bio text",
14
14
"maxGraphemes": 256
15
15
},
16
16
"banner": {
17
17
"type": "blob",
18
18
"accept": [
19
19
"image/png",
20
20
"image/jpeg",
21
21
"image/webp"
22
22
],
23
23
"maxSize": 1000000,
24
24
"description": "Custom FitSky banner image. Falls back to Bluesky banner if not set."
25
25
},
26
+
"heightCm": {
27
+
"type": "integer",
28
+
"minimum": 0,
29
+
"description": "Height in centimeters"
30
+
},
26
31
"createdAt": {
27
32
"type": "string",
28
33
"format": "datetime"
29
34
},
30
35
"unitSystem": {
31
36
"type": "string",
32
37
"maxLength": 64,
33
38
"description": "User's preferred unit system",
34
39
"knownValues": [
35
40
"metric",
36
41
"imperial"
37
42
]
43
+
},
44
+
"dateOfBirth": {
45
+
"type": "string",
46
+
"format": "datetime",
47
+
"description": "User's date of birth (ISO 8601). Used for max HR calculation."
48
+
},
49
+
"weightGrams": {
50
+
"type": "integer",
51
+
"minimum": 0,
52
+
"description": "Weight in grams"
53
+
},
54
+
"publicProfile": {
55
+
"type": "boolean",
56
+
"description": "Whether workout detail pages are publicly viewable without authentication"
38
57
}
39
58
}
40
59
},
41
60
"description": "A FitSky-specific user profile with custom banner and bio"
42
61
}
43
62
},
44
63
"$type": "com.atproto.lexicon.schema",
45
64
"lexicon": 1
46
65
}