7digital · Capability

7digital API — Basket

7digital API — Basket. 8 operations. Lead operation: 7digital Get Basket. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.

Run with Naftiko 7digital / MassiveMusicMusicBasket

What You Can Do

GET
Getbasket — 7digital Get Basket
/v1/basket
GET
Createbasket — 7digital Create Basket
/v1/basket/create
GET
Addbasketitem — 7digital Add Basket Item
/v1/basket/add-item
GET
Removebasketitem — 7digital Remove Basket Item
/v1/basket/remove-item
POST
Applybasketvoucher — 7digital Apply Basket Voucher
/v1/basket/apply-voucher
GET
Addpricedbasketitem — 7digital Add Priced Basket Item
/v1/basket/addpriceditem
GET
Getbasketpaypalurl — 7digital Get Basket PayPal Url
/v1/basket/paypalurl
POST
Completebasketpaypalpurchase — 7digital Complete Basket PayPal Purchase
/v1/basket/completepaypalpurchase

MCP Tools

get-basket

7digital Get Basket

read-only idempotent
create-basket

7digital Create Basket

read-only idempotent
add-basket-item

7digital Add Basket Item

read-only idempotent
remove-basket-item

7digital Remove Basket Item

read-only idempotent
apply-basket-voucher

7digital Apply Basket Voucher

add-priced-basket-item

7digital Add Priced Basket Item

read-only idempotent
get-basket-pay-pal-url

7digital Get Basket PayPal Url

read-only idempotent
complete-basket-pay-pal-purchase

7digital Complete Basket PayPal Purchase

Capability Spec

