I'm building a series of flows to complete scheduling tasks using some custom entities and the Universal Resource Scheduling Resource Board. I've got quite far down the development path but I've hit a snag I could use some help with.
I'm trying to determine the next available time slot for a given bookable resource (or any bookable resource that fits requirements).
The msdyn_SearchResourceAvailability API looked like it was perfect for the job, and I followed the following links to get familiar with the API's requirements:
Search Resource Availability with Universal Resource Scheduling API - Microsoft Dynamics 365 Blog
How to use the Search Resource Availability API - Universal Resource Scheduling - Microsoft Dynamics 365 Blog
I've not called an API before, so Joshua's post was fantastic at getting me authenticated so I could make my API calls from a HTTP POST:
Dynamics 365 WebAPI calls and Flow (dynamicconsultantsgroup.com)
I've then used a Compose and Parse JSON to provide some inputs I intend to make dynamic in the near future. I've dug around the internet for relevant JSON calls for this API, but it seems no matter what I do, the API doesn't like it. I'm no longer certain I'm even calling the API correctly.
Here's an example input (though I've tried referencing a resource requirement GUID and many other variations of the 3 mandatory inputs):

This then fed into the Parse JSON action:

I then request authorisation to get an access token using Joshua's method:

I finally feed all this in to the WebAPI call:

So far I can't get past the following error:
An error occurred while validating input parameters: Microsoft.OData.ODataException: Does not support untyped value in non-open type.
at System.Web.OData.Formatter.Deserialization.DeserializationHelpers.ApplyProperty(ODataProperty property, IEdmStructuredTypeReference resourceType, Object resource, ODataDeserializerProvider deserializerProvider, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataResourceDeserializer.ApplyStructuralProperties(Object resource, ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)
at Microsoft.Crm.Extensibility.CrmODataEntityDeserializer.ApplyStructuralProperties(Object resource, ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataResourceDeserializer.ReadResource(ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)
at Microsoft.Crm.Extensibility.ODataV4.CrmODataActionPayloadDeserializer.ReadEntry(ODataDeserializerContext readContext, ODataParameterReader reader, IEdmOperationParameter parameter)
at Microsoft.Crm.Extensibility.ODataV4.CrmODataActionPayloadDeserializer.Read(ODataMessageReader messageReader, Type type, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.ODataMediaTypeFormatter.ReadFromStream(Type type, Stream readStream, HttpContent content, IFormatterLogger formatterLogger)
I've tried formatting the input for the API in as many ways I can think of while keeping it simple, I've tried to amend the JSON schema based on OData types, I've tried to switch data types in the original Compose and I've tried amending the URI of the WebAPI call just in case, but the above error is the furthest I've gotten.
The appear to be a decent amount of people who've got this API working as a call from a program in C# but I can't seem to find an example of anyone getting this working in Microsoft Flow. Am I just doing something obviously wrong?
Thanks!