Conduit
Conduit
Docsllms.txtHostingGitHubIntroduction

Getting Started

OverviewInstall ConduitMCP SetupYour First AppStart with AI

Learn

ArchitectureClient vs Admin APIConfiguration

Modules

OverviewAuthenticationAuthorizationDatabaseStorageCommunicationsChatRouterFunctions

Guides

Next.js IntegrationReBAC Team ScopingGitOps State Export

Deployment

Deployment OverviewDocker ComposeKubernetes and HelmLocal from SourceContainer Images

Reference

CLI ReferenceClient APIAdmin APIEnvironment VariablesMCP Tools

Resources

Migration v0.16 → v0.17Legacy DocumentationChangelogFAQGlossaryContributing

Router

Client API gateway — REST, GraphQL, and WebSockets.

The router module (Hermes) exposes the Client API by aggregating routes registered by other modules. It is the single entry point applications connect to.

Use cases

Unified API surface

One base URL for auth, database, storage, chat, and more

Realtime apps

REST on :3000, Socket.io on :3001 with shared auth

GraphQL queries

Optional /graphql endpoint when modules register types

Client credentials

Router validates client id/secret context for auth flows

Capabilities

  • REST aggregation
  • GraphQL
  • WebSockets / Socket.io
  • Module route mounting
  • Client credential context
  • CORS & middleware

Example: Single API surface diagram

Walkthrough

  1. Application calls CLIENT_BASE_URL (default http://localhost:3000)
  2. Router forwards /authentication/* to authentication module routes
  3. Router forwards /database/* to database module routes
  4. Router forwards /storage/*, /chat/*, /authorization/* to respective modules
  5. Socket.io listens on CLIENT_SOCKET_PORT (default 3001) with path /realtime
  6. Admin API (:3030) lives on core — not router

How it works

Port layout

PortEnv varProtocol
3000CLIENT_HTTP_PORTREST, GraphQL
3001CLIENT_SOCKET_PORTWebSockets / Socket.io
3030AdminAdmin API (core module)

Request flow

App → Router (Hermes) → Module client routes
                      → authMiddleware, client credentials
                      → database, storage, chat, …

Each module registers its Client API routes with Hermes at startup. The database module is required by router and most feature modules.

What router is not

Router does not replace database custom endpoints — filtered queries still need provisioned /database/function/{name} endpoints. Router also does not expose Admin API routes; use :3030 or MCP for provisioning.

Configure

Router is a core dependency — enable other modules in deployment; their Client routes appear automatically. Environment variables:

VariableDefaultMeaning
CLIENT_HTTP_PORT3000REST/GraphQL port
CLIENT_SOCKET_PORT3001WebSocket port

See Environment variables and Architecture.

Client API

All module Client paths are relative to CLIENT_BASE_URL:

  • /authentication/*
  • /database/*
  • /storage/*
  • /chat/*
  • /authorization/*
  • /graphql

MCP

Router has no separate MCP module — configure via core and enable feature modules (?modules=database,authentication,…).

Next steps

  • Architecture
  • Client vs Admin API
  • Database module
  • Deployment overview

Chat

Realtime rooms and messages over REST and Socket.io.

Functions

Admin-defined server-side JavaScript with grpcSdk access.

On this page

Use casesCapabilitiesExample: Single API surface diagramHow it worksPort layoutRequest flowWhat router is notConfigureClient APIMCP