Files
com.gregkilmer.www/services/content/test/sync/fixtures
Claude 449ffcd62d Bambuddy sync: match the real spools API
Checked against Greg's Bambuddy: the key goes in X-API-Key, colors are
color_name (often null on RFID spools) and rgba, grams left is
label_weight minus weight_used, and archived spools carry archived_at.
Unnamed spools get the nearest plain color name.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
2026-10-12 02:47:48 +00:00
..

Sync test fixtures

Small sample payloads written by hand from each API's documented response shape, for the parsing tests. They are not live responses: no request was made to Archidekt, BoardGameGeek, Open Library, TMDB, AniList, Suwayomi, Kavita, Bambuddy or Homebox to make them, and ids, names and image addresses are illustrative.

File Shape of
archidekt-deck.sample.json GET https://archidekt.com/api/decks/<id>/
bgg-thing.sample.xml GET https://boardgamegeek.com/xmlapi2/thing?id=…
openlibrary-search.sample.json GET https://openlibrary.org/search.json?title=…
tmdb-search.sample.json GET https://api.themoviedb.org/3/search/movie?query=…
anilist-media.sample.json POST https://graphql.anilist.co with the Media query
suwayomi-library.sample.json POST <SUWAYOMI_URL>/api/graphql with LIBRARY_QUERY (Suwayomi-Server's GraphQL schema)
anilist-page.sample.json POST https://graphql.anilist.co with the batched Page { media(id_in:) } query
kavita-series.sample.json POST <KAVITA_URL>/api/Series/all-v2 (SeriesDto list)
kavita-metadata.sample.json GET <KAVITA_URL>/api/Series/metadata?seriesId=, one answer per series id
bambuddy-spools.sample.json GET /api/v1/inventory/spools, fields copied from one spool on Greg's Bambuddy (2026-10-12); the other spools are made up.
homebox-labels.sample.json GET <HOMEBOX_URL>/api/v1/labels
homebox-items.sample.json GET <HOMEBOX_URL>/api/v1/items?labels=…