Get the APM service invocation graph

Beta — may change; breaking changes are coordinated with affected
customers. Suitable for evaluation, not production reliance.

Returns the service dependency graph for a time window: the services
observed and the calls between them, always scoped to a single
environment (required). Which graph you get depends on the identity
parameters you add on top of environment:

  • environment only: the full graph for that environment.
  • + serviceName: the graph centered on one service.
  • + serviceName + endpointName: centered on one endpoint of that
    service.

services lists every service in the graph; invocations lists the
calls between them, each from a source to a target with aggregated
request, error, and latency metrics. A service that is never the
target of a call is a root.

When centered on an endpoint, endpointName is set on whichever side of
a call is that endpoint — source when the endpoint makes the call,
target when it serves the call — and is null on every other
participant. Match it exactly against the value from a prior response.

By default the full graph for the scope is returned. Set
directNeighborsOnly=true (with a serviceName) to return only the
focal service and the services one hop away from it. If a full graph is
not available for a request, it is rejected with BadRequest indicating
directNeighborsOnly=true should be used.

serviceNamespace is an optional additional filter that matches on
either end of a call (a call is kept when its source or target is in
that namespace — a cross-namespace union). environment, by contrast,
matches on both ends: a call is kept only when both its source and
target are in that environment.

Required parameter combinations: environment is always required (400 RequiredParamMissing otherwise); endpointName and
directNeighborsOnly each require a serviceName.

The graph is returned in a single response and is not paginated. A
request whose graph would exceed the maximum size is rejected with 413 PayloadTooLarge rather than truncated. Narrow the time window, or
center the graph on a service or endpoint, to reduce its size.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
string

OTel service.name. Single-value exact-match filter; omit (or pass an
empty value) to match services with any service.name.

string

OTel deployment.environment, matched exactly. Required: the
invocation graph is always scoped to a single environment. Omitting
it returns 400 RequiredParamMissing.

string

OTel service.namespace. Single-value exact-match filter; omit (or pass
an empty value) to match services in any namespace.

string

Name of an endpoint on the service to center the graph on, matched
exactly. Requires serviceName and environment.

boolean
Defaults to false

Return only the focal service and the services directly connected
to it (one hop away). Requires serviceName. Omit (the default) to
return the full graph.

date-time

RFC3339 window start (inclusive). The query window is [startTime, endTime). The two bounds are independent: omit startTime and it
defaults to endTime − 1h; omit endTime and it defaults to now;
omit both for the last hour. startTime must be earlier than
endTime, otherwise BadRequest.

date-time

RFC3339 window end (exclusive). Defaults to now when omitted. Pairs with
startTime to form the [startTime, endTime) window; see startTime
for the full defaulting rule.

int64

Not accepted on this endpoint — the dependency graph is returned in
a single response, not a paginated list. Supplying limit returns
BadRequest.

int64

Not accepted on this endpoint (see limit). Supplying offset
returns BadRequest.

Responses

Language
Credentials
Bearer
Authorization: Bearer <customerid> <apitoken>
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json