Skip to content
HooprB2B

Core concepts

Pagination & filtering

List endpoints return a fixed page of results. Control the page and size with query parameters, and narrow tracks down with filters.

Pagination

Query parameters
  • pageintegeroptionaldefault 1
    Which page of results to return.
  • pageSizeintegeroptionaldefault 20
    Items per page. Maximum 100.

The response uses the shared paginated envelope — totalRecords, totalPages, currentPage, pageSize, and items. See Response format for the full shape.

Filtering tracks

GET /v1/tracks accepts these filter parameters in addition to pagination:

Filter parameters
  • searchstringoptional
    Free-text search on the track name.
  • typeenumoptional
    One of music or sfx.
  • hasVocalsbooleanoptional
    Restrict to tracks with or without vocals.
  • filterIdsstring (csv)optional
    Comma-separated filter UUIDs. Matches tracks tagged with all of the given ids.
  • filterSlugsstring (csv)optional
    Comma-separated filter slugs, e.g. electronic,energetic. Matches tracks tagged with all of them.
curl "https://<host>/v1/tracks?type=music&hasVocals=false&filterSlugs=electronic,energetic&page=2&pageSize=50" \
  -H "Authorization: Bearer $TOKEN"
  • filterIds and filterSlugs use AND semantics — a track must carry every filter you list to match.
  • Discover valid filter slugs via GET /v1/filters — see Filters.

POST /v1/search takes the same filters

POST /v1/search accepts the same filters as a JSON body, using arrays instead of comma-separated strings. Reach for it when your filter values get long or you prefer structured input.