Shutterstock · Capability

Shutterstock API Reference — audio

Shutterstock API Reference — audio. 17 operations. Lead operation: List audio tracks. Self-contained Naftiko capability covering one Shutterstock business surface.

Run with Naftiko Shutterstockaudio

What You Can Do

GET
Gettracklist — List audio tracks
/v1/v2/audio
POST
Createsoundbox — Create audio collections
/v1/v2/audio/collections
GET
Getsoundboxlist — List audio collections
/v1/v2/audio/collections
GET
Getsoundbox — Get the details of audio collections
/v1/v2/audio/collections/{id}
POST
Renamesoundbox — Rename audio collections
/v1/v2/audio/collections/{id}
DELETE
Deletesoundbox — Delete audio collections
/v1/v2/audio/collections/{id}
POST
Addsoundboxitems — Add audio tracks to collections
/v1/v2/audio/collections/{id}/items
GET
Getsoundboxitems — Get the contents of audio collections
/v1/v2/audio/collections/{id}/items
DELETE
Deletesoundboxitems — Remove audio tracks from collections
/v1/v2/audio/collections/{id}/items
GET
Getgenres — List audio genres
/v1/v2/audio/genres
GET
Getinstruments — List audio instruments
/v1/v2/audio/instruments
POST
Licensetrack — License audio tracks
/v1/v2/audio/licenses
GET
Getaudiolicenselist — List audio licenses
/v1/v2/audio/licenses
POST
Downloadtracks — Download audio tracks
/v1/v2/audio/licenses/{id}/downloads
GET
Getmoods — List audio moods
/v1/v2/audio/moods
GET
Searchaudio — Search for tracks
/v1/v2/audio/search
GET
Gettrack — Get details about audio tracks
/v1/v2/audio/{id}

MCP Tools

list-audio-tracks

List audio tracks

read-only idempotent
create-audio-collections

Create audio collections

list-audio-collections

List audio collections

read-only idempotent
get-details-audio-collections

Get the details of audio collections

read-only idempotent
rename-audio-collections

Rename audio collections

delete-audio-collections

Delete audio collections

idempotent
add-audio-tracks-collections

Add audio tracks to collections

get-contents-audio-collections

Get the contents of audio collections

read-only idempotent
remove-audio-tracks-collections

Remove audio tracks from collections

idempotent
list-audio-genres

List audio genres

read-only idempotent
list-audio-instruments

List audio instruments

read-only idempotent
license-audio-tracks

License audio tracks

list-audio-licenses

List audio licenses

read-only idempotent
download-audio-tracks

Download audio tracks

list-audio-moods

List audio moods

read-only idempotent
search-tracks

Search for tracks

read-only idempotent
get-details-about-audio-tracks

Get details about audio tracks

read-only idempotent

Capability Spec

