getData(); // get the $model // convert the $model to a RESTfull $data and send it $client = new Client(); $request = $client->post('someResource', null, json_encode($data)); // send the data to a RESTfull API $response = $request->send()->json(); // ... } catch (ClientErrorResponseException $e) { if (Response::HTTP_BAD_REQUEST === $e->getResponse()->getStatusCode()) { $violations = json_decode($e->getResponse()->getBody(true), true); foreach($violations as $propertyPath => $violation) { $error = new FormError($this->get('translator')->trans($violation['message'], [], 'validators'), $violation['messageTemplate'], $violation['messageParameters'], $violation['messagePluralization']); $propertyPath = new PropertyPath($propertyPath); $field = null; // null or $form->get('aChild') if your property path is in a child foreach($propertyPath->getElements() as $element) { $field = $field->get($element); } $field->addError($error); } } } }