at.atjam.submission
Declares a submission by the record creator to the referenced round.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | atjam.at |
| Indexed |
Checks
Valid Lint pass{
"$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
}