You can see I have set downloadRequired to True as I do not have a copy of the layout stored in the local library for my display. I am also using the replace value for the changeMode parameter.
Because XMR is configured and running for my display the change is very quick and I see the layout appear on my display once.
Please can you make sure you are using the correct layout ID? On version 3 CMS instances this can be found by going to the Layouts menu in your CMS, then click the column visibility button and select Layout ID. You can see in my screenshot that the layout ID is not the same as the ID column:
If you can share screenshots showing how you have configured your API call this will help to troubleshoot the issue.
Are you also able to monitor the display to see if it does actually display your layout? You may already be doing this but I would also recommend testing with a very simple layout that contains perhaps just an image or text widget, so you don’t need to wait for a larger layout containing lots of media files to download before it appears on your display.