dev.herisson.test.torrent.listing

herisson.dev

{
  "id": "dev.herisson.test.torrent.listing",
  "defs": {
    "book": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "isbn": {
          "type": "string",
          "maxLength": 32
        },
        "kind": {
          "type": "string",
          "knownValues": [
            "ebook",
            "comic",
            "manga",
            "magazine"
          ]
        },
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "author": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 300
          }
        },
        "format": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        },
        "language": {
          "type": "string",
          "maxLength": 35
        },
        "publisher": {
          "type": "string",
          "maxLength": 300
        },
        "publishDate": {
          "type": "string",
          "format": "datetime"
        }
      }
    },
    "file": {
      "type": "object",
      "required": [
        "path",
        "sizeBytes"
      ],
      "properties": {
        "hash": {
          "type": "string",
          "maxLength": 128
        },
        "path": {
          "type": "string",
          "maxLength": 4096
        },
        "role": {
          "type": "string",
          "knownValues": [
            "main",
            "subtitle",
            "sample",
            "cover",
            "metadata",
            "other"
          ]
        },
        "mediaType": {
          "type": "string",
          "maxLength": 128
        },
        "sizeBytes": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "game": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "knownValues": [
            "console_game",
            "pc_game",
            "rom"
          ]
        },
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "region": {
          "type": "string",
          "maxLength": 32
        },
        "platform": {
          "type": "string",
          "maxLength": 64
        },
        "publisher": {
          "type": "string",
          "maxLength": 300
        },
        "releaseYear": {
          "type": "integer",
          "minimum": 1970
        }
      }
    },
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "infoHash",
          "magnetUri",
          "createdAt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 1000,
            "description": "Name representing the content of the torrent.",
            "maxGraphemes": 160
          },
          "adult": {
            "type": "boolean",
            "default": false
          },
          "files": {
            "type": "array",
            "items": {
              "ref": "#file",
              "type": "ref"
            },
            "maxLength": 10000
          },
          "content": {
            "refs": [
              "#movie",
              "#episode",
              "#season",
              "#musicAlbum",
              "#audiobook",
              "#podcast",
              "#book",
              "#imageCollection",
              "#software",
              "#game",
              "#dataset",
              "#collection",
              "#archive",
              "#other"
            ],
            "type": "union"
          },
          "edition": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 64
            },
            "maxLength": 32
          },
          "license": {
            "type": "string",
            "maxLength": 256
          },
          "infoHash": {
            "type": "string",
            "maxLength": 64,
            "description": "BitTorrent info hash, as lowercase hexadecimal.",
            "maxGraphemes": 64
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "magnetUri": {
            "type": "string",
            "maxLength": 4096,
            "description": "Magnet URI for a BitTorrent client."
          },
          "sizeBytes": {
            "type": "integer",
            "minimum": 0
          },
          "sourceUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 4096
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime"
          },
          "contentType": {
            "type": "string",
            "maxLength": 256,
            "description": "Legacy flat category. Prefer content.$type.",
            "knownValues": [
              "software",
              "dataset",
              "archive",
              "video",
              "audio",
              "book",
              "image",
              "game",
              "collection",
              "other"
            ]
          },
          "description": {
            "type": "string",
            "maxLength": 12000,
            "description": "Optional description, or an ipfs:// URI for a longer description.",
            "maxGraphemes": 2000
          },
          "externalIds": {
            "ref": "#externalIds",
            "type": "ref"
          },
          "releaseGroup": {
            "type": "string",
            "maxLength": 256
          },
          "infoHashVersion": {
            "type": "string",
            "knownValues": [
              "v1",
              "v2",
              "hybrid"
            ]
          }
        }
      },
      "description": "A BitTorrent torrent listing with optional typed content metadata."
    },
    "movie": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "source": {
          "type": "string",
          "maxLength": 64
        },
        "audioTracks": {
          "type": "array",
          "items": {
            "ref": "#audioTrack",
            "type": "ref"
          }
        },
        "releaseYear": {
          "type": "integer",
          "minimum": 1888
        },
        "videoTracks": {
          "type": "array",
          "items": {
            "ref": "#videoTrack",
            "type": "ref"
          }
        },
        "originalTitle": {
          "type": "string",
          "maxLength": 300
        },
        "runtimeSeconds": {
          "type": "integer",
          "minimum": 0
        },
        "subtitleTracks": {
          "type": "array",
          "items": {
            "ref": "#subtitleTrack",
            "type": "ref"
          }
        }
      }
    },
    "other": {
      "type": "object",
      "required": [
        "label"
      ],
      "properties": {
        "label": {
          "type": "string",
          "maxLength": 128
        },
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "mediaTypes": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 128
          }
        },
        "description": {
          "type": "string",
          "maxLength": 6000,
          "maxGraphemes": 1000
        }
      }
    },
    "season": {
      "type": "object",
      "required": [
        "seriesTitle",
        "season"
      ],
      "properties": {
        "season": {
          "type": "integer",
          "minimum": 1
        },
        "source": {
          "type": "string",
          "maxLength": 64
        },
        "releaseYear": {
          "type": "integer",
          "minimum": 1888
        },
        "seriesTitle": {
          "type": "string",
          "maxLength": 300
        },
        "episodeCount": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    "archive": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "knownValues": [
            "release",
            "backup",
            "mirror",
            "bundle",
            "collection"
          ]
        },
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "format": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        },
        "itemType": {
          "type": "string",
          "maxLength": 64
        },
        "encrypted": {
          "type": "boolean",
          "default": false
        },
        "itemCount": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    "dataset": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "knownValues": [
            "registry",
            "metrics",
            "library",
            "shapes",
            "model"
          ]
        },
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "format": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        },
        "origin": {
          "type": "string",
          "knownValues": [
            "institutional",
            "proprietary",
            "scraped",
            "crowdsourced"
          ]
        },
        "version": {
          "type": "string",
          "maxLength": 128
        },
        "producer": {
          "type": "string",
          "maxLength": 300
        },
        "structure": {
          "type": "string",
          "knownValues": [
            "tabular",
            "hierarchical",
            "graph",
            "collection"
          ]
        }
      }
    },
    "episode": {
      "type": "object",
      "required": [
        "seriesTitle"
      ],
      "properties": {
        "season": {
          "type": "integer",
          "minimum": 1
        },
        "source": {
          "type": "string",
          "maxLength": 64
        },
        "episode": {
          "type": "integer",
          "minimum": 1
        },
        "audioTracks": {
          "type": "array",
          "items": {
            "ref": "#audioTrack",
            "type": "ref"
          }
        },
        "releaseYear": {
          "type": "integer",
          "minimum": 1888
        },
        "seriesTitle": {
          "type": "string",
          "maxLength": 300
        },
        "videoTracks": {
          "type": "array",
          "items": {
            "ref": "#videoTrack",
            "type": "ref"
          }
        },
        "episodeRange": {
          "type": "string",
          "maxLength": 32
        },
        "episodeTitle": {
          "type": "string",
          "maxLength": 300
        },
        "subtitleTracks": {
          "type": "array",
          "items": {
            "ref": "#subtitleTrack",
            "type": "ref"
          }
        }
      }
    },
    "podcast": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "episode": {
          "type": "integer",
          "minimum": 1
        },
        "language": {
          "type": "string",
          "maxLength": 35
        },
        "publisher": {
          "type": "string",
          "maxLength": 300
        },
        "releaseDate": {
          "type": "string",
          "format": "datetime"
        },
        "seriesTitle": {
          "type": "string",
          "maxLength": 300
        },
        "durationSeconds": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "software": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "knownValues": [
            "application",
            "os",
            "mobile_app",
            "library"
          ]
        },
        "name": {
          "type": "string",
          "maxLength": 300
        },
        "version": {
          "type": "string",
          "maxLength": 128
        },
        "language": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 35
          }
        },
        "platform": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 64
          }
        },
        "publisher": {
          "type": "string",
          "maxLength": 300
        },
        "releaseDate": {
          "type": "string",
          "format": "datetime"
        },
        "architecture": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        }
      }
    },
    "audiobook": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "author": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 300
          }
        },
        "format": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        },
        "language": {
          "type": "string",
          "maxLength": 35
        },
        "narrator": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 300
          }
        },
        "durationSeconds": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "audioTrack": {
      "type": "object",
      "required": [
        "codec",
        "language"
      ],
      "properties": {
        "codec": {
          "type": "string",
          "maxLength": 64
        },
        "channels": {
          "type": "string",
          "maxLength": 16
        },
        "language": {
          "type": "string",
          "maxLength": 35
        },
        "commentary": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "collection": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "knownValues": [
            "season",
            "album",
            "book_series",
            "software_bundle",
            "dataset_snapshot",
            "mixed"
          ]
        },
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "artist": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 300
          }
        },
        "season": {
          "type": "integer",
          "minimum": 1
        },
        "itemType": {
          "type": "string",
          "knownValues": [
            "video",
            "audio",
            "book",
            "image",
            "software",
            "game",
            "dataset",
            "mixed"
          ]
        },
        "itemCount": {
          "type": "integer",
          "minimum": 1
        },
        "seriesTitle": {
          "type": "string",
          "maxLength": 300
        }
      }
    },
    "musicAlbum": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "artist": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 300
          }
        },
        "format": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        },
        "bitrate": {
          "type": "string",
          "maxLength": 32
        },
        "bitDepth": {
          "type": "integer",
          "minimum": 1
        },
        "channels": {
          "type": "string",
          "maxLength": 16
        },
        "sampleRate": {
          "type": "integer",
          "minimum": 1
        },
        "trackCount": {
          "type": "integer",
          "minimum": 1
        },
        "releaseYear": {
          "type": "integer",
          "minimum": 1000
        }
      }
    },
    "videoTrack": {
      "type": "object",
      "required": [
        "codec",
        "width",
        "height"
      ],
      "properties": {
        "hdr": {
          "type": "string",
          "knownValues": [
            "hdr10",
            "dv",
            "hlg",
            "none"
          ]
        },
        "codec": {
          "type": "string",
          "maxLength": 64
        },
        "width": {
          "type": "integer",
          "minimum": 1
        },
        "height": {
          "type": "integer",
          "minimum": 1
        },
        "frameRate": {
          "type": "string",
          "maxLength": 32
        }
      }
    },
    "externalIds": {
      "type": "object",
      "properties": {
        "gog": {
          "type": "string",
          "maxLength": 64
        },
        "mal": {
          "type": "string",
          "maxLength": 64
        },
        "igdb": {
          "type": "string",
          "maxLength": 64
        },
        "imdb": {
          "type": "string",
          "maxLength": 64
        },
        "isbn": {
          "type": "string",
          "maxLength": 32
        },
        "tmdb": {
          "type": "string",
          "maxLength": 64
        },
        "tvdb": {
          "type": "string",
          "maxLength": 64
        },
        "anidb": {
          "type": "string",
          "maxLength": 64
        },
        "discogs": {
          "type": "string",
          "maxLength": 64
        },
        "spotify": {
          "type": "string",
          "maxLength": 128
        },
        "steamid": {
          "type": "string",
          "maxLength": 64
        },
        "musicbrainz": {
          "type": "string",
          "maxLength": 64
        }
      }
    },
    "subtitleTrack": {
      "type": "object",
      "required": [
        "format",
        "language"
      ],
      "properties": {
        "forced": {
          "type": "boolean",
          "default": false
        },
        "format": {
          "type": "string",
          "maxLength": 32
        },
        "language": {
          "type": "string",
          "maxLength": 35
        },
        "hearingImpaired": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "imageCollection": {
      "type": "object",
      "required": [
        "title"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "knownValues": [
            "photo",
            "art",
            "set"
          ]
        },
        "count": {
          "type": "integer",
          "minimum": 1
        },
        "title": {
          "type": "string",
          "maxLength": 300
        },
        "width": {
          "type": "integer",
          "minimum": 1
        },
        "format": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        },
        "height": {
          "type": "integer",
          "minimum": 1
        },
        "creator": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 300
          }
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "revision": 2
}

Validate Record

Validate a record against dev.herisson.test.torrent.listing

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:kxx74oyie4dx3apzmmd624at
CID
bafyreihld2mcsnmktbx46l6zuk6znkywigvufjxmmk2tg4bdhzmzeue45u
Indexed At
2026-08-25 04:44 UTC
AT-URI
at://did:plc:kxx74oyie4dx3apzmmd624at/com.atproto.lexicon.schema/dev.herisson.test.torrent.listing

Version History (2 versions)

Lexicon Garden

@