@@ -73,7 +73,7 @@ def _check_permissions(
7373 ods_code_parts = metadata .ods_code_parts ,
7474 custodian_parts = custodian_parts ,
7575 )
76- return SpineErrorResponse .BAD_REQUEST (
76+ return SpineErrorResponse .UNPROCESSABLE_ENTITY (
7777 diagnostics = "The custodian of the provided DocumentReference does not match the expected ODS code for this organisation" ,
7878 expression = "custodian.identifier.value" ,
7979 )
@@ -201,10 +201,11 @@ def _raise_operation_outcome_error(diagnostics, idx):
201201 """
202202 raise OperationOutcomeError (
203203 severity = "error" ,
204- code = "invalid " ,
205- details = SpineErrorConcept .from_code ("BAD_REQUEST " ),
204+ code = "business-rule " ,
205+ details = SpineErrorConcept .from_code ("UNPROCESSABLE_ENTITY " ),
206206 diagnostics = diagnostics ,
207207 expression = [f"relatesTo[{ idx } ].target.identifier.value" ],
208+ status_code = "422" ,
208209 )
209210
210211
@@ -236,7 +237,7 @@ def handler(
236237
237238 if not result .is_valid :
238239 logger .log (LogReference .PROCREATE002 )
239- return Response .from_issues (issues = result .issues , statusCode = "400 " )
240+ return Response .from_issues (issues = result .issues , statusCode = "422 " )
240241
241242 core_model = _create_core_model (result .resource , metadata )
242243 if error_response := _check_permissions (core_model , metadata ):
0 commit comments