The following code worked source.
The 'Content-Type' => 'application/json'
header was missing causing the problem
$url="myAPIURL HERE";
$username="apiuser";
$password = 'passwd';
$headers = array(
'Authorization' => 'Basic ' . base64_encode( "$username:$password" ),
'Content-Type' => 'application/json'
);
$fields = array(
'body' => json_encode(
array(
'email' => '[email protected]',
'name' => 'Pixelbart',
'password' => 'Pass#your!word'
)
),
'headers' => $headers,
'method' => 'POST',
'data_format' => 'body'
);
$response = wp_remote_post($url,$fields);
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
echo "Something went wrong: $error_message";
} else {
echo 'Response:<pre>';
print_r( $response );
echo '</pre>';
}