Create Custom View (RESERVED)
RESERVED: The keyword RESERVED annotation means that the API is available for use but is not yet part of the officially supported specification. Its behavior, interface, or output may change in future releases without backward compatibility guarantees.
Overview
Create a new custom aggregation view for organizing objects within an application. Custom views act as containers for custom nodes.
Dynamic and Architecture custom view creation is supported through this API.
URI
POST /rest/applications/{name}/custom-views
Path parameters
name (string)
This parameter identifies the analyzed application. The application name must be properly encoded if required. Character back-quote is not allowed.
Request Body
{
"name": "My Custom View",
"collaborators": [],
"mode": "dynamic",
"unassigned": true
}
For an Architecture view, linkMode can also be set:
{
"name": "Forbidden Dependencies",
"collaborators": [],
"mode": "architecture",
"linkMode": "unauthorized"
}
A JSON object describing the new custom view:
| Property | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Name of the custom view. |
| collaborators | []string | No | List of usernames who can collaborate on this view. |
| mode | string | No | View mode. Default is dynamic. |
| unassigned | boolean | No | Whether to include a synthetic node for objects not matched by any custom node. Supported for Dynamic and Architecture views. Default is false. |
| linkMode | string | No | Architecture views only: authorized (default) or unauthorized. Decides whether the links drawn in the view list the dependencies that are allowed or the ones that are forbidden. To change it later, use Switch Aggregation Link Mode. Ignored for other modes. |
| userLinks | boolean | No | Architecture views only: the saved choice of whether to show the user’s links next to the real dependencies. Get Architecture Aggregation uses it when userLinks is not passed. Default is true. |
Responses
application/json
Example:
{
"success": {
"id": "abc123-def456",
"name": "My Custom View",
"collaborators": [],
"mode": "dynamic",
"published": false,
"unassigned": true,
"isCreator": true,
"createdBy": "admin",
"createdAt": "2024-01-15T10:30:00"
}
}
JSON representation
| Property | Type | Description |
|---|---|---|
| success.id | string | The unique identifier for the created view. |
| success.name | string | The view name. |
| success.collaborators | []string | List of collaborator usernames. |
| success.mode | string | The created view mode: dynamic or architecture. |
| success.published | boolean | Whether the view is published for sharing. |
| success.unassigned | boolean | Whether the Unassigned node is enabled. |
| success.linkMode | string | Architecture views only: authorized or unauthorized. |
| success.userLinks | boolean | Architecture views only: whether the user’s links are shown with the computed dependencies. |
| success.isCreator | boolean | Whether the current user is the creator. |
| success.createdBy | string | Username of the view creator. |
| success.createdAt | string | Timestamp when the view was created. |