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.
| Family | Schema |
|---|---|
| Message envelope | envelope.schema.json |
story.context | story-context.schema.json |
som.telling.* | telling-event.schema.json |
som.link.* | link-event.schema.json |
delivery.media_available | delivery-media-available.schema.json |
som.system.audit | system-audit.schema.json |
skill.warning.raised | skill-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.