Hello Thread,
This question was recently answered in a Support case, where the below notes were provided as guidance to resolve the issue.
1) The Tag Type and Value must exist in the Admin > Tags for the update to be successful.
2) The 'Content-Type' should be set to "application/x-www-form-urlencoded"
3) You may run the call with no tags parameter to return existing tags.
4) The Update Program Metadata call is "destructive" in that if you do not include existing non-required tags then those tags will be deleted in the successful call.
Example Call:
POST /rest/asset/v1/program/1091.json?access_token=xxx HTTP/1.1
Host: xxx-xxx-123.mktorest.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: xxx
tags=%5B%7B%22tagType%22+%3A+%22newType%22%2C%22tagValue%22+%3A+%22newValue%22%7D%2C%7B%22tagType%22+%3A+%22TestTag%22%2C%22tagValue%22+%3A+%22TestValue0%22%7D%5D
(tags Decoded:"[{"tagType" : "newType","tagValue" : "newValue"},{"tagType" : "TestTag","tagValue" : "TestValue0"}]")
I hope this was helpful. Thanks!