SDKs Overview
Zyphr provides official SDKs for 6 platforms, all auto-generated from our OpenAPI specification. Every SDK stays perfectly in sync with the API.
Available SDKs
| Platform | Package | Install | Registry |
|---|---|---|---|
| Node.js / React / React Native | @zyphr-dev/node-sdk | npm install @zyphr-dev/node-sdk | npm |
| iOS (Swift) | ZyphrSDK | See iOS guide | CocoaPods / SPM |
| Android (Kotlin) | dev.zyphr:zyphr-sdk | See Android guide | Maven Central |
| C# / .NET | ZyphrDev.SDK | dotnet add package ZyphrDev.SDK | NuGet |
| Ruby | zyphr | gem install zyphr | RubyGems |
| Python | zyphr | pip install zyphr | PyPI |
| Go | zyphr-go | go get github.com/zyphr-dev/zyphr-go | Go Packages |
| PHP | zyphr/zyphr-php | composer require zyphr/zyphr-php | Packagist |
| React (Inbox) | @zyphr/inbox-react | npm install @zyphr/inbox-react | npm |
SDK Features
All SDKs provide:
- Type Safety - Full type definitions for all requests and responses
- Native HTTP - Uses each platform's native HTTP client (fetch, URLSession, OkHttp, HttpClient, Faraday)
- Auto-Generated - Always in sync with the latest API specification
- Zero Config - Just provide your API key and start sending
Quick Comparison
Node.js / TypeScript
import { EmailsApi, Configuration } from '@zyphr-dev/node-sdk';
const config = new Configuration({
apiKey: process.env.ZYPHR_API_KEY,
});
const emails = new EmailsApi(config);
await emails.sendEmail({
sendEmailRequest: {
to: 'user@example.com',
subject: 'Hello',
html: '<p>Hi!</p>',
},
});
Swift (iOS)
import ZyphrSDK
let config = Configuration(apiKey: "zy_live_xxx")
let emails = EmailsAPI(configuration: config)
try await emails.sendEmail(
sendEmailRequest: SendEmailRequest(
to: "user@example.com",
subject: "Hello",
html: "<p>Hi!</p>"
)
)
Kotlin (Android)
import dev.zyphr.sdk.api.EmailsApi
import dev.zyphr.sdk.infrastructure.ApiClient
val client = ApiClient(apiKey = "zy_live_xxx")
val emails = EmailsApi(client)
emails.sendEmail(
SendEmailRequest(
to = "user@example.com",
subject = "Hello",
html = "<p>Hi!</p>"
)
)
React (Inbox Component)
import { ZyphrInbox, ZyphrProvider } from '@zyphr/inbox-react';
function App() {
return (
<ZyphrProvider publicKey="za_pub_xxx" subscriberId="user_123">
<ZyphrInbox />
</ZyphrProvider>
);
}
REST API
Don't see your language? The REST API is simple to use directly:
curl -X POST https://api.zyphr.dev/v1/emails \
-H "X-API-Key: zy_live_xxx" \
-H "Content-Type: application/json" \
-d '{"to": "user@example.com", "subject": "Hello", "html": "<p>Hi!</p>"}'
Contributing
SDKs are open source. Contributions welcome!
- Report issues on GitHub
- Submit pull requests
- Request new language support