Link relation aa:update-attributes

Overview

Update the custom attributes of an asset.

HTTP method

PATCH

URI template variables

lockId

Only for MediaCentral Newsroom Management

ID of the edit lock.

Query parameters

-

Request body

-

An aa:attributes resource with the attributes to update. The only required properties per attribute are "name" and "value".

  • Attributes that are given in the request are updated.

  • Attributes that are not given are left untouched.

  • For multi-value attributes, the rows given in the request fully replace the currently existing rows. You can’t modify, delete or insert individual rows with this link rel.

See below for details and examples for different systems.

HTTP response

204 No Content

400 Bad Request

The format of a value is unexpected.

404 Not Found

The asset doesn’t exist or the service or an intermediate resource is not available.

Response body

-

Available in

Description

Update the custom attributes of an asset.

The request body is expected in the same format that is returned when getting the attributes of an asset (see aa:attributes relation). Custom attributes that are given in the request are updated.

MediaCentral Asset Management

Example request body
 
{
  "attributes": [
    {
      "name": "REGISTRATION_DATETIME",
      "value": "2025-06-10 23:10:12"
    },
    {
      "name": "CONTRIBUTIONS",
      "type": "multi-value compound",
      "value": [
        {
          "index": 0,
          "attributes": [
            {
              "name": "ROLE",
              "value": "288"
            },
            {
              "name": "REAL_NAME",
              "value": "John Doe"
            }
          ]
        },
        {
          "index": 1,
          "attributes": [
            {
              "name": "ROLE",
              "value": "221"
            },
            {
              "name": "REAL_NAME",
              "value": "John Smith"
            }
          ]
        }
      ]
    },
    {
      "name": "KEYWORDS",
      "type": "multi-value string",
      "value": [
        {
          "index": 0,
          "value": "Germany"
        },
        {
          "index": 1,
          "value": "Berlin"
        },
        {
          "index": 2,
          "value": null
        },
        {
          "value": "Politics"
        }
      ]
    }
  ]
}
 

For multi-value attributes:

  • The rows given in the request fully replace the currently existing rows. You can’t modify, delete or insert individual rows with this link rel.

  • It’s not possible to update a multi-value attribute to contain only a single, empty row with this link rel. MC|AM interprets that as a command to delete all existing rows of that attribute. To create a single, empty row, use aa:multi-value-attribute-by-attributeid or aa:multi-value-attribute-range-by-attributeid, followed by aa:update-multi-value-attribute with a request body like this:

    [
      { "op": "remove", "path": "/rows" },
      { "op": "add", "path": "/rows/-"}
    ]

MediaCentral Production Management

The request body is expected in the same format that is returned when getting the information about an aa:attributes resource.

You can only update attributes that are modifiable, meaning ones that don’t have the readOnly flag in the datamodel:asset-model resource. All given custom attributes must be modifiable for the request to succeed.

In MC|PM, custom attributes consist of different kinds of Production Management properties:

  • System properties: system-defined, standard properties. Some, but not all of them, start with the prefix com.avid.workgroup.Property.System.. Examples: com.avid.workgroup.Property.System.Tracks, NXN_Display_Name.

  • User properties: properties that are configured by the administrator. They start with the prefix com.avid.workgroup.Property.User.. Example: com.avid.workgroup.Property.User.ProdId.

Example
 
{
  "attributes": [
    {
      "name": "com.avid.workgroup.Property.User.ProdId",
      "value": "P12345"
    }
  ]
}
 

The values for attributes of type timecode can be given in two ways:

  • As a string in SMPTE notation.

  • As an integer value with a frame count. In this case, the property editRate must be given in the request. If given, the property dropFrame is also taken into account.

MediaCentral Newsroom Management:

The caller must lock the asset to be able to update attributes. See ia:lock-asset-by-id for details. The URI requires the additional query parameter lockId with the lock ID. After the update is done, the lock is automatically removed.