Overview
The datamodel:system-model resource represents the data model of a single system on the Media Central Platform.
Properties
The datamodel:system-model resource has the following properties:
base |
The system that this model refers to.
|
---|---|
attributes |
The information about the attributes used by the system. attributes contains two sub properties:
Both sub properties contain an array of attribute descriptions. |
asset-types |
New in MC | Cloud UX 2020.4 Information about all asset types, which where used to form the aggregated data model. This property contains an array of asset type descriptions. See datamodel:aggregated-model for details. |
time-based |
New in MC | Cloud UX 2022.3 Only when requested with insist=time-based. Some systems might not support this property. Information about all time based layers, which where used to form the aggregated data model. This property contains an array of layer descriptions. See datamodel:asset-model for details. |
Link Relations
The datamodel:system-model resource has no link relations.
Description
The datamodel:system-model resource represents the data model of a single system on the Media Central Platform.
This includes information about the attributes that are available for assets and location items.
Example
{
"base": {
"systemType": "interplay-mam",
"systemID": "1234"
},
"attributes": {
"common": [
// description of common attributes
],
"custom": [
// description of custom attributes
]
}
}
Attribute Description
Description of an attribute. Example:
{
"id": "name",
"appliesTo": [
"aa:asset",
"loc:item"
],
"description": "display name",
"labels": {
"en": "Name",
"de": "Name"
},
"tooltips": {
"en": "Name",
"de": "Name"
},
"type": {
"baseType": "string",
"maxLength": 256,
"multiValue": false
},
"flags": [
"indexed"
]
}
id
Identifier of the attribute. For common attributes, it is the same as the property name used in the common representation, e.g. "startTC", "name", or "description".
appliesTo
An array of resource names (link rels) that use the attribute. Currently, the following link rels are supported:
-
aa:asset: the attribute is used for assets
-
loc:item: the attribute is used for location items
type
Defines the type of the attribute. See type description for details.
flags
(Optional) An array of flags for the attribute. Currently, the following flags have a defined meaning:
-
readonly: attribute should be displayed as read-only attribute
-
indexed: attribute is searchable.
Other flags may be added in the future.
description
(Optional) A description of the attribute. This is only used for human users of the API.
labels
(Optional) Contains a map setting a label for a number of culture codes. Example:
"labels": {
"en-US": "Aluminum",
"en-UK": "Aluminium",
"en": "Aluminium",
"de": "Aluminium"
}
A client should use a language fallback mechanism to find the correct label. For example, for the culture "fr-CA" (Canadian French) the client should try "fr-CA", then "fr", then typically the default fallback language "en". If there’s still no label, the client should use the ID of the attribute as label.
tooltips
(Optional) Defines localized tool tips for the attribute. The structure is similar to the one for labels.
Type Description
Example:
...
"type": {
"baseType": "string",
"maxLength": 256,
"multiValue": false
}
baseType
Defines the base type. Currently, the following base types are supported:
-
string: String attribute. The maximum length can be defined by the property maxLength.
-
int: Integer attribute. The maximum number of digits can be defined by the property digits. If that property is not given, the client should allow entering 64-bit signed integers.
-
float: Floating point attribute. The value uses a "." as decimal separator and no thousands separator. The maximum number of digits left and right of the decimal separator can be defined by the properties preDecimalPlaces and decimalPlaces. If the properties are not given, the client should not restrict the input.
-
date: Date attribute. The value is expected in the format YYYY-MM-DD.
-
time: Time attribute. The value is expected in the format HH:MM:SS.
-
datetime: Date/time attribute. The value is expected in ISO-8601 format (see https://en.wikipedia.org/wiki/ISO_8601). Example: 2017-06-12T17:29:43+02:00.
-
boolean: Boolean attribute.
-
timecode: SMPTE timecode. The value is expected in the format HH:MM:SS:FF (for non-drop-frame formats), HH:MM:SS.FF (for drop-frame formats), and HH:MM:SS.FFF (for unknown frame rates; with FFF as milliseconds).
-
duration: Duration. The value is expected in the format HH:MM:SS:FF (for non-drop-frame formats), HH:MM:SS.FF (for drop-frame formats), and HH:MM:SS.FFF (for unknown frame rates; with FFF as milliseconds).
-
list: List attribute. The value is an identifier of an element in the list defined with the property list.
-
thesaurus: Thesaurus attribute. The value is an identifier of an element in the thesaurus defined with the property thesaurus.
multiValue
(Optional) Defines if the attribute is a multi-value or single-value attribute. If the property is missing, the attribute is a single-value attribute.
digits
(Optional, and only for baseType=int) The maximum number of digits.
preDecimalPlaces
(Optional, and only for baseType=float) The maximum number of digits left of the decimal separator.
decimalPlaces
(Optional, and only for baseType=float) The maximum number of digits right of the decimal separator.
maxLength
(Optional, and only for baseType=string) The maximum number of characters supported by the attribute. If missing, the length is unlimited.
list
(Only for baseType=list) The ID of the list used for the attribute.
thesaurus
(Only for baseType=thesaurus) The ID of the thesaurus used for the attribute.
More Complete Examples
Example for an MC | AM system
{
"base": {
"systemID": "1234",
"systemType": "interplay-mam"
},
"attributes": {
"common": [
{
"id": "name",
"appliesTo": [
"aa:asset",
"loc:item"
],
"description": "display name",
"labels": {
"en": "Name",
"de": "Name"
},
"tooltips": {
"en": "Name",
"de": "Name"
},
"type": {
"baseType": "string",
"maxLength": 256,
"multiValue": false
},
"flags": [
"indexed"
]
}
],
"custom": [
{
"id": "COMMENT",
"description": "comment field",
"appliesTo": [
"aa:asset"
],
"labels": {
"en": "Comment",
"de": "Kommentar"
},
"tooltips": {
"en": "Comment",
"de": "Kommentar"
},
"type": {
"baseType": "string",
"maxLength": 256,
"multiValue": false
},
"flags": [
"readonly",
"indexed"
]
},
{
"id": "CULTURE",
"description": "ISO culture code",
"appliesTo": [
"aa:asset"
],
"labels": {
"en": "Culture",
"de": "Kultur"
},
"tooltips": {
"en": "ISO culture code",
"de": "ISO-Kulturkennung"
},
"type": {
"baseType": "list",
"listType": "ISO_CULTURES",
"multiValue": false
},
"flags": [
"indexed"
]
}
]
}
}
Example for a MC | PM system
{
"base":{
"systemID":"BEEF",
"systemType":"interplay-pam"
},
"attributes":{
"common":[{
"id":"creator",
"appliesTo":[
"aa:asset",
"loc:item"
],
"description":"Created By",
"labels":{
"en":"Creator"
},
"tooltips":{
"en":"Created By"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"durationTC",
"appliesTo":[
"aa:asset"
],
"description":"Duration",
"labels":{
"en":"DurationTC"
},
"tooltips":{
"en":"Duration"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"created",
"appliesTo":[
"aa:asset",
"loc:item"
],
"description":"Creation Date",
"labels":{
"en":"Created"
},
"tooltips":{
"en":"Creation Date"
},
"type":{
"baseType":"datetime"
},
"flags":[
"readonly"
]
}, {
"id":"modifier",
"appliesTo":[
"aa:asset",
"loc:item"
],
"description":"Changed By",
"labels":{
"en":"Modifier"
},
"tooltips":{
"en":"Changed By"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"endTC",
"appliesTo":[
"aa:asset"
],
"description":"End",
"labels":{
"en":"EndTC"
},
"tooltips":{
"en":"End"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"description",
"appliesTo":[
"aa:asset",
"loc:item"
],
"description":"Comments",
"labels":{
"en":"Description"
},
"tooltips":{
"en":"Comments"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"assetTypeLabel",
"appliesTo":[
"aa:asset"
],
"description":"Asset type",
"labels":{
"en":"Asset type"
},
"tooltips":{
"en":"Asset type"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"assetType",
"appliesTo":[
"aa:asset"
],
"description":"Asset type (ID)",
"labels":{
"en":"Asset type (ID)"
},
"tooltips":{
"en":"Asset type (ID)"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"duration",
"appliesTo":[
"aa:asset"
],
"description":"Duration (frames)",
"labels":{
"en":"Duration"
},
"tooltips":{
"en":"Duration (frames)"
},
"type":{
"baseType":"int"
},
"flags":[
"readonly"
]
}, {
"id":"path",
"appliesTo":[
"loc:item"
],
"description":"Path",
"labels":{
"en":"Path"
},
"tooltips":{
"en":"Path"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"editRate",
"appliesTo":[
"aa:asset"
],
"description":"FPS",
"labels":{
"en":"EditRate"
},
"tooltips":{
"en":"FPS"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}, {
"id":"name",
"appliesTo":[
"aa:asset",
"loc:item"
],
"description":"Name",
"labels":{
"en":"Name"
},
"tooltips":{
"en":"Name"
},
"type":{
"baseType":"string"
},
"flags":[
"mandatory"
]
}, {
"id":"modified",
"appliesTo":[
"aa:asset",
"loc:item"
],
"description":"Modified Date",
"labels":{
"en":"Modified"
},
"tooltips":{
"en":"Modified Date"
},
"type":{
"baseType":"datetime"
},
"flags":[
"readonly"
]
}, {
"id":"startTC",
"appliesTo":[
"aa:asset"
],
"description":"Start",
"labels":{
"en":"StartTC"
},
"tooltips":{
"en":"Start"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}
],
"custom":[{
"id":"com.avid.workgroup.Property.User.clip attribute name",
"appliesTo":[
"aa:asset"
],
"description":"clip attribute name",
"labels":{
"en":"clip attribute name"
},
"tooltips":{
"en":"clip attribute name"
},
"type":{
"baseType":"string"
}
}, {
"id":"NXN_Display_Name",
"appliesTo":[
"aa:asset",
"loc:item"
],
"description":"Name",
"labels":{
"en":"Name"
},
"tooltips":{
"en":"Name"
},
"type":{
"baseType":"string"
},
"flags":[
"indexed",
"editor",
"mandatory"
]
}, {
"id":"Comments",
"appliesTo":[
"aa:asset",
"loc:item"
],
"description":"Comments",
"labels":{
"en":"Comments"
},
"tooltips":{
"en":"Comments"
},
"type":{
"baseType":"string"
},
"flags":[
"editor"
]
}, {
"id":"com.avid.workgroup.Property.System.TrackFormats",
"appliesTo":[
"aa:asset"
],
"description":"Track Formats",
"labels":{
"en":"Track Formats"
},
"tooltips":{
"en":"Track Formats"
},
"type":{
"baseType":"string"
},
"flags":[
"readonly"
]
}
]
},
"asset-types":[{
"id":"masterclip",
"labels":{
"en":"Master Clip"
}
}, {
"id":"sequence",
"labels":{
"en":"Sequence"
}
}, {
"id":"subclip",
"labels":{
"en":"Subclip"
}
}, {
"id":"group",
"labels":{
"en":"Group Clip"
}
}, {
"id":"motioneffect",
"labels":{
"en":"Motion Effect"
}
}, {
"id":"effect",
"labels":{
"en":"Effect"
}
}, {
"id":"renderedeffect",
"labels":{
"en":"Rendered Effect"
}
}, {
"id":"stereomasterclip",
"labels":{
"en":"Stereoscopic Master Clip"
}
}, {
"id":"stereosubclip",
"labels":{
"en":"Stereoscopic Subclip"
}
}, {
"id":"archivedfile",
"labels":{
"en":"Archived File"
}
}
],
"time-based":[{
"id":"A1",
"description":"",
"ranged":true,
"gaps":true,
"overlap":true,
"labels":{
"en":"A1"
},
"tooltips":{
"en":"A1"
},
"attributes":[{
"id":"comment",
"description":"Marker Comment",
"labels":{
"en":"Comment"
},
"tooltips":{
"en":"Comment"
},
"type":{
"baseType":"string"
},
"flags":[]
}, {
"id":"color",
"description":"Marker Color",
"labels":{
"en":"Color"
},
"tooltips":{
"en":"Color"
},
"type":{
"baseType":"string"
},
"flags":[]
}
]
}, {
"id":"V1",
"description":"",
"ranged":true,
"gaps":true,
"overlap":true,
"labels":{
"en":"V1"
},
"tooltips":{
"en":"V1"
},
"attributes":[{
"id":"comment",
"description":"Marker Comment",
"labels":{
"en":"Comment"
},
"tooltips":{
"en":"Comment"
},
"type":{
"baseType":"string"
},
"flags":[]
}, {
"id":"color",
"description":"Marker Color",
"labels":{
"en":"Color"
},
"tooltips":{
"en":"Color"
},
"type":{
"baseType":"string"
},
"flags":[]
}
]
}, {
"id":"A2",
"description":"",
"ranged":true,
"gaps":true,
"overlap":true,
"labels":{
"en":"A2"
},
"tooltips":{
"en":"A2"
},
"attributes":[{
"id":"comment",
"description":"Marker Comment",
"labels":{
"en":"Comment"
},
"tooltips":{
"en":"Comment"
},
"type":{
"baseType":"string"
},
"flags":[]
}, {
"id":"color",
"description":"Marker Color",
"labels":{
"en":"Color"
},
"tooltips":{
"en":"Color"
},
"type":{
"baseType":"string"
},
"flags":[]
}
]
}, {
"id":"D1",
"description":"",
"ranged":true,
"gaps":true,
"overlap":true,
"labels":{
"en":"D1"
},
"tooltips":{
"en":"D1"
},
"attributes":[{
"id":"comment",
"description":"Marker Comment",
"labels":{
"en":"Comment"
},
"tooltips":{
"en":"Comment"
},
"type":{
"baseType":"string"
},
"flags":[]
}, {
"id":"color",
"description":"Marker Color",
"labels":{
"en":"Color"
},
"tooltips":{
"en":"Color"
},
"type":{
"baseType":"string"
},
"flags":[]
}
]
}, {
"id":"V2",
"description":"",
"ranged":true,
"gaps":true,
"overlap":true,
"labels":{
"en":"V2"
},
"tooltips":{
"en":"V2"
},
"attributes":[{
"id":"comment",
"description":"Marker Comment",
"labels":{
"en":"Comment"
},
"tooltips":{
"en":"Comment"
},
"type":{
"baseType":"string"
},
"flags":[]
}, {
"id":"color",
"description":"Marker Color",
"labels":{
"en":"Color"
},
"tooltips":{
"en":"Color"
},
"type":{
"baseType":"string"
},
"flags":[]
}
]
}, {
"id":"restrictions",
"description":"Source DRMs",
"ranged":true,
"gaps":true,
"overlap":true,
"labels":{
"en":"Restrictions"
},
"tooltips":{
"en":"Restrictions"
},
"attributes":[
{
"id":"comment",
"description":"Restriction Comment",
"labels":{
"en":"Comment"
},
"tooltips":{
"en":"Comment"
},
"type":{
"baseType":"string"
},
"flags":[]
}, {
"id":"color",
"description":"Restriction Color",
"labels":{
"en":"Color"
},
"tooltips":{
"en":"Color"
},
"type":{
"baseType":"string"
},
"flags":[]
}, {
"id":"modified",
"description":"Restriction Modified Date",
"labels":{
"en":"Modified"
},
"tooltips":{
"en":"Modified"
},
"type":{
"baseType":"datetime"
},
"flags":[
"readonly"
]
}
]
}
],
"_links":{
"self":{
"href":"https://kl-sm-ics02/apis/avid.pam;version=9999;realm=C89BC814-65E9-4A50-8999-EBE4D1117923/system-model"
},
"curies":[{
"name":"datamodel",
"href":"http://developer.avid.com/ctms/api/datamodel/linkrels/{rel}.html",
"templated":true
}
]
}
}