### Description While testing gemini I noticed that passing invalid chat parameters doesn't throw the appropriate exception. It throws: `Undefined array key "choices" /www/htdocs/vendor/openai-php/client/src/Responses/Chat/CreateResponse.php 54` The reason the error isn't caught is because the error is returned as: ``` array ( 0 => array ( 'error' => array ( 'code' => 400, 'message' => 'Invalid JSON payload received. Unknown name "ddd": Cannot find field.', 'status' => 'INVALID_ARGUMENT', 'details' => array ( 0 => array ( '@type' => 'type.googleapis.com/google.rpc.BadRequest', 'fieldViolations' => array ( 0 => array ( 'description' => 'Invalid JSON payload received. Unknown name "ddd": Cannot find field.', ), ), ), ), ), ), ) ``` The HttpTransporter::throwIfJsonError() only checks for `$response['error']`, but in this case it's `$response[0]['error']`. ### Steps To Reproduce ``` $client = \OpenAI::factory() ->withApiKey('YOUR-KEY') ->withBaseUri('https://generativelanguage.googleapis.com/v1beta/openai') ->make(); $result = $client->chat()->create($params = [ 'model' => 'gemini-2.5-flash', 'messages' => [ ['role' => 'system', 'content' => 'You can use tools if needed.'], ['role' => 'user', 'content' => 'Hello you.'], ], 'ddd' => 'auto', ]); ``` ### OpenAI PHP Client Version v0.16.1 ### PHP Version 8.2.5 ### Notes _No response_