Change asset metadata

Change basic asset metadata, such as the title, description, or Visibility Class

Call template

All DataTable calls can be POST or GET.

https://{OrangeLogicURL}/API/DataTable/V2.2/Documents.{type}.{subtype}:CreateOrUpdate?{asset identifier}&{asset metadata}


Specify the asset type and subtype, provide an asset identifier, and then specify the field you want to change, along with an operator and a new value.

ℹ️

Note

DataTable calls do not update metadata fields that are read-only. Orange Logic administrators can set read/edit access for custom fields and secure fields. They can also make fields read-only on a particular asset subtype. Some Core fields are designed to be read-only, such as the Original File Name field. If you need to use DataTable calls to update fields that are read-only by default, submit a support request.

Create or Update

Example 1: Rename an asset

This call changes the name of the Standard folder with the identifier ZZ13U2O to “January photoshoot.”

/API/DataTable/V2.2/Documents.Folder.Default:Update?CoreField.Identifier=ZZ13U2O&CoreField.Title:=January photoshoot

Example call
curl --location --request POST 'https://mangovations.com/API/DataTable/V2.2/Documents.Folder.Default:Update?CoreField.Identifier=ZZ13U2O&CoreField.Title%3A=January%20photoshoot' \
--header 'Authorization: Bearer 3A.1k4AhT0l7ryoUQ45T2j3FHP5D0vfqY1ZYIK8ip.AHQc05eYOxPW0JwKMWIAWkzpVZoJgvrl.KrkcVDUogWWPiCQ3w79Y2bRAM5s5IymUYexCQiPFTGI4sTu.suskF' \
--header 'Cookie: AWSALB=x9vJo4jgxT8QThUwTjYAohg9CNOuyfliuoy818YyI7an/1m2mnAQHMYqaQoUirtrV/uVfgIhJ/Wl2hOMeXuAun2J7TOH7InMN4gk5Ex9EIRcquJzY+rOxj+vynI7; AWSALBCORS=x9vJo4jgxT8QThUwTjYAohg9CNOuyfliuoy818YyI7an/1m2mnAQHMYqaQoUirtrV/uVfgIhJ/Wl2hOMeXuAun2J7TOH7InMN4gk5Ex9EIRcquJzY+rOxj+vynI7; AWSALBTG=N6U9B70fsgEONAWV++f+8UtNFM9eHZ6sp6JKq4JlzmpBMRvNwJUKXryr0Kcu5PGBAJT6Mg9pu4Tkfgb7fX7LYExm7iMgzk6M/B8gtyLHLrC3U3xXpBYsBFT80SbF04LbnRj/bWadCjpAoGVpD8bPQoHBNIJNMi7sBH6jbfjrAJ2e; AWSALBTGCORS=N6U9B70fsgEONAWV++f+8UtNFM9eHZ6sp6JKq4JlzmpBMRvNwJUKXryr0Kcu5PGBAJT6Mg9pu4Tkfgb7fX7LYExm7iMgzk6M/B8gtyLHLrC3U3xXpBYsBFT80SbF04LbnRj/bWadCjpAoGVpD8bPQoHBNIJNMi7sBH6jbfjrAJ2e; ZZ1-Session__1505=CfDJ8KSkO661hSREsDx7PGb48%2B0vGxiCI0IJvJZ9%2BdvHzDen0YEDDVP8mYgkyofYeAQRQv3M1i1zmXWJKuwHgZGapYPUG6tjhkmOH4tq1olrYp8iPLpdIlFHZTdwjY3YUmnGIaQ%2FZfwV7v4IMIMkZfQ8Md87NbnUv8u1upYWcXFtsaFr; ZZ1-Session__1505-Alt=CfDJ8KSkO661hSREsDx7PGb48%2B0vGxiCI0IJvJZ9%2BdvHzDen0YEDDVP8mYgkyofYeAQRQv3M1i1zmXWJKuwHgZGapYPUG6tjhkmOH4tq1olrYp8iPLpdIlFHZTdwjY3YUmnGIaQ%2FZfwV7v4IMIMkZfQ8Md87NbnUv8u1upYWcXFtsaFr'
Response
<Result>
  <APIRequestInfo>
    <ProviderVersion>KOBE.R2.2065G.216363</ProviderVersion>
    <ProviderIdentity>CUY-T-USW62-APP</ProviderIdentity>
    <ProviderID>44ddde3ac27a33c394335f249d4007d4</ProviderID>
    <Module>DataTable</Module>
    <APIVersion>V2.2</APIVersion>
    <Resource>Documents.Folder.Default:Update</Resource>
    <IsLoggedIn type="Boolean">True</IsLoggedIn>
    <Status>LoggedIn</Status>
    <UserLogin>ZZ1CT12218</UserLogin>
    <Session>No session (production configuration)</Session>
    <TimeoutPeriodMinutes type="Numeric">120</TimeoutPeriodMinutes>
  </APIRequestInfo>
  <RequestInterpretation>
    <Filters type="List">
      <Filter>
        <Field>CoreField.Identifier</Field>
        <Operator>=</Operator>
        <OperatorDescription>Field must be equal to value</OperatorDescription>
        <Value>ZZ13U2O</Value>
      </Filter>
    </Filters>
    <Updates type="List">
      <Update>
        <Field>CoreField.Title</Field>
        <Operator>:=</Operator>
        <OperatorDescription>Assign a value to a single-value field</OperatorDescription>
        <Value>January photoshoot</Value>
      </Update>
    </Updates>
    <IgnoredParameters type="List" />
  </RequestInterpretation>
  <ResponseSummary>
    <NumberOfRecordsAffected type="Numeric">1</NumberOfRecordsAffected>
  </ResponseSummary>
  <Response>
    <RecordsAffected type="List">
      <Result>
        <RecordID>2QDTWAW79R4</RecordID>
        <Code>SUCCESS</Code>
      </Result>
    </RecordsAffected>
  </Response>