shutterstock-audio.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Shutterstock API Reference — audio
  description: 'Shutterstock API Reference — audio. 17 operations. Lead operation: List audio tracks. Self-contained Naftiko
    capability covering one Shutterstock business surface.'
  tags:
  - Shutterstock
  - audio
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SHUTTERSTOCK_API_KEY: SHUTTERSTOCK_API_KEY
capability:
  consumes:
  - type: http
    namespace: shutterstock-audio
    baseUri: https://api.shutterstock.com
    description: Shutterstock API Reference — audio business capability. Self-contained, no shared references.
    resources:
    - name: v2-audio
      path: /v2/audio
      operations:
      - name: gettracklist
        method: GET
        description: List audio tracks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: array
          description: One or more audio IDs
          required: true
        - name: view
          in: query
          type: string
          description: Amount of detail to render in the response
    - name: v2-audio-collections
      path: /v2/audio/collections
      operations:
      - name: createsoundbox
        method: POST
        description: Create audio collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: getsoundboxlist
        method: GET
        description: List audio collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
          description: Page number
        - name: per_page
          in: query
          type: integer
          description: Number of results per page
    - name: v2-audio-collections-id
      path: /v2/audio/collections/{id}
      operations:
      - name: getsoundbox
        method: GET
        description: Get the details of audio collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Collection ID
          required: true
      - name: renamesoundbox
        method: POST
        description: Rename audio collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Collection ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletesoundbox
        method: DELETE
        description: Delete audio collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Collection ID
          required: true
    - name: v2-audio-collections-id-items
      path: /v2/audio/collections/{id}/items
      operations:
      - name: addsoundboxitems
        method: POST
        description: Add audio tracks to collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Collection ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: getsoundboxitems
        method: GET
        description: Get the contents of audio collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Collection ID
          required: true
        - name: page
          in: query
          type: integer
          description: Page number
        - name: per_page
          in: query
          type: integer
          description: Number of results per page
        - name: sort
          in: query
          type: string
          description: Sort order
      - name: deletesoundboxitems
        method: DELETE
        description: Remove audio tracks from collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Collection ID
          required: true
        - name: item_id
          in: query
          type: array
          description: One or more item IDs to remove from the collection
    - name: v2-audio-genres
      path: /v2/audio/genres
      operations:
      - name: getgenres
        method: GET
        description: List audio genres
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-audio-instruments
      path: /v2/audio/instruments
      operations:
      - name: getinstruments
        method: GET
        description: List audio instruments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-audio-licenses
      path: /v2/audio/licenses
      operations:
      - name: licensetrack
        method: POST
        description: License audio tracks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: license
          in: query
          type: string
          description: License type
        - name: search_id
          in: query
          type: string
          description: The ID of the search that led to licensing this track
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: getaudiolicenselist
        method: GET
        description: List audio licenses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: audio_id
          in: query
          type: string
          description: Show licenses for the specified track ID
    - name: v2-audio-licenses-id-downloads
      path: /v2/audio/licenses/{id}/downloads
      operations:
      - name: downloadtracks
        method: POST
        description: Download audio tracks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: License ID
          required: true
    - name: v2-audio-moods
      path: /v2/audio/moods
      operations:
      - name: getmoods
        method: GET
        description: List audio moods
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-audio-search
      path: /v2/audio/search
      operations:
      - name: searchaudio
        method: GET
        description: Search for tracks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: artists
          in: query
          type: array
          description: Show tracks with one of the specified artist names or IDs
        - name: bpm
          in: query
          type: integer
          description: (Deprecated; use bpm_from and bpm_to instead) Show tracks with the specified beats per minute
        - name: bpm_from
          in: query
          type: integer
          description: Show tracks with the specified beats per minute or faster
        - name: bpm_to
          in: query
          type: integer
          description: Show tracks with the specified beats per minute or slower
        - name: duration
          in: query
          type: integer
          description: Show tracks with the specified duration in seconds
        - name: duration_from
          in: query
          type: integer
          description: Show tracks with the specified duration or longer in seconds
        - name: duration_to
          in: query
          type: integer
          description: Show tracks with the specified duration or shorter in seconds
        - name: genre
          in: query
          type: array
          description: Show tracks with each of the specified genres; to get the list of genres, use `GET /v2/audio/genres`
        - name: is_instrumental
          in: query
          type: boolean
          description: Show instrumental music only
        - name: instruments
          in: query
          type: array
          description: Show tracks with each of the specified instruments; to get the list of instruments, use `GET /v2/audio/instruments`
        - name: moods
          in: query
          type: array
          description: Show tracks with each of the specified moods; to get the list of moods, use `GET /v2/audio/moods`
        - name: page
          in: query
          type: integer
          description: Page number
        - name: per_page
          in: query
          type: integer
          description: Number of results per page
        - name: query
          in: query
          type: string
          description: One or more search terms separated by spaces
        - name: sort
          in: query
          type: string
          description: Sort by
        - name: sort_order
          in: query
          type: string
          description: Sort order
        - name: vocal_description
          in: query
          type: string
          description: Show tracks with the specified vocal description (male, female)
        - name: view
          in: query
          type: string
          description: Amount of detail to render in the response
        - name: fields
          in: query
          type: string
          description: Fields to display in the response; see the documentation for the fields parameter in the overview section
        - name: library
          in: query
          type: string
          description: Which library to search
        - name: language
          in: query
          type: string
          description: Which language to search in
    - name: v2-audio-id
      path: /v2/audio/{id}
      operations:
      - name: gettrack
        method: GET
        description: Get details about audio tracks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Audio track ID
          required: true
        - name: view
          in: query
          type: string
          description: Amount of detail to render in the response
    authentication:
      type: bearer
      token: '{{env.SHUTTERSTOCK_API_KEY}}'
  exposes:
  - type: rest
    namespace: shutterstock-audio-rest
    port: 8080
    description: REST adapter for Shutterstock API Reference — audio. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v2/audio
      name: v2-audio
      description: REST surface for v2-audio.
      operations:
      - method: GET
        name: gettracklist
        description: List audio tracks
        call: shutterstock-audio.gettracklist
        with:
          id: rest.id
          view: rest.view
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/collections
      name: v2-audio-collections
      description: REST surface for v2-audio-collections.
      operations:
      - method: POST
        name: createsoundbox
        description: Create audio collections
        call: shutterstock-audio.createsoundbox
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getsoundboxlist
        description: List audio collections
        call: shutterstock-audio.getsoundboxlist
        with:
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/collections/{id}
      name: v2-audio-collections-id
      description: REST surface for v2-audio-collections-id.
      operations:
      - method: GET
        name: getsoundbox
        description: Get the details of audio collections
        call: shutterstock-audio.getsoundbox
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: renamesoundbox
        description: Rename audio collections
        call: shutterstock-audio.renamesoundbox
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesoundbox
        description: Delete audio collections
        call: shutterstock-audio.deletesoundbox
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/collections/{id}/items
      name: v2-audio-collections-id-items
      description: REST surface for v2-audio-collections-id-items.
      operations:
      - method: POST
        name: addsoundboxitems
        description: Add audio tracks to collections
        call: shutterstock-audio.addsoundboxitems
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getsoundboxitems
        description: Get the contents of audio collections
        call: shutterstock-audio.getsoundboxitems
        with:
          id: rest.id
          page: rest.page
          per_page: rest.per_page
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesoundboxitems
        description: Remove audio tracks from collections
        call: shutterstock-audio.deletesoundboxitems
        with:
          id: rest.id
          item_id: rest.item_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/genres
      name: v2-audio-genres
      description: REST surface for v2-audio-genres.
      operations:
      - method: GET
        name: getgenres
        description: List audio genres
        call: shutterstock-audio.getgenres
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/instruments
      name: v2-audio-instruments
      description: REST surface for v2-audio-instruments.
      operations:
      - method: GET
        name: getinstruments
        description: List audio instruments
        call: shutterstock-audio.getinstruments
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/licenses
      name: v2-audio-licenses
      description: REST surface for v2-audio-licenses.
      operations:
      - method: POST
        name: licensetrack
        description: License audio tracks
        call: shutterstock-audio.licensetrack
        with:
          license: rest.license
          search_id: rest.search_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getaudiolicenselist
        description: List audio licenses
        call: shutterstock-audio.getaudiolicenselist
        with:
          audio_id: rest.audio_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/licenses/{id}/downloads
      name: v2-audio-licenses-id-downloads
      description: REST surface for v2-audio-licenses-id-downloads.
      operations:
      - method: POST
        name: downloadtracks
        description: Download audio tracks
        call: shutterstock-audio.downloadtracks
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/moods
      name: v2-audio-moods
      description: REST surface for v2-audio-moods.
      operations:
      - method: GET
        name: getmoods
        description: List audio moods
        call: shutterstock-audio.getmoods
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/search
      name: v2-audio-search
      description: REST surface for v2-audio-search.
      operations:
      - method: GET
        name: searchaudio
        description: Search for tracks
        call: shutterstock-audio.searchaudio
        with:
          artists: rest.artists
          bpm: rest.bpm
          bpm_from: rest.bpm_from
          bpm_to: rest.bpm_to
          duration: rest.duration
          duration_from: rest.duration_from
          duration_to: rest.duration_to
          genre: rest.genre
          is_instrumental: rest.is_instrumental
          instruments: rest.instruments
          moods: rest.moods
          page: rest.page
          per_page: rest.per_page
          query: rest.query
          sort: rest.sort
          sort_order: rest.sort_order
          vocal_description: rest.vocal_description
          view: rest.view
          fields: rest.fields
          library: rest.library
          language: rest.language
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/audio/{id}
      name: v2-audio-id
      description: REST surface for v2-audio-id.
      operations:
      - method: GET
        name: gettrack
        description: Get details about audio tracks
        call: shutterstock-audio.gettrack
        with:
          id: rest.id
          view: rest.view
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: shutterstock-audio-mcp
    port: 9090
    transport: http
    description: MCP adapter for Shutterstock API Reference — audio. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-audio-tracks
      description: List audio tracks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.gettracklist
      with:
        id: tools.id
        view: tools.view
      outputParameters:
      - type: object
        mapping: $.
    - name: create-audio-collections
      description: Create audio collections
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: shutterstock-audio.createsoundbox
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-audio-collections
      description: List audio collections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.getsoundboxlist
      with:
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-details-audio-collections
      description: Get the details of audio collections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.getsoundbox
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: rename-audio-collections
      description: Rename audio collections
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: shutterstock-audio.renamesoundbox
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-audio-collections
      description: Delete audio collections
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: shutterstock-audio.deletesoundbox
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: add-audio-tracks-collections
      description: Add audio tracks to collections
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: shutterstock-audio.addsoundboxitems
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-contents-audio-collections
      description: Get the contents of audio collections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.getsoundboxitems
      with:
        id: tools.id
        page: tools.page
        per_page: tools.per_page
        sort: tools.sort
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-audio-tracks-collections
      description: Remove audio tracks from collections
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: shutterstock-audio.deletesoundboxitems
      with:
        id: tools.id
        item_id: tools.item_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-audio-genres
      description: List audio genres
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.getgenres
      outputParameters:
      - type: object
        mapping: $.
    - name: list-audio-instruments
      description: List audio instruments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.getinstruments
      outputParameters:
      - type: object
        mapping: $.
    - name: license-audio-tracks
      description: License audio tracks
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: shutterstock-audio.licensetrack
      with:
        license: tools.license
        search_id: tools.search_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-audio-licenses
      description: List audio licenses
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.getaudiolicenselist
      with:
        audio_id: tools.audio_id
      outputParameters:
      - type: object
        mapping: $.
    - name: download-audio-tracks
      description: Download audio tracks
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: shutterstock-audio.downloadtracks
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-audio-moods
      description: List audio moods
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.getmoods
      outputParameters:
      - type: object
        mapping: $.
    - name: search-tracks
      description: Search for tracks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.searchaudio
      with:
        artists: tools.artists
        bpm: tools.bpm
        bpm_from: tools.bpm_from
        bpm_to: tools.bpm_to
        duration: tools.duration
        duration_from: tools.duration_from
        duration_to: tools.duration_to
        genre: tools.genre
        is_instrumental: tools.is_instrumental
        instruments: tools.instruments
        moods: tools.moods
        page: tools.page
        per_page: tools.per_page
        query: tools.query
        sort: tools.sort
        sort_order: tools.sort_order
        vocal_description: tools.vocal_description
        view: tools.view
        fields: tools.fields
        library: tools.library
        language: tools.language
      outputParameters:
      - type: object
        mapping: $.
    - name: get-details-about-audio-tracks
      description: Get details about audio tracks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shutterstock-audio.gettrack
      with:
        id: tools.id
        view: tools.view
      outputParameters:
      - type: object
        mapping: $.