Quickstart

Spin up an agent, trigger a run, and stream the output — in about 30 lines of TypeScript.

1. Get an API key

Sign up at veroagents.com and create an API key in the dashboard. Keys are scoped to a tenant and look like sk_live_....

2. Install the SDK

bash
pnpm add @veroai/sdk

3. Create an agent

typescript
import { VeroAI } from "@veroai/sdk";

const veroai = new VeroAI({ apiKey: process.env.VERO_API_KEY! });

const agent = await veroai.agents.create({
  displayName:  "Claims Coordinator",
  roleId:       "coordinator",
  model:        "claude-sonnet-4-20250514",
  systemPrompt: "You handle denied insurance claims. Be calm and precise.",
  autoTrigger:  true,
});

console.log("agent id:", agent.id);

4. Trigger a run and stream it

typescript
const { runId } = await veroai.agents.trigger(agent.id, {
  conversationId: "call_8291",
  senderId:       "david-cohen",
  message:        "Policy IL-4821 was denied yesterday. What happened?",
});

for await (const ev of veroai.agents.runs.stream(runId)) {
  switch (ev.type) {
    case "token":
      process.stdout.write(String(ev.data.text));
      break;
    case "tool_call":
      console.error("\ntool:", ev.data.name, ev.data.args);
      break;
    case "done":
      return;
    case "error":
      throw new Error(String(ev.data.message));
  }
}

5. (Optional) Isolate tool calls in a Sandcastle VM

If your agent runs untrusted code — scraping, browser automation, arbitrary shell — spawn a Sandcastle microVM and point the agent at its MCP endpoint.

typescript
const vm = await veroai.sandcastle.create({
  image:   "dev-machine",
  agentId: agent.id,
  secrets: { ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY! },
  idleTtl: 300,
});

console.log("MCP endpoint:", vm.mcpEndpoint);
// point any MCP-compatible agent at vm.mcpEndpoint, or veroai.sandcastle.exec() shell commands directly.

Next steps