REST Meta API

All Root Entities

Returns all root entities defined in the repository.

URL Pattern

/meta

Method

GET

Parameters

No parameters are available

Media type

text/html, application/json, application/xml

Result

All root entities defined in the repository

Result

A list of all root entities supporting the REST API is returned. Each entry contains the following properties:

Properties for entities element

Field

Data type

Description

identifier

String

Unique identifier of the entity

name

String

Localized name of the entity

description

String

Localized description of the entity

Metadata for a Root Entity

Returns the complete metadata for a root entity including all fields and all sub entities with their qualifiers, fields and sub entities.

URL Pattern

/meta/{root-entity-identifier}

Method

GET

Parameters

visibleOnly

Media type

text/html, application/json, application/xml

Result

The metadata for a root entity, like all direct fields, all direct sub entities etc.

Parameters

Available parameters

Parameter

Required

Default

Datatype

Parameter description

visibleOnly

no

false

boolean

Limits the result of the fields depending on the qualification permissions of the authentificated user. If false, all fields will be returned, even when the user doesn't

have the read permission on this field.

Result

The following entity properties are returned:

Properties of the returned object

Field

Data type

Description

identifier

String

Unique identifier

name

String

Localized name

qualifiedName

String

Qualified and localized name
(in case of a root entity always identical to name)

description

String

Localized description

qualifiers

Array

List of qualifiers, always empty in case of a root entity). The available properties for each field are described at qualifier properties.

fields

Array

List of direct fields. The available properties for each field are described at field properties.

entities

Array

List of direct sub entities. The available properties are identical to those of the root entity.

Remarks

  • If the media type text/html is requested, only the direct fields and sub entities are returned to ensure the HTML page has a manageable size.

All Fields of a Root Entity

Returns all fields of a root entity including fields of sub entities. The fields are grouped by category.

URL Pattern

/meta/{root-entity-identifier}/fields

Method

GET

Parameters

No parameters are available

Media type

text/html, application/json, application/xml

Result

All fields (including fields of sub entities) of the specified entity grouped by category. The returned structure
contains a list of categories whereby the corresponding fields are included for each category.

Result

The following properties for each field are returned:

Properties of the each categories element

Field

Data type

Description

identifier

String

Unique identifier of the category

qualifiedName

String

Localized name of category.

fields

Array

Localized description of the field

Properties of the each fields element

Field

Data type

Description

resource

URL

Link to the meta data of the field

identifier

String

Unique identifier of the field

qualifiedName

String

Qualified and localized name of the field. The default qualifiers are used.

description

String

Localized description of the field

Metadata for a Sub Entity

Returns the metadata for a sub entity. The returned metadata includes a list of qualifiers, a list of direct fields, and a list of direct sub entities.

URL Pattern

/meta/{root-entity-identifier}/{sub-entity-identifier}

Method

GET

Parameters

visibleOnly

Media type

text/html, application/json, application/xml

Result

The metadata for a sub entity. The returned metadata includes information like all direct fields, all sub entities etc.
The sub entity does not need to be a direct sub entity of the root entity.

Parameters

Available parameters

Parameter

Required

Default

Datatype

Parameter description

visibleOnly

no

false

boolean

Limits the result of the fields depending on the qualification permissions of the authentificated user. If false, all fields will be returned, even when the user doesn't

have the read permission on this field.

Result

The returned object has the same properties as the result object for a root entity. See Properties of a root entity.

Metadata for a Field

Returns the available metadata for a field.

URL Pattern

/meta/{root-entity-identifier}/{field-identifier}

Method

GET

Parameters

qualification

visibleOnly

Media type

text/html, application/json, application/xml

Result

The metadata for a field. The returned metadata includes information like the data type,
the enumeration (if available), the cardinality, the field qualifiers etc.
If the parameter qualification is set, the qualified name is generated using the specified qualification.

Parameters

Available parameters

Parameter

Required

Default

Datatype

Parameter description

qualification

no

String

Sets the qualification which is used to generate the content of the property qualifiedName. The format is described in REST Field Qualification whereby only the qualification part has to be specified (including the parentheses).
Qualification example for the field ArticlePriceValueSales.Amount : (1,nrp,USD,US,2010-08-06,1.5)

visibleOnly

no

boolean

