Skip to content

Get graph visualization data

GET
/v1/projects/{projectId}/graph

Returns a graph representation of the project’s architecture with nodes (services and topics) and edges (relationships). Supports focusing on specific entities and controlling relationship depth for partial graph views. The response includes positioning data and styling information for visualization (colors, coordinates, dimensions).

projectId
required

An identifier (e.g., my-project-a1b2c)

string
>= 8 characters <= 60 characters /^[a-z0-9][a-z0-9-]*[a-z0-9]$/
filteredIds

Entity IDs to filter by (e.g., “service—payment”, “category—billing”)

Array<string>
depth

Relationship depth levels (0=entity only, 1=direct connections, etc.)

integer
default: 1 <= 5
at

ISO-8601 timestamp to retrieve the project state at a specific point in time. If omitted, returns the current state.

string format: date-time

The project graph with nodes and edges

Graph representation of a project with nodes and edges

object
nodes
required

The nodes in the graph (services and topics)

Array<object>

A node in the project graph

object
id
required

Unique identifier for the node

string
type
required

Type of graph node

string
Allowed values: SERVICE TOPIC
label
required

Display label for the node

string
width
required

Width of the node

number format: double
height
required

Height of the node

number format: double
x
required

X coordinate of the node

number format: double
y
required

Y coordinate of the node

number format: double
category

Category ID of the node

string
categoryLabel

Category display name

string
categoryColor

Category color for visual representation

string
owner

Owner ID of the node

string
ownerLabel

Owner display name

string
ownerColor

Owner color for visual representation

string
flows

Flow IDs that the node belongs to

Array<string>
flowLabels

Flow display names

Array<string>
flowColors

Flow colors for visual representation

Array<string>
edges
required

The edges connecting nodes

Array<object>

An edge connecting two nodes in the graph

object
id
required

Unique identifier for the edge

string
type
required

Type of graph edge

string
Allowed values: SERVICE_TO_TOPIC TOPIC_TO_SERVICE
source
required

ID of the source node

string
target
required

ID of the target node

string

Invalid query parameters

Standard error response

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
details

Additional error details

string
Example
Project name must be between 3 and 60 characters

Unauthorized, authentication required

Standard error response

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
details

Additional error details

string
Example
Project name must be between 3 and 60 characters

Project not found

Standard error response

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
details

Additional error details

string
Example
Project name must be between 3 and 60 characters

Too many requests

Rate limit exceeded error response

object
status
required

HTTP status code

integer
Example
429
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Too many requests
retryAfter
required

Number of seconds until the client can retry

integer
Example
60
Retry-After
integer

Number of seconds to wait before retrying

Internal server error

Standard error response

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
details

Additional error details

string
Example
Project name must be between 3 and 60 characters