Skip to main content
PUT
/
checklist
/
enrichment
/
{id}
curl --request PUT \
  --url https://api.royalti.io/checklist/enrichment/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "finalData": {
    "title": "Corrected Title",
    "mainGenre": [
      "Afrobeats",
      "Pop"
    ]
  }
}
'
{
  "status": "success",
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "TenantId": 123,
    "batchId": "<string>",
    "targetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "isrc": "<string>",
    "upc": "<string>",
    "rawTitle": "<string>",
    "rawArtist": "<string>",
    "rawLabel": "<string>",
    "rawAggregator": "<string>",
    "rawTracklist": "<string>",
    "rawMetadata": {},
    "enrichedTitle": "<string>",
    "enrichedArtist": "<string>",
    "enrichedGenre": [
      "<string>"
    ],
    "enrichedDuration": 123,
    "enrichedReleaseDate": "<string>",
    "enrichedLabel": "<string>",
    "enrichedAlbumArt": "<string>",
    "enrichmentConfidence": 0.5,
    "artists": {
      "Burna Boy": "primary",
      "Wizkid": "featuring"
    },
    "finalData": {},
    "createdItemId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "importError": "<string>",
    "reviewedBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "reviewedAt": "2023-11-07T05:31:56Z",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": [
"<string>"
]
}
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": [
"<string>"
]
}
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": [
"<string>"
]
}
}
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

/checklist/enrichment/ Updates the finalData and/or artists fields of an enrichment item. This allows admins to override enriched metadata and edit the structured artist list before approval. Only items with pending status can be edited. The finalData object takes priority over enriched fields when the item is approved. The artists object is used to create Artist records and ArtistAsset/ArtistProduct junction records on approval. If artists is null, the display artist string is parsed at approval time instead. Authorization:
  • Required role: admin or higher
Method: PUT

Code Examples

const response = await fetch('https://api.royalti.io/checklist/enrichment/example-id', {
  method: 'PUT',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "finalData": {
      "title": "sample-title",
      "displayArtist": "sample-displayArtist",
      "mainGenre": [
        {}
      ],
      "explicit": "sample-explicit",
      "recordingDate": "sample-recordingDate",
      "label": "sample-label",
      "format": "sample-format"
    },
    "artists": {}
  })
});

const data = await response.json();
console.log(data);
import requests

response = requests.put(
  'https://api.royalti.io/checklist/enrichment/example-id',
  headers={
    'Authorization': f'Bearer {token}'
  },
  json={"finalData":{"title":"sample-title","displayArtist":"sample-displayArtist","mainGenre":[{}],"explicit":"sample-explicit","recordingDate":"sample-recordingDate","label":"sample-label","format":"sample-format"},"artists":{}}
)

data = response.json()
print(data)
curl -X PUT https://api.royalti.io/checklist/enrichment/example-id \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"finalData":{"title":"sample-title","displayArtist":"sample-displayArtist","mainGenre":[{}],"explicit":"sample-explicit","recordingDate":"sample-recordingDate","label":"sample-label","format":"sample-format"},"artists":{}}'

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Path Parameters

id
string<uuid>
required

Enrichment item ID

Body

application/json
finalData
object

Admin-edited field overrides

artists
object | null

Structured artist list. Keys are artist names, values are roles (primary/featuring). On approval, each name is resolved to an Artist record (created if not found) and linked via ArtistAsset/ArtistProduct junction tables.

Response

Enrichment item updated

status
string
Example:

"success"

data
object