Limits the result of the fields depending on the qualification permissions of the authentificated user. If false, all fields will be returned, even when the user doesn't

have the read permission on this field.

Result

The following field properties are returned:

Properties

Field

Data type

Description

identifier

String

Unique identifier of this field

name

String

Localized name of the field

qualifiedName

String

Qualified and localized name. The default qualifiers are used if not specified explicitly in the qualification parameter.

category

String

Category this field belongs to

description

String

Localized description of this field

dataType

String

Data type of this field. The possible data types are limited and documented here

enumeration

Object

Proxy object to the enumeration containing all possible values for this field. The proxy contains the properties name and identifier.

proposalEnum

Object

Proxy object to the enumeration containing a proposal list of possible values (other values are allowed too). The proxy contains the properties name and identifier.

lowerBound

Integer

Defines the cardinality (lower bound). 0 means the field is optional, 1 means it is mandatory.

upperBound

Integer

Defines the cardinality (upper bound). 1 means the field is a single value field, -1 means, this field is a list of values.

minLength

Integer

Defines the minimum length. Only meaningful if the data type is String.

maxLength

Integer

Defines the maximun length. Only meaningful if the data type is String.

richtext

Boolean

Defines if this field can hold formatting markers. Only meaningful if the data type is String.

scale

Integer

Defines the number of digits after the decimal separator. Only meaningful if the data type is Decimal.

pictureClause

String

Defines how the value should be formatted. If specified, the default picture clauses which come from the corresponding datatype is overwritten. See Repository documentation for details.

value

String

Default value or fixed value in case this field is not editable

visible

Boolean

Defines if this field is visible for the authentificated user or not

editable

Boolean

Defines if this field can be edited by the authentificated user or not

multiline

Boolean

Defines if carriage return line feeds are allowed in the string, also adjusts the visualization of the field.
Only meaningful if the data type is String.

qualifiers

Array of objects

All qualifiers of this field. The object contains the properties name, description, data type and enumeration.
This property is not provided when this field description is embedded in an entity description.

Metadata for a Qualifier

Returns the available metadata for a qualifier.

URL Pattern

/meta/{root-entity-identifier}/{sub-entity-identifier}/{qualifier-identifier}

Method

GET

Parameters

No parameters are available

Media type

text/html, application/json, application/xml

Result

The metadata for a qualifier. The returned metadata includes information like the data type,
the enumeration (if available), etc

Result

The following qualifier properties are returned:

Properties

Field

Data type

Description

name

String

Localized name.

qualifiedName

String

Localized and qualified name.

qualificationFilterIdentifier

String

Identifier used in the property qualification when executing a REST List API Write for Sub Entities.

description

String

Localized description of this field.

dataType

String

Data type of this qualifier. The possible data types are limited and documented here

enumeration

Object

Proxy to the enumeration containing all allowed values for this qualifier.

proposalEnum

Object

Proxy to the enumeration containing a proposal list of possible values (other values are allowed too)

Examples

Retrieving all root entities

curl -u rest:heiler -H "Accept: application/json" -X GET http://localhost:1501/rest/V1.0/meta

The following JSON object is returned:

{
"entities": [
{
"identifier": "Article",
"name": "Item",
"description": ""
},
...
]
}

Retrieving meta data of the root entity Article

curl -u rest:heiler -H "Accept: application/json" -X GET http://localhost:1501/rest/V1.0/meta/Article

The following JSON object is returned:

 {
"identifier": "Article",
"name": "Item",
"qualifiedName": "Item",
"description": "",
"qualifiers": [],
"fields": [
{
"identifier": "Article.Id",
"name": "Internal item number",
"qualifiedName": "Internal item number",
"category": "",
"description": "",
"dataType": "INTEGER",
"lowerBound": "0",
"upperBound": "1",
"minLength": "0",
"maxLength": "0",
"richtext": "false",
"rangeMin": "",
"rangeMax": "",
"scale": "0",
"pictureClause": "",
"value": "",
"editable": "false",
"multiline": "false",
"searchable": "false"
},
...
],
"entities": [
{
"identifier": "ArticleLogistic",
"name": "Logistical data",
"qualifiedName": "Logistical data",
"description": "",
"qualifiers": [
{
"name": "Country",
"qualifiedName": "Country",
"qualificationFilterIdentifier": "territory",
"description": "",
"dataType": "STRING",
"enumeration": {
"name": "Countries",
"identifier": "Enum.Territory"
},
"value": "DE"
}
],
"fields": [ ... ]
}
]
}

