Power Pages WebAPI error with N:N relationship enabled table permissions

Recently working on a more complex table permissions scenario on Power Pages, where we required a N:N relationship relationships with more levels of child permissions, we had nice results when using out-of-the-box lists and also with Liquid custom Web Templates.

However, I noted a few errors with basic GET queries in the WebAPI such as:

{"error":{"code":"9004010D","message":"Common Data Service error occurred.","cdscode":"0x0","innererror":{"code":"0x0","message":"Could not find a property named 'mypref_mypref_item_contact' on type 'Microsoft.Dynamics.CRM.mypref_item'."}}}

It turns out this is a known issue when ParentalContact or Account scopes add additional conditions to the query, as reported here.

To overcome this issue, whenever using such type of relationship and calling the Web API, the recommended approach is to use a FetchXML filter in the querystring, so the issue will not happen.

Note that the FetchXML filter in the querystring needs to be encoded – You can do it by using the encodeURI function in JavaScript.

Sample API call using fetch:

https://myportal.powerappsportals.com/_api/mypref_items?fetchXml=%3Cfetch%3E%3Centity%20name=%22mypref_item%22%3E%3Cattribute%20name=%22mypref_name%22%20/%3E%3C/entity%3E%3C/fetch%3E

Hope this is useful in case you face the same issue.

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *