Was ich so als Unterschied sehe ist, dass du die entity [price] nicht als array übergibst.
in meinem funktionierenden Beispiel ist das so:
Eckige Klammer definiert einen Array… geschweifte ein Objekt.
Bei dir fehlt nach price der Array-Beginn.
"price":[
{
"currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
"net":13.44,
"linked":true,
"gross":15.99
}
],