Instead of raising 404 if an object is not found, the library tries to serialize it using the schema, hence causing https://github.com/marshmallow-code/marshmallow-jsonapi/pull/302 What is the use case of this behaviour? Why not raise ObjectNotFound if object returned after get from data layer is None?