Skip to main content

Metadata API

The metadata branch (/metadata/{tenant}) serves the resolved presentation metadata for a tenant — the dashboards, layouts, and per-class descriptions that tell a client how to render objects. Unlike the data branch it returns shape and configuration, not object values.

Classes are named by their plural REST names, as everywhere in the API. Where an endpoint takes several classes (?classes=clients,companies), they are the classes of one object — the combination listed in its _classes; the object's _links._metadata, _links._relatedDataObject and _links._form hold these URLs ready-made.

MethodPathReturns
GETnavigationPaneThe navigation layout.
GETdashboardThe general dashboard. ?name= selects a named dashboard.
GETdashboard/{classes}The class dashboard of one class (plural REST name).
GETdataObject?classes=The object dashboard for an object with these classes.
GETrelatedDataObject?classes=The compact panel shown for such an object as a related item.
GETform?classes=The form for such an object. ?newClass= is the class of an object being created, ?referenceClass= the class of the object it is created under, ?mode= CREATE or MODIFY.
GETclassesThe tenant's classes; ?kind= limits them to one kind.
GETlistsThe standard lists, with translated item labels.
GETmodulesThe activated modules; ?available=true for the modules that can be activated.
POSTmodulesActivate a module.
GETmigrationDefinitionThe migration definition (beta).

The dashboard endpoints accept ?language= (e.g. nl) for the labels, and ?name= for a named layout variant.

The data model's status, a reload and the upgrade download are model maintenance, under the Admin API.

Classes​

GET /metadata/{tenant}/classes?kind=BASIC
[
{
"name": "company",
"pluralName": "companies",
"kind": "BASIC",
"inherits": "entities",
"fields": [
{ "name": "registrationNumber", "dataType": "TEXT", "required": false }
],
"relations": [
{ "name": "country", "multiple": false, "required": false }
]
}
]
PropertyDescription
name, pluralNameThe class's singular and plural REST names.
kindBASIC, ABSTRACT, EXTENSION or CONFIG.
inheritsPlural REST name of the class it inherits from.
fieldsThe class's own enabled fields, with their data type.
relationsThe class's own relations, by REST name.

Inherited fields and relations are listed on the class that declares them.

TODO

Document the published dashboard shapes (DashboardMetadata, ClientLayout, ClientLayoutItemView, ClientArchetype) and how they relate to the model, and cover /systemMetadata.