Profiling
Persisted MusiProfile generations under /v1/profiling/profiles.
Use MusiProfile to generate aggregate listener profiles for a set of analysed
tracks and keep them as organisation history. Create with
POST /v1/profiling/profiles, list with
GET /v1/profiling/profiles, and retrieve one with
GET /v1/profiling/profiles/{profile_id}.
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 scopes
- profiling.write: create a persisted profile generation (consumes profiling credits).
- profiling.read: list and retrieve persisted profiles (reads do not consume credits).
Track identifiers
Each item in tracks must include exactly one of:
musimap_uid: MusiMap canonical track UUIDisrc: ISRC stringouter_id: your catalogue outer identifier
Create a persisted profile
curl -X POST "https://api.musimap.com/v1/profiling/profiles" \
-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" }
]
}'
The response returns aggregate profile objects, resolved track summaries,
unresolved items, and a profile_id for later retrieval.
Optional profiles selects types; when omitted, all supported types are returned
(musical, musical_abridged, ocean, mbti, enneagram, ego_equilibrium, ego_description).
List profile history
curl "https://api.musimap.com/v1/profiling/profiles?page=1&page_size=20" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Get one profile
curl "https://api.musimap.com/v1/profiling/profiles/$PROFILE_ID" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Monitor remaining profiling capacity with Credits.