Call Hierarchy (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

The Call Hierarchy API retrieves the call hierarchy (callers/callees) for a given object up to a specified depth.


URI

GET /rest/applications/{name}/graph/call-hierarchy

Path parameters

name (string)

This parameter identifies the analyzed application. The application name must be properly encoded if it is required. Character back-quote is not allowed.

Query parameters

source (string)

Required. The unique identifier 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).