Retrieving all fields of the root entity Article

curl -u rest:heiler -H "Accept: application/json" -X GET http://localhost:1501/rest/V1.0/meta/Article/fields

The following JSON object is returned:

{
"categories": [
{
"identifier": "master-data",
"qualifiedName": "Header data",
"fields": [
{
"identifier": "Article.AclProxy",
"qualifiedName": "Object rights",
"description": "Defines the rights for an object"
},
{
"identifier": "Article.AclFlag",
"qualifiedName": "Object right type",
"description": "Type of object right"
},
....
}
]
}

Retrieving meta data of the sub entity ArticlePriceValuePurchase

curl -u rest:heiler -H "Accept: application/json" -X GET http://localhost:1501/rest/V1.0/meta/Article/ArticlePriceValuePurchase

The following JSON object is returned:

{
"identifier": "ArticlePriceValuePurchase",
"name": "Price tier",
"qualifiedName": "Price tier",
"description": "",
"qualifiers": [
{
"name": "Supplier",
"description": "Name of the supplier",
"dataType": "ENTITY_ITEM",
"enumeration": {
"name": "Suppliers (inc. main supplier)",
"identifier": "Enum.SupplierWithMainSupplier"
}
},
...
],
"fields": [
{
"identifier": "ArticlePriceValuePurchase.Amount",
"name": "Price (from 1.0000)",
"description": "Purchase price level"
},
...
],
"entities": []
}

Retrieving metadata for the field ArticleLang.DescriptionLong

curl -u rest:heiler -H "Accept: application/json" -X GET http://localhost:1501/rest/V1.0/meta/Article/ArticleLang.DescriptionLong

The following JSON object is returned:

{
"identifier": "ArticleLang.DescriptionLong",
"name": "Long description",
"qualifiedName": "Long description (German)",
"category": "Texts",
"description": "Detailed description of item",
"dataType": "STRING",
"lowerBound": "0",
"upperBound": "1",
"minLength": "0",
"maxLength": "2147483647",
"richtext": "true",
"rangeMin": "",
"rangeMax": "",
"scale": "0",
"pictureClause": "",
"value": "",
"editable": "true",
"multiline": "true",
"searchable": "true",
"qualifiers": [
{
"name": "Language",
"description": "Unique identifier of the language in which the item has been recorded",
"dataType": "INTEGER",
"enumeration": {
"name": "All languages",
"identifier": "Enum.Language"
}
}
]
}

Retrieving meta data of the field ArticlePriceVa.DescriptionLong with qualification

curl -u rest:heiler -H "Accept: application/json" -X GET http://localhost:1501/rest/V1.0/meta/Article/ArticlePriceValueSales.Amount?qualification=(1,nrp,USD,US,2012-08-21,1.0)

The following JSON object is returned:

{
"identifier": "ArticlePriceValueSales.Amount",
"name": "Price",
"qualifiedName": "Non-binding price recommendation (from 1)",
"category": "Prices",
"description": "Selling price level",
"dataType": "DECIMAL",
"lowerBound": "0",
"upperBound": "1",
"minLength": "0",
"maxLength": "0",
"richtext": "false",
"rangeMin": "0",
"rangeMax": "9999999999.999999",
"scale": "2",
"pictureClause": "",
"value": "",
"editable": "true",
"multiline": "false",
"searchable": "true",
"qualifiers": [
{
"name": "Customer",
"description": "Unique number of purchasing company",
"dataType": "ENTITY_ITEM",
"enumeration": {
"name": "Customers",
"identifier": "Enum.Buyer"
}
},
...
]
}

Retrieving meta data of the qualifier Language for entity ArticleLang

curl -u rest:heiler -H "Accept: application/json" -X GET http://localhost:1501/rest/V1.0/meta/Article/ArticleLang/ArticleLangType.LK.Language

The following JSON object is returned:

{
"name": "Language",
"qualifiedName": "Language",
"qualificationFilterIdentifier": "language",
"description": "Unique identifier of the language in which the item has been recorded",
"dataType": "INTEGER",
"enumeration": {
"name": "All languages",
"identifier": "Enum.Language"
},
"value": "7"
}