storyobjectmodel.com / schema / 1.0

SOM 1.0 schemas

The seven message families of the Story Object Model, as JSON Schema. Each file is served here at the URL given in its own $id, and that identifier will not change for the life of 1.x. These are copies of the normative files in the storyobjectmodel/som repository; the repository is the source and this directory is generated from it.

FamilySchema
Message envelopeenvelope.schema.json
story.contextstory-context.schema.json
som.telling.*telling-event.schema.json
som.link.*link-event.schema.json
delivery.media_availabledelivery-media-available.schema.json
som.system.auditsystem-audit.schema.json
skill.warning.raisedskill-warning.schema.json

To check a message from the command line:

pip install jsonschema
curl -sO https://storyobjectmodel.com/schema/1.0/story-context.schema.json
python3 -c "import json,jsonschema; jsonschema.validate(json.load(open('message.json')), json.load(open('story-context.schema.json')))"

Implementations must assert format; most validators ignore it unless told to. Conformance, the compatibility policy and the migration note from v0.3.2 are in the repository under spec/. Schemas, examples, tools and skills are licensed Apache 2.0; specification prose CC BY 4.0.