Schemas

JSON Schemas

Validate the manifest and transcript body. These CC0 schemas are served at stable URLs, byte for byte as they appear in the repository.

Cassini Portable Meeting Manifest v1

requires: kind, version, profile, meeting, audio, integrity, speakers, transcripts

cassini-portable-meeting-manifest-v1.schema.json 15.2 KB

Cassini transcript body (cassini.words.v1)

requires: format, wordCount, items

cassini-words-v1.schema.json 3.2 KB

About the $id

Each schema's $id is its URL under format.gocassini.com/schema/, and this site serves it there. Every file carries the same URL in its CASSINI_PAYLOAD_SCHEMA tag, so a reader holding only the file can find the schema it claims to follow.

json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://format.gocassini.com/schema/cassini-portable-meeting-manifest-v1.schema.json",
  "title": "Cassini Portable Meeting Manifest v1",
  "description": "This schema is deliberately open. Every object below accepts members it does not declare, except integrity and every payloadRef, and a consumer MUST ignore a manifest member it does not recognise, at any depth, rather than treat its presence as an error. Those two objects are the exception because everything in them is an instruction, for reassembling bytes or for deciding whether this audio and this transcript belong together, so an unrecognised member there is a decode or verification failure and not a lost hint. Adding a member to either one is a new major version. Being open does not mean the file may be anything: every member this schema does declare keeps the type and the meaning declared here.",
  "type": "object",
  "required": [
    "kind",
    "version",
    "profile",
    "meeting",
    "audio",
    "integrity",
    "speakers",
    "transcripts"
  ],
  "properties": {
    "kind": {