diff --git a/setra_client/client.py b/setra_client/client.py
index b44f34ad20128ccaaf6cf1677c2495365c031b0d..e231e3e1ad638c4bf966971f62c7f7e6b907628a 100644
--- a/setra_client/client.py
+++ b/setra_client/client.py
@@ -386,13 +386,18 @@ class SetraClient(object):
                             data=batchdata.json(exclude_unset=True),
                             headers=headers,
                             return_response=True)
+
+        try:
+            content = response.json()
+        except requests.exceptions.JSONDecodeError:
+            content = response.content
+
         if response.status_code == 204:
-            return response.content, 'No Content'
+            return 'Accepted', {}
         elif response.status_code == 409:
-            return response.content, 'batch_found_but_cannot_be_updated'
+            return 'Conflict', content
         else:
-            response.raise_for_status()
-        return response
+            return 'Unknown', {'code': response.status_code, 'content': content}
 
     def get_batch_complete(self, batch_id: str):
         """