generated: '2026-07-15' method: generated source: openapi/7digital-api-openapi.yml, openapi/7digital-streaming-platform-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: 107 by_action_class: connected: 81 acting: 26 by_consequence: read: 81 write: 19 physical: 6 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /release/byDate method: get operationId: getReleasesByDate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/details method: get operationId: getReleaseDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/editorial method: get operationId: getReleaseEditorial x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/chart method: get operationId: getReleaseChart x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/recommend method: get operationId: getReleaseRecommendations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/search method: get operationId: searchReleases x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/tracks method: get operationId: getReleaseTracks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/tags method: get operationId: getReleaseTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/match/byId method: get operationId: matchReleaseById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/bytag/new method: get operationId: getNewReleasesByTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /release/bytag/top method: get operationId: getTopReleasesByTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/browse method: get operationId: browseArtists x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/chart method: get operationId: getArtistChart x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/details method: get operationId: getArtistDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/releases method: get operationId: getArtistReleases x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/similar method: get operationId: getSimilarArtists x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/search method: get operationId: searchArtists x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/topTracks method: get operationId: getArtistTopTracks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/tags method: get operationId: getArtistTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/match/byId method: get operationId: matchArtistById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artist/bytag/top method: get operationId: getTopArtistsByTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /track/chart method: get operationId: getTrackChart x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /track/details method: get operationId: getTrackDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /track/search method: get operationId: searchTracks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /track/match/byId method: get operationId: matchTrackById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tag method: get operationId: getAllTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basket method: get operationId: getBasket x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basket/create method: get operationId: createBasket x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basket/addItem method: get operationId: addBasketItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basket/removeItem method: get operationId: removeBasketItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basket/applyVoucher method: post operationId: applyBasketVoucher 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: /basket/addpriceditem method: get operationId: addPricedBasketItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basket/paypalurl method: get operationId: getBasketPayPalUrl x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basket/completepaypalpurchase method: post operationId: completeBasketPayPalPurchase x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /user/unlimitedStreaming method: get operationId: getUserUnlimitedStreaming x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/unlimitedStreaming method: post operationId: updateUserUnlimitedStreaming 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: /user/locker method: get operationId: getUserLocker x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/purchase/item method: get operationId: purchaseUserItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/purchase/rrpitem method: get operationId: purchaseUserRrpItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/purchase/basket method: get operationId: purchaseUserBasket x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/purchase/priceditem method: get operationId: purchaseUserPricedItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/payment/card method: get operationId: listUserPaymentCards x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/payment/card/select method: post operationId: selectUserPaymentCard x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /user/payment/card/delete method: post operationId: deleteUserPaymentCard x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /user/payment/cardregistration method: post operationId: registerUserPaymentCard x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /user/payment/cardregistration/{id} method: get operationId: getUserCardRegistration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/deliveritem method: get operationId: deliverUserItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/signup method: post operationId: signupUser 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: /user/create method: get operationId: createUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/details method: get operationId: getUserDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/authenticate method: post operationId: authenticateUser 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: /users method: get operationId: findUsers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{id}/update method: put operationId: updateUser 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: /countries method: get operationId: getCountries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /translations method: get operationId: getTranslations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /country/resolve method: get operationId: resolveCountryForIp x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /editorial/list method: get operationId: getEditorialList x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /catalogue/artist-byurl method: get operationId: getArtistIdByUrl x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /catalogue/release-byurl method: get operationId: getReleaseIdByUrl x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payment/card/type method: get operationId: getPaymentCardTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payment/voucher/details method: get operationId: getPaymentVoucherDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artists/browse method: get operationId: browseArtistsByName x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artists/{artistId}/details method: get operationId: getArtistDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artists/{artistId}/releases method: get operationId: getArtistReleases x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /artists/search method: get operationId: searchArtists x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /releases/details/batch method: post operationId: getReleasesBatchDetails 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: /releases/{releaseId}/details method: get operationId: getReleaseDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /releases/{releaseId}/tracks method: get operationId: getReleaseTrackListing x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /releases/search method: get operationId: searchReleases x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tracks/search method: get operationId: searchTracks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tracks/details/batch method: post operationId: getTracksBatchDetails 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: /tracks/{trackId}/details method: get operationId: getTrackDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tracks/{trackId}/download method: get operationId: downloadTrack x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /usage-types method: get operationId: getUsageTypeInformation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /interactive-radio/sessions method: post operationId: createInteractiveRadioSession 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: /interactive-radio/sessions/{sessionId} method: delete operationId: deleteInteractiveRadioSession 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: /interactive-radio/sessions/{sessionId}/next-track method: get operationId: getInteractiveRadioNextTrack x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /interactive-radio/sessions/{sessionId}/events method: post operationId: postInteractiveRadioPlaybackEvents 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: /logging/catalogue method: post operationId: reportCatalogueStream 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: /logging/preview method: post operationId: reportPreviewStream 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: /logging/subscriber method: post operationId: reportSubscriberStream 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: /streaming/preview/{trackId} method: get operationId: streamPreviewClip x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streaming/catalogue/{trackId}/hls method: get operationId: streamCatalogueTrackHls x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streaming/catalogue/{trackId}/progressive method: get operationId: streamCatalogueTrackProgressive x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streaming/locker/{trackId}/hls method: get operationId: streamLockerTrackHls x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streaming/locker/{trackId}/progressive method: get operationId: streamLockerTrackProgressive x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streaming/subscription/{trackId}/hls method: get operationId: streamSubscriptionTrackHls x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streaming/subscription/{trackId}/progressive method: get operationId: streamSubscriptionTrackProgressive x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streaming/subscription/{trackId}/offline/hls method: get operationId: streamSubscriptionTrackOfflineHls x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streaming/subscription/{trackId}/offline/progressive method: get operationId: streamSubscriptionTrackOfflineProgressive x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{userId}/unlimitedStreaming/offline method: post operationId: authorizeOfflineDevice 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: /users/{userId}/unlimitedStreaming/offline/{deviceId} method: get operationId: getOfflineDeviceStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{userId}/unlimitedStreaming/devices method: get operationId: listOfflineDevices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{userId}/downloads/purchases/{purchaseId} method: get operationId: downloadPurchaseZip x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{userId}/downloads/releases/{releaseId} method: get operationId: downloadPurchasedReleaseZip x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{userId}/downloads/tracks/{trackId} method: get operationId: downloadPurchasedTrack x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{userId}/locker method: get operationId: getUserLocker x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sales/credit-item method: post operationId: creditSalesItem 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: /sales/refund/release method: post operationId: reportReleaseRefund x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /sales/refund/track method: post operationId: reportTrackRefund x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /playlists method: get operationId: listPlaylists x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /playlists method: post operationId: createPlaylist 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: /playlists/{playlistId} method: put operationId: updatePlaylistDetails 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: /playlists/{playlistId}/tracks method: post operationId: addTracksToPlaylist x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /subscriptions method: post operationId: createSubscription 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: /users method: post operationId: createUser 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: /content-delivery/media-transfer method: get operationId: transferMedia x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none