PUT /tasks/{task_id}/assets/{asset_id}/drafts/{draft_id}/brand-compliance
1 min
PUT
https://api.cmp.optimizely.com/v3/tasks/{task_id}/assets/{asset_id}/drafts/{draft_id}/brand-compliance
Path Parameters
- task_idstringrequiredExampleDescription
- asset_idstringrequiredExampleDescription
- draft_idstringrequiredExamplesSet the value to "latest" to update the brand compliance details of the latest draft:latestSet a unique identifier of a draft:6706efc7828cd6aaedbc0434139cd3e1Description
Body Parameters
- bodyTaskAssetDraftBrandComplianceRequestrequiredDescription
- statusstring<approved | declined | not_reviewed>requiredExampleDescriptionAllowedapproveddeclinednot_reviewed
- categoriesobject[]requiredDescription
- idstringrequiredExampleDescription
- statusstring<compliant | not compliant | not applicable | >requiredExampleDescriptionAllowedcompliantnot compliantnot applicablenull
- notesstringrequiredExampleDescription
- criteriaobject[]requiredDescription
- idstringrequiredExampleDescription
- descriptionstringrequiredExampleDescription
- selectedbooleanrequiredExampleDescription
Responses
200
- TaskAssetDraftBrandComplianceResponse
- statusstring<approved | declined | not_reviewed>requiredExampleDescriptionAllowedapproveddeclinednot_reviewed
- reviewed_atstring<date-time>requiredExampleDescriptionFormatdate-time
- reviewed_bystringrequiredExampleDescription
- categoriesobject[]requiredDescription
- idstringrequiredExampleDescription
- namestringrequiredExampleDescription
- statusstring<compliant | not compliant | not applicable | >requiredExampleDescriptionAllowedcompliantnot compliantnot applicablenull
- notesstringrequiredExampleDescription
- criteriaobject[]requiredDescription
- idstringrequiredExampleDescription
- namestringrequiredExampleDescription
- descriptionstringrequiredExampleDescription
- selectedbooleanrequiredExampleDescription
400
- ErrorExample
{ "message": "Unsupported arguments: a,b,c" }Description- messagestringrequiredExampleDescription
- errorsmap<string, string>Description
401
- ErrorExample
{ "message": "Unauthorized" }Description- messagestringrequiredExampleDescription
- errorsmap<string, string>Description
404
- ErrorExample
{ "message": "Resource not found" }Description- messagestringrequiredExampleDescription
- errorsmap<string, string>Description
curl
curl --request PUT \
--url https://api.cmp.optimizely.com/v3/tasks/{task_id}/assets/{asset_id}/drafts/{draft_id}/brand-compliance \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"status": "approved",
"categories": [
{
"id": "66dd74f41a335b59cd98915b",
"status": "compliant",
"notes": "Look'\''s good",
"criteria": [
{
"id": "66dd74f41a335b59cd98915c",
"description": "For all CMYK, RGB and HTML breakdowns, please refer to the full Colour Policy guideline",
"selected": true
}
]
}
]
}'javascript
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
var raw = JSON.stringify({
"status": "approved",
"categories": [
{
"id": "66dd74f41a335b59cd98915b",
"status": "compliant",
"notes": "Look's good",
"criteria": [
{
"id": "66dd74f41a335b59cd98915c",
"description": "For all CMYK, RGB and HTML breakdowns, please refer to the full Colour Policy guideline",
"selected": true
}
]
}
]
});
var requestOptions = {
method: 'PUT',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.cmp.optimizely.com/v3/tasks/{task_id}/assets/{asset_id}/drafts/{draft_id}/brand-compliance", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.cmp.optimizely.com/v3/tasks/{task_id}/assets/{asset_id}/drafts/{draft_id}/brand-compliance")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Put.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request.body = JSON.dump({
"status": "approved",
"categories": [
{
"id": "66dd74f41a335b59cd98915b",
"status": "compliant",
"notes": "Look's good",
"criteria": [
{
"id": "66dd74f41a335b59cd98915c",
"description": "For all CMYK, RGB and HTML breakdowns, please refer to the full Colour Policy guideline",
"selected": true
}
]
}
]
})
response = https.request(request)
puts response.read_body
python
import requests
import json
url = "https://api.cmp.optimizely.com/v3/tasks/{task_id}/assets/{asset_id}/drafts/{draft_id}/brand-compliance"
payload = json.dumps({
"status": "approved",
"categories": [
{
"id": "66dd74f41a335b59cd98915b",
"status": "compliant",
"notes": "Look's good",
"criteria": [
{
"id": "66dd74f41a335b59cd98915c",
"description": "For all CMYK, RGB and HTML breakdowns, please refer to the full Colour Policy guideline",
"selected": True
}
]
}
]
})
headers = {
'accept': 'application/json',
'content-type': 'application/json'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
200
// Brand compliance details of the asset draft
{
"status": "approved",
"reviewed_at": "2020-10-06T13:15:30Z",
"reviewed_by": "66d837c62373533177b59db3",
"categories": [
{
"id": "66dd74f41a335b59cd98915b",
"name": "Category-1",
"status": "compliant",
"notes": "Look's good",
"criteria": [
{
"id": "66dd74f41a335b59cd98915c",
"name": "Sub-category-1A",
"description": "For all CMYK, RGB and HTML breakdowns, please refer to the full Colour Policy guideline",
"selected": true
}
]
}
]
}400
// Client error
{
"message": "Not found",
"errors": ""
}401
// Authorization error
{
"message": "Not found",
"errors": ""
}404
// Not found error
{
"message": "Not found",
"errors": ""
}