Official clients

SDKs

Server clients share the OpenAPI-derived operation manifest; client SDKs add device registration, realtime inbox, offline state and native in-app rendering.

Release truth: source, package metadata and executable proofs are complete in the release. Public registry publication and signed release attestations remain separate fail-closed release gates; do not assume a registry package exists until its publication record is linked here.
Release train 1.6LTS through 2028-08-29Security fixes through 2029-08-29365-day minimum deprecation notice
LANGUAGESURFACEVERSIONSOURCEQUALIFICATION
Node.js / TypeScriptServer1.6.0sdks/push/nodeNamed and generic operations; safe retries
PythonServer1.6.0sdks/push/pythonTyped errors, request IDs and bounded retries
GoServer1.6.0sdks/push/goContext-aware native client
PHPServer1.6.0sdks/push/phpAll 264 operations
RubyServer1.6.0sdks/push/rubyAll 264 operations
RustServer1.6.0sdks/push/rustRustls transport and typed failures
JavaServer1.6.0sdks/push/javaJava 17 client
KotlinServer1.6.0sdks/push/kotlinJVM 17 client
C# / .NETServer1.6.0sdks/push/dotnet.NET 8 client
ElixirServer1.6.0sdks/push/elixirInjectable HTTP handler
Web / JavaScript / TypeScriptClient1.6.0sdks/push/webProtocol negotiation, consent, rotation and service worker
Frameworks / mobile / desktopClient1.6.0sdks/push/clientReact, Next, Vue, Angular, Svelte, React Native, Capacitor and Electron
FlutterClient1.6.0sdks/push/flutterPush, inbox and 22 native in-app formats
SwiftClient1.6.0sdks/push/iosiOS 15 and macOS 12
Android / Kotlin / JavaClient1.6.0sdks/push/androidAPI 23 floor; Java-friendly native runtime

Shared server-client contract

Exact URL construction

Path variables are escaped and canonical :action routes remain intact.

Fail-closed transport

Remote plaintext HTTP is refused; test transports must be explicitly injected.

Bounded retries

Only safe or idempotent requests retry, honoring Retry-After.

Secret-safe diagnostics

Authorization, cookies and credential fields never appear in debug evidence.

Choose a client

Use a server SDK for message, campaign, workflow, analytics and administration calls. Add the native or Web client for installation credentials, token lifecycle, inbox state, realtime synchronization and in-app experiences.