When deploying agents on the LangGraph platform, your server automatically exposes routes for creating runs and threads, interacting with the long-term memory store, managing configurable assistants, and other core functionality (see all default API endpoints).
You can add custom routes by providing your own Hono app. You make LangGraph Platform aware of this by providing a path to the app in your langgraph.json configuration file. ("http": {"app": "path/to/app.ts:app"}).
Defining a custom app object lets you add any routes you'd like, so you can do anything from adding a /login endpoint to writing an entire full-stack web-app, all deployed in a single LangGraph deployment.
Starting from an existing LangGraph Platform application, add the following custom route code to your app.ts file. If you are starting from scratch, you can create a new app from a template using the CLI.
npmcreatelanggraph
Make sure to install hono as a dependency.
npminstallhono
Once you have a LangGraph project, add the following app code:
Add the following to your langgraph.json file. Make sure the path points to the app.py file you created above.
{"graphs":{"agent":"./src/agent/graph.ts:graph"},"env":".env","http":{"app":"./src/agent/app.ts:app"}// Other configuration options like auth, store, etc.}
If you navigate to localhost:2024/hello in your browser (2024 is the default development port), you should see the hello endpoint returning {"hello": "world"}.
Shadowing default endpoints
The routes you create in the app are given priority over the system defaults, meaning you can shadow and redefine the behavior of any default endpoint.
Now that you've added a custom route to your deployment, you can use this same technique to further customize how your server behaves, such as defining custom middleware.