Skip to content

SDKs

The official Arbol SDKs for TypeScript and Rust, what they share and when to use each.

Updated

Arbol’s SDKs are generated from the API’s public OpenAPI document, https://api.getarbol.com/openapi.json, so every operation of every service is a typed method named after it: raiz.agents.create is arbol.raiz.agents.create() in TypeScript and arbol.raiz().agents().create(&input) in Rust.

What they share

  • One credential. An Arbol API key (arb_live_…) or a person’s access token for the audience https://api.getarbol.com, sent as Authorization: Bearer. See Authentication.
  • Every service in one client. Products and integrations alike, as the API serves them.
  • No retries. Each call sends one request. A write that fails without an answer may still have happened, so check before you repeat it. See Retries.
  • The server decides. A method in the client is not a permission: the API checks the credential’s organization and scopes on every call.

How they differ

TypeScript Rust
Package @arbol-ai/sdk on npm arbol-sdk, a git dependency, not on crates.io yet
Runs on Node.js 26, Bun 1.4 or a current browser Rust 1.85 or newer, on any Tokio runtime
A call returns The whole response envelope: success, data, error, metadata The envelope’s data
A failure is An ApiError with the HTTP status and the error body An arbol_sdk::Error with code, request_id and an outcome that says whether a write may have happened
Updated A new version for each API release that changes the API Regenerated by hand; arbol_sdk::RELEASE names the API release it was generated from

Which to use

You are building Use
A Node.js or Bun service, a script, or a web app The TypeScript SDK. In a browser, use a person’s access token, never an API key.
A Rust service The Rust SDK.
Commands in a terminal, shell scripts or CI The CLI, which is built on the TypeScript SDK.
An AI assistant that acts on Arbol Arbol’s MCP server.
Anything in another language The REST API directly, from each service’s OpenAPI document: https://api.getarbol.com/v1/<service>/openapi.json.

Type to search…

↑↓ navigate↵ selectEsc close