Cannot set stageid for a custom entity when creating through web api

I am trying to set the processid and stageid fields of a custom entity when creating it through the new web api of Dynamics 365 but an getting the following error

An unhandled exception of type 'Microsoft.Crm.Sdk.Samples.HelperCode.CrmHttpResponseException' occurred in Data Importer.exe

Additional information: A 'PrimitiveValue' node with non-null value was found when trying to read the value of the navigation property 'stageid'; however, a 'StartArray' node, a 'StartObject' node, or a 'PrimitiveValue' node with null value was expected.

here is the relevant code:

            JObject account1 = new JObject();
            account1.Add("name", "_TEST Account webapi 7");
            account1.Add("processid", Guid.Parse("1119CEAA-354C-42C8-A2C1-274C6E02D449"));
            account1.Add("stageid", Guid.Parse("9ECFE759-C35F-4427-872F-D18CA119E6A6"));

            _365context.Create("accounts", account1);

            JObject enquiry = new JObject();
            enquiry.Add("mbl_displayname", "_TEST WEB API");
            enquiry.Add("processid", Guid.Parse("0830BD8C-701F-4E91-A45B-3AEA43FCE89D"));
            enquiry.Add("stageid", Guid.Parse("FB17F9C5-D7FF-476E-A6A9-B86D687AB4EF"));

            _365context.Create("mbl_businessattractionenquiries", enquiry);

The first block tries to create an account setting the process and the stage id to the middle stage in the process. This works every time.

The second block tries to create a custom entity setting the process and the stage id to the middle stage in the process. This fails every time.

Both entities have two available process flows, both are enabled for process flows, if I remove the stageid line it will create the custom entity with the correct process set at the starting stage.

why can I not set the stageid for the custom entity?

UPDATE-ADDITIONAL INFO After digging around a bit it appears that staged on a custom entity is a navigation property, trying the obvious

enquiry.Add("stageid@odata.bind", string.Format("/processstages({0})",
     Guid.Parse("FB17F9C5-D7FF-476E-A6A9-B86D687AB4EF")));

results in the error

An unhandled exception of type 'Microsoft.Crm.Sdk.Samples.HelperCode.CrmHttpResponseException' occurred in Data Importer.exe

Additional information: Type Mismatch: Type of Attribute: mbl_businessattractionenquiry.stageid is: System.Guid. However, Type of passed-in value is: Microsoft.Xrm.Sdk.EntityReference