Skip to main content

Render API

Resolve and render a published SDUI template.


CRS Render (no context filtering)

GET /api/v1/sdui/render?app=default&route=/home&platform=ALL

Website Render (context-aware)

GET /api/v1/sdui/render?app=default&route=/home&platform=ALL

Website version evaluates visibility rules against the visitor's traffic context (auto-resolved from bev cookie).


Response

{
"templateId": "t1a2b3c4",
"route": "/home",
"platform": "ALL",
"sections": [
{
"id": "hero-1",
"type": "HeroSection",
"settings": {
"title": "Welcome to ELIVAAS",
"bgColor": "#1a1a2e",
"bgImage": "https://cdn.elivaas.com/hero.jpg",
"subtitle": "Luxury Villas & Experiences"
},
"blocks": [
{
"id": "btn-1",
"type": "Button",
"settings": {
"label": "Explore Villas",
"url": "/search",
"variant": "primary"
}
},
{
"id": "btn-2",
"type": "Button",
"settings": {
"label": "View Offers",
"url": "/offers",
"variant": "secondary"
}
}
]
},
{
"id": "destinations",
"type": "DestinationGrid",
"settings": {
"title": "Popular Destinations",
"columns": 3
},
"blocks": [
{
"id": "dest-goa",
"type": "DestinationCard",
"settings": {
"name": "Goa",
"image": "https://cdn.elivaas.com/goa.jpg",
"propertyCount": 42
}
}
]
}
]
}
Settings Merge

Settings are the result of merging definition defaults with template instance overrides. If a setting isn't overridden in the template, the default from the SectionDef is used.


Parameters

ParamTypeDefaultDescription
appstringdefaultApp namespace
routestringrequiredRoute path (e.g., /home)
platformstringALLALL, WEB, MOBILE, TABLET

Resolution Rules

  1. Status must be PUBLISHED or SCHEDULED (with publish_at in the past)
  2. expire_at must be null or in the future
  3. Platform-specific template preferred over ALL
  4. Highest version wins if multiple match