API write capabilities extended

This release extends the API's write capabilities.

You can now create, update and delete Artists, Record Labels, Catalogs, Tag Categories and Tags directly through the API, and the Artist and Record Label payloads now return significantly more data.

New endpoints

Artists (Write operations added)

  • New endpoint added: POST /api/artists
  • New endpoint added: PUT /api/artists/{uuid}
  • New endpoint added: DELETE /api/artists/{uuid}

Record Labels (Write operations added)

  • New endpoint added: POST /api/record_labels
  • New endpoint added: PUT /api/record_labels/{uuid}
  • New endpoint added: DELETE /api/record_labels/{uuid}

Catalogs (Write operations added)

  • New endpoint added: POST /api/catalogs
  • New endpoint added: PUT /api/catalogs/{uuid}
  • New endpoint added: DELETE /api/catalogs/{uuid}

Tag Categories (Write operations added)

  • New endpoint added: POST /api/tag_categories
  • New endpoint added: PUT /api/tag_categories/{uuid}
  • New endpoint added: DELETE /api/tag_categories/{uuid}

Tags (Write operations added)

  • New endpoint added: POST /api/tags
  • New endpoint added: PUT /api/tags/{uuid}
  • New endpoint added: DELETE /api/tags/{uuid}

Writable fields

Artist

FieldTypeDescription
namestringThe name of the artist. Required on creation.
legal_namestringThe legal name of the artist.
ipistringThe IPI number of the artist (11 digits).
isnistringThe ISNI of the artist.
apple_identifierstringThe Apple identifier of the artist.
spotify_identifierstringThe Spotify identifier of the artist.
youtube_identifierstringThe YouTube identifier of the artist.
country_codestringThe ISO code of the artist's country.
notesstringNotes about the artist.
tag_uuidsarrayThe UUIDs of the tags of the artist.
rightholder_uuidsarrayThe UUIDs of the contacts and companies rights-holders associated to the artist.
translated_namesarrayThe translated names of the artist (each with name and optional language_code). Replaces the existing list on update.

Record Label

FieldTypeDescription
namestringThe name of the record label. Required on creation.
isnistringThe ISNI of the record label.
label_codestringThe label code of the record label.
notesstringNotes about the record label.
tag_uuidsarrayThe UUIDs of the tags of the record label.
rightholder_uuidsarrayThe UUIDs of the contacts and companies rights-holders associated to the record label.
translated_namesarrayThe translated names of the record label (each with name and optional language_code). Replaces the existing list on update.

Catalog

FieldTypeDescription
namestringThe name of the catalog. Required on creation.

Tag Category

FieldTypeDescription
namestringThe name of the tag category. Required on creation.

Tag

FieldTypeDescription
namestringThe name of the tag. Required on creation.
tag_category_uuidstringThe UUID of the tag category this tag belongs to. Must reference a tag category of type internal. Required on creation.

New response fields

Artist

FieldTypeDescription
legal_namestringThe legal name of the artist.
ipistringThe IPI number of the artist.
isnistringThe ISNI of the artist.
apple_identifierstringThe Apple identifier of the artist.
spotify_identifierstringThe Spotify identifier of the artist.
youtube_identifierstringThe YouTube identifier of the artist.
notesstringThe notes of the artist.
translated_namesarrayThe translated names of the artist (each with name and language).
rightholdersarrayThe rights-holders (contacts and companies) associated to the artist (each with uuid, type and name).

Record Label

FieldTypeDescription
isnistringThe ISNI of the record label.
label_codestringThe label code of the record label.
notesstringThe notes of the record label.
translated_namesarrayThe translated names of the record label (each with name and language).
rightholdersarrayThe rights-holders (contacts and companies) associated to the record label (each with uuid, type and name).

New error code

CodeHTTP StatusDescription
ERROR_READ_ONLY_RESOURCE403The resource is read-only and cannot be updated.

Behaviour notes

  • Read-only tag categories and tags. Auto-generated tag categories (and their tags) cannot be modified through the API. PUT /api/tag_categories/{uuid} and PUT /api/tags/{uuid} return 403 with the ERROR_READ_ONLY_RESOURCE code in that case.
  • Asynchronous deletion for tags and tag categories. DELETE /api/tags/{uuid} and DELETE /api/tag_categories/{uuid} enqueue a background job and return 204 No Content immediately. The category or tag (and all of its taggings) is removed shortly after.