Metadata
Generated metadata operations.
GET/v1/metadata/{kind}/{id}Read metadatalibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
get_metadata_kind_id
Parameters
| Name | In | Type | Description |
|---|---|---|---|
kindrequired | path | string | |
idrequired | path | string |
Responses
200Successapplication/json
{
"artwork": {
"candidates": [
{
"attribution": "string",
"current": true,
"id": "id_8h2k4q",
"imageId": "id_8h2k4q",
"locale": "string",
"observedAt": "2026-10-18T19:30:00Z",
"previewUrl": "https://example.com/…",
"provider": "string",
"rank": 0,
"role": "string",
"subject": "string",
"votes": 0
}
],
"jobs": [
{
"attempts": 0,
"error": "string",
"id": "id_8h2k4q",
"nextAttempt": "string",
"role": "string",
"status": "string",
"subject": "string"
}
]
},
"artworkFallbackUrl": "https://example.com/…",
"artworkRoles": [
"string"
],
"canMakeEpisodeThumbnail": true,
"candidates": [
{
"id": "id_8h2k4q",
"identityId": "id_8h2k4q",
"identityType": "string",
"observedAt": "2026-10-18T19:30:00Z",
"orders": [
{
"id": "id_8h2k4q",
"name": "Fargo"
}
],
"previewUrl": "https://example.com/…",
"provider": "string",
"subtitle": "Fargo",
"title": "Fargo",
"year": 0
}
],
"cascades": [
{
"completed": 0,
"failed": 0,
"id": "id_8h2k4q",
"intent": "string",
"pending": 0,
"processed": 0,
"skipped": 0,
"status": "string"
}
],
"history": [
{
"id": 0,
"observedAt": "2026-10-18T19:30:00Z",
"trigger": "string"
}
],
"libraryId": "id_8h2k4q",
"onlineLookups": true,
"revision": "r12",
"schema": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"serverId": "id_8h2k4q",
"snapshot": {
"artwork": [
{
"attribution": "string",
"candidateId": "id_8h2k4q",
"digest": "string",
"locked": true,
"revision": 0,
"role": "string",
"subject": "string",
"url": "https://example.com/…"
}
],
"canEditProviderCredits": true,
"fields": {
"key": {
"automaticValue": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"source": "string",
"value": "string",
"values": [
"string"
]
}
},
"identity": {
"engine": "string",
"id": "id_8h2k4q",
"locked": true,
"order": "string",
"provider": "string",
"revision": 0,
"status": "string",
"type": "string"
},
"relationshipLocks": {
"key": true
},
"relationships": [
{
"department": "string",
"kind": "string",
"label": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"ordinal": 0,
"ownerEntryId": "id_8h2k4q",
"provider": "string",
"recordId": "id_8h2k4q",
"role": "string",
"source": "string",
"sourceRowId": "id_8h2k4q",
"sourceStatus": "string",
"targetId": "id_8h2k4q",
"targetKind": "string"
}
]
},
"tabs": [
"string"
],
"target": {
"id": "id_8h2k4q",
"kind": "string"
},
"viewerFence": "string"
}artworkobjectrequired
candidatesarray of objectrequired
- attributionstringrequired
- currentbooleanrequired
- idstringrequired
- imageIdstringrequired
- localestringrequired
- observedAtstringrequired
- previewUrlstring
- providerstringrequired
- ranknumberrequired
- rolestringrequired
- subjectstringrequired
- votesinteger | any | nullrequired
jobsarray of objectrequired
- attemptsintegerrequired
- errorstringrequired
- idstringrequired
- nextAttemptstringrequired
- rolestringrequired
- statusstringrequired
- subjectstringrequired
- artworkFallbackUrlstring
- artworkRolesarray of stringrequired
- canMakeEpisodeThumbnailboolean
candidatesarray of objectrequired
- idstringrequired
- identityIdstring
- identityTypestring
- observedAtstringrequired
ordersarray of object
- idstringrequired
- namestringrequired
- previewUrlstring
- providerstringrequired
- subtitlestringrequired
- titlestringrequired
- yearinteger
cascadesarray of objectrequired
- completedintegerrequired
- failedintegerrequired
- idstringrequired
- intentstringrequired
- pendingintegerrequired
- processedintegerrequired
- skippedintegerrequired
- statusstringrequired
historyarray of objectrequired
- idintegerrequired
- observedAtstringrequired
- triggerstringrequired
- libraryIdstringrequired
- onlineLookupsboolean
- revisionstringrequired
schemaarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
- serverIdstringrequired
snapshotobjectrequired
artworkarray of objectrequired
- attributionstringrequired
- candidateIdstringrequired
- digeststringrequired
- lockedbooleanrequired
- revisionintegerrequired
- rolestringrequired
- subjectstringrequired
- urlstringrequired
- canEditProviderCreditsboolean
fieldsobjectrequired
- automaticValuestringrequired
- lockedbooleanrequired
- observedAtstring
- sourcestringrequired
- valuestringrequired
- valuesarray of string
identityobject
- enginestring
- idstringrequired
- lockedbooleanrequired
- orderstring
- providerstringrequired
- revisionintegerrequired
- statusstringrequired
- typestring
- relationshipLocksobjectrequired
relationshipsarray of objectrequired
- departmentstring
- kindstringrequired
- labelstringrequired
- lockedbooleanrequired
- observedAtstring
- ordinalintegerrequired
- ownerEntryIdstring
- providerstring
- recordIdstring
- rolestring
- sourcestringrequired
- sourceRowIdstring
- sourceStatusstring
- targetIdstringrequired
- targetKindstringrequired
- tabsarray of stringrequired
targetobjectrequired
- idstringrequired
- kindstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/metadata/{kind}/{id}" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/metadata/{kind}/{id}Run metadatalibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
post_metadata_kind_id- Max body
- 1 MiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
kindrequired | path | string | |
idrequired | path | string |
Request body application/json · required
{
"action": "string",
"candidateId": "id_8h2k4q",
"confirm": true,
"effectiveCredits": true,
"expectedRevision": "r12",
"fields": {
"key": {
"locked": true,
"useAutomatic": true,
"value": "string",
"values": [
"string"
]
}
},
"historyId": 0,
"intent": "string",
"locked": true,
"operationId": "id_8h2k4q",
"order": "string",
"provider": "string",
"query": "string",
"relationships": [
{
"department": "string",
"kind": "string",
"label": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"ordinal": 0,
"ownerEntryId": "id_8h2k4q",
"provider": "string",
"recordId": "id_8h2k4q",
"role": "string",
"source": "string",
"sourceRowId": "id_8h2k4q",
"sourceStatus": "string",
"targetId": "id_8h2k4q",
"targetKind": "string"
}
],
"role": "string",
"subject": "string",
"year": 0
}- actionstringrequired
- candidateIdstring
- confirmboolean
- effectiveCreditsboolean
- expectedRevisionstringrequired
fieldsobject
- lockedboolean
- useAutomaticboolean
- valuestring
- valuesarray of string
- historyIdinteger
- intentstring
- lockedboolean
- operationIdstring
- orderstring
- providerstring
- querystring
relationshipsarray of object
- departmentstring
- kindstringrequired
- labelstringrequired
- lockedbooleanrequired
- observedAtstring
- ordinalintegerrequired
- ownerEntryIdstring
- providerstring
- recordIdstring
- rolestring
- sourcestringrequired
- sourceRowIdstring
- sourceStatusstring
- targetIdstringrequired
- targetKindstringrequired
- rolestring
- subjectstring
- yearinteger
Responses
200Successapplication/json
{
"artwork": {
"candidates": [
{
"attribution": "string",
"current": true,
"id": "id_8h2k4q",
"imageId": "id_8h2k4q",
"locale": "string",
"observedAt": "2026-10-18T19:30:00Z",
"previewUrl": "https://example.com/…",
"provider": "string",
"rank": 0,
"role": "string",
"subject": "string",
"votes": 0
}
],
"jobs": [
{
"attempts": 0,
"error": "string",
"id": "id_8h2k4q",
"nextAttempt": "string",
"role": "string",
"status": "string",
"subject": "string"
}
]
},
"artworkFallbackUrl": "https://example.com/…",
"artworkRoles": [
"string"
],
"canMakeEpisodeThumbnail": true,
"candidates": [
{
"id": "id_8h2k4q",
"identityId": "id_8h2k4q",
"identityType": "string",
"observedAt": "2026-10-18T19:30:00Z",
"orders": [
{
"id": "id_8h2k4q",
"name": "Fargo"
}
],
"previewUrl": "https://example.com/…",
"provider": "string",
"subtitle": "Fargo",
"title": "Fargo",
"year": 0
}
],
"cascades": [
{
"completed": 0,
"failed": 0,
"id": "id_8h2k4q",
"intent": "string",
"pending": 0,
"processed": 0,
"skipped": 0,
"status": "string"
}
],
"history": [
{
"id": 0,
"observedAt": "2026-10-18T19:30:00Z",
"trigger": "string"
}
],
"libraryId": "id_8h2k4q",
"onlineLookups": true,
"revision": "r12",
"schema": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"serverId": "id_8h2k4q",
"snapshot": {
"artwork": [
{
"attribution": "string",
"candidateId": "id_8h2k4q",
"digest": "string",
"locked": true,
"revision": 0,
"role": "string",
"subject": "string",
"url": "https://example.com/…"
}
],
"canEditProviderCredits": true,
"fields": {
"key": {
"automaticValue": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"source": "string",
"value": "string",
"values": [
"string"
]
}
},
"identity": {
"engine": "string",
"id": "id_8h2k4q",
"locked": true,
"order": "string",
"provider": "string",
"revision": 0,
"status": "string",
"type": "string"
},
"relationshipLocks": {
"key": true
},
"relationships": [
{
"department": "string",
"kind": "string",
"label": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"ordinal": 0,
"ownerEntryId": "id_8h2k4q",
"provider": "string",
"recordId": "id_8h2k4q",
"role": "string",
"source": "string",
"sourceRowId": "id_8h2k4q",
"sourceStatus": "string",
"targetId": "id_8h2k4q",
"targetKind": "string"
}
]
},
"tabs": [
"string"
],
"target": {
"id": "id_8h2k4q",
"kind": "string"
},
"viewerFence": "string"
}artworkobjectrequired
candidatesarray of objectrequired
- attributionstringrequired
- currentbooleanrequired
- idstringrequired
- imageIdstringrequired
- localestringrequired
- observedAtstringrequired
- previewUrlstring
- providerstringrequired
- ranknumberrequired
- rolestringrequired
- subjectstringrequired
- votesinteger | any | nullrequired
jobsarray of objectrequired
- attemptsintegerrequired
- errorstringrequired
- idstringrequired
- nextAttemptstringrequired
- rolestringrequired
- statusstringrequired
- subjectstringrequired
- artworkFallbackUrlstring
- artworkRolesarray of stringrequired
- canMakeEpisodeThumbnailboolean
candidatesarray of objectrequired
- idstringrequired
- identityIdstring
- identityTypestring
- observedAtstringrequired
ordersarray of object
- idstringrequired
- namestringrequired
- previewUrlstring
- providerstringrequired
- subtitlestringrequired
- titlestringrequired
- yearinteger
cascadesarray of objectrequired
- completedintegerrequired
- failedintegerrequired
- idstringrequired
- intentstringrequired
- pendingintegerrequired
- processedintegerrequired
- skippedintegerrequired
- statusstringrequired
historyarray of objectrequired
- idintegerrequired
- observedAtstringrequired
- triggerstringrequired
- libraryIdstringrequired
- onlineLookupsboolean
- revisionstringrequired
schemaarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
- serverIdstringrequired
snapshotobjectrequired
artworkarray of objectrequired
- attributionstringrequired
- candidateIdstringrequired
- digeststringrequired
- lockedbooleanrequired
- revisionintegerrequired
- rolestringrequired
- subjectstringrequired
- urlstringrequired
- canEditProviderCreditsboolean
fieldsobjectrequired
- automaticValuestringrequired
- lockedbooleanrequired
- observedAtstring
- sourcestringrequired
- valuestringrequired
- valuesarray of string
identityobject
- enginestring
- idstringrequired
- lockedbooleanrequired
- orderstring
- providerstringrequired
- revisionintegerrequired
- statusstringrequired
- typestring
- relationshipLocksobjectrequired
relationshipsarray of objectrequired
- departmentstring
- kindstringrequired
- labelstringrequired
- lockedbooleanrequired
- observedAtstring
- ordinalintegerrequired
- ownerEntryIdstring
- providerstring
- recordIdstring
- rolestring
- sourcestringrequired
- sourceRowIdstring
- sourceStatusstring
- targetIdstringrequired
- targetKindstringrequired
- tabsarray of stringrequired
targetobjectrequired
- idstringrequired
- kindstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/metadata/{kind}/{id}" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "string",
"candidateId": "id_8h2k4q",
"confirm": true,
"effectiveCredits": true,
"expectedRevision": "r12",
"fields": {
"key": {
"locked": true,
"useAutomatic": true,
"value": "string",
"values": [
"string"
]
}
},
"historyId": 0,
"intent": "string",
"locked": true,
"operationId": "id_8h2k4q",
"order": "string",
"provider": "string",
"query": "string",
"relationships": [
{
"department": "string",
"kind": "string",
"label": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"ordinal": 0,
"ownerEntryId": "id_8h2k4q",
"provider": "string",
"recordId": "id_8h2k4q",
"role": "string",
"source": "string",
"sourceRowId": "id_8h2k4q",
"sourceStatus": "string",
"targetId": "id_8h2k4q",
"targetKind": "string"
}
],
"role": "string",
"subject": "string",
"year": 0
}'GET/v1/metadata/{kind}/{id}/art/{role}Read metadata artread
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
get_metadata_kind_id_art_role
Parameters
| Name | In | Type | Description |
|---|---|---|---|
kindrequired | path | string | |
idrequired | path | string | |
rolerequired | path | string | |
candidate | query | string | |
ld | query | string | |
r | query | string | |
sd | query | string | |
size | query | string | |
subject | query | string | |
v | query | string | |
w | query | string |
Responses
200Successapplication/octet-stream
"string"string (binary)
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/metadata/{kind}/{id}/art/{role}" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/metadata/{kind}/{id}/art/{role}/uploadRun metadata art uploadlibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
post_metadata_kind_id_art_role_upload- Max body
- 11 MiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
kindrequired | path | string | |
idrequired | path | string | |
rolerequired | path | string |
Request body multipart/form-data · required
{
"expectedRevision": "r12",
"file": "string",
"subject": "string"
}- expectedRevisionstringrequired
- filestring (binary)required
- subjectstringrequired
Responses
200Successapplication/json
{
"artwork": {
"candidates": [
{
"attribution": "string",
"current": true,
"id": "id_8h2k4q",
"imageId": "id_8h2k4q",
"locale": "string",
"observedAt": "2026-10-18T19:30:00Z",
"previewUrl": "https://example.com/…",
"provider": "string",
"rank": 0,
"role": "string",
"subject": "string",
"votes": 0
}
],
"jobs": [
{
"attempts": 0,
"error": "string",
"id": "id_8h2k4q",
"nextAttempt": "string",
"role": "string",
"status": "string",
"subject": "string"
}
]
},
"artworkFallbackUrl": "https://example.com/…",
"artworkRoles": [
"string"
],
"canMakeEpisodeThumbnail": true,
"candidates": [
{
"id": "id_8h2k4q",
"identityId": "id_8h2k4q",
"identityType": "string",
"observedAt": "2026-10-18T19:30:00Z",
"orders": [
{
"id": "id_8h2k4q",
"name": "Fargo"
}
],
"previewUrl": "https://example.com/…",
"provider": "string",
"subtitle": "Fargo",
"title": "Fargo",
"year": 0
}
],
"cascades": [
{
"completed": 0,
"failed": 0,
"id": "id_8h2k4q",
"intent": "string",
"pending": 0,
"processed": 0,
"skipped": 0,
"status": "string"
}
],
"history": [
{
"id": 0,
"observedAt": "2026-10-18T19:30:00Z",
"trigger": "string"
}
],
"libraryId": "id_8h2k4q",
"onlineLookups": true,
"revision": "r12",
"schema": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"serverId": "id_8h2k4q",
"snapshot": {
"artwork": [
{
"attribution": "string",
"candidateId": "id_8h2k4q",
"digest": "string",
"locked": true,
"revision": 0,
"role": "string",
"subject": "string",
"url": "https://example.com/…"
}
],
"canEditProviderCredits": true,
"fields": {
"key": {
"automaticValue": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"source": "string",
"value": "string",
"values": [
"string"
]
}
},
"identity": {
"engine": "string",
"id": "id_8h2k4q",
"locked": true,
"order": "string",
"provider": "string",
"revision": 0,
"status": "string",
"type": "string"
},
"relationshipLocks": {
"key": true
},
"relationships": [
{
"department": "string",
"kind": "string",
"label": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"ordinal": 0,
"ownerEntryId": "id_8h2k4q",
"provider": "string",
"recordId": "id_8h2k4q",
"role": "string",
"source": "string",
"sourceRowId": "id_8h2k4q",
"sourceStatus": "string",
"targetId": "id_8h2k4q",
"targetKind": "string"
}
]
},
"tabs": [
"string"
],
"target": {
"id": "id_8h2k4q",
"kind": "string"
},
"viewerFence": "string"
}artworkobjectrequired
candidatesarray of objectrequired
- attributionstringrequired
- currentbooleanrequired
- idstringrequired
- imageIdstringrequired
- localestringrequired
- observedAtstringrequired
- previewUrlstring
- providerstringrequired
- ranknumberrequired
- rolestringrequired
- subjectstringrequired
- votesinteger | any | nullrequired
jobsarray of objectrequired
- attemptsintegerrequired
- errorstringrequired
- idstringrequired
- nextAttemptstringrequired
- rolestringrequired
- statusstringrequired
- subjectstringrequired
- artworkFallbackUrlstring
- artworkRolesarray of stringrequired
- canMakeEpisodeThumbnailboolean
candidatesarray of objectrequired
- idstringrequired
- identityIdstring
- identityTypestring
- observedAtstringrequired
ordersarray of object
- idstringrequired
- namestringrequired
- previewUrlstring
- providerstringrequired
- subtitlestringrequired
- titlestringrequired
- yearinteger
cascadesarray of objectrequired
- completedintegerrequired
- failedintegerrequired
- idstringrequired
- intentstringrequired
- pendingintegerrequired
- processedintegerrequired
- skippedintegerrequired
- statusstringrequired
historyarray of objectrequired
- idintegerrequired
- observedAtstringrequired
- triggerstringrequired
- libraryIdstringrequired
- onlineLookupsboolean
- revisionstringrequired
schemaarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
- serverIdstringrequired
snapshotobjectrequired
artworkarray of objectrequired
- attributionstringrequired
- candidateIdstringrequired
- digeststringrequired
- lockedbooleanrequired
- revisionintegerrequired
- rolestringrequired
- subjectstringrequired
- urlstringrequired
- canEditProviderCreditsboolean
fieldsobjectrequired
- automaticValuestringrequired
- lockedbooleanrequired
- observedAtstring
- sourcestringrequired
- valuestringrequired
- valuesarray of string
identityobject
- enginestring
- idstringrequired
- lockedbooleanrequired
- orderstring
- providerstringrequired
- revisionintegerrequired
- statusstringrequired
- typestring
- relationshipLocksobjectrequired
relationshipsarray of objectrequired
- departmentstring
- kindstringrequired
- labelstringrequired
- lockedbooleanrequired
- observedAtstring
- ordinalintegerrequired
- ownerEntryIdstring
- providerstring
- recordIdstring
- rolestring
- sourcestringrequired
- sourceRowIdstring
- sourceStatusstring
- targetIdstringrequired
- targetKindstringrequired
- tabsarray of stringrequired
targetobjectrequired
- idstringrequired
- kindstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/metadata/{kind}/{id}/art/{role}/upload" \
-H "Authorization: Bearer $PORTICO_API_KEY"DELETE/v1/metadata/{kind}/{id}/art/{role}/upload/{candidateId}Remove metadata art uploadlibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
delete_metadata_kind_id_art_role_upload_candidateId
Parameters
| Name | In | Type | Description |
|---|---|---|---|
kindrequired | path | string | |
idrequired | path | string | |
rolerequired | path | string | |
candidateIdrequired | path | string | |
expectedRevision | query | string |
Responses
200Successapplication/json
{
"artwork": {
"candidates": [
{
"attribution": "string",
"current": true,
"id": "id_8h2k4q",
"imageId": "id_8h2k4q",
"locale": "string",
"observedAt": "2026-10-18T19:30:00Z",
"previewUrl": "https://example.com/…",
"provider": "string",
"rank": 0,
"role": "string",
"subject": "string",
"votes": 0
}
],
"jobs": [
{
"attempts": 0,
"error": "string",
"id": "id_8h2k4q",
"nextAttempt": "string",
"role": "string",
"status": "string",
"subject": "string"
}
]
},
"artworkFallbackUrl": "https://example.com/…",
"artworkRoles": [
"string"
],
"canMakeEpisodeThumbnail": true,
"candidates": [
{
"id": "id_8h2k4q",
"identityId": "id_8h2k4q",
"identityType": "string",
"observedAt": "2026-10-18T19:30:00Z",
"orders": [
{
"id": "id_8h2k4q",
"name": "Fargo"
}
],
"previewUrl": "https://example.com/…",
"provider": "string",
"subtitle": "Fargo",
"title": "Fargo",
"year": 0
}
],
"cascades": [
{
"completed": 0,
"failed": 0,
"id": "id_8h2k4q",
"intent": "string",
"pending": 0,
"processed": 0,
"skipped": 0,
"status": "string"
}
],
"history": [
{
"id": 0,
"observedAt": "2026-10-18T19:30:00Z",
"trigger": "string"
}
],
"libraryId": "id_8h2k4q",
"onlineLookups": true,
"revision": "r12",
"schema": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"serverId": "id_8h2k4q",
"snapshot": {
"artwork": [
{
"attribution": "string",
"candidateId": "id_8h2k4q",
"digest": "string",
"locked": true,
"revision": 0,
"role": "string",
"subject": "string",
"url": "https://example.com/…"
}
],
"canEditProviderCredits": true,
"fields": {
"key": {
"automaticValue": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"source": "string",
"value": "string",
"values": [
"string"
]
}
},
"identity": {
"engine": "string",
"id": "id_8h2k4q",
"locked": true,
"order": "string",
"provider": "string",
"revision": 0,
"status": "string",
"type": "string"
},
"relationshipLocks": {
"key": true
},
"relationships": [
{
"department": "string",
"kind": "string",
"label": "string",
"locked": true,
"observedAt": "2026-10-18T19:30:00Z",
"ordinal": 0,
"ownerEntryId": "id_8h2k4q",
"provider": "string",
"recordId": "id_8h2k4q",
"role": "string",
"source": "string",
"sourceRowId": "id_8h2k4q",
"sourceStatus": "string",
"targetId": "id_8h2k4q",
"targetKind": "string"
}
]
},
"tabs": [
"string"
],
"target": {
"id": "id_8h2k4q",
"kind": "string"
},
"viewerFence": "string"
}artworkobjectrequired
candidatesarray of objectrequired
- attributionstringrequired
- currentbooleanrequired
- idstringrequired
- imageIdstringrequired
- localestringrequired
- observedAtstringrequired
- previewUrlstring
- providerstringrequired
- ranknumberrequired
- rolestringrequired
- subjectstringrequired
- votesinteger | any | nullrequired
jobsarray of objectrequired
- attemptsintegerrequired
- errorstringrequired
- idstringrequired
- nextAttemptstringrequired
- rolestringrequired
- statusstringrequired
- subjectstringrequired
- artworkFallbackUrlstring
- artworkRolesarray of stringrequired
- canMakeEpisodeThumbnailboolean
candidatesarray of objectrequired
- idstringrequired
- identityIdstring
- identityTypestring
- observedAtstringrequired
ordersarray of object
- idstringrequired
- namestringrequired
- previewUrlstring
- providerstringrequired
- subtitlestringrequired
- titlestringrequired
- yearinteger
cascadesarray of objectrequired
- completedintegerrequired
- failedintegerrequired
- idstringrequired
- intentstringrequired
- pendingintegerrequired
- processedintegerrequired
- skippedintegerrequired
- statusstringrequired
historyarray of objectrequired
- idintegerrequired
- observedAtstringrequired
- triggerstringrequired
- libraryIdstringrequired
- onlineLookupsboolean
- revisionstringrequired
schemaarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
- serverIdstringrequired
snapshotobjectrequired
artworkarray of objectrequired
- attributionstringrequired
- candidateIdstringrequired
- digeststringrequired
- lockedbooleanrequired
- revisionintegerrequired
- rolestringrequired
- subjectstringrequired
- urlstringrequired
- canEditProviderCreditsboolean
fieldsobjectrequired
- automaticValuestringrequired
- lockedbooleanrequired
- observedAtstring
- sourcestringrequired
- valuestringrequired
- valuesarray of string
identityobject
- enginestring
- idstringrequired
- lockedbooleanrequired
- orderstring
- providerstringrequired
- revisionintegerrequired
- statusstringrequired
- typestring
- relationshipLocksobjectrequired
relationshipsarray of objectrequired
- departmentstring
- kindstringrequired
- labelstringrequired
- lockedbooleanrequired
- observedAtstring
- ordinalintegerrequired
- ownerEntryIdstring
- providerstring
- recordIdstring
- rolestring
- sourcestringrequired
- sourceRowIdstring
- sourceStatusstring
- targetIdstringrequired
- targetKindstringrequired
- tabsarray of stringrequired
targetobjectrequired
- idstringrequired
- kindstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity
Example request
curl -X DELETE "http://127.0.0.1:32500/v1/metadata/{kind}/{id}/art/{role}/upload/{candidateId}" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/metadata/{kind}/{id}/previewRead metadata previewlibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
get_metadata_kind_id_preview
Parameters
| Name | In | Type | Description |
|---|---|---|---|
kindrequired | path | string | |
idrequired | path | string | |
mergeId | query | string |
Responses
200Successapplication/json
{
"descendants": 0,
"lockedFields": 0,
"merge": {
"allowed": true,
"blockers": [
"string"
],
"references": {
"key": 0
},
"target": {
"id": "id_8h2k4q",
"kind": "string"
}
},
"message": "string",
"revision": "r12",
"selectedImages": 0
}- descendantsintegerrequired
- lockedFieldsintegerrequired
mergeobject
- allowedbooleanrequired
- blockersarray of stringrequired
- referencesobjectrequired
targetobjectrequired
- idstringrequired
- kindstringrequired
- messagestringrequired
- revisionstringrequired
- selectedImagesintegerrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/metadata/{kind}/{id}/preview" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/metadata/bulkRun metadata bulklibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
post_metadata_bulk- Max body
- 512 KiB
Request body application/json · required
{
"fields": {
"key": {
"locked": true,
"useAutomatic": true,
"value": "string",
"values": [
"string"
]
}
},
"genres": {
"add": [
"string"
],
"remove": [
"string"
]
},
"lists": {
"key": {
"add": [
"string"
],
"remove": [
"string"
]
}
},
"lockEdited": true,
"operationId": "id_8h2k4q",
"targets": [
{
"expectedRevision": "r12",
"id": "id_8h2k4q",
"kind": "string"
}
]
}fieldsobject
- lockedboolean
- useAutomaticboolean
- valuestring
- valuesarray of string
genresobject
- addarray of string
- removearray of string
listsobject
- addarray of string
- removearray of string
- lockEditedboolean
- operationIdstringrequired
targetsarray of objectrequired
- expectedRevisionstringrequired
- idstringrequired
- kindstringrequired
Responses
200Successapplication/json
{
"failed": 0,
"operationId": "id_8h2k4q",
"results": [
{
"code": "string",
"id": "id_8h2k4q",
"kind": "string",
"message": "string",
"ok": true,
"revision": "r12"
}
],
"updated": 0
}- failedintegerrequired
- operationIdstringrequired
resultsarray of objectrequired
- codestring
- idstringrequired
- kindstringrequired
- messagestring
- okbooleanrequired
- revisionstring
- updatedintegerrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/metadata/bulk" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fields": {
"key": {
"locked": true,
"useAutomatic": true,
"value": "string",
"values": [
"string"
]
}
},
"genres": {
"add": [
"string"
],
"remove": [
"string"
]
},
"lists": {
"key": {
"add": [
"string"
],
"remove": [
"string"
]
}
},
"lockEdited": true,
"operationId": "id_8h2k4q",
"targets": [
{
"expectedRevision": "r12",
"id": "id_8h2k4q",
"kind": "string"
}
]
}'POST/v1/metadata/bulk/previewPrepare shared and mixed metadata for an authorized selectionlibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
post_metadata_bulk_preview- Max body
- 512 KiB
Request body application/json · required
{
"expected": {
"catalogRevision": "r12"
},
"selector": {
"container": {
"id": "id_8h2k4q",
"kind": "show"
}
},
"targets": [
{
"contentKind": "string",
"id": "id_8h2k4q",
"kind": "string",
"libraryId": "id_8h2k4q"
}
]
}expectedobject
- catalogRevisionstring
selectorobject
containerobject
- idstringrequiredlength 1–256
- kindstringrequiredone of "show", "season", "album", "artist", "book", "collection", "playlist", "library"
itemsobject
- idsarray of stringrequired1–200 items
queryobject
- filterobject
- libraryIdstringrequiredlength 1–256
- pivotstringrequiredlength 1–256
- selectionBasisstringpattern ^[a-f0-9]{64}$
sortarray of object
- directionstringrequiredone of "asc", "desc"
- fieldstringrequiredlength 1–256
targetsarray of object
- contentKindstringrequired
- idstringrequired
- kindstringrequired
- libraryIdstringrequired
Responses
200Successapplication/json
{
"contentKind": "string",
"excludedFields": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"fields": {
"key": {
"distinctCount": 1,
"entries": [
{
"count": 1,
"value": "string"
}
],
"locked": 0,
"state": "shared",
"truncated": true,
"value": "string",
"values": [
{
"count": 1,
"value": "string"
}
]
}
},
"kind": "string",
"schema": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"selectionRevision": "r12",
"serverId": "id_8h2k4q",
"singleItemFields": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"tabs": [
"string"
],
"targets": [
{
"expectedRevision": "r12",
"id": "id_8h2k4q",
"kind": "string",
"libraryId": "id_8h2k4q"
}
],
"total": 0,
"variant": "ready",
"viewerFence": "string"
}- contentKindstringrequired
excludedFieldsarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
fieldsobjectrequired
- distinctCountintegerrequired1–1
entriesarray of objectrequired0–64 items
- countintegerrequired≥ 1
- valuestringrequired
- lockedintegerrequired≥ 0
- statestringrequiredone of "shared"
- truncatedbooleanrequired
- valuestringrequired
valuesarray of objectrequired1–1 items
- countintegerrequired≥ 1
- valuestringrequired
- kindstringrequired
schemaarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
- selectionRevisionstring
- serverIdstringrequired
singleItemFieldsarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
- tabsarray of stringrequired
targetsarray of objectrequired
- expectedRevisionstringrequired
- idstringrequired
- kindstringrequired
- libraryIdstringrequired
- totalintegerrequired
- variant"ready"required
- viewerFencestringrequired
202Successapplication/json
{
"kind": "metadata-preview-preparing",
"queryId": "id_8h2k4q",
"retryAfterMs": 1000,
"state": "preparing",
"variant": "preparing"
}- kindstringrequiredone of "metadata-preview-preparing"
- queryIdstringrequiredlength 1–128
- retryAfterMsintegerrequiredone of 1000
- statestringrequiredone of "preparing"
- variant"preparing"required
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundrevision_mismatchstale_continuationrate_limitedinternaltimeoutunsupported_media_typebody_too_largedatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/metadata/bulk/preview" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expected": {
"catalogRevision": "r12"
},
"selector": {
"container": {
"id": "id_8h2k4q",
"kind": "show"
}
},
"targets": [
{
"contentKind": "string",
"id": "id_8h2k4q",
"kind": "string",
"libraryId": "id_8h2k4q"
}
]
}'DELETE/v1/metadata/bulk/preview-queries/{queryId}Release this caller's metadata preview demandlibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
delete_metadata_bulk_preview_query
Parameters
| Name | In | Type | Description |
|---|---|---|---|
queryIdrequired | path | string |
Responses
204Success
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundrevision_mismatchstale_continuationrate_limitedinternaltimeoutunsupported_media_typebody_too_largedatabase_busywriter_capacity
Example request
curl -X DELETE "http://127.0.0.1:32500/v1/metadata/bulk/preview-queries/{queryId}" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/metadata/bulk/preview-queries/{queryId}Read a metadata preview preparationlibrary
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
get_metadata_bulk_preview_query
Parameters
| Name | In | Type | Description |
|---|---|---|---|
queryIdrequired | path | string |
Responses
200Successapplication/json
{
"contentKind": "string",
"excludedFields": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"fields": {
"key": {
"distinctCount": 1,
"entries": [
{
"count": 1,
"value": "string"
}
],
"locked": 0,
"state": "shared",
"truncated": true,
"value": "string",
"values": [
{
"count": 1,
"value": "string"
}
]
}
},
"kind": "string",
"schema": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"selectionRevision": "r12",
"serverId": "id_8h2k4q",
"singleItemFields": [
{
"allowed": [
"string"
],
"bulk": true,
"field": "string",
"group": "string",
"label": "string",
"max": 0,
"maxLength": 0,
"min": 0,
"type": "string"
}
],
"tabs": [
"string"
],
"targets": [
{
"expectedRevision": "r12",
"id": "id_8h2k4q",
"kind": "string",
"libraryId": "id_8h2k4q"
}
],
"total": 0,
"variant": "ready",
"viewerFence": "string"
}- contentKindstringrequired
excludedFieldsarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
fieldsobjectrequired
- distinctCountintegerrequired1–1
entriesarray of objectrequired0–64 items
- countintegerrequired≥ 1
- valuestringrequired
- lockedintegerrequired≥ 0
- statestringrequiredone of "shared"
- truncatedbooleanrequired
- valuestringrequired
valuesarray of objectrequired1–1 items
- countintegerrequired≥ 1
- valuestringrequired
- kindstringrequired
schemaarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
- selectionRevisionstring
- serverIdstringrequired
singleItemFieldsarray of objectrequired
- allowedarray of string
- bulkbooleanrequired
- fieldstringrequired
- groupstringrequired
- labelstringrequired
- maxinteger
- maxLengthinteger
- mininteger
- typestringrequired
- tabsarray of stringrequired
targetsarray of objectrequired
- expectedRevisionstringrequired
- idstringrequired
- kindstringrequired
- libraryIdstringrequired
- totalintegerrequired
- variant"ready"required
- viewerFencestringrequired
202Successapplication/json
{
"kind": "metadata-preview-preparing",
"queryId": "id_8h2k4q",
"retryAfterMs": 1000,
"state": "preparing",
"variant": "preparing"
}- kindstringrequiredone of "metadata-preview-preparing"
- queryIdstringrequiredlength 1–128
- retryAfterMsintegerrequiredone of 1000
- statestringrequiredone of "preparing"
- variant"preparing"required
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundrevision_mismatchstale_continuationrate_limitedinternaltimeoutunsupported_media_typebody_too_largedatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/metadata/bulk/preview-queries/{queryId}" \
-H "Authorization: Bearer $PORTICO_API_KEY"No operations match that filter.