Labels

Workspace label create/read/update and Atlas label reads.

Labels are first-class catalogue entities on both planes. Workspace labels support create, read, and update under /v1/workspace/labels. Atlas labels are read-only under /v1/atlas/labels. Entity delete is not exposed.

Workspace vs Atlas

Workspace paths operate on organisation-owned catalogues (catalog.read / catalog.write). Atlas paths require atlas.read and the matching organisation entitlement. See Atlas.

OAuth scopes

  • catalog.read: list and retrieve Workspace labels.
  • catalog.write: create and partially update Workspace labels.
  • atlas.read: list and retrieve Atlas labels.

Workspace labels

List filters include outer_id, name, source_record_key, delivery_id, and date windows. On detail GET, use include for expansions such as details, references, or releases. Unknown include tokens return HTTP 400. List endpoints do not support include.

Identifier filters (outer_id, source_record_key, delivery_id) use exact (normalized) match. name performs a case-insensitive substring match: name=River matches North River. Leading and trailing whitespace is trimmed. Multiple filters combine with logical AND. Pagination applies after filters. A date window value that is not a real date matches nothing. Unsupported query parameters return HTTP 400.

List

curl "https://api.musimap.com/v1/workspace/labels?name=North%20River" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Create

curl -X POST "https://api.musimap.com/v1/workspace/labels" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "North River",
    "outer_id": "label_ref_north_river"
  }'

Update

curl -X PATCH "https://api.musimap.com/v1/workspace/labels/$LABEL_UUID" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "North River Music" }'

Atlas labels

Browse and filter Atlas labels directly via /v1/atlas/labels (read-only; OAuth scope atlas.read). There is no public create, update, or delete on Atlas.

List

curl "https://api.musimap.com/v1/atlas/labels?name=North%20River" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Filter semantics match Workspace: identifiers are exact (normalized); name is a case-insensitive substring match; filters AND; pagination is post-filter; unsupported query parameters return HTTP 400. Atlas labels accept outer_id, name, source_record_key, and date windows.

Get one

curl "https://api.musimap.com/v1/atlas/labels/$LABEL_UUID" \
  -H "Authorization: Bearer $ACCESS_TOKEN"