Skip to main content
Version: Live

OpenDI JSON Schema

The current working draft of the OpenDI JSON Schema.
The view below provides a more accessible browsing experience, but if you'd prefer to view the source, see the source display below, or view the original source.
See also the JSON Schema source repository.

Schema Docs

Loading ....

Source

OpenDI JSON Schema -- Source
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://opendi.org/json-schema/v0-draft-0325/Causal-Decision-Model.json",
"title": "Causal Decision Model",
"description": "(DRAFT) -- Represents a Causal Decision Model for OpenDI-compliant software.",
"properties": {
"$schema": {
"title": "JSON Schema URI",
"description": "URI for schema, used for validation. Likely a URL to the public source file for this schema.",
"type": "string"
},
"meta": {
"title": "Asset Metadata",
"description": "Metadata shared by all DI Assets",
"$ref": "./DI-Asset.json"
},
"runnableModels": {
"title": "Runnable Decision Models List",
"description": "List containing the runnable model (or set of model components) used for computing or simulating this CDM.",
"type": "array",
"items": {
"$ref": "./DI-Runnable-Model.json"
}
},
"diagrams": {
"title": "Model Diagrams List",
"description": "List of diagrams (likely Causal Decision Diagrams) associated with this model.",
"type": "array",
"items": {
"$ref": "./DI-Diagram.json"
}
},
"evaluatableAssets": {
"title": "Evaluatable Assets List",
"description": "List of all Evaluatable Assets attached to this model. May be used by one or more Runnable Models.",
"type": "array",
"items": {
"oneOf": [
{
"$ref": "./DI-Evaluatable-Assets.json#/$defs/script"
},
{
"$ref": "./DI-Evaluatable-Assets.json#/$defs/apicall"
}
]
}
},
"inputOutputValues": {
"title": "Input/Output Values List",
"description": "List of all Input/Output values used by Runnable Models in this CDM. I/O Values can be read or set by Runnable Models, and interactively in Diagrams, via Controls. A single I/O Value can be referenced in multiple Runnable Models and Controls.",
"type": "array",
"items": {
"$ref": "./DI-IO-Value.json"
}
},
"controls": {
"title": "Controls List",
"description": "List of all DI Controls for this model. Controls connect I/O values to Diagram Elements, allowing values to be set or displayed.",
"type": "array",
"items": {
"$ref": "./DI-Control.json"
}
},
"addons": {
"title": "Addon Data",
"description": "Holds addon objects for storing data not specified in OpenDI standards.",
"$ref": "./DI-Addons.json"
}
},
"required": [
"meta"
],
"additionalProperties": false
}