7digital · Capability

7digital API — User

7digital API — User. 17 operations. Lead operation: 7digital Get User Unlimited Streaming. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.

Run with Naftiko 7digital / MassiveMusicMusicUser

What You Can Do

GET
Getuserunlimitedstreaming — 7digital Get User Unlimited Streaming
/v1/user/unlimited-streaming
POST
Updateuserunlimitedstreaming — 7digital Update User Unlimited Streaming
/v1/user/unlimited-streaming
GET
Getuserlocker — 7digital Get User Locker
/v1/user/locker
GET
Purchaseuseritem — 7digital Purchase User Item
/v1/user/purchase/item
GET
Purchaseuserrrpitem — 7digital Purchase User Rrp Item
/v1/user/purchase/rrpitem
GET
Purchaseuserbasket — 7digital Purchase User Basket
/v1/user/purchase/basket
GET
Purchaseuserpriceditem — 7digital Purchase User Priced Item
/v1/user/purchase/priceditem
GET
Listuserpaymentcards — 7digital List User Payment Cards
/v1/user/payment/card
POST
Selectuserpaymentcard — 7digital Select User Payment Card
/v1/user/payment/card/select
POST
Deleteuserpaymentcard — 7digital Delete User Payment Card
/v1/user/payment/card/delete
POST
Registeruserpaymentcard — 7digital Register User Payment Card
/v1/user/payment/cardregistration
GET
Getusercardregistration — 7digital Get User Card Registration
/v1/user/payment/cardregistration/{id}
GET
Deliveruseritem — 7digital Deliver User Item
/v1/user/deliveritem
POST
Signupuser — 7digital Signup User
/v1/user/signup
GET
Createuser — 7digital Create User
/v1/user/create
GET
Getuserdetails — 7digital Get User Details
/v1/user/details
POST
Authenticateuser — 7digital Authenticate User
/v1/user/authenticate

MCP Tools

get-user-unlimited-streaming

7digital Get User Unlimited Streaming

read-only idempotent
update-user-unlimited-streaming

7digital Update User Unlimited Streaming

read-only
get-user-locker

7digital Get User Locker

read-only idempotent
purchase-user-item

7digital Purchase User Item

read-only idempotent
purchase-user-rrp-item

7digital Purchase User Rrp Item

read-only idempotent
purchase-user-basket

7digital Purchase User Basket

read-only idempotent
purchase-user-priced-item

7digital Purchase User Priced Item

read-only idempotent
list-user-payment-cards

7digital List User Payment Cards

read-only idempotent
select-user-payment-card

7digital Select User Payment Card

delete-user-payment-card

7digital Delete User Payment Card

register-user-payment-card

7digital Register User Payment Card

get-user-card-registration

7digital Get User Card Registration

read-only idempotent
deliver-user-item

7digital Deliver User Item

read-only idempotent
signup-user

7digital Signup User

create-user

7digital Create User

read-only idempotent
get-user-details

7digital Get User Details

read-only idempotent
authenticate-user

7digital Authenticate User

Capability Spec

api-user.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: 7digital API — User
  description: '7digital API — User. 17 operations. Lead operation: 7digital Get User Unlimited Streaming. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.'
  tags:
  - 7digital / MassiveMusic
  - Music
  - User
  created: '2026-05-28'
  modified: '2026-05-28'
binds:
- namespace: env
  keys:
    SEVENDIGITAL_CONSUMER_KEY: SEVENDIGITAL_CONSUMER_KEY
    SEVENDIGITAL_CONSUMER_SECRET: SEVENDIGITAL_CONSUMER_SECRET
