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
| Param | Type | Default | Description |
|---|---|---|---|
app | string | default | App namespace |
route | string | required | Route path (e.g., /home) |
platform | string | ALL | ALL, WEB, MOBILE, TABLET |
Resolution Rules
- Status must be
PUBLISHEDorSCHEDULED(withpublish_atin the past) expire_atmust be null or in the future- Platform-specific template preferred over
ALL - Highest version wins if multiple match