Skip to content
GitmoapAPIBeta
Schema

ServiceDependencyGraph

The services one service depends on, followed outward a limited number of hops.

Shape

  • depthinteger · int320–∞How many hops were followed: the requested depth, at most 3.
  • edgesarray of DependencyGraphEdge
    • The DependencyGraphEdge schema
    • depthinteger · int320–∞How many hops from the root service this dependency was reached at, from 1 to the graph's depth.
    • from_service_idServiceId (string · uuid)
    • kindDependencyKindpackageapidatastoreotherHow a service depends on the far end of a dependency — not what the far end is. The same library service can be consumed as a package by one service and called over HTTP by another.
    • sourceDependencySourceobserved_lockfileobserved_publishdeclaredinferredHow a dependency came to be known, and therefore how far it can be trusted. A declared and an observed dependency between the same two services are reported separately, so a declaration no lockfile mentions, or a lockfile entry nobody declared, stands out.
    • to_service_idServiceId (string · uuid)
  • hiddeninteger · int320–∞Dependencies left out because you cannot see the service at the far end.
  • nodesarray of ServiceSummaryEvery service reached, the root included, deduplicated.
    • The ServiceSummary schema
    • display_namestring
    • group_idGroupId (string · uuid)
    • kindServiceKindservicelibrarywebsitejobdatastoreapiml_modelotherWhat sort of thing a service is. The kind decides which scorecard checks apply: a library has no deployments, so a deployment check is not applicable to it rather than failing. For your own classifications, use annotations.
    • lifecycleServiceLifecycleexperimentalproductiondeprecatedretiredWhere a service is in its life.
    • service_idServiceId (string · uuid)
    • slugServiceSlug (string)
    • sourceServiceSourceinferreddeclaredapiHow the catalog entry came to exist. Set by the platform, never accepted from a request. Any source other than inferred means a person has vouched for the entry.
    • externalbooleanoptional
    • orphaned_atstring or nulloptional
    • ownerOwnerRef or nulloptional
  • rootServiceSummary
    • The ServiceSummary schema
    • display_namestring
    • group_idGroupId (string · uuid)
    • kindServiceKindservicelibrarywebsitejobdatastoreapiml_modelotherWhat sort of thing a service is. The kind decides which scorecard checks apply: a library has no deployments, so a deployment check is not applicable to it rather than failing. For your own classifications, use annotations.
    • lifecycleServiceLifecycleexperimentalproductiondeprecatedretiredWhere a service is in its life.
    • service_idServiceId (string · uuid)
    • slugServiceSlug (string)
    • sourceServiceSourceinferreddeclaredapiHow the catalog entry came to exist. Set by the platform, never accepted from a request. Any source other than inferred means a person has vouched for the entry.
    • externalbooleanoptional
    • orphaned_atstring or nulloptional
    • ownerOwnerRef or nulloptional
  • truncatedbooleanWhether the graph stopped at its limit of 200 services, so it shows only part of the real graph.

Example

Synthesized example
{
"depth": 12,
"edges": [
{
"depth": 57,
"from_service_id": "8eb73f92-b6ca-4c56-925b-29133cb62d45",
"kind": "package",
"source": "observed_lockfile",
"to_service_id": "da63fa27-6cd0-4707-ae6f-4c68cbdad60d"
}
],
"hidden": 72,
"nodes": [
{
"display_name": "Mara Okafor",
"group_id": "4c1d8e2f-6a3b-4f90-b7c5-1e2d3c4b5a69",
"kind": "service",
"lifecycle": "experimental",
"service_id": "52916b90-f078-4742-9b5b-55603d5c7e50",
"slug": "slug-dd5e",
"source": "inferred"
},
{
"display_name": "Tomás Reyes",
"group_id": "4c1d8e2f-6a3b-4f90-b7c5-1e2d3c4b5a69",
"kind": "service",
"lifecycle": "experimental",
"service_id": "988f5a3d-0ba8-4a08-b257-b42f0752df51",
"slug": "slug-6059",
"source": "inferred"
}
],
"root": {
"display_name": "Tomás Reyes",
"group_id": "4c1d8e2f-6a3b-4f90-b7c5-1e2d3c4b5a69",
"kind": "service",
"lifecycle": "experimental",
"service_id": "2c67288d-19ab-4537-92dc-e3b944a939da",
"slug": "slug-0c0c",
"source": "inferred",
"external": false,
"orphaned_at": "2026-10-09T06:17:39Z",
"owner": {
"group_id": "4c1d8e2f-6a3b-4f90-b7c5-1e2d3c4b5a69",
"kind": "group",
"full_path": "acme/payments-api"
}
},
"truncated": false
}

Graph

Used inside

No schema contains this one.

Used by

Sent by 0 operations

No operation takes it as a request body.