Hi,
Thanks for the reply.
Maybe I should emphasize that I am setting a Lookup value.
Here is the field I am trying to set:
GET /api/data/v9.0/EntityDefinitions(LogicalName='quote')?$expand=Attributes($select=LogicalName,SchemaName,AttributeType)
{"@odata.type":"#Microsoft.Dynamics.CRM.LookupAttributeMetadata","LogicalName":"new_contactquote","SchemaName":"new_ContactQuote","AttributeType":"Lookup",..}
I tested via Postman, when I try to update using camel case it works properly:
Headers:
Response is HTTP/1.1 204 No Content
However, if I try to use the lower case notation I get an error:
PATCH /api/data/v9.0/quotes(55603c18-2bf0-e911-a812-000d3a4a162c)
{
"new_contactquote@odata.bind":"/contacts(5da0e5b9-88df-e311-b8e5-6c3be5a8b200)"
}
Response:
HTTP/1.1 400 Bad Request
message:"An error occurred while validating input parameters: Microsoft.OData.ODataException: An undeclared property 'new_contactquote' which only has property annotations in the payload but no property value was found in the payload. In OData, only declared navigation properties and declared named streams can be represented as properties without values. ..."
So just using the logical name does not work in this case.
Is there another way of setting lookup values? If not, that brings me back to my original issue of how to tell when to use camel case and when to use lower case.
Thanks,
Roy