capability:
  consumes:
  - type: http
    namespace: api-user
    baseUri: https://api.7digital.com/1.2
    description: 7digital API — User business capability. Self-contained, no shared references.
    authentication:
      type: apikey
      key: oauth_consumer_key
      value: '{{env.SEVENDIGITAL_CONSUMER_KEY}}'
      placement: query
    resources:
    - name: user-unlimitedstreaming
      path: /user/unlimitedStreaming
      operations:
      - name: getUserUnlimitedStreaming
        method: GET
        description: 7digital Get User Unlimited Streaming
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateUserUnlimitedStreaming
        method: POST
        description: 7digital Update User Unlimited Streaming
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-locker
      path: /user/locker
      operations:
      - name: getUserLocker
        method: GET
        description: 7digital Get User Locker
        inputParameters:
        - name: page
          in: query
          type: integer
          required: false
          description: 1-based page number for paged endpoints.
        - name: pageSize
          in: query
          type: integer
          required: false
          description: Number of items per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-purchase-item
      path: /user/purchase/item
      operations:
      - name: purchaseUserItem
        method: GET
        description: 7digital Purchase User Item
        inputParameters:
        - name: releaseId
          in: query
          type: string
          required: false
          description: Release id to purchase.
        - name: trackId
          in: query
          type: string
          required: false
          description: Track id to purchase.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-purchase-rrpitem
      path: /user/purchase/rrpitem
      operations:
      - name: purchaseUserRrpItem
        method: GET
        description: 7digital Purchase User Rrp Item
        inputParameters:
        - name: releaseId
          in: query
          type: string
          required: false
          description: Release id to purchase.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-purchase-basket
      path: /user/purchase/basket
      operations:
      - name: purchaseUserBasket
        method: GET
        description: 7digital Purchase User Basket
        inputParameters:
        - name: basketId
          in: query
          type: string
          required: true
          description: 7digital basket id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-purchase-priceditem
      path: /user/purchase/priceditem
      operations:
      - name: purchaseUserPricedItem
        method: GET
        description: 7digital Purchase User Priced Item
        inputParameters:
        - name: releaseId
          in: query
          type: string
          required: false
          description: Release id to purchase.
        - name: price
          in: query
          type: number
          required: true
          description: Partner-supplied price (in minor units).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-payment-card
      path: /user/payment/card
      operations:
      - name: listUserPaymentCards
        method: GET
        description: 7digital List User Payment Cards
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-payment-card-select
      path: /user/payment/card/select
      operations:
      - name: selectUserPaymentCard
        method: POST
        description: 7digital Select User Payment Card
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-payment-card-delete
      path: /user/payment/card/delete
      operations:
      - name: deleteUserPaymentCard
        method: POST
        description: 7digital Delete User Payment Card
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-payment-cardregistration
      path: /user/payment/cardregistration
      operations:
      - name: registerUserPaymentCard
        method: POST
        description: 7digital Register User Payment Card
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-payment-cardregistration-id
      path: /user/payment/cardregistration/{id}
      operations:
      - name: getUserCardRegistration
        method: GET
        description: 7digital Get User Card Registration
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
          description: Card registration id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-deliveritem
      path: /user/deliveritem
      operations:
      - name: deliverUserItem
        method: GET
        description: 7digital Deliver User Item
        inputParameters:
        - name: releaseId
          in: query
          type: string
          required: false
          description: Purchased release to deliver.
        - name: trackId
          in: query
          type: string
          required: false
          description: Purchased track to deliver.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-signup
      path: /user/signup
      operations:
      - name: signupUser
        method: POST
        description: 7digital Signup User
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-create
      path: /user/create
      operations:
      - name: createUser
        method: GET
        description: 7digital Create User
        inputParameters:
        - name: email
          in: query
          type: string
          required: true
          description: Email address of the new user.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-details
      path: /user/details
      operations:
      - name: getUserDetails
        method: GET
        description: 7digital Get User Details
        inputParameters:
        - name: userId
          in: query
          type: string
          required: true
          description: The user id to look up.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-authenticate
      path: /user/authenticate
      operations:
      - name: authenticateUser
        method: POST
        description: 7digital Authenticate User
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: api-user-rest
    port: 8080
    description: REST adapter for 7digital API — User. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/user/unlimited-streaming
      name: user-unlimited-streaming
      description: REST surface for user-unlimited-streaming.
      operations:
      - method: GET
        name: getUserUnlimitedStreaming
        description: 7digital Get User Unlimited Streaming
        call: api-user.getUserUnlimitedStreaming
        with: {}
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updateUserUnlimitedStreaming
        description: 7digital Update User Unlimited Streaming
        call: api-user.updateUserUnlimitedStreaming
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/locker
      name: user-locker
      description: REST surface for user-locker.
      operations:
      - method: GET
        name: getUserLocker
        description: 7digital Get User Locker
        call: api-user.getUserLocker
        with:
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/purchase/item
      name: user-purchase-item
      description: REST surface for user-purchase-item.
      operations:
      - method: GET
        name: purchaseUserItem
        description: 7digital Purchase User Item
        call: api-user.purchaseUserItem
        with:
          releaseId: rest.releaseId
          trackId: rest.trackId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/purchase/rrpitem
      name: user-purchase-rrpitem
      description: REST surface for user-purchase-rrpitem.
      operations:
      - method: GET
        name: purchaseUserRrpItem
        description: 7digital Purchase User Rrp Item
        call: api-user.purchaseUserRrpItem
        with:
          releaseId: rest.releaseId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/purchase/basket
      name: user-purchase-basket
      description: REST surface for user-purchase-basket.
      operations:
      - method: GET
        name: purchaseUserBasket
        description: 7digital Purchase User Basket
        call: api-user.purchaseUserBasket
        with:
          basketId: rest.basketId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/purchase/priceditem
      name: user-purchase-priceditem
      description: REST surface for user-purchase-priceditem.
      operations:
      - method: GET
        name: purchaseUserPricedItem
        description: 7digital Purchase User Priced Item
        call: api-user.purchaseUserPricedItem
        with:
          releaseId: rest.releaseId
          price: rest.price
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/payment/card
      name: user-payment-card
      description: REST surface for user-payment-card.
      operations:
      - method: GET
        name: listUserPaymentCards
        description: 7digital List User Payment Cards
        call: api-user.listUserPaymentCards
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/payment/card/select
      name: user-payment-card-select
      description: REST surface for user-payment-card-select.
      operations:
      - method: POST
        name: selectUserPaymentCard
        description: 7digital Select User Payment Card
        call: api-user.selectUserPaymentCard
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/payment/card/delete
      name: user-payment-card-delete
      description: REST surface for user-payment-card-delete.
      operations:
      - method: POST
        name: deleteUserPaymentCard
        description: 7digital Delete User Payment Card
        call: api-user.deleteUserPaymentCard
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/payment/cardregistration
      name: user-payment-cardregistration
      description: REST surface for user-payment-cardregistration.
      operations:
      - method: POST
        name: registerUserPaymentCard
        description: 7digital Register User Payment Card
        call: api-user.registerUserPaymentCard
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/payment/cardregistration/{id}
      name: user-payment-cardregistration-id
      description: REST surface for user-payment-cardregistration-id.
      operations:
      - method: GET
        name: getUserCardRegistration
        description: 7digital Get User Card Registration
        call: api-user.getUserCardRegistration
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/deliveritem
      name: user-deliveritem
      description: REST surface for user-deliveritem.
      operations:
      - method: GET
        name: deliverUserItem
        description: 7digital Deliver User Item
        call: api-user.deliverUserItem
        with:
          releaseId: rest.releaseId
          trackId: rest.trackId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/signup
      name: user-signup
      description: REST surface for user-signup.
      operations:
      - method: POST
        name: signupUser
        description: 7digital Signup User
        call: api-user.signupUser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/create
      name: user-create
      description: REST surface for user-create.
      operations:
      - method: GET
        name: createUser
        description: 7digital Create User
        call: api-user.createUser
        with:
          email: rest.email
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/details
      name: user-details
      description: REST surface for user-details.
      operations:
      - method: GET
        name: getUserDetails
        description: 7digital Get User Details
        call: api-user.getUserDetails
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/authenticate
      name: user-authenticate
      description: REST surface for user-authenticate.
      operations:
      - method: POST
        name: authenticateUser
        description: 7digital Authenticate User
        call: api-user.authenticateUser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: api-user-mcp
    port: 9090
    transport: http
    description: MCP adapter for 7digital API — User. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: get-user-unlimited-streaming
      description: 7digital Get User Unlimited Streaming
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.getUserUnlimitedStreaming
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: update-user-unlimited-streaming
      description: 7digital Update User Unlimited Streaming
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: api-user.updateUserUnlimitedStreaming
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-locker
      description: 7digital Get User Locker
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.getUserLocker
      with:
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: purchase-user-item
      description: 7digital Purchase User Item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.purchaseUserItem
      with:
        releaseId: tools.releaseId
        trackId: tools.trackId
      outputParameters:
      - type: object
        mapping: $.
    - name: purchase-user-rrp-item
      description: 7digital Purchase User Rrp Item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.purchaseUserRrpItem
      with:
        releaseId: tools.releaseId
      outputParameters:
      - type: object
        mapping: $.
    - name: purchase-user-basket
      description: 7digital Purchase User Basket
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.purchaseUserBasket
      with:
        basketId: tools.basketId
      outputParameters:
      - type: object
        mapping: $.
    - name: purchase-user-priced-item
      description: 7digital Purchase User Priced Item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.purchaseUserPricedItem
      with:
        releaseId: tools.releaseId
        price: tools.price
      outputParameters:
      - type: object
        mapping: $.
    - name: list-user-payment-cards
      description: 7digital List User Payment Cards
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.listUserPaymentCards
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: select-user-payment-card
      description: 7digital Select User Payment Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-user.selectUserPaymentCard
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-user-payment-card
      description: 7digital Delete User Payment Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-user.deleteUserPaymentCard
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: register-user-payment-card
      description: 7digital Register User Payment Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-user.registerUserPaymentCard
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-card-registration
      description: 7digital Get User Card Registration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.getUserCardRegistration
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: deliver-user-item
      description: 7digital Deliver User Item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.deliverUserItem
      with:
        releaseId: tools.releaseId
        trackId: tools.trackId
      outputParameters:
      - type: object
        mapping: $.
    - name: signup-user
      description: 7digital Signup User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-user.signupUser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-user
      description: 7digital Create User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.createUser
      with:
        email: tools.email
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-details
      description: 7digital Get User Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-user.getUserDetails
      with:
        userId: tools.userId
      outputParameters:
      - type: object
        mapping: $.
    - name: authenticate-user
      description: 7digital Authenticate User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-user.authenticateUser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.