soulsync/api
JohnBaumb c33230f080 fix: add pagination and status filter to downloads endpoint
GET /api/v1/downloads previously serialized every entry in the

in-memory download_tasks dict on every call. With a long-running

server and many historical downloads this produces an unbounded

response payload.

The endpoint now accepts:

  limit  - max items to return (default 100, clamped to 1..500)

  offset - skip first N items (default 0)

  status - comma-separated statuses to include (e.g. downloading,queued)

The response now includes total (post-filter count), limit, and

offset so clients can paginate without loading everything first.

Tasks are sorted by status_change_time descending so the newest

activity is on page 1.

Backward compatibility: clients that ignore the new query params

get the same shape plus the extra top-level fields; the downloads

list itself is just capped at 100 instead of unbounded.
2026-04-19 15:22:25 -07:00
..
__init__.py Add inbound music request API and webhook automation trigger 2026-04-15 20:35:39 -07:00
auth.py fix: throttle auth last_used_at config writes 2026-04-19 15:22:24 -07:00
cache.py enrich SoulSync API and update the DOCS 2026-03-04 13:42:47 -08:00
discover.py enrich SoulSync API and update the DOCS 2026-03-04 13:42:47 -08:00
downloads.py fix: add pagination and status filter to downloads endpoint 2026-04-19 15:22:25 -07:00
helpers.py Enrich the SoulSync API 2026-03-04 13:19:39 -08:00
library.py fix: eliminate double-query in track search 2026-04-19 15:22:24 -07:00
listenbrainz.py Full automation engine expansion with scheduling, triggers, actions, and UI polish 2026-03-05 15:13:32 -08:00
playlists.py Add SoulSync REST API (v1) with API key authentication 2026-03-03 09:49:00 -08:00
profiles.py enrich SoulSync API and update the DOCS 2026-03-04 13:42:47 -08:00
request.py Add inbound music request API and webhook automation trigger 2026-04-15 20:35:39 -07:00
retag.py enrich SoulSync API and update the DOCS 2026-03-04 13:42:47 -08:00
search.py Fix remaining Spotify-first source selection in seasonal discovery and search API 2026-04-10 12:47:16 -07:00
serializers.py Add interactive REST API docs with full endpoint tester and complete metadata serialization 2026-03-13 17:45:01 -07:00
settings.py Encrypt sensitive config values at rest with Fernet — transparent migration, zero breaking changes 2026-03-12 09:25:25 -07:00
system.py Add SoulSync REST API (v1) with API key authentication 2026-03-03 09:49:00 -08:00
watchlist.py Enrich the SoulSync API 2026-03-04 13:19:39 -08:00
wishlist.py fix: push wishlist pagination to SQL 2026-04-19 15:22:24 -07:00