DC 5.9 Updating asset metadata

URL: /digizuitecore/legacyservice/api/metadata/update

Method: POST

Auth required: YES

The exact request to send here depends on the specific meta field type that is updated, so each field type is documented as a separate request. The meta field type does not need to be passed in a meta field type as the type is inferred based on the target field.

All the requests go to the same endpoint, and requests can be bulked by passing multiple updates in the updates array.

If the response is successful, a status code of 204 No Content status code is returned.

Request properties available on all metafield types:

Name

Type

Description

Name

Type

Description

targetItemIds

list of ints

The itemIds of the assets to update with this update request part.

metaFieldLabelId

int

The metafieldLabelId of the metafield in a specific language to update.

Either this or metaFieldItemGuid should be specified

metaFieldItemGuid

guid

The itemGuid of the meta field to update. This always updates the value in the current access key language if used.

Either this or metaFieldLabelId should be specified.

Bit request properties

Name

Type

Description

Name

Type

Description

value

bool

The value to assign

POST https://<my-dam>/digizuitecore/legacyservice/api/metadata/update Authorization: AccessKey MIIC...o0Y= Content-Type: application/json { "updates": [ { "metaFieldLabelId": 51512, "targetItemIds": [ 20433 ], "value": true } ] }

DateTime request properties

Name

Type

Description

Name

Type

Description

value

DateTime/null

The value to assign, or null to clear the field.

 

POST https://<my-dam>/digizuitecore/legacyservice/api/metadata/update Authorization: AccessKey MIIC...o0Y= Content-Type: application/json { "updates": [ { "metaFieldLabelId": 51518, "targetItemIds": [ 20433 ], "value": "2023-07-13T14:15:00" } ] }

Float request properties

Name

Type

Description

Name

Type

Description

value

double/null

The value to assign, or null to clear the field.

 

POST https://<my-dam>/digizuitecore/legacyservice/api/metadata/update Authorization: AccessKey MIIC...o0Y= Content-Type: application/json { "updates": [ { "metaFieldLabelId": 51520, "targetItemIds": [ 20433 ], "value": 42.5 } ] }

Int request properties

Name

Type

Description

Name

Type

Description

value

int/null

The value to assign, or null to clear the field.

 

String/Note/Link request properties

Name

Type

Description

Name

Type

Description

value

string/null

The value to assign, or null to clear the field.

 

EditComboValue request properties

Name

Type

Description

Name

Type

Description

comboValue

string/null

The value to assign, or null to clear the field.

EditMultiComboValue request properties

Name

Type

Description

Name

Type

Description

comboValues

list of strings

The values to work on, the exact work depending on updateMethod

updateMethod

enum/string, of

  • Set

  • Merge

  • Unset

How the values should be updated.

  • Set: The values are assigned, and all other values are removed.

  • Merge: The values are added to the existing values.

  • Unset: The values are removed from the existing values.

If not specified Set will be used.

ComboValue request properties

Name

Type

Description

Name

Type

Description

comboValue

int/object/null

If you want to select an existing value, pass the id of the combo value.

If you pass in an object you can create a new value on-the-fly. If the combo already exists it will be reused.

Pass null to clear the value.

comboValue.label

string

The name/title/label of the combo value.

comboValue.optionValue

string

The option value of the combo value

 

 

MultiComboValue request properties

Name

Type

Description

Name

Type

Description

comboValues

array of int/object

If you want to select an existing value, pass the id of the combo value.

If you pass in an object you can create a new value on-the-fly. If the combo already exists it will be reused.

comboValues.label

string

The name/title/label of the combo value.

comboValues.optionValue

string

The option value of the combo value

updateMethod

enum/string, of

  • Set

  • Merge

  • Unset

How the values should be updated.

  • Set: The values are assigned, and all other values are removed.

  • Merge: The values are added to the existing values.

  • Unset: The values are removed from the existing values.

If not specified Set will be used.

 

 

MasterItemReference/SlaveItemReference request properties

Name

Type

Description

Name

Type

Description

itemIds

list of int

The itemIds if the items to select, to work on, the exact work depending on updateMethod

updateMethod

enum/string, of

  • Set

  • Merge

  • Unset

How the values should be updated.

  • Set: The values are assigned, and all other values are removed.

  • Merge: The values are added to the existing values.

  • Unset: The values are removed from the existing values.

If not specified Set will be used.

 

Tree request properties

Name

Type

Description

Name

Type

Description

treeValues

list of int/object

If you want to select existing tree nodes, pass their ids.

If you want to create new ones on-the-fly, you can pass an object. This object can be recursive to specify nodes further down in the tree.

treeValues.label

string

The name/title/label of the tree value.

treeValues.optionValue

string

The option value of the tree value

treeValues.select

bool

If this value should be selected or if it is just for reference. Useful if you only want to select the leaf node in a tree, and not any of the nodes on the way.

treeValues.children

array of objects

This can be specified recursively. See the request examples.

updateMethod

enum/string, of

  • Set

  • Merge

  • Unset

How the values should be updated.

  • Set: The values are assigned, and all other values are removed.

  • Merge: The values are added to the existing values.

  • Unset: The values are removed from the existing values.

If not specified Set will be used.

 

 

Update multiple items/fields at the same time

This example will set the title of 2 assets to different values. The description to the same, but in separate parts, and same keywords for each asset in one part: