club.fellas.v0.poll.definition

cam.fellas.club

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A poll posted within the fella space.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "optionType": {
            "default": "text",
            "description": "What kind of thing the ballot options are.",
            "knownValues": [
              "text",
              "movie",
              "book"
            ],
            "type": "string"
          },
          "options": {
            "description": "Required (>=2 entries) when optionsMode is 'author'; omitted when 'group' (participants contribute their own via club.fellas.v0.poll.option instead). The author-mode requirement is enforced by the application, not this schema.",
            "items": {
              "ref": "club.fellas.v0.poll.defs#option",
              "type": "ref"
            },
            "maxLength": 32,
            "minLength": 2,
            "type": "array"
          },
          "optionsMode": {
            "description": "author = only the poll author's own options (the inline array above) are valid. group = any listed participant may contribute their own option via club.fellas.v0.poll.option.",
            "knownValues": [
              "author",
              "group"
            ],
            "type": "string"
          },
          "question": {
            "maxLength": 1000,
            "type": "string"
          },
          "status": {
            "description": "Defaults to open if omitted. Set to closed by the author (via putRecord) to stop accepting new votes and drop out of the default poll listing.",
            "knownValues": [
              "open",
              "closed"
            ],
            "type": "string"
          },
          "tallyType": {
            "description": "single = pick exactly one option. ranked = order some or all options best-to-worst (IRV tallying).",
            "knownValues": [
              "single",
              "ranked"
            ],
            "type": "string"
          },
          "transparency": {
            "description": "open = votes (and, in group-mode, option authorship) attributed to voter, visible as cast. anonymous = identity links never shown by the client. sealed = nothing shown until every voter has published a poll.reveal record for this poll.",
            "knownValues": [
              "open",
              "anonymous",
              "sealed"
            ],
            "type": "string"
          }
        },
        "required": [
          "question",
          "tallyType",
          "transparency",
          "optionsMode",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "club.fellas.v0.poll.definition",
  "lexicon": 1
}

Validate Record

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

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

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

Referenced Schemas (1)

  • club.fellas.v0.poll.defs#option

Similar Lexicons

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

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

    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.

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

    A public Supper poll authored by the repository owner. The question and ordered options are immutable after publication; publish a new poll identity to change them. Never publish member-only poll content in a public rep…

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

    A voter's consent to reveal results on a sealed poll. Convention: rkey equals the poll record's rkey. Only meaningful for polls with transparency=sealed. Once every voter on the poll has published one of these, clients …

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

    A participant-contributed ballot option, for polls with optionsMode 'group'. Lives in the contributing participant's own repo. Not used for optionsMode 'author' polls, which keep their options inline on the poll.definit…

  • A poll record. Lives in the author's own repo, either as a public record (attached to a post via embed.external and indexed from the firehose) or inside an ATProto Space (permissioned data), where the AppView is told ab…

Lexicon Garden

@