Retrieve presets for multiple keys with hierarchical scope resolution. This endpoint allows you to efficiently fetch presets for multiple configuration keys in a single request, with options to include content and collapse the hierarchy.
URL
(POST) /api/apps/settings/presets
PARAMETERS
JSON object in the request body:
|
Property |
Description |
Type |
|---|---|---|
|
scope |
The scope object. It limits resources that can be accessed. |
object, Mandatory |
|
keys |
Array of preset keys to retrieve |
string[], Mandatory |
|
includeContent |
Whether to include the preset content in the response. If false, only metadata is returned. |
bool?, Optional |
|
collapse |
Whether to collapse the hierarchy and return only the effective default preset for each key. When true, returns the first default preset found in the hierarchy (User → Resource → Platform). |
bool?, Optional |
RESULTS
|
property |
Description |
Type |
|---|---|---|
|
[key] |
Each requested key becomes a property containing an array of presets |
PresetModel[] |
PresetModel Structure:
|
Property |
Description |
Type |
|---|---|---|
|
id |
Unique identifier for the preset |
string |
|
name |
Display name of the preset |
string |
|
desc |
Optional description of the preset |
string? |
|
level |
Hierarchical level where the preset is stored (User, Resource, Platform) |
string |
|
entityId |
Entity ID associated with the preset level (null for Platform level) |
int? |
|
content |
JSON content of the preset configuration (only included if includeContent=true) |
string? |
|
date |
Creation or last modification timestamp |
string (ISO 8601) |
|
isDefault |
Indicates if this preset is the default for its scope level |
bool |
Example Request (includeContent: false, collapse: false):
{
"scope": {},
"keys": ["editor.ui.settings", "view.layout.preferences"],
"includeContent": false,
"collapse": false
}
Example Response:
{
"editor.ui.settings": [
{
"id": "abc123def456",
"name": "My Editor Config",
"desc": "Custom editor configuration",
"level": "User",
"entityId": 1001,
"date": "2023-10-15T14:30:00Z",
"isDefault": true
},
{
"id": "def456ghi789",
"name": "Alternative Config",
"desc": "Light theme configuration",
"level": "User",
"entityId": 1001,
"date": "2023-10-10T10:00:00Z",
"isDefault": false
}
],
"view.layout.preferences": [
{
"id": "xyz789uvw012",
"name": "Default View",
"desc": null,
"level": "Platform",
"entityId": null,
"date": "2023-09-20T09:15:00Z",
"isDefault": true
},
{
"id": "uvw012mno345",
"name": "Compact View",
"desc": "Smaller layout for mobile",
"level": "Platform",
"entityId": null,
"date": "2023-09-15T08:30:00Z",
"isDefault": false
}
]
}
With collapse: true:
{
"editor.ui.settings": [
{
"id": "abc123def456",
"name": "My Editor Config",
"desc": "Custom editor configuration",
"level": "User",
"entityId": 1001,
"date": "2023-10-15T14:30:00Z",
"isDefault": true
}
],
"view.layout.preferences": [
{
"id": "xyz789uvw012",
"name": "Default View",
"desc": null,
"level": "Platform",
"entityId": null,
"date": "2023-09-20T09:15:00Z",
"isDefault": true
}
]
}
With includeContent: true:
{
"editor.ui.settings": [
{
"id": "abc123def456",
"name": "My Editor Config",
"desc": "Custom editor configuration",
"level": "User",
"entityId": 1001,
"content": "{\"theme\":\"dark\",\"fontSize\":14}",
"date": "2023-10-15T14:30:00Z",
"isDefault": true
}
],
"view.layout.preferences": [
{
"id": "xyz789uvw012",
"name": "Default View",
"desc": null,
"level": "Platform",
"entityId": null,
"content": "{\"layout\":\"grid\",\"pageSize\":50}",
"date": "2023-09-20T09:15:00Z",
"isDefault": true
}
]
}
Error Scenarios:
-
Empty keys array provided
-
Invalid key names or unsupported key formats
-
Insufficient permissions to access presets in the specified scope
-
Scope context invalid or inaccessible to the user