@@ -266,8 +266,13 @@ def process_response(
266266 tracer .log_error (error_message , response_id = request .response_id )
267267
268268 request_dict = request .model_dump ()
269- callback_response = ResponsesAPIResponse .failure_response (
270- error = error_message , metadata = get_additional_data (request_dict )
269+ # Create a custom error response with additional data in data field
270+ additional_data = get_additional_data (request_dict )
271+ callback_response = ResponsesAPIResponse (
272+ success = False ,
273+ data = additional_data if additional_data else None ,
274+ error = error_message ,
275+ metadata = None ,
271276 )
272277
273278 tracer .flush ()
@@ -313,10 +318,12 @@ async def responses(
313318 logger .error (
314319 f"[response] OpenAI API key not configured for org_id={ organization_id } , project_id={ project_id } "
315320 )
321+ request_dict = request .model_dump ()
322+ additional_data = get_additional_data (request_dict )
316323 return {
317324 "success" : False ,
318325 "error" : "OpenAI API key not configured for this organization." ,
319- "data" : None ,
326+ "data" : additional_data if additional_data else None ,
320327 "metadata" : None ,
321328 }
322329
@@ -348,12 +355,15 @@ async def responses(
348355 f"[response] Background task scheduled for response processing: assistant_id={ mask_string (request .assistant_id )} , project_id={ project_id } , organization_id={ organization_id } "
349356 )
350357
358+ request_dict = request .model_dump ()
359+ additional_data = get_additional_data (request_dict )
360+
351361 return {
352362 "success" : True ,
353363 "data" : {
354364 "status" : "processing" ,
355365 "message" : "Response creation started" ,
356- "success" : True ,
366+ ** additional_data ,
357367 },
358368 "error" : None ,
359369 "metadata" : None ,
@@ -383,9 +393,13 @@ async def responses_sync(
383393 logger .error (
384394 f"[response_sync] OpenAI API key not configured for org_id={ organization_id } , project_id={ project_id } "
385395 )
386- return APIResponse .failure_response (
396+ # Create a custom error response with additional data in data field
397+ additional_data = get_additional_data (request_dict )
398+ return APIResponse (
399+ success = False ,
400+ data = additional_data if additional_data else None ,
387401 error = "OpenAI API key not configured for this organization." ,
388- metadata = get_additional_data ( request_dict ) ,
402+ metadata = None ,
389403 )
390404
391405 client = OpenAI (api_key = credentials ["api_key" ])
@@ -456,6 +470,10 @@ async def responses_sync(
456470 logger .info (
457471 f"[response_sync] Successfully generated response: response_id={ response .id } , project_id={ project_id } "
458472 )
473+
474+ request_dict = request .model_dump ()
475+ additional_data = get_additional_data (request_dict )
476+
459477 return ResponsesAPIResponse .success_response (
460478 data = _APIResponse (
461479 status = "success" ,
@@ -468,6 +486,7 @@ async def responses_sync(
468486 total_tokens = response .usage .total_tokens ,
469487 model = response .model ,
470488 ),
489+ ** additional_data ,
471490 )
472491 )
473492 except openai .OpenAIError as e :
@@ -480,6 +499,11 @@ async def responses_sync(
480499 tracer .flush ()
481500
482501 request_dict = request .model_dump ()
483- return ResponsesAPIResponse .failure_response (
484- error = error_message , metadata = get_additional_data (request_dict )
502+ # Create a custom error response with additional data in data field
503+ additional_data = get_additional_data (request_dict )
504+ return ResponsesAPIResponse (
505+ success = False ,
506+ data = additional_data if additional_data else None ,
507+ error = error_message ,
508+ metadata = None ,
485509 )
0 commit comments