Tu segundo bindParam()
(¡Deberías leer y comprender qué hace exactamente este método!) dentro del if
condición es una tontería!
Cambia esto:
if($stmt->rowCount() > 0){
$stmt->bindParam($badgeid, $email, $fullname, $roles_id, $team_id);
$stmt->fetch();
$user = array(
'badgeid'=>$badgeid,
'email'=>$email,
'fullname'=>$fullname,
'roles_id'=>$roles_id,
'team_id'=>$team_id
);
a esto:
$result = $stmt->fetch(\PDO::FETCH_ASSOC); // Get results as array
if ($result) {
// Since we only get the fields we want to send back, you can assign `$result` directly to `$response['user']`
$response['user'] = $result;
¡PHP había arrojado un error relacionado, que habrías visto en la respuesta sin procesar de tu solicitud!