arcanon

GraphQL API

Query the service graph, impact, and drift via GraphQL.

Endpoint

POST https://api.arcanon.dev/api/v1/graphql

Authentication: Authorization: Bearer <jwt_or_api_key>

Schema overview

The GraphQL API provides read access to the service graph. All queries are org-scoped via RLS — the authenticated user's org determines what data is returned.

Queries

GetGraph

Fetch the full service graph with optional product/team filters.

query GetGraph($productId: ID, $teamId: ID) {
  graph(productId: $productId, teamId: $teamId) {
    nodes {
      id
      name
      repoId
      repoName
      version
      ownerTeam
      teamId
      serviceType
      language
      endpointsCount
      connectionsOut
      lastScannedAt
    }
    edges {
      id
      sourceServiceId
      targetServiceId
      protocol
    }
  }
}

GetNodeDetail

Fetch detailed information for a single service node.

query GetNodeDetail($serviceId: ID!) {
  node(serviceId: $serviceId) {
    id
    name
    version
    ownerTeam
    serviceType
    language
    endpoints {
      id
      method
      path
      kind
    }
  }
}

GraphComparison

Compare two snapshots of the graph for baseline diff overlay.

query GraphComparison($baselineScanId: ID!) {
  graphComparison(baselineScanId: $baselineScanId) {
    addedNodes { id name }
    removedNodes { id name }
    addedEdges { id sourceServiceId targetServiceId }
    removedEdges { id sourceServiceId targetServiceId }
  }
}

Playground

A GraphQL playground is available at /api/v1/graphql when accessed via a browser (GET request). Requires authentication.

On this page