For developers

Your agents, callable from code.

List and message your agents, run chat completions, embed text, and search your knowledge folders, all over plain REST. Everything an agent knows in the app, it knows over the API.

request.sh
POST /v1/chatPOST /v1/knowledge/queryGET /v1/agents
$
POST /v1/chatAuthorization: Bearer ••••

The endpoints.

Small on purpose. Every route listed here is live.

GET/v1/meIntrospect the key: workspace, user, role
GET/v1/agentsList the agents your key can see, paginated
GET/v1/agents/{id}Fetch one agent's name, description, and model
POST/v1/agentsCreate an agent
POST/v1/agents/{id}/messagesSend a message to an agent, get its answer
POST/v1/chatOne-shot chat; pass agentId to pick the agent
POST/v1/chat/completionsChat completions (no streaming or tool calls yet)
POST/v1/embeddingsEmbed text with your configured embedding provider
POST/v1/knowledge/querySearch your knowledge folders

Send an Idempotency-Key header on any POST to safely retry without duplicating the request.

Built on open standards.

REST for your code, A2A for other agents, MCP for other tools.

Agents over REST

Message any workspace agent from your own software. Same instructions, knowledge, and tools as in the app.

Agent APIAccount researcherPOST /v1/agents/{id}/messages
const id = "agent-3f9c2a17b04e6d58";
const res = await fetch(
`${BEAM_URL}/v1/agents/${id}/messages`, {
method: "POST",
headers: {
Authorization: `Bearer ${BEAM_KEY}` },
body: JSON.stringify({
message: ""
})
});
node agent.mjs

A2A and MCP

Every agent is an Agent-to-Agent JSON-RPC endpoint, and Beam doubles as an MCP server for the rest of your stack.

A2AMCP
Another agent sends a taskJSON-RPC 2.0
POST/api/a2a/agent-3f9c…

Questions & answers.

A small, honest REST surface over your workspace: list and message your agents, run chat completions, generate embeddings, and search your knowledge folders. Everything an agent knows (instructions, knowledge, tools) applies to API calls too.