Tools from your API
Already have an API? Point openApiTools at its OpenAPI spec and every operation becomes a tool the agent can call. Add authentication headers once, for every call.
val orderAgent = agent<String, Answer> { geminiModel { apiKey("YOUR_API_KEY") modelIdentifier(GeminiModelIdentifier.Gemini3_5Flash) } task("Answer questions about customer orders") { addInstruction("Look up the order before you answer") } openApiTools(File("orders-api.json").readText()) { addHeader(Header.Bearer("YOUR_API_TOKEN")) }}
val run = orderAgent.start("Where is order 1042?")