club.fellas.v0.poll.vote

cam.fellas.club

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A member's vote on a poll within the fella space. Convention: rkey equals the poll record's rkey, so casting a new vote overwrites the previous one (via applyWrites update) rather than creating a second record.",
      "key": "any",
      "record": {
        "properties": {
          "choice": {
            "refs": [
              "#singleChoice",
              "#rankedChoice"
            ],
            "type": "union"
          },
          "poll": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "votedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "poll",
          "choice",
          "votedAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "rankedChoice": {
      "properties": {
        "ranking": {
          "description": "Option ids (see singleChoice.optionId for what that means per optionsMode), ordered best-to-worst. Options left out are treated as tied-last.",
          "items": {
            "maxLength": 64,
            "type": "string"
          },
          "maxLength": 32,
          "minLength": 1,
          "type": "array"
        }
      },
      "required": [
        "ranking"
      ],
      "type": "object"
    },
    "singleChoice": {
      "properties": {
        "optionId": {
          "description": "A stringified array index into the poll's options (optionsMode 'author') or a club.fellas.v0.poll.option record's rkey (optionsMode 'group').",
          "maxLength": 64,
          "type": "string"
        }
      },
      "required": [
        "optionId"
      ],
      "type": "object"
    }
  },
  "id": "club.fellas.v0.poll.vote",
  "lexicon": 1
}

Validate Record

Validate a record against club.fellas.v0.poll.vote

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:ctpw7nnpcnuxey7ckqi66mxz
CID
bafyreicsvv2ljppm63nbseo753v7po2laxnoyw7buhr2qxngjtz5gkimjm
Indexed At
2026-09-01 04:39 UTC
AT-URI
at://did:plc:ctpw7nnpcnuxey7ckqi66mxz/com.atproto.lexicon.schema/club.fellas.v0.poll.vote

Similar Lexicons

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

  • A vote on a poll. Lives in the voter's own repo; a vote on a poll that lives inside an ATProto Space is written into the same space (the voter's permissioned repo) and refers to the poll by its space record uri. One vot…

  • support.supper.poll.vote recordnot from the namespace authority

    A public vote authored by the repository owner on an exact Supper poll revision. Consumers count one valid vote per actor and subject URI/CID, choosing the greatest TID record key (URI breaks ties). A changed choice cre…

  • club.fellas.v0.poll.definition recordnot from the namespace authority

    A poll posted within the fella space.

  • A vote in a thread's poll. Lives in the voter's repo. One record per selected option; deleting retracts the vote.

  • fyi.opensocial.board.vote recordnot from the namespace authority

    One member's answer to a poll: their own record, in their own repo in the board's space, like an RSVP. Keyed by the thread's key, so voting again overwrites rather than adds. Everyone who can read the space can read the…

Lexicon Garden

@