at.isnot.review

isnot.at

{
  "id": "at.isnot.review",
  "defs": {
    "tag": {
      "type": "object",
      "required": [
        "direction",
        "adjective"
      ],
      "properties": {
        "adjective": {
          "type": "string",
          "maxLength": 160,
          "description": "An adjective, in any language, that the subject either is, or is not.",
          "maxGraphemes": 16,
          "minGraphemes": 1
        },
        "direction": {
          "enum": [
            -2,
            -1,
            0,
            1,
            2
          ],
          "type": "integer",
          "description": "Whether the subject *is* the adjective (1), *is not* the adjective (-1) or, less commonly, *really* is (2), or *really* isn't (-2). A value of zero is an explicit 'no comment', uncertainty, or lack of opinion."
        }
      }
    },
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "subject",
          "tags",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "ref": "#tag",
              "type": "ref"
            },
            "maxLength": 32,
            "minLength": 1,
            "description": "The adjectives this review applies to the subject. An adjective should appear at most once; readers keep the last entry when it repeats."
          },
          "locale": {
            "type": "string",
            "format": "language",
            "description": "The language the whole review is meant to be read in (BCP 47), not the language of any one adjective. Readers may render the sentence in this locale."
          },
          "subject": {
            "ref": "#subject",
            "type": "ref",
            "description": "The thing being tagged, described well enough to display without fetching the referenced record. Readers can decide whether the cid must match for their purposes, or whether the at-uri alone is enough."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime"
          }
        }
      },
      "description": "A person's review of one thing: which adjectives it is, and is not. One record per subject and locale per repo; update it rather than creating another. If a repo ever holds more than one review of the same subject in the same locale, merge them into the earliest-created one (tag conflicts: latest updatedAt wins, then direction nearer 0, then positive) and delete the rest."
    },
    "subject": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "title",
        "type"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "The uri's cid when this tag was last updated."
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "The atproto record that represents the thing being tagged."
        },
        "type": {
          "type": "string",
          "maxLength": 64,
          "description": "The kind of thing the subject is. Open set; add values as lenses support them.",
          "knownValues": [
            "movie",
            "tv-show",
            "tv-season",
            "tv-episode",
            "book",
            "book-series",
            "album",
            "music-track",
            "music-artist",
            "video-game",
            "post",
            "publication",
            "app",
            "web-page",
            "web-stream",
            "code-repo"
          ]
        },
        "title": {
          "type": "string",
          "maxLength": 2560,
          "description": "The name of the thing being tagged, usually copied from a field on the subject record.",
          "maxGraphemes": 256,
          "minGraphemes": 1
        },
        "identifiers": {
          "type": "array",
          "items": {
            "ref": "#identifier",
            "type": "ref"
          },
          "maxLength": 32,
          "description": "External identifiers for the subject, such as imdbId or isbn13."
        }
      }
    },
    "identifier": {
      "type": "object",
      "required": [
        "key",
        "value"
      ],
      "properties": {
        "key": {
          "type": "string",
          "maxLength": 64
        },
        "value": {
          "type": "string",
          "maxLength": 512
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against at.isnot.review

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:web:isnot.at
CID
bafyreifys66trp5raw44f5efuzdwu43btsepdo6m4zrrbtwrdtu2aoyriq
Indexed At
2026-09-17 02:53 UTC
AT-URI
at://did:web:isnot.at/com.atproto.lexicon.schema/at.isnot.review

Version History (2 versions)

Lexicon Garden

@