workspaceRecordProfile
Properties, variants, types and bounds for workspaceRecordProfile.
This reference describes the full structure of workspaceRecordProfile. Paths include nested objects, list items and conditional branches. A branch selected by kind, contract or mode only admits its own properties.
Structure and values
| Field | Options / expected values | Description |
|---|---|---|
key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
definitionPaths |
Array<string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)+$/u>; min length 1; max length 100 |
Required. Defines definition Paths for this object. Observe the type, variants and bounds in the Options column. |
editActionKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
identity |
closed object |
Required. Sources for information identifying the record to users. |
identity.title |
closed object OR closed object OR closed object |
Required. Title of the object or section in the interface. |
identity.title.[kind=native].kind |
"native" |
Required. Selects the variant and the properties admitted in this branch. |
identity.title.[kind=native].property |
"title" | "description" | "createdAt" | "updatedAt" |
Required. Recognized native property name; this selector does not allow arbitrary access. |
identity.title.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
identity.title.[kind=field].fieldPath |
string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Semantic Field selector, using the fields/ prefix. |
identity.title.[kind=calculation].kind |
"calculation" |
Required. Selects the variant and the properties admitted in this branch. |
identity.title.[kind=calculation].calculationKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
identity.avatar |
closed object |
Required. Visual identity presentation under the admitted variant. |
identity.avatar.kind |
"initials" |
Required. Selects the variant and the properties admitted in this branch. |
identity.avatar.maximumLetters |
integer; ≥ 1; ≤ 4 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
identity.subtitle |
closed object OR closed object OR closed object; null |
Required. Subtitle source or explicit absence where null is admitted. |
identity.subtitle.[kind=native].kind |
"native" |
Required. Selects the variant and the properties admitted in this branch. |
identity.subtitle.[kind=native].property |
"title" | "description" | "createdAt" | "updatedAt" |
Required. Recognized native property name; this selector does not allow arbitrary access. |
identity.subtitle.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
identity.subtitle.[kind=field].fieldPath |
string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Semantic Field selector, using the fields/ prefix. |
identity.subtitle.[kind=calculation].kind |
"calculation" |
Required. Selects the variant and the properties admitted in this branch. |
identity.subtitle.[kind=calculation].calculationKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
valueLabels |
Array<closed object>; max length 100 |
Required. Mappings from stable values to user-facing labels. |
valueLabels[].fieldPath |
string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Semantic Field selector, using the fields/ prefix. |
valueLabels[].values |
Array<closed object>; min length 1; max length 100 |
Required. Set of admitted or compared values according to the declared operation. |
valueLabels[].values[].value |
string; max length 4000 OR number OR true | false |
Required. Effective value interpreted according to the enclosing type and discriminant. |
valueLabels[].values[].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
card |
closed object |
Required. Summary record presentation within a collection. |
card.summary |
closed object OR closed object OR closed object; null |
Required. Defines summary for this object. Observe the type, variants and bounds in the Options column. |
card.summary.[kind=native].kind |
"native" |
Required. Selects the variant and the properties admitted in this branch. |
card.summary.[kind=native].property |
"title" | "description" | "createdAt" | "updatedAt" |
Required. Recognized native property name; this selector does not allow arbitrary access. |
card.summary.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
card.summary.[kind=field].fieldPath |
string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Semantic Field selector, using the fields/ prefix. |
card.summary.[kind=calculation].kind |
"calculation" |
Required. Selects the variant and the properties admitted in this branch. |
card.summary.[kind=calculation].calculationKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
card.tags |
closed object; null |
Required. Classification or display configuration for admitted tags. |
card.tags.namespace |
"user" |
Required. Namespace determining value vocabulary and scope. |
card.tags.maximumVisible |
integer; ≥ 0; ≤ 20 |
Required. Maximum number of items in the bounded preview; the full collection remains accessible separately. |
card.metricKeys |
Array<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u>; max length 20 |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
card.openLabel |
string; min length 1; max length 4000 |
Required. Label opening the object’s detail. |
queryBindings |
Array<closed object>; max length 100 |
Required. Bindings from named Queries to parameter values supplied by context. |
queryBindings[].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
queryBindings[].queryKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Reference to a declared Query; scope and authorization remain enforced by the data engine. |
queryBindings[].parameters |
Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u OR string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u, closed object OR closed object OR closed object>; semantic validation |
Required. Named operation or Query parameters and their associated values. |
queryBindings[].parameters{key}.[kind=entity-id].kind |
"entity-id" |
Required. Selects the variant and the properties admitted in this branch. |
queryBindings[].parameters{key}.[kind=entity-id].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
queryBindings[].parameters{key}.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
queryBindings[].parameters{key}.[kind=field].field |
closed object |
Required. Defines field for this object. Observe the type, variants and bounds in the Options column. |
queryBindings[].parameters{key}.[kind=field].field.definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
queryBindings[].parameters{key}.[kind=field].field.fieldKey |
string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u |
Required. Key of a Field declared on the referenced Surface definition. |
queryBindings[].parameters{key}.[kind=literal].kind |
"literal" |
Required. Selects the variant and the properties admitted in this branch. |
queryBindings[].parameters{key}.[kind=literal].value |
string; max length 4000 OR number OR true | false OR null |
Required. Effective value interpreted according to the enclosing type and discriminant. |
metrics |
Array<closed object>; max length 20 |
Required. Declared metrics based on a Query and canonical aggregate. |
metrics[].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
metrics[].queryBindingKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
metrics[].value |
"aggregate" |
Required. Effective value interpreted according to the enclosing type and discriminant. |
metrics[].singularLabel |
string; min length 1; max length 4000 |
Required. Label used for a single result unit. |
metrics[].pluralLabel |
string; min length 1; max length 4000 |
Required. Label used for multiple result units. |
metrics[].navigation |
closed object; null |
Required. Declared destinations in presentation order. |
metrics[].navigation.kind |
"record-related-group" |
Required. Selects the variant and the properties admitted in this branch. |
metrics[].navigation.relatedGroupKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
detail |
closed object |
Required. Sections, Actions, settings and relations of an open record. |
detail.primaryActionKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u; null |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
detail.primaryActionLabel |
string; min length 1; max length 4000; null |
Required. Defines primary Action Label for this object. Observe the type, variants and bounds in the Options column. |
detail.creationActionKeys |
Array<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u>; max length 100 |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
detail.actionKeys |
Array<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u>; max length 100 |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
detail.sections |
Array<closed object OR closed object OR closed object>; min length 1; max length 40 |
Required. Declared sections in reading or rendering order. |
detail.sections[].[kind=fields].kind |
"fields" |
Required. Selects the variant and the properties admitted in this branch. |
detail.sections[].[kind=fields].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
detail.sections[].[kind=fields].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
detail.sections[].[kind=fields].fieldPaths |
Array<string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u>; min length 1; max length 100 |
Required. Defines field Paths for this object. Observe the type, variants and bounds in the Options column. |
detail.sections[].[kind=content].kind |
"content" |
Required. Selects the variant and the properties admitted in this branch. |
detail.sections[].[kind=content].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
detail.sections[].[kind=content].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
detail.sections[].[kind=query-view].kind |
"query-view" |
Required. Selects the variant and the properties admitted in this branch. |
detail.sections[].[kind=query-view].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
detail.sections[].[kind=query-view].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
detail.sections[].[kind=query-view].queryBindingKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
detail.sections[].[kind=query-view].viewKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
detail.settings |
closed object |
Required. Fields presented in the record settings form. |
detail.settings.fieldPaths |
Array<string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u>; max length 100 |
Required. Defines field Paths for this object. Observe the type, variants and bounds in the Options column. |
detail.tags |
closed object; null |
Required. Classification or display configuration for admitted tags. |
detail.tags.namespace |
"user" |
Required. Namespace determining value vocabulary and scope. |
detail.tags.maximumVisible |
integer; ≥ 0; ≤ 20 |
Required. Maximum number of items in the bounded preview; the full collection remains accessible separately. |
detail.relatedGroups |
Array<closed object>; max length 40 |
Required. Relation groups with a Query and bounded preview plus access to the full collection. |
detail.relatedGroups[].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
detail.relatedGroups[].label |
string; min length 1; max length 4000 |
Required. Human-readable label displayed in the interface. |
detail.relatedGroups[].queryBindingKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
detail.relatedGroups[].maximumVisible |
integer; ≥ 1; ≤ 100 |
Required. Maximum number of items in the bounded preview; the full collection remains accessible separately. |
detail.relatedGroups[].openAllLabel |
string; min length 1; max length 4000 |
Required. Label opening the full collection, such as View all. |
detail.relatedGroups[].rowIcon |
closed object; null |
Required. Defines row Icon for this object. Observe the type, variants and bounds in the Options column. |
detail.relatedGroups[].rowIcon.catalog |
Managed by Surface; supplied by the Model tools. |
Required. Defines catalog for this object. Observe the type, variants and bounds in the Options column. |
detail.relatedGroups[].rowIcon.revision |
"0.468.0" |
Required. Defines revision for this object. Observe the type, variants and bounds in the Options column. |
detail.relatedGroups[].rowIcon.name |
string; min length 1; max length 120; semantic validation |
Required. Readable name of the element in its presentation context. |
Reading the contract
A path ending in [] describes each list item; {key} describes each dictionary value. The ↻ marker refers to the same recursive expression. Closed objects reject additional properties. Semantic validation denotes an additional check: matching a type does not make a reference, permission or transition valid. References must resolve in the Model and the current user context.
An older variant cannot accept properties belonging to a newer variant. The compiler checks the version and consistency of the complete Model.
Surface manages this structure’s implementation parameters. Use Model tools to produce them; they are not values to enter in a record.
Related references
Complete Model index · Build a Model
Applied examples : Visible notes, accessible settings
Place follow-up on the Surface and email in settings, while retaining the same Fields.
Configuration
Contract object workspaceRecordProfile. Properties and accepted values.
{
"key": "client",
"definitionPaths": [
"workspace/clients/surface/client"
],
"editActionKey": "edit-client",
"identity": {
"title": {
"kind": "field",
"fieldPath": "fields/company"
},
"avatar": {
"kind": "initials",
"maximumLetters": 2
},
"subtitle": {
"kind": "field",
"fieldPath": "fields/status"
}
},
"valueLabels": [
{
"fieldPath": "fields/status",
"values": [
{
"value": "prospect",
"label": "Prospect"
},
{
"value": "active",
"label": "Active"
}
]
}
],
"card": {
"summary": {
"kind": "field",
"fieldPath": "fields/notes"
},
"tags": {
"namespace": "user",
"maximumVisible": 3
},
"metricKeys": [],
"openLabel": "Open client"
},
"queryBindings": [],
"metrics": [],
"detail": {
"primaryActionKey": null,
"creationActionKeys": [],
"actionKeys": [],
"sections": [
{
"kind": "fields",
"key": "follow-up",
"label": "Client follow-up",
"fieldPaths": [
"fields/notes",
"fields/status"
]
}
],
"settings": {
"fieldPaths": [
"fields/email"
]
},
"tags": {
"namespace": "user",
"maximumVisible": 3
},
"relatedGroups": [],
"primaryActionLabel": null
}
}
Variation and connection
Fragment placed in presentation.recordProfiles[].detail.settings. Properties and accepted values.
{
"fieldPaths": [
"fields/email"
]
}
UI layout example
The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.
- Client identity
- Notes and follow-up
- Settings
- Linked quotes
key- client
definitionPaths- 1 item
editActionKey- edit-client
identity- Declared object
valueLabels- 1 item
Values above follow the configuration fragment; references resolve in the complete Model.