AdvaitaADVAITA DOCS
GitHubGet started
SDKs

SDK Overview

Advaita provides official SDKs for web, server, and mobile. All SDKs share the same event model and a consistent track / identify / setGroup / revenue / flush API surface.

Open-source attribution

All Advaita SDKs are open source, released under the MIT License (Go SDK: Apache 2.0). We retain full upstream attribution and license compliance. The wire protocol is a standard HTTP API v2 format (POST /2/httpapi), pointing to your self-hosted Advaita collector.

Available SDKs

Choosing an SDK

Use caseSDKPackage
Single-page app (React, Vue, Svelte)TypeScript Browser@acai/analytics-browser
Legacy browser or vanilla JS projectJavaScriptacai-js
Node.js API or background jobNode.jsacai-node
Python backend, FastAPI, DjangoPythonacai-analytics
Java server-sideJavacom.acai:acai-java-sdk
Go microserviceGogithub.com/acai/analytics-go
Cross-platform iOS + Android appFlutteracai_flutter
React Native appReact Native@acai/react-native-sdk
Native Android (Kotlin/Java)Androidcom.acai:analytics-android
Native iOS (Swift)iOS / SwiftAcaiSwift

Common API surface

Every SDK implements these core methods. Method names follow platform conventions (camelCase for JS/Kotlin/Swift, snake_case for Python, PascalCase for Go).

MethodDescription
track / logEventRecord a user action with an event name and optional properties object.
identifySet persistent user traits (name, email, plan, etc.) on the current user profile.
setUserIdAssociate all future events with an authenticated user ID.
setGroup / groupIdentifyAssign a user to a group (company, workspace) and set group properties.
revenueLog a purchase with price, quantity, product ID, and revenue type.
flushForce-send all queued events immediately.
setOptOutDisable all event collection (e.g. for user privacy preference).
add / removeAdd or remove an enrichment plugin (supported by TS, Python, Kotlin, Swift, Go).

Versioning & support

  • All SDKs follow semantic versioning. Breaking changes only occur on major bumps.
  • All SDKs accept a serverUrl / apiEndpoint config option to point to your self-hosted Advaita collector.
  • The ingest payload format is HTTP API v2: POST /2/httpapi with { api_key, events: [...] }.
  • Minor and patch releases are always backward-compatible within a major version.