garden.lexicon.nourishing-earthworm.crepeWatch

tyler.fun

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "One viewing of a movie, or of a TV show, season or episode, in crepe's private diary. A watch with no rating and no review text is a plain play (for example an episode Plex reported) and stays out of the diary log.",
      "key": "tid",
      "record": {
        "properties": {
          "containsSpoilers": {
            "type": "boolean"
          },
          "createdAt": {
            "description": "When this record was created (not the watch time).",
            "format": "datetime",
            "type": "string"
          },
          "episodeNumber": {
            "description": "Required for episode watches.",
            "minimum": 0,
            "type": "integer"
          },
          "episodeTitle": {
            "maxLength": 1000,
            "type": "string"
          },
          "episodeTmdbId": {
            "description": "The episode's own TMDB id, when known.",
            "maxLength": 32,
            "type": "string"
          },
          "genres": {
            "items": {
              "maxLength": 100,
              "type": "string"
            },
            "maxLength": 20,
            "type": "array"
          },
          "imdbId": {
            "maxLength": 32,
            "type": "string"
          },
          "kind": {
            "description": "What was watched.",
            "knownValues": [
              "movie",
              "show",
              "season",
              "episode"
            ],
            "type": "string"
          },
          "mainCredit": {
            "maxLength": 300,
            "type": "string"
          },
          "mainCreditRole": {
            "knownValues": [
              "director",
              "creator"
            ],
            "type": "string"
          },
          "place": {
            "description": "Where it was watched: a movie theater from the Foursquare places catalog, or any place of the user's own (\"Steve's house\").",
            "ref": "#place",
            "type": "ref"
          },
          "rating": {
            "description": "Half stars out of five, times two. Absent means unrated.",
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "releaseDate": {
            "description": "Snapshot, YYYY-MM-DD.",
            "maxLength": 32,
            "type": "string"
          },
          "rewatch": {
            "description": "deprecated 2026-09-29: derived by readers, no longer written",
            "type": "boolean"
          },
          "seasonNumber": {
            "description": "Required for season and episode watches.",
            "minimum": 0,
            "type": "integer"
          },
          "source": {
            "description": "Where this watch was first recorded.",
            "knownValues": [
              "crepe",
              "plex",
              "popfeed",
              "letterboxd"
            ],
            "type": "string"
          },
          "stamps": {
            "description": "Map of field group name to hybrid logical clock stamp, for field-level last-write-wins merge between devices and the sync server.",
            "type": "unknown"
          },
          "tags": {
            "items": {
              "maxGraphemes": 64,
              "maxLength": 640,
              "type": "string"
            },
            "maxLength": 50,
            "type": "array"
          },
          "text": {
            "description": "Review text, plain.",
            "maxGraphemes": 10000,
            "maxLength": 100000,
            "type": "string"
          },
          "title": {
            "description": "Snapshot of the movie or show title, for offline display.",
            "maxLength": 1000,
            "type": "string"
          },
          "tmdbId": {
            "description": "TMDB id of the movie, or of the show for show, season and episode watches. Never an episode's own id.",
            "maxLength": 32,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          },
          "watchedAt": {
            "description": "When it was watched. Absent for a watch logged without a date.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "tmdbId",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "place": {
      "properties": {
        "address": {
          "description": "One-line address snapshot, for display.",
          "maxGraphemes": 500,
          "maxLength": 5000,
          "type": "string"
        },
        "fsqPlaceId": {
          "description": "Foursquare OS Places id when the place came from the catalog. Absent for a place of the user's own.",
          "maxLength": 64,
          "type": "string"
        },
        "latitude": {
          "description": "Decimal degrees as a string, like community.lexicon.location.geo.",
          "maxLength": 32,
          "type": "string"
        },
        "longitude": {
          "maxLength": 32,
          "type": "string"
        },
        "name": {
          "description": "Display name. A theater's catalog name, or whatever the user typed.",
          "maxGraphemes": 300,
          "maxLength": 3000,
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    }
  },
  "id": "garden.lexicon.nourishing-earthworm.crepeWatch",
  "lexicon": 1
}

Validate Record

Validate a record against garden.lexicon.nourishing-earthworm.crepeWatch

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:4gt3dbmp4pydjiemob4konzm
CID
bafyreifmpc4avsoy4eze2zqqa3tpsfse7zluf67janr23soba452owzrlm
Indexed At
2026-10-02 22:49 UTC
AT-URI
at://did:plc:4gt3dbmp4pydjiemob4konzm/com.atproto.lexicon.schema/garden.lexicon.nourishing-earthworm.crepeWatch

Version History (4 versions)

Similar Lexicons

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

  • computer.sims.log.watch recordnot from the namespace authority

    A single diary entry: the user watched a movie or TV work at a point in time, with free-form tags. Adds the per-watch diary layer on top of the Popfeed listItem record referenced by 'subject'.

  • A tracked show episode record for Opnshelf

  • One title on a crepeList.

  • A user's long-form textual review of a media item. Carries no numeric score (that is a separate xyz.opnshelf.rating). Zero-or-many per media item per user.

  • A tracked movie record for Opnshelf

Lexicon Garden

@