</Result>

Example 2: Add or update metadata fields

This call adds or updates the Description and Visibility Class of an image with the Production Still subtype. The CreateOrUpdate action means the call will update the metadata fields if they’re already present on the subtype, and it will create the fields (and populate them) if they don’t yet appear for the subtype of the specified asset.

This example call uses two different operators.

  • := adds or replaces the value in a free-text field. In this example, the Description field is updated.
  • +:= adds or replaces the value in a field based on an authority list. In this example, the Visibility Class field is updated.

/API/DataTable/V2.2/Documents.Image.Production-Still:CreateOrUpdate?CoreField.Identifier=ZZ12PO4&CoreField.CaptionLong:=Wide shot of zen garden in spring with flowers in bloom.&CoreField.Purpose+:=Internal use only

Example call
curl --location --request POST 'https://mangovations.com/API/DataTable/V2.2/Documents.Image.Production-Still:CreateOrUpdate?CoreField.Identifier=ZZ12PO4&CoreField.Purpose+%3A=Internal%20use%20only&CoreField.CaptionLong%3A=Wide%20shot%20of%20zen%20garden%20in%20spring%20with%20flowers%20in%20bloom.' \
--header 'Authorization: Bearer 3A.1k4AhT0l7ryoUQ45T2j3FHP5D0vfqY1ZYIK8ip.AHQc05eYOxPW0JwKMWIAWkzpVZoJgvrl.KrkcVDUogWWPiCQ3w79Y2bRAM5s5IymUYexCQiPFTGI4sTu.suskF' \
--header 'Cookie: AWSALB=EMVoqe5YB7NZEKbKlOPBSSd6tuhNCi+3ugsRR+3lWWoBux9kNUAbWyaS1Yx+FCOLTPy6ZDNXBs1PqnJ5sX0V6v7+G4rQUGjCGG2m8u+0rxocTWirgWvfUBHwz673; AWSALBCORS=EMVoqe5YB7NZEKbKlOPBSSd6tuhNCi+3ugsRR+3lWWoBux9kNUAbWyaS1Yx+FCOLTPy6ZDNXBs1PqnJ5sX0V6v7+G4rQUGjCGG2m8u+0rxocTWirgWvfUBHwz673; AWSALBTG=18VLwesxqjYxoaRmalL3wVO0lM3RB3ZLsdOHvssU5Ruw630jMoA8rBKzhJSVxI4FR+Zj0IbTUgqlhR/bVYNMuVjA7gqoivGSdvwGzu/eok2HgWQ+eCjrDchk+4+jcCq6UYUk229jXm1EQA6BkJcEPThcp4bAsjX4r8XAmyFwekrJ; AWSALBTGCORS=18VLwesxqjYxoaRmalL3wVO0lM3RB3ZLsdOHvssU5Ruw630jMoA8rBKzhJSVxI4FR+Zj0IbTUgqlhR/bVYNMuVjA7gqoivGSdvwGzu/eok2HgWQ+eCjrDchk+4+jcCq6UYUk229jXm1EQA6BkJcEPThcp4bAsjX4r8XAmyFwekrJ; ZZ1-Session__1505=CfDJ8KSkO661hSREsDx7PGb48%2B0fdcMuKpV0lJzFlMKJLixFG5gTt4qXFZOhwSMEGqC37ODfwtsSozt6QAHJRPCB1IFwe3ipa2860N7jw%2BaSOmDjqExmyHajHGrIn6cnISwGItvTYKHncHGLlzBFEnqKjOMTt8LfGo8aiH4gt%2BKBI%2Bos; ZZ1-Session__1505-Alt=CfDJ8KSkO661hSREsDx7PGb48%2B0fdcMuKpV0lJzFlMKJLixFG5gTt4qXFZOhwSMEGqC37ODfwtsSozt6QAHJRPCB1IFwe3ipa2860N7jw%2BaSOmDjqExmyHajHGrIn6cnISwGItvTYKHncHGLlzBFEnqKjOMTt8LfGo8aiH4gt%2BKBI%2Bos'
Response
<Result>
  <APIRequestInfo>
    <ProviderVersion>KOBE.R2.2065G.216363</ProviderVersion>
    <ProviderIdentity>CUY-T-USL2-APP</ProviderIdentity>
    <ProviderID>44ddde3ac27a33c394335f249d4007d4</ProviderID>
    <Module>DataTable</Module>
    <APIVersion>V2.2</APIVersion>
    <Resource>Documents.Image.Production-Still:CreateOrUpdate</Resource>
    <IsLoggedIn type="Boolean">True</IsLoggedIn>
    <Status>LoggedIn</Status>
    <UserLogin>ZZ1CT12218</UserLogin>
    <Session>No session (production configuration)</Session>
    <TimeoutPeriodMinutes type="Numeric">20</TimeoutPeriodMinutes>
  </APIRequestInfo>
  <RequestInterpretation>
    <Filters type="List">
      <Filter>
        <Field>CoreField.Identifier</Field>
        <Operator>=</Operator>
        <OperatorDescription>Field must be equal to value</OperatorDescription>
        <Value>ZZ12PO4</Value>
      </Filter>
    </Filters>
    <Updates type="List">
      <Update>
        <Field>CoreField.Purpose</Field>
        <Operator>+:=</Operator>
        <OperatorDescription>Assign a value to a single-value field that is based on an authority table. Create the value if it does not exist in the authority table.</OperatorDescription>
        <Value>Internal use only</Value>
      </Update>
      <Update>
        <Field>CoreField.CaptionLong</Field>
        <Operator>:=</Operator>
        <OperatorDescription>Assign a value to a single-value field</OperatorDescription>
        <Value>Wide shot of zen garden in spring with flowers in bloom.</Value>
      </Update>
    </Updates>
    <IgnoredParameters type="List" />
  </RequestInterpretation>
  <ResponseSummary>
    <NumberOfRecordsAffected type="Numeric">1</NumberOfRecordsAffected>
  </ResponseSummary>
  <Response>
    <RecordsAffected type="List">
      <Result>
        <RecordID>2QDTWAGPS9M</RecordID>
        <Code>SUCCESS</Code>
      </Result>
    </RecordsAffected>
  </Response>