> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # register > Register an agent at a URL route on the server. [agentbase]: /docs/server-sdks/reference/typescript/agents/agent-base Register an [`AgentBase`][agentbase] instance at a URL route on the server. The agent's Hono app is mounted at the specified prefix so all of its endpoints (SWML, SWAIG, debug, post-prompt) become available under that path. > **Warning** > > Throws `Error` if the route is already occupied by another agent. ## **Parameters** **`agent`** `AgentBase` — required The agent instance to register. --- **`route`** `string` URL path prefix for this agent (e.g., `"/sales"`). If omitted, the agent's own `route` property is used. Leading slashes are added and trailing slashes are stripped automatically. --- ## **Returns** `void` ## **Example** ```typescript {7} import { AgentBase, AgentServer } from '@signalwire/sdk'; const salesAgent = new AgentBase({ name: 'sales-agent', route: '/sales' }); salesAgent.promptAddSection('Role', { body: 'You are a sales rep.' }); const server = new AgentServer({ port: 3000 }); server.register(salesAgent, '/sales'); await server.run(); ``` > Register an agent at a URL route on the server.