generated: '2026-07-15' method: generated source: openapi/soundcharts-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 32 by_action_class: connected: 31 acting: 1 by_consequence: read: 31 write: 1 human_in_the_loop_required: 0 operations: - path: /api/v2/artist/{uuid} method: get operationId: getArtistMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/by-platform/{platform}/{identifier} method: get operationId: getArtistByPlatformId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/songs method: get operationId: getArtistSongs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/albums method: get operationId: getArtistAlbums x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/related method: get operationId: getSimilarArtists x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/current/stats method: get operationId: getArtistCurrentStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/soundcharts/score method: get operationId: getArtistSoundchartsScore x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/song/{uuid} method: get operationId: getSongMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/song/by-isrc/{isrc} method: get operationId: getSongByIsrc x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/song/by-platform/{platform}/{identifier} method: get operationId: getSongByPlatformId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/song/{uuid}/audio-features method: get operationId: getSongAudioFeatures x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/song/{uuid}/audience/{platform} method: get operationId: getSongAudience x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/album/by-uuid/{uuid} method: get operationId: getAlbumMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/album/by-upc/{upc} method: get operationId: getAlbumByUpc x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/album/by-platform/{platform}/{identifier} method: get operationId: getAlbumByPlatformId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2.26/album/{uuid}/tracks method: get operationId: getAlbumTracks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/playlist/{uuid} method: get operationId: getPlaylistMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/playlist/by-platform/{platform}/{identifier} method: get operationId: getPlaylistByPlatformId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/playlist/{uuid}/tracks method: get operationId: getPlaylistTracks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/chart/song/by-platform/{platform} method: get operationId: getSongChartsByPlatform x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/chart/song/{slug}/ranking/latest method: get operationId: getSongRankingLatest x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/chart/song/{slug}/ranking/{datetime} method: get operationId: getSongRankingForDate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/chart/album/{slug}/ranking/latest method: get operationId: getAlbumRankingLatest x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/chart/tiktok/music/weekly/ranking/latest method: get operationId: getTiktokMusicRankingLatest x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/audience/{platform} method: get operationId: getArtistAudience x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/streaming/{platform}/listening method: get operationId: getArtistStreamingAudience x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/popularity/{platform} method: get operationId: getArtistPopularity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/radio/{uuid} method: get operationId: getRadio x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/radio/by-slug/{slug} method: get operationId: getRadioBySlug x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/artist/{uuid}/broadcasts method: get operationId: getArtistRadioSpins x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v2/search method: post operationId: search x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v2/referential/platforms method: get operationId: getPlatforms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none