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
| LANGUAGE | SURFACE | VERSION | SOURCE | QUALIFICATION |
|---|---|---|---|---|
| Node.js / TypeScript | Server | 1.6.0 | sdks/push/node | Named and generic operations; safe retries |
| Python | Server | 1.6.0 | sdks/push/python | Typed errors, request IDs and bounded retries |
| Go | Server | 1.6.0 | sdks/push/go | Context-aware native client |
| PHP | Server | 1.6.0 | sdks/push/php | All 264 operations |
| Ruby | Server | 1.6.0 | sdks/push/ruby | All 264 operations |
| Rust | Server | 1.6.0 | sdks/push/rust | Rustls transport and typed failures |
| Java | Server | 1.6.0 | sdks/push/java | Java 17 client |
| Kotlin | Server | 1.6.0 | sdks/push/kotlin | JVM 17 client |
| C# / .NET | Server | 1.6.0 | sdks/push/dotnet | .NET 8 client |
| Elixir | Server | 1.6.0 | sdks/push/elixir | Injectable HTTP handler |
| Web / JavaScript / TypeScript | Client | 1.6.0 | sdks/push/web | Protocol negotiation, consent, rotation and service worker |
| Frameworks / mobile / desktop | Client | 1.6.0 | sdks/push/client | React, Next, Vue, Angular, Svelte, React Native, Capacitor and Electron |
| Flutter | Client | 1.6.0 | sdks/push/flutter | Push, inbox and 22 native in-app formats |
| Swift | Client | 1.6.0 | sdks/push/ios | iOS 15 and macOS 12 |
| Android / Kotlin / Java | Client | 1.6.0 | sdks/push/android | API 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.