Spotify · Capability

Spotify Web API — Audiobooks

Spotify Web API — Audiobooks. 7 operations. Lead operation: Get Several Audiobooks. Self-contained Naftiko capability covering one Spotify business surface.

Run with Naftiko SpotifyAudiobooks

What You Can Do

GET
Getmultipleaudiobooks — Get Several Audiobooks
/v1/audiobooks
GET
Getanaudiobook — Get an Audiobook
/v1/audiobooks/{id}
GET
Getaudiobookchapters — Get Audiobook Chapters
/v1/audiobooks/{id}/chapters
GET
Getuserssavedaudiobooks — Get User's Saved Audiobooks
/v1/me/audiobooks
PUT
Saveaudiobooksuser — Save Audiobooks for Current User
/v1/me/audiobooks
DELETE
Removeaudiobooksuser — Remove User's Saved Audiobooks
/v1/me/audiobooks
GET
Checkuserssavedaudiobooks — Check User's Saved Audiobooks
/v1/me/audiobooks/contains

MCP Tools

get-several-audiobooks

Get Several Audiobooks

read-only idempotent
get-audiobook

Get an Audiobook

read-only idempotent
get-audiobook-chapters

Get Audiobook Chapters

read-only idempotent
get-user-s-saved-audiobooks

Get User's Saved Audiobooks

read-only idempotent
save-audiobooks-current-user

Save Audiobooks for Current User

idempotent
remove-user-s-saved-audiobooks

Remove User's Saved Audiobooks

idempotent
check-user-s-saved-audiobooks

Check User's Saved Audiobooks

read-only idempotent

Capability Spec

spotify-audiobooks.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Spotify Web API — Audiobooks
  description: 'Spotify Web API — Audiobooks. 7 operations. Lead operation: Get Several Audiobooks. Self-contained Naftiko
    capability covering one Spotify business surface.'
  tags:
  - Spotify
  - Audiobooks
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SPOTIFY_API_KEY: SPOTIFY_API_KEY
capability:
  consumes:
  - type: http
    namespace: spotify-audiobooks
    baseUri: https://api.spotify.com/v1
    description: Spotify Web API — Audiobooks business capability. Self-contained, no shared references.
    resources:
    - name: audiobooks
      path: /audiobooks
      operations:
      - name: getmultipleaudiobooks
        method: GET
        description: Get Several Audiobooks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: audiobooks-id
      path: /audiobooks/{id}
      operations:
      - name: getanaudiobook
        method: GET
        description: Get an Audiobook
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: audiobooks-id-chapters
      path: /audiobooks/{id}/chapters
      operations:
      - name: getaudiobookchapters
        method: GET
        description: Get Audiobook Chapters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: me-audiobooks
      path: /me/audiobooks
      operations:
      - name: getuserssavedaudiobooks
        method: GET
        description: Get User's Saved Audiobooks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: saveaudiobooksuser
        method: PUT
        description: Save Audiobooks for Current User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: removeaudiobooksuser
        method: DELETE
        description: Remove User's Saved Audiobooks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: me-audiobooks-contains
      path: /me/audiobooks/contains
      operations:
      - name: checkuserssavedaudiobooks
        method: GET
        description: Check User's Saved Audiobooks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.SPOTIFY_API_KEY}}'
  exposes:
  - type: rest
    namespace: spotify-audiobooks-rest
    port: 8080
    description: REST adapter for Spotify Web API — Audiobooks. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/audiobooks
      name: audiobooks
      description: REST surface for audiobooks.
      operations:
      - method: GET
        name: getmultipleaudiobooks
        description: Get Several Audiobooks
        call: spotify-audiobooks.getmultipleaudiobooks
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/audiobooks/{id}
      name: audiobooks-id
      description: REST surface for audiobooks-id.
      operations:
      - method: GET
        name: getanaudiobook
        description: Get an Audiobook
        call: spotify-audiobooks.getanaudiobook
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/audiobooks/{id}/chapters
      name: audiobooks-id-chapters
      description: REST surface for audiobooks-id-chapters.
      operations:
      - method: GET
        name: getaudiobookchapters
        description: Get Audiobook Chapters
        call: spotify-audiobooks.getaudiobookchapters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/me/audiobooks
      name: me-audiobooks
      description: REST surface for me-audiobooks.
      operations:
      - method: GET
        name: getuserssavedaudiobooks
        description: Get User's Saved Audiobooks
        call: spotify-audiobooks.getuserssavedaudiobooks
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: saveaudiobooksuser
        description: Save Audiobooks for Current User
        call: spotify-audiobooks.saveaudiobooksuser
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removeaudiobooksuser
        description: Remove User's Saved Audiobooks
        call: spotify-audiobooks.removeaudiobooksuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/me/audiobooks/contains
      name: me-audiobooks-contains
      description: REST surface for me-audiobooks-contains.
      operations:
      - method: GET
        name: checkuserssavedaudiobooks
        description: Check User's Saved Audiobooks
        call: spotify-audiobooks.checkuserssavedaudiobooks
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: spotify-audiobooks-mcp
    port: 9090
    transport: http
    description: MCP adapter for Spotify Web API — Audiobooks. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-several-audiobooks
      description: Get Several Audiobooks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spotify-audiobooks.getmultipleaudiobooks
      outputParameters:
      - type: object
        mapping: $.
    - name: get-audiobook
      description: Get an Audiobook
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spotify-audiobooks.getanaudiobook
      outputParameters:
      - type: object
        mapping: $.
    - name: get-audiobook-chapters
      description: Get Audiobook Chapters
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spotify-audiobooks.getaudiobookchapters
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-s-saved-audiobooks
      description: Get User's Saved Audiobooks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spotify-audiobooks.getuserssavedaudiobooks
      outputParameters:
      - type: object
        mapping: $.
    - name: save-audiobooks-current-user
      description: Save Audiobooks for Current User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: spotify-audiobooks.saveaudiobooksuser
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-user-s-saved-audiobooks
      description: Remove User's Saved Audiobooks
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: spotify-audiobooks.removeaudiobooksuser
      outputParameters:
      - type: object
        mapping: $.
    - name: check-user-s-saved-audiobooks
      description: Check User's Saved Audiobooks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spotify-audiobooks.checkuserssavedaudiobooks
      outputParameters:
      - type: object
        mapping: $.