Is there an API or programmatic way to build a Layout in an un-built state? - 1.8.0-alpha2

Is there a way to force build a Layout that is in an un-built state? If I re-open the design in the designer or preview it, it gets auto-compiled. Is there an API to achieve the same? I want to retrieve all layouts and their duration but for un-built layouts the duration is not available.

That is an interesting question - no there isn’t a way to trigger a build. There are 3 ways in the system that a build is triggered:

  1. The web UI when you are on the designer page
  2. Running the Layout (on a player, on the preview)
  3. Maintenance

It makes sense to me that we would have a way to request the layout status through the API - I have created an enhancement for it here :bug: .

Thanks Dan for confirming my doubt. The Layout list API does return the layout status though I don’t think we have an API to get the status of a particular layout.

GET https://myServer/api/layout
Response:
[
{
“layoutId”: 17,

“status”: 3,

},
…]

You are right - the GET /layout endpoint returns the current status, not the calculated status (the same as the layout page in the CMS). It would not be good to calculate the status during that call, because there could be many layouts that need building - so they should be done individually, or in the background with maintenance.

As a workaround you could call maintenance from your API application - or set it up to run automatically.

Sorry to bring up and old topic but was a conclusion on this ever made?
I am experiencing an issue where I am calling other API calls such as changeLayout and widget changes to induce a change of layout and the change of text on said layout.

The change layout works immediately but the text within the widget only changes once I visit the layout designer or run the changeLayout again… this can be visualised through the below screen shot where the status is not built.

If there is an API to run the maintenance or build the layout on the fly, could you please provide it?