social.sthenos.alpha.workout
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"exerciseEntry": {
"description": "One exercise performed within a workout, with the sets performed for it. Either 'exercise' (a backing record reference) or 'name' (an inline label) should be present; entries missing both should be ignored by consumers.",
"properties": {
"exercise": {
"description": "Strong reference (uri + cid) to the social.sthenos.alpha.exercise record performed. Optional: omit for an inline/custom exercise with no backing record, in which case 'name' should be set.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"name": {
"description": "Display name for an inline/custom exercise when 'exercise' is omitted, or an optional override label when it is present.",
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"sets": {
"description": "Sets performed for this exercise, in order. Array order is the canonical order; no separate sort field is needed because records are replaced wholesale on edit.",
"items": {
"ref": "#set",
"type": "ref"
},
"maxLength": 100,
"type": "array"
}
},
"required": [
"sets"
],
"type": "object"
},
"main": {
"description": "A completed training session: an ordered list of exercises, each with the sets actually performed.",
"key": "tid",
"record": {
"properties": {
"completedAt": {
"description": "ISO 8601 timestamp marking when the session was completed.",
"format": "datetime",
"type": "string"
},
"createdAt": {
"description": "ISO 8601 timestamp of record creation.",
"format": "datetime",
"type": "string"
},
"exercises": {
"description": "Ordered exercises performed in this session. Array order is the canonical order; no separate sort field is needed because records are replaced wholesale on edit.",
"items": {
"ref": "#exerciseEntry",
"type": "ref"
},
"maxLength": 100,
"type": "array"
},
"name": {
"description": "Optional display name for the session, e.g. \"Push Day A\".",
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"notes": {
"description": "Optional freeform notes about the session.",
"maxGraphemes": 1000,
"maxLength": 10000,
"type": "string"
},
"startedAt": {
"description": "ISO 8601 timestamp marking when the session was started.",
"format": "datetime",
"type": "string"
}
},
"required": [
"startedAt",
"completedAt",
"createdAt",
"exercises"
],
"type": "object"
},
"type": "record"
},
"set": {
"description": "A single performed set.",
"properties": {
"reps": {
"description": "Number of repetitions performed.",
"maximum": 1000,
"minimum": 0,
"type": "integer"
},
"weight": {
"description": "The weight lifted in this set. Optional; omit for bodyweight or unweighted sets.",
"ref": "#weight",
"type": "ref"
}
},
"required": [
"reps"
],
"type": "object"
},
"weight": {
"description": "A weight value paired with its unit.",
"properties": {
"unit": {
"description": "Unit the value is expressed in.",
"knownValues": [
"kg",
"lb"
],
"type": "string"
},
"value": {
"description": "Decimal weight expressed as a string to preserve exact user-entered precision (e.g. \"22.5\").",
"maxLength": 12,
"minLength": 1,
"type": "string"
}
},
"required": [
"value",
"unit"
],
"type": "object"
}
},
"id": "social.sthenos.alpha.workout",
"lexicon": 1
}
Metadata
- DID
-
did:plc:we3onmbrfloqk6xmmtkojddy - CID
-
bafyreid7tzztivfnlly5dn55zi7bkm3ezmc6sidfb4h4wnuu3fnnxypxta - Indexed At
- 2026-10-18 20:27 UTC
- AT-URI
-
at://did:plc:we3onmbrfloqk6xmmtkojddy/com.atproto.lexicon.schema/social.sthenos.alpha.workout
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A strength-training exercise definition. Owned by the repo author and referenced by social.sthenos.alpha.workout records via strongRef.
-
app.fitsky.workoutPlan record
A reusable workout plan template
-
app.fitsky.workout record
A fitness workout record