Skip to content

May this asset be used like this?

POST
/api/v1/check
curl --request POST \
--url http://localhost:3000/api/v1/check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "channel": "example", "territory": "example", "date": "2026-04-15", "asset": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "context": "example", "brand": "example" }'

A verdict, not a lookup: allowed, the reasons (blocking, or worth knowing), and suggest, what to use instead. Refuses an asset that isn’t approved, one that was replaced (and names the replacement), one outside its license window, territory or channel, one whose people have no model release outside editorial use, and, with a context, a rule’s default asset where the brand has a variant for that context. A restriction the use says nothing about is a non-blocking reason: pass territory and channel to settle it.

Scope: read.

Media typeapplication/json
object
channel

Where it will run, e.g. paid-social

string
/^[a-z0-9]+(-[a-z0-9]+)*$/
territory

The country it will run in, e.g. DE

string
/^[A-Z]{2}$/
date

The day it will run; today when left out

string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
asset
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
context

The brand context it is for, e.g. dark-background

string
<= 64 characters /^[a-z0-9]+(-[a-z0-9]+)*$/
brand

Only this brand’s rules; every brand’s when left out

string
<= 60 characters
Examplegenerated
{
"channel": "example",
"territory": "example",
"date": "2026-04-15",
"asset": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"context": "example",
"brand": "example"
}

The verdict

Media typeapplication/json
object
allowed
required

False when any reason is blocking

boolean
asset
required
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
title
required
string
url
required
string format: uri
use
required
object
channel
string
territory
string
date
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
context
string
reasons
required

Why not, and what to know

Array<object>
object
code
required
string
Allowed values: not_approved deleted archived superseded embargoed expired territory channel model_release context
message
required
string
blocking
required

False: go ahead, but know this

boolean
suggest
required

What to use instead: the replacement, the brand’s variant for the context

Array<object>
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
title
required
string
url
required
string format: uri
why
required
string
Example
{
"reasons": [
{
"code": "not_approved"
}
]
}

An error

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
detail
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": "example"
}
}