diff --git a/CHANGELOG.md b/CHANGELOG.md index c88f417..10b0daf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +### Unreleased changes +
+* bugfix: `lightbeam send` not writing >=7.2 API error messages when error payload does not contain `errors` nor `validationErrors` +
+ ### v0.1.9
Released 2025-09-26 diff --git a/lightbeam/send.py b/lightbeam/send.py index 43cb145..10f2931 100644 --- a/lightbeam/send.py +++ b/lightbeam/send.py @@ -177,6 +177,11 @@ async def do_post(self, endpoint, file_name, data, line_number, data_hash): # (Ed-Fi API <= 7.1 style errors) messages.append(str(response.status) + ": " + util.linearize(response_body.get("message", ""))) + elif "detail" in response_body: + # (Ed-Fi API >= 7.2 style errors fallback. + # All error payloads should contain this key, though it's not guaranteed to be informative + messages.append(str(response.status) + ": " + util.linearize(response_body.get("detail", ""))) + # update run metadata... failures = self.lightbeam.metadata["resources"][endpoint].get("failures", []) for message in messages: