pics.2bit.challenge.entry

2bit.pics

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "One of the author's own photos entered into a challenge for one of its prompts. One entry per person per prompt is enforced by this app's AppView rather than the record key: its write path deletes an author's earlier entry for a prompt before writing the new one, and where another client leaves several, the newest counts.",
      "key": "tid",
      "record": {
        "properties": {
          "challenge": {
            "description": "Strong ref to the pics.2bit.challenge.list being entered. The AppView matches entries to their challenge by uri alone, so an organizer's later edit to the list (a fixed typo, a new prompt) doesn't detach the entries already made; the cid only records which version of the list the entry was made against.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "prompt": {
            "description": "Which prompt this entry answers, given as that prompt's `key` - one of the challenge list's `prompts[].key` values (pics.2bit.challenge.list#prompt), e.g. `6` - never its title, so the organizer can reword a title without detaching entries. An entry whose key the list doesn't have is skipped.",
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          },
          "subject": {
            "description": "Strong ref to the photo being entered: a pics.2bit.feed.photo in the same repo as this entry. A strongRef carries no type, so both are enforced by the AppView, which skips an entry for anyone else's photo. A photo that is later deleted or can't be shown leaves its prompt empty.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          }
        },
        "required": [
          "subject",
          "challenge",
          "prompt",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "pics.2bit.challenge.entry",
  "lexicon": 1
}

Validate Record

Validate a record against pics.2bit.challenge.entry

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:sbmntiflmknij2axeck3w6u7
CID
bafyreian2dq3fc5w742nvx22uqnl6pepg4gzss36nhzygqeifft3j3wz2a
Indexed At
2026-09-27 21:14 UTC
AT-URI
at://did:plc:sbmntiflmknij2axeck3w6u7/com.atproto.lexicon.schema/pics.2bit.challenge.entry

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A photo challenge: a named set of prompts, published by its organizer, that anyone can enter by writing a pics.2bit.challenge.entry for one of their own photos. The record key is a short readable slug (e.g. `gbcamtober-…

  • The author taking part in a challenge. Joining is how a challenge comes to be offered wherever the author posts - nobody is signed up for a challenge they didn't join - and it's public, like a follow, so a challenge can…

Lexicon Garden

@