Skip to main content

What's New in v2

Feed Clips v2 moves from v1's RPC-style POST endpoints to a RESTful design:

  • Fetches use GET
  • Resources carry their IDs in the URL path
  • Several v1 actions have been renamed or split into distinct endpoints.

Both versions are currently live and fully documented in the API Reference.

What changed conceptually

  • GET for fetches with query params. All read operations (/v2/clips, /v2/tracks/{id}, /v2/collections, etc.) are now GET requests with filter/pagination params in the query string instead of a POST body.
  • Path-param IDs. Resource identifiers move from the request body into the URL path (e.g., /v2/clips/{id}/play, /v2/tracks/{id}/clips).
  • preview split out from play. The v1 POST /play endpoint accepted a preview=true flag. In v2 these are distinct endpoints: POST /v2/clips/{id}/play and POST /v2/clips/{id}/preview.
  • add: The v1 POST /add endpoint is now POST /v2/clips/{id}/add. The action name is unchanged but the resource context is clearer.
  • Bulk and single rights-check endpoints replace /music-check. v2 offers GET /v2/clips/rights (bulk) and GET /v2/clips/{id}/rights (single) instead of the single v1 POST /music-check.
  • Pagination on list responses. List endpoints (/v2/clips, /v2/collections, etc.) return paginated results via standard query params.
  • reason enum on rights responses. When a clip is not playable, v2 rights responses include a machine-readable reason field.

v1 → v2 endpoint mapping

Purposev1v2
AuthenticatePOST /authenticatePOST /v2/authenticate
App startPOST /app-startPOST /v2/app/start
App closePOST /app-closePOST /v2/app/close
Fetch clipsPOST /music-fetchGET /v2/clips
Fetch one clipGET /v2/clips/{id}
Fetch trackPOST /track-fetchGET /v2/tracks/{id}
Fetch a track's clipsGET /v2/tracks/{id}/clips
Fetch collectionsPOST /collectionsGET /v2/collections
Fetch one collectionPOST /collectionGET /v2/collections/{id}
Fetch a collection's clipsGET /v2/collections/{id}/clips
Rights check (bulk)POST /music-checkGET /v2/clips/rights
Rights check (single)GET /v2/clips/{id}/rights
Report playPOST /playPOST /v2/clips/{id}/play
Report previewPOST /play (preview=true)POST /v2/clips/{id}/preview
Report track playPOST /track-playPOST /v2/tracks/{id}/play
Add to contentPOST /addPOST /v2/clips/{id}/add
SharePOST /sharePOST /v2/clips/{id}/share
DownloadPOST /downloadPOST /v2/clips/{id}/download
Content ID fingerprintPOST /audio-fingerprintPOST /v2/fingerprint/identify
Create custom clipPOST /clipPOST /v2/clips