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).