Field and entity metadata

The OpenText Core Software Delivery Platform data model is metadata-driven. Rather than hard-coding the entity types and fields that exist in a given workspace, you can query the API for that metadata at runtime and adapt to it. This is the recommended way to discover which entities, fields, and relations are available.

Metadata resources

Metadata is exposed under a metadata/ path in each context. The following resources are available:

  • metadata/entities. Describes the entity types.

  • metadata/fields. Describes the fields of the entity types.

  • metadata/relations. Describes the relations between entity types.

Because the model can differ by scope, metadata is available at the site, shared-space, and workspace levels. Request metadata in the same context as the entities you intend to work with. For the URL structure of these contexts, see Resource URL structure.

Each resource returns a collection of descriptors:

  • metadata/entities returns, for each entity type, its name and label, and the platform features it supports (such as attachments or subtypes).

  • metadata/fields returns, for each field, its name, label, the entity_name it belongs to, its field_type, and a set of flags that describe how it may be used (see below).

  • metadata/relations returns the relations between entity types. Each relation names the two sides and, for each side, the type and the cardinality (one or many) of the reference.

Field metadata

Field metadata describes each field's type and behavior. Use it to determine which fields you can set on create or update, and which fields you can request. For requesting specific fields, see Restricting fields. Each field descriptor includes the following properties:

Property Description
name The field's logical name, as used in queries and in the fields parameter.
label The display name of the field.
entity_name The entity type the field belongs to.
field_type The data type of the field, such as string, integer, date, or reference.
required Whether a value must be supplied when creating the entity.
editable Whether the field can be changed after creation.
final Whether the field can be set on create but not changed afterward.
filterable Whether the field can be used in a query.
sortable Whether the field can be used to sort results.
groupable Whether the field can be used to group results.
returned_by_default Whether the field is returned when you do not request a specific set of fields.
access_level The access level of the field, such as public or tech preview. Tech-preview fields require the ALM-OCTANE-TECH-PREVIEW: true request header.
field_type_data For a reference field, the target entity types it can point to and whether it holds multiple references.

Some fields also expose aliases, which are alternative names that can be used when reading fields or sorting.

Site parameter metadata

The metadata/params resource describes site parameters, which are server-level configuration values. Some of these parameters affect API behavior; see Diagnostics and troubleshooting for an example.