Skip to main content

Visualize

Get the schema graph as a D3-compatible payload: document classes as nodes and computed relationships as weighted edges, ready for force-directed rendering.

Retrieve the entire schema graph as a D3-compatible payload: your discovered document classes as nodes and the computed relationships between them as edges. The response is structured for direct consumption by graph visualization libraries such as D3.js, Cytoscape, or vis.js: nodes include full class metadata, and edges use source and target fields referencing node IDs.

This is a convenience projection of two other endpoints: nodes are the same objects GET /v1/schema-graph/classes returns, and edges are the same relationships as GET /v1/schema-graph/edges reshaped with source/target/type keys for graph layouts. One call gives you everything needed to render an ontology map of your workspace.

GET/v1/schema-graph/visualize

curl

Response

Response fields

nodesarrayArray of schema class nodes (same shape as List Classes items).
nodes[].idstringNode UUID (schema class ID).
nodes[].schema_classstringCanonical class name.
nodes[].statusstringClass status.
edgesarrayArray of edge objects formatted for graph rendering.
edges[].idstringEdge UUID.
edges[].sourcestringSource node UUID.
edges[].targetstringTarget node UUID.
edges[].typestringEdge type: overlaps_with or similar_to.
edges[].weightnumberEdge weight between 0 and 1.

Response

{
  "nodes": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "schema_class": "Invoice",
      "document_type_id": "doc-type-uuid",
      "description": null,
      "current_version_id": "ver-uuid-3",
      "status": "active",
      "created_at": "2024-08-01T00:00:00.000Z",
      "updated_at": "2024-09-14T00:00:00.000Z",
      "links": {
        "self": "/v1/schema-graph/classes/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "versions": "/v1/schema-graph/classes/a1b2c3d4-e5f6-7890-abcd-ef1234567890/versions"
      }
    }
  ],
  "edges": [
    {
      "id": "edge-uuid-1",
      "source": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "target": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "type": "overlaps_with",
      "weight": 0.87
    }
  ]
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.
All classes are returned regardless of status. Filter nodes client-side by status to exclude archived classes, and use edge weight to control link distance or opacity in your layout.

The response is structured for direct consumption by D3.js force simulations, Cytoscape, or vis.js: edge source and target fields reference node id values. Map type to color (field overlap versus semantic similarity) so viewers can tell why two document types are connected.