Skip to main content

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

PlatformPackageInstallRegistry
Node.js / React / React Native@zyphr-dev/node-sdknpm install @zyphr-dev/node-sdknpm
iOS (Swift)ZyphrSDKSee iOS guideCocoaPods / SPM
Android (Kotlin)dev.zyphr:zyphr-sdkSee Android guideMaven Central
C# / .NETZyphrDev.SDKdotnet add package ZyphrDev.SDKNuGet
Rubyzyphrgem install zyphrRubyGems
Pythonzyphrpip install zyphrPyPI
Gozyphr-gogo get github.com/zyphr-dev/zyphr-goGo Packages
PHPzyphr/zyphr-phpcomposer require zyphr/zyphr-phpPackagist
React (Inbox)@zyphr/inbox-reactnpm install @zyphr/inbox-reactnpm

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