Understand the data model

Most integration workflows start with a repository, then select a model and the information associated with it.

Repositories and models#

A repository is the main container for modeling content and related configuration. Its UUID becomes the repositoryId in paths such as /repositories/{repositoryId}/models.

A model is a diagram or visualization. Model metadata describes its identity, type, localized titles, version, and workflow state. Its canvas describes the diagram's visual contents.

How 2c8 model data fits together A repository contains models and reusable symbols. A model has a canvas containing vertices and edges. Each vertex references a symbol. Each edge implicitly defines a relation; there is no separate relation entity. Repository ModelsMetadata and localized titles Symbols CanvasVertices and edges Vertices reference symbols
You need Read
A model catalogue Model metadata, including titles and modelType
Diagram structure and layout The model's canvas
Reusable modeled objects Symbols
Descriptive text Model or symbol descriptions

Symbols, vertices, relations, and edges#

A symbol represents an underlying modeled object. A vertex is an item placed on a model's canvas; it always references a symbol and carries layout information such as position and size.

An edge connects vertices on a model's canvas and carries visual information such as routing and labels. The edge implicitly defines the relation between the modeled objects. There is no separate relation entity in the database or API.

The distinction between symbols and vertices matters when an object appears in several models. Changing a vertex's placement is different from changing shared symbol data, and removing a vertex is not necessarily equivalent to deleting its symbol.

Use the canvas walkthrough to inspect these structures.

One object, two placements#

In our fictional Process library, Handle an order includes a Customer symbol. The same Customer is reused in Dispatch an order:

One Customer symbol reused in two models Handle an order contains vertex A, and Dispatch an order contains vertex B. Both reference the same Customer symbol. Vertex A connects to an activity vertex through an edge in Handle an order; that edge implicitly defines the relation. Handle an orderDispatch an order CustomerVertex A ActivityAnother vertex CustomerVertex B Solid line: edge / modeled relation Dashed lines: symbol references Customer symbol

The vertices have different identifiers and positions, but their symbol values identify the same Customer. The edge's endpoints identify vertices, not symbols. This lets the same object appear differently in different diagrams. On a narrow screen, scroll the diagram sideways.

More detail: match the identifiers in the canvas walkthrough

Vertex A is baa2e42e-0b41-408d-a987-c5f93166cac4 and its symbol is f2d2ee19-1582-4399-ab55-49b8c9ae1197. Vertex B has a different vertex UUID while referencing that same symbol UUID. Use the canvas example to follow the edge endpoints.

Breakdowns#

A breakdown links a modeled element to a more detailed model, for example a high-level process to its subprocess diagram. Use breakdowns to build drill-down navigation or understand model hierarchies. Follow the returned model identifiers within their repository context.

Descriptions and documents#

A field, also called a description type in the API, is a configured property used to describe model or symbol content. These names refer to the same concept. Fields can have different types; values in fields of type rich text are generally called descriptions. These values can contain HTML and localized content.

Document references connect model content to documents. A document source identifies a provider; a document key identifies a document within that source. Treat source IDs and document keys as opaque values, not as interchangeable model UUIDs.

Provider properties are key/value data addressed by a provider identifier and a property key. They are distinct from configured fields (description types).

The reference also exposes custom relations, which define scripts, and plugin relations, which belong to plugin data. These uses of “relation” are separate from the modeled connections implicitly defined by canvas edges.

A reference to an external document does not itself guarantee access to that document's contents. See the document workflow.

Configuration and accessors#

Repository configuration supplies fields (called description types in the API), lists, matrices, and languages.

Term Purpose
Field / description type A configured property; rich-text field values are generally called descriptions
List A configured list/view of repository data
Matrix A structured view of relationships
Accessor A user or group with repository access and privileges

Application-key access differs from user permissions; read Authentication and access before exposing API data to end users.

Languages and localized values#

Repositories have a default language and can contain additional languages. Titles and descriptions can be maps keyed by language UUID, rather than by locale codes such as en.

For example, a model's titles map contains a title for each returned language. Additional-language entries can include a translated flag; a default-language value may omit it. Do not assume that every language has translated content, or force every flag to true.

Use the repository's languages to interpret the keys, and preserve the documented field structure when writing localized data. See localized requests.