api-basket.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: 7digital API — Basket
  description: '7digital API — Basket. 8 operations. Lead operation: 7digital Get Basket. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.'
  tags:
  - 7digital / MassiveMusic
  - Music
  - Basket
  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-basket
    baseUri: https://api.7digital.com/1.2
    description: 7digital API — Basket business capability. Self-contained, no shared references.
    authentication:
      type: apikey
      key: oauth_consumer_key
      value: '{{env.SEVENDIGITAL_CONSUMER_KEY}}'
      placement: query
    resources:
    - name: basket
      path: /basket
      operations:
      - name: getBasket
        method: GET
        description: 7digital Get Basket
        inputParameters:
        - name: basketId
          in: query
          type: string
          required: true
          description: 7digital basket id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: basket-create
      path: /basket/create
      operations:
      - name: createBasket
        method: GET
        description: 7digital Create Basket
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: basket-additem
      path: /basket/addItem
      operations:
      - name: addBasketItem
        method: GET
        description: 7digital Add Basket Item
        inputParameters:
        - name: basketId
          in: query
          type: string
          required: true
          description: 7digital basket id.
        - name: releaseId
          in: query
          type: string
          required: false
          description: Release id to add.
        - name: trackId
          in: query
          type: string
          required: false
          description: Track id to add.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: basket-removeitem
      path: /basket/removeItem
      operations:
      - name: removeBasketItem
        method: GET
        description: 7digital Remove Basket Item
        inputParameters:
        - name: basketId
          in: query
          type: string
          required: true
          description: 7digital basket id.
        - name: itemId
          in: query
          type: string
          required: true
          description: Basket item id to remove.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: basket-applyvoucher
      path: /basket/applyVoucher
      operations:
      - name: applyBasketVoucher
        method: POST
        description: 7digital Apply Basket Voucher
        inputParameters:
        - name: basketId
          in: query
          type: string
          required: true
          description: 7digital basket id.
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: basket-addpriceditem
      path: /basket/addpriceditem
      operations:
      - name: addPricedBasketItem
        method: GET
        description: 7digital Add Priced Basket Item
        inputParameters:
        - name: basketId
          in: query
          type: string
          required: true
          description: 7digital basket id.
        - name: releaseId
          in: query
          type: string
          required: false
          description: Release id to add.
        - name: price
          in: query
          type: number
          required: true
          description: Price to apply to the item (in minor units).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: basket-paypalurl
      path: /basket/paypalurl
      operations:
      - name: getBasketPayPalUrl
        method: GET
        description: 7digital Get Basket PayPal Url
        inputParameters:
        - name: basketId
          in: query
          type: string
          required: true
          description: 7digital basket id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: basket-completepaypalpurchase
      path: /basket/completepaypalpurchase
      operations:
      - name: completeBasketPayPalPurchase
        method: POST
        description: 7digital Complete Basket PayPal Purchase
        inputParameters:
        - name: basketId
          in: query
          type: string
          required: true
          description: 7digital basket id.
        - 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-basket-rest
    port: 8080
    description: REST adapter for 7digital API — Basket. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/basket
      name: basket
      description: REST surface for basket.
      operations:
      - method: GET
        name: getBasket
        description: 7digital Get Basket
        call: api-basket.getBasket
        with:
          basketId: rest.basketId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/basket/create
      name: basket-create
      description: REST surface for basket-create.
      operations:
      - method: GET
        name: createBasket
        description: 7digital Create Basket
        call: api-basket.createBasket
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/basket/add-item
      name: basket-add-item
      description: REST surface for basket-add-item.
      operations:
      - method: GET
        name: addBasketItem
        description: 7digital Add Basket Item
        call: api-basket.addBasketItem
        with:
          basketId: rest.basketId
          releaseId: rest.releaseId
          trackId: rest.trackId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/basket/remove-item
      name: basket-remove-item
      description: REST surface for basket-remove-item.
      operations:
      - method: GET
        name: removeBasketItem
        description: 7digital Remove Basket Item
        call: api-basket.removeBasketItem
        with:
          basketId: rest.basketId
          itemId: rest.itemId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/basket/apply-voucher
      name: basket-apply-voucher
      description: REST surface for basket-apply-voucher.
      operations:
      - method: POST
        name: applyBasketVoucher
        description: 7digital Apply Basket Voucher
        call: api-basket.applyBasketVoucher
        with:
          basketId: rest.basketId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/basket/addpriceditem
      name: basket-addpriceditem
      description: REST surface for basket-addpriceditem.
      operations:
      - method: GET
        name: addPricedBasketItem
        description: 7digital Add Priced Basket Item
        call: api-basket.addPricedBasketItem
        with:
          basketId: rest.basketId
          releaseId: rest.releaseId
          price: rest.price
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/basket/paypalurl
      name: basket-paypalurl
      description: REST surface for basket-paypalurl.
      operations:
      - method: GET
        name: getBasketPayPalUrl
        description: 7digital Get Basket PayPal Url
        call: api-basket.getBasketPayPalUrl
        with:
          basketId: rest.basketId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/basket/completepaypalpurchase
      name: basket-completepaypalpurchase
      description: REST surface for basket-completepaypalpurchase.
      operations:
      - method: POST
        name: completeBasketPayPalPurchase
        description: 7digital Complete Basket PayPal Purchase
        call: api-basket.completeBasketPayPalPurchase
        with:
          basketId: rest.basketId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: api-basket-mcp
    port: 9090
    transport: http
    description: MCP adapter for 7digital API — Basket. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: get-basket
      description: 7digital Get Basket
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-basket.getBasket
      with:
        basketId: tools.basketId
      outputParameters:
      - type: object
        mapping: $.
    - name: create-basket
      description: 7digital Create Basket
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-basket.createBasket
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: add-basket-item
      description: 7digital Add Basket Item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-basket.addBasketItem
      with:
        basketId: tools.basketId
        releaseId: tools.releaseId
        trackId: tools.trackId
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-basket-item
      description: 7digital Remove Basket Item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-basket.removeBasketItem
      with:
        basketId: tools.basketId
        itemId: tools.itemId
      outputParameters:
      - type: object
        mapping: $.
    - name: apply-basket-voucher
      description: 7digital Apply Basket Voucher
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-basket.applyBasketVoucher
      with:
        basketId: tools.basketId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: add-priced-basket-item
      description: 7digital Add Priced Basket Item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-basket.addPricedBasketItem
      with:
        basketId: tools.basketId
        releaseId: tools.releaseId
        price: tools.price
      outputParameters:
      - type: object
        mapping: $.
    - name: get-basket-pay-pal-url
      description: 7digital Get Basket PayPal Url
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-basket.getBasketPayPalUrl
      with:
        basketId: tools.basketId
      outputParameters:
      - type: object
        mapping: $.
    - name: complete-basket-pay-pal-purchase
      description: 7digital Complete Basket PayPal Purchase
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: api-basket.completeBasketPayPalPurchase
      with:
        basketId: tools.basketId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.