A version of a story contains a publish status and the content of the story, this include: the title, the body, the assets, and some attributes (see Attribute section below).
Stories can be translated into any of the languages defined by the platform settings.
When using translations, each version will modify only one language but will contain all the translations available.
Considering a story which first version is in french, creating a new version with the language set to English will result in a new version with modification in the English language and the French version being the same as the latest French version.
Stored in a story version, it accepts different formats, including HTML and Slate. We strongly advise to use the HTML format, as it is more standard.
An attribute is defined in a Schema which a story can be linked to (see Schema section below). It can be of different type (Int, String, Date,...) and contains a value (See
ValueWrapperType in the graphql documentation).
In a story the attributes are versioned with each story version but can't be translated.
Builtins have the same structure as attributes, but unlike attributes, they are not related to a schema. Instead, they represent basic metadata about a story, such as the title, a source, etc.
A Schema (called Template in the UI) can be set on a story on creation. The schema serves as a model to the story. It can be translated and can contain a default title, a set of Attributes, and a body where you can specify text and different block placeholders.
The schema of a story cannot be changed after creation.
An asset is usually used to link a file or a URL to a story. Most assets are either found in the body or as story main asset (see Main Asset section below). There are multiple types of asset (see
AssetType in the graphql documentation).
A story can have one main asset. It can either be a File Asset or a URL Asset. A thumbnail will be extracted from this asset and served as a story thumbnail.