Add a dependency edge between two services in the topology graph.
sourceServiceId depends on targetServiceId. This directional information is used when calculating blast radius — a failure in targetServiceId propagates to all services that depend on it.
Required role: admin or member
targetServiceId.sourceServiceId.http, grpc, tcp, queue.| Value | Description |
|---|---|
http | Synchronous HTTP/HTTPS call |
grpc | gRPC call |
tcp | Raw TCP connection (database drivers, custom protocols) |
queue | Asynchronous message queue or event stream |
201 Created with the newly created dependency edge.
| Field | Type | Description |
|---|---|---|
edgeId | string | Unique identifier for the dependency edge |
sourceServiceId | string | The dependent service (the one that calls the target) |
targetServiceId | string | The upstream service (the one being called) |
type | string | Communication protocol for this dependency |
createdAt | string | ISO 8601 timestamp when the edge was created |
| Status | Error code | Description |
|---|---|---|
400 | validation_error | A required field is missing or type is not a valid value |
404 | not_found | sourceServiceId or targetServiceId does not exist in your topology |
409 | conflict | An edge between these two services with this type already exists |
checkout-service → payment-processor means checkout depends on payment-processor. A failure in payment-processor will appear in checkout-service’s blast radius, not the other way around.