Observed against the live API on 2026-07-20. Four endpoints return HTTP 200 with Content-Type: text/html and a server-side error in the body:
| Endpoint |
Body |
/api/speed |
Table 'fixedspeed' doesn't exist in database when dumping meta-data for Application\Models\Fixedspeed |
/api/speed/{id} |
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause... |
/api/provider/{id} |
HTML |
/api/statistics |
HTML |
Still working: /api/provider (list) and /api/plans_desktop/{id}.
Not our bug — filed for the record, because it makes bbmctl list speeds, provider show (remote lookup), and statistics unusable until upstream fixes it.
The library handles these correctly: the content-type check produces a clear error rather than a deserialisation failure. Note the 200-byte preview in that error path is exactly the code that panicked on multi-byte characters before #24.
The three #[ignore]d tests covering these endpoints now fail when run with --ignored. Worth deciding whether they should assert graceful degradation instead of a successful response.
Observed against the live API on 2026-07-20. Four endpoints return
HTTP 200withContent-Type: text/htmland a server-side error in the body:/api/speedTable 'fixedspeed' doesn't exist in database when dumping meta-data for Application\Models\Fixedspeed/api/speed/{id}SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause.../api/provider/{id}/api/statisticsStill working:
/api/provider(list) and/api/plans_desktop/{id}.Not our bug — filed for the record, because it makes
bbmctl list speeds,provider show(remote lookup), andstatisticsunusable until upstream fixes it.The library handles these correctly: the content-type check produces a clear error rather than a deserialisation failure. Note the 200-byte preview in that error path is exactly the code that panicked on multi-byte characters before #24.
The three
#[ignore]d tests covering these endpoints now fail when run with--ignored. Worth deciding whether they should assert graceful degradation instead of a successful response.