# item 4 setup — as anna (through the family gate): Grimmory's first admin, OPDS on + an OPDS user, a Kobo token, a KOReader user
  POST /api/v1/setup -> 200
  app login -> 200 token
  OPDS on -> 200
  OPDS user -> 200
  GET /api/v1/kobo-settings -> 500 {"message":"An unexpected error occurred.","status":500,"timestamp":"2026-10-01T21:22:05.673392212"}
  PUT /api/v1/kobo-settings/token -> 200 {"autoAddToShelf":false,"hardcoverApiKey":null,"hardcoverSyncEnabled":false,"id":1,"progressMarkAsFinishedThreshold":99.0,"progressMarkAsReadingThreshold":1.0,"
  GET /api/v1/kobo-settings -> 200 {"autoAddToShelf":false,"hardcoverApiKey":null,"hardcoverSyncEnabled":false,"id":1,"progressMarkAsFinishedThreshold":99.0,"progressMarkAsReadingThreshold":1.0,"
  GET /api/v1/koreader-users/me -> 404 {"message":"Koreader user not found for BookLore user ID: 1","status":404,"timestamp":"2026-10-01T21:22:05.907223998"}
  PUT /api/v1/koreader-users/me -> 200 {"id":1,"username":"korolvaso","password":"<redacted>","passwordMD5":"<redacted>","syncEnabled":false,"syncWithWebReader":false}
  POST /api/v1/koreader-users/me -> 405 {"message":"Method 'POST' is not supported.","status":405,"timestamp":"2026-10-01T21:22:06.024563401"}
  GET /api/v1/koreader-users/me -> 200 {"id":1,"username":"korolvaso","password":"<redacted>","passwordMD5":"<redacted>","syncEnabled":false,"syncWithWebReader":false}
