Call Hierarchy
Overview
The Call Hierarchy API retrieves the call hierarchy (callers/callees) for a given object up to a specified depth.
URI
GET /rest/applications/{application}/graph/call-hierarchy
Path parameters
application (string)
The application name.
Query parameters
source (string)
Required. The unique identifier (elementId) of the source object.
calltype (string)
Optional, default: caller.
caller: Retrieve callers of the source.callee: Retrieve callees of the source.all: Retrieve both callers and callees.
hops (int)
Optional, default: 1. The number of levels (depth) to retrieve in the hierarchy.
App-Config Headers
The domain is typically retrieved from the request headers (e.g. X-CAST-Domain or similar depending on configuration).
Responses
application/json
A GraphDocument containing nodes and edges representing the hierarchy found.
{
"results": {
"graph": {
"nodes": [
{
"id": "4:33cdac75-40b4-4b7c-939b-1a4f316defb4:171383",
"data": {
"AipId": "1595",
"DrillDown": "JOB.JCLDataSetKSDSVSAMFilesCobolBatchProgramJCLLibraries.JOBFUNC#",
"External": false,
"FullName": "[§{main_sources}§/Mainframe/JCL].JOBFUNC#.COBOL1",
"InternalType": "CAST_JCL_Step",
"Level": "JCL Job",
"Name": "COBOL1",
"Type": "JCL Step"
}
},
{
"id": "4:33cdac75-40b4-4b7c-939b-1a4f316defb4:172025",
"data": {
"AipId": "1810",
"Count": 3,
"DrillDown": "JOB.JCLDataSetKSDSVSAMFilesCobolBatchProgramJCLLibraries",
"External": false,
"FullName": "[§{main_sources}§/Mainframe/JCL].JOBFUNC#",
"InternalType": "CAST_JCL_CatalogedJob",
"Level": "JCL Job",
"Name": "JOBFUNC#",
"Type": "JCL Job"
}
}
],
"edges": [
{
"id": "5:33cdac75-40b4-4b7c-939b-1a4f316defb4:1152942395327946745",
"source": "4:33cdac75-40b4-4b7c-939b-1a4f316defb4:172025",
"target": "4:33cdac75-40b4-4b7c-939b-1a4f316defb4:171383",
"type": "CALL"
}
]
},
"documents": null
}
}
JSON representation
| Property | Type | Description |
|---|---|---|
| results.graph.nodes[].id | string | The unique identifier of the node. |
| results.graph.nodes[].data | object | properties of the node (Name, FullName, Type, etc.). |
| results.graph.edges[].id | string | The unique identifier of the edge. |
| results.graph.edges[].source | string | The ID of the source node for this edge. |
| results.graph.edges[].target | string | The ID of the target node for this edge. |
| results.graph.edges[].type | string | The type of the relationship (e.g., CALL, WRITE). |
| results.documents | array | List of associated documents (optional). |