Profiling
MusiProfile aggregate track profiling with POST /v1/profiling/tracks.
Use MusiProfile to generate aggregate listener profiles for a set of analysed tracks.
The public endpoint is POST /v1/profiling/tracks.
Profiles are computed across the whole track list (playlist-level aggregates), not per-track scores.
Tracks must exist in an accessible catalogue and have completed MusiTag analysis.
Tracks without analysis are listed in unresolved_tracks; resolved tracks still contribute to aggregate profiles.
OAuth scope
- profiling.write — run MusiProfile track profiling in an accessible catalogue.
- Request this scope when exchanging client credentials.
Track identifiers
Each item in tracks must include exactly one of:
musimap_uid— MusiMap canonical track UUIDisrc— ISRC stringouter_id— your catalogue outer identifier
Catalogue selection
By default, profiling uses your OAuth client's default catalogue from the token context.
You may pass an optional catalog_id in the request body to profile tracks in another catalogue you are allowed to access.
Access is validated the same way as MusiSearch.
Track identifiers are resolved against your accessible catalogue context.
MusiProfile returns aggregate listener profiles for the submitted track list. Responses focus on profile results and resolved track summaries — not internal matching provenance.
Profile types
The optional profiles array selects which aggregate profiles to return.
When omitted, all supported profile types are returned (musical, musical_abridged, ocean, mbti, enneagram, ego_equilibrium, ego_description).
Profiling request
curl -X POST "https://api.musimap.com/v1/profiling/tracks" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"catalog_id": "0190…",
"profiles": ["musical", "ocean"],
"tracks": [
{ "musimap_uid": "0190…" },
{ "isrc": "GBUM71904911" },
{ "outer_id": "client-track-42" }
]
}'
Response
The response contains aggregate profile results only.
It does not include timings, resolver internals, raw analysis payloads, or debug metadata.
Resolved tracks are summarised in tracks; items that could not be resolved appear in unresolved_tracks.
Submit a track list and read aggregate profile objects in the response.
Tracks that cannot be resolved are listed separately in unresolved_tracks
while resolved tracks still contribute to the aggregate profiles.