JavaScript / TypeScript
Python
Go
Ruby
PHP
Java
Rust
.NET
Elixir
github.com/dairo-app.
Choose an interface
SDKs
Typed, idiomatic clients for your application code. Start here when you’re
writing a service or agent in a supported language.
CLI
Scripting, CI, and quick manual operations from any shell.
MCP server
Native tool access for Claude, Cursor, and other MCP-capable agents.
JavaScript / TypeScript
apiKey explicitly so browser and edge runtimes stay
predictable; pass a custom baseUrl or fetch for testing. Repository:
dairo-app/dairo-js.
Python
dairo-app/dairo-python.
Go
dairo-app/dairo-go.
Ruby
dairo-app/dairo-ruby.
PHP
dairo-app/dairo-php.
Java
SendWarning and OutboundEventData that
document the contract. Repository:
dairo-app/dairo-java.
Rust
dairo-app/dairo-rust.
.NET
dairo-app/dairo-dotnet.
Elixir
dairo-app/dairo-elixir.
The same in every language
Whatever client you pick, these things work identically — learn them once.- One authentication model. Every client takes the same
dairo_live_…API key; most examples read it fromDAIRO_API_KEY. - One resource model. Each area of the API maps to a namespace —
messages(send, list, get, cancel, events),threads,inboxes,domains,webhooks,apiKeys,templates,audiences,letters, and more — snake_case in Python, PascalCase methods in .NET. - Stable IDs.
messageId,inboxId,threadId, and event IDs are identical across every SDK, the REST API, the CLI, and webhook payloads.