Get Architecture Aggregation (RESERVED)


Overview

Get the aggregation graph for an architecture custom view. This returns the visual representation of the custom view including all nodes and their relationships.

Use this endpoint only for custom views whose aggregationType is Architecture in the custom view list response.

URI

GET /rest/applications/{name}/custom-views/{viewId}/architecture

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.

viewId (string)

The unique identifier of the custom view.

Query parameters

validate (boolean)

Optional. Default is false. When true, the edges computed from the real object-level relationships between the underlying objects are added, including escalated relationships. Real dependencies are only computed for a validated view. To validate it, save it with "validated": true through Update Custom View, the same as Validate links in the viewer. Adding custom nodes or switching the link mode resets the validation.

userLinks (boolean)

Optional. Defaults to the view’s saved userLinks setting, which is true unless it was changed through Update Custom View. Whether to include the links the user drew (created via Create Architecture Link). Combined with validate=true, it shows the user’s link design (authorized or unauthorized links) next to the real dependencies, so they can be compared before the view is published. Set it to false to see only the real dependencies. The user’s links are returned only while the view is unpublished.

shared (boolean)

Optional. Whether to include Shared virtual relationships between custom nodes. Default is false.

date (string)

Optional. A valid datetime (e.g. 2024-01-15T00:00:00Z) forwarded to the aggregation service to get the underlying objects as they existed at that point in history.

Notes

  • This endpoint is intended for architecture custom views only.
  • If the target custom view is not an architecture view, the API returns a client error.

Responses

application/json

Which edges are returned depends on validate and userLinks:

validate userLinks Edges returned
false true The user’s links only (default).
false false None.
true true The real dependencies and the user’s links.
true false The real dependencies only.

Default response (validate=false)

Edges are the links between custom nodes created via Create Architecture Link: AUTHORIZED_LINK or UNAUTHORIZED_LINK, depending on the view’s linkMode. These edges do not carry a Count.

{
    "success": {
        "graph": {
            "nodes": [
                {
                    "id": "4:abc:123",
                    "data": {
                        "Name": "node1",
                        "Count": 94
                    }
                },
                {
                    "id": "4:abc:456",
                    "data": {
                        "Name": "node2",
                        "Count": 46
                    }
                }
            ],
            "edges": [
                {
                    "id": "4:abc:123_AUTHORIZED_LINK_4:abc:456",
                    "source": "4:abc:123",
                    "target": "4:abc:456",
                    "type": "AUTHORIZED_LINK",
                    "data": {
                        "Type": "AUTHORIZED_LINK",
                        "sourceId": "4:abc:123",
                        "targetId": "4:abc:456"
                    }
                }
            ]
        },
        "documents": []
    }
}

Validated response (validate=true, userLinks=false)

Edges are computed from the real object-level relationships between the underlying objects (e.g. CALL, IMPLEMENT), including escalated relationships, and carry a Count of the underlying links. Direct and escalated links contribute to the computed counts and are not returned as separate categories. With userLinks=true, the user’s links are returned as well, in the shape shown in the default response.

{
    "success": {
        "graph": {
            "nodes": [
                {
                    "id": "4:abc:123",
                    "data": {
                        "Name": "node1",
                        "Count": 94
                    }
                },
                {
                    "id": "4:abc:456",
                    "data": {
                        "Name": "node2",
                        "Count": 46
                    }
                }
            ],
            "edges": [
                {
                    "id": "4:abc:123_CALL_4:abc:456",
                    "source": "4:abc:123",
                    "target": "4:abc:456",
                    "type": "CALL",
                    "data": {
                        "Count": 12,
                        "Type": "CALL"
                    }
                }
            ]
        },
        "documents": []
    }
}

JSON representation

Property Type Description
success.graph.nodes []object Array of custom nodes in the view.
success.graph.nodes[].id string The node’s unique identifier.
success.graph.nodes[].data object Node metadata, including name, count, parameters, and labels.
success.graph.edges []object Array of relationships between custom nodes: the user’s links when userLinks=true, plus the computed dependencies when validate=true.
success.graph.edges[].id string Unique identifier of the relationship.
success.graph.edges[].source string Source custom node ID.
success.graph.edges[].target string Target custom node ID.
success.graph.edges[].type string AUTHORIZED_LINK or UNAUTHORIZED_LINK for a user’s link; the real underlying relationship type (e.g. CALL) for a computed dependency.
success.graph.edges[].data object Relationship metadata. Includes Count for computed dependencies only.
success.documents []object Associated documents for the aggregation response.