Preview results live
Use the built-in playground to edit and preview your specs (including optional uiSchema
) before rolling them out.
It gives you instant visual feedback for quick sanity checks.
ℹ️ Note: The playground is available for service and scope specs only. Catalog specs don’t have a playground yet.
Test it out using the playground
To open the playground, just navigate to Platform settings > Scopes (or Services) > Specifications.
- Click + New specification or open an existing one.
- Add or update your JSON Schema and UI schema.
- Preview the form on the right to confirm layout, labels, and markdown render.
- Save when you’re happy. (We recommend testing in a non-prod scope or a draft spec first.)
Minimal example
The playground lets you quickly test how JSON Schema and UI Schema.
Step 1: Add a JSON Schema
In the JSON Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"email": {
"type": "string",
"format": "email"
},
"age": {
"type": "integer",
"minimum": 0,
"maximum": 120
},
"status": {
"type": "string",
"enum": ["active", "inactive", "pending"]
},
"newsletter": {
"type": "boolean"
}
},
"required": ["name", "email"]
}
You should now see the default form rendered on the right side of the screen based only on JSON Schema.

Step 2: Add a UI Schema
Switch to the UI Schema tab and paste this layout:
{
"type": "VerticalLayout",
"elements": [
{
"type": "Label",
"text": "## Profile",
"options": { "format": "markdown" }
},
{
"type": "Control",
"scope": "#/properties/name",
"label": "Full name"
},
{
"type": "Control",
"scope": "#/properties/email",
"label": "Email"
},
{
"type": "HorizontalLayout",
"elements": [
{ "type": "Control", "scope": "#/properties/age" },
{
"type": "Control",
"scope": "#/properties/newsletter",
"options": { "toggle": true }
}
]
},
{
"type": "Control",
"scope": "#/properties/status",
"options": {
"format": "chip",
"mapping": {
"active": { "label": "Active", "color": "success", "icon": "ic:outline-check" },
"inactive": { "label": "Inactive", "variant": "outlined" },
"pending": { "label": "Pending", "color": "warning" }
}
}
}
]
}
Now the preview updates instantly with a custom layout, including headers, markdown labels, toggle switches, and chip formatting.

What's next?
Now that you tried it out and got a hand on how the preview works, check the reference pages for special json schemas keys and UI attributes to customize your own forms.