at.atjam.submission
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Declares a submission by the record creator to the referenced round.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"note": {
"description": "Optional caption/description from the submitter.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"payload": {
"description": "Preferred deliverable: a strong-ref to the record on its native ATProto app. The referenced record's $type SHOULD appear in the round's acceptedSubmissionTypes.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"round": {
"description": "Strong-ref to the at.atjam.round record being submitted to.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"url": {
"description": "Fallback deliverable for work not on ATProto: a plain link (itch.io build, hosted doc, etc.). Unverifiable and mutable, so prefer payload when the deliverable is a record. Ignored when payload is present.",
"format": "uri",
"type": "string"
}
},
"required": [
"round",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"description": "A participant's submission to a round. atjam does not host the deliverable; it points at it. The strong way is `payload` — a strong-ref to a record on whichever ATProto app owns the data (plyr.fm track, standard.site post, etc.), which is content-addressed, verifiable, and portable. The fallback is `url` — a plain link, for deliverables that don't live on ATProto yet (an itch.io build, a hosted doc). Prefer payload; `url` is the humble alternative. The lexicon can't express \"one-of\" across fields, so both are optional here and the \"at least one\" rule is enforced in code (Submission.getDeliverable). The submitter's DID is implicit (the record creator).",
"id": "at.atjam.submission",
"lexicon": 1
}
Metadata
- DID
-
did:plc:b5bxdq5jyv3tvkyscu42xr7u - CID
-
bafyreifxahevhpjpt666fya4impg34kwqdi6obin3g3v5dh2iugywc37qi - Indexed At
- 2026-06-05 04:20 UTC
- AT-URI
-
at://did:plc:b5bxdq5jyv3tvkyscu42xr7u/com.atproto.lexicon.schema/at.atjam.submission
Version History (2 versions)
- 2026-06-05 04:20 UTC (current)
- 2026-05-27 04:28 UTC diff
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
at.atjam.round record
A single instance of a jam: an assignment with a deadline that participants sign up for and submit to. State (open / in-progress / closed) is derived from milestones, not stored as an enum.
-
at.atjam.jam record
A recurring (or one-shot) creative challenge that contains rounds. Identity-bearing container: 'EPTSS-the-project' is one jam; a one-shot game jam is also a jam with a single round.
-
at.atjam.signup record
A declaration of intent to participate in a specific round. The participant's DID is implicit (the record creator). When the round's joinMode is 'hosted' or 'network', a signup is only valid for readers when it strong-r…
-
at.atjam.invitation record
An invitation to participate in a round, written by an inviter on their own PDS. The inviter's DID is implicit (the record creator). Required for participation in rounds where round.joinMode is 'hosted' (only the jam or…