Native wrappers for the Ajoxi API. Get up and running in minutes with type-safe clients and built-in webhook verification.
Same surface area across all four languages. Same release cadence. Same SLA.
$ npm install @ajoxi/sdk$ pip install ajoxi$ go get github.com/ajoxi/ajoxi-go$ gem install ajoxiThe same operation across every SDK — initialise the client, call calls.create, log the result. Pick a language and copy the snippet.
Test-mode keys (AJX_TEST_…) place calls against our simulator. They never ring a real phone and do not bill against your minute allowance — perfect for CI.
import Ajoxi from '@ajoxi/sdk';
const ajoxi = new Ajoxi({ apiKey: process.env.AJOXI_KEY });
const call = await ajoxi.calls.create({
to: '+14155551234',
from: '+14155550100',
aiReceptionist: true,
});
console.log(call.id, call.status);Every Ajoxi SDK ships the same operational primitives so you can focus on your business logic.
Full type definitions for every endpoint and response — no guessing field names.
Network blips and 5xx errors retry automatically with exponential backoff, respecting Retry-After.
One-line HMAC-SHA256 signature verification with constant-time comparison.
Iterate through millions of records without writing a single cursor loop.
Every request returns an X-Request-Id you can quote to support — surfaced on every error.
Switch between test keys and production keys with one constructor arg.
If you would rather work in Rust, PHP, .NET, or Elixir, the community has you covered. These are not first-party and may lag behind on new features — pin to a tested version in production.
cargo add ajoxi-rsMaintained by @ajoxi-communitycomposer require ajoxi/ajoxi-phpMaintained by @ajoxi-communitydotnet add package AjoxiMaintained by @ajoxi-communitymix deps.get ajoxi_exMaintained by @ajoxi-communityPick the one matching your runtime. Node.js and Python get feature updates first and have the broadest production usage. Go and Ruby ship the same surface area within a release or two. All four are first-party — maintained by the Ajoxi team with the same support SLA.
It is labelled beta because the public API has not been frozen — we may rename one or two parameters before v1.0. Functionally it covers every endpoint and has been running in our own internal pipelines for over a year. Production use is fine; pin to a minor version.
SDKs target the latest stable API version (currently v1). When a new API version ships, SDK maintainers update the clients within two release cycles — you do not have to choose. SDKs do support pinning a specific API version via constructor option for migrations.
Yes. Node.js is async-by-default (all methods return Promises). Python ships both sync and async clients (`Ajoxi` and `AsyncAjoxi`). Go is context-aware on every call. Ruby is synchronous with Fiber-based concurrency available through the optional `ajoxi-async` gem.
The Node.js SDK ships with hand-curated TypeScript types covering every endpoint, request, and response. Type-narrowing on union responses works as you would expect. Generated types are also published separately to `@ajoxi/sdk-types` for projects that want types without the runtime client.
Yes — all four SDKs are open-source on GitHub. Issues and PRs are welcome. We hold the right to rewrite implementation details for consistency with internal patterns, but the published surface area is treated as a contract.
Spin up a sandbox key and ship a working integration before the end of the day.