zyphr

Zyphr - the Ruby gem for the Zyphr API

Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API.

Authentication

All API requests require authentication using an API key. Include your API key in the X-API-Key header:

X-API-Key: zy_live_xxxxxxxxxxxx

API keys can be created in the Zyphr Dashboard. Use zy_test_* keys for testing and zy_live_* keys for production.

Rate Limiting

The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers:

  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Remaining requests in current window
  • X-RateLimit-Reset: Unix timestamp when the window resets

Errors

All errors follow a consistent format:

{
  \"error\": {
    \"code\": \"error_code\",
    \"message\": \"Human readable message\",
    \"details\": {}
  },
  \"meta\": {
    \"request_id\": \"req_xxxx\"
  }
}

This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Generator version: 7.12.0
  • Build package: org.openapitools.codegen.languages.RubyClientCodegen For more information, please visit https://zyphr.dev

Installation

Build a gem

To build the Ruby code into a gem:

gem build zyphr.gemspec

Then either install the gem locally:

gem install ./zyphr-1.0.0.gem

(for development, run gem install --dev ./zyphr-1.0.0.gem to install the development dependencies)

or publish the gem to a gem hosting service, e.g. RubyGems.

Finally add this to the Gemfile:

gem 'zyphr', '~> 1.0.0'

Install from Git

If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:

gem 'zyphr', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'

Include the Ruby code directly

Include the Ruby code directly using -I as follows:

ruby -Ilib script.rb

Getting Started

Please follow the installation procedure and then run the following code:

# Load the gem
require 'zyphr'

# Setup authorization
Zyphr.configure do |config|
  # Configure API key authorization: ApplicationSecret
  config.api_key['X-Application-Secret'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['X-Application-Secret'] = 'Bearer'
  # Configure faraday connection
  config.configure_faraday_connection { |connection| 'YOUR CONNECTION CONFIG PROC' }

  # Configure API key authorization: ApplicationPublicKey
  config.api_key['X-Application-Key'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['X-Application-Key'] = 'Bearer'
  # Configure faraday connection
  config.configure_faraday_connection { |connection| 'YOUR CONNECTION CONFIG PROC' }
end

api_instance = Zyphr::AuthEmailVerificationApi.new
confirm_email_verification_request = Zyphr::ConfirmEmailVerificationRequest.new({token: 'token_example'}) # ConfirmEmailVerificationRequest | 

begin
  #Confirm email verification
  result = api_instance.confirm_email_verification(confirm_email_verification_request)
  p result
rescue Zyphr::ApiError => e
  puts "Exception when calling AuthEmailVerificationApi->confirm_email_verification: #{e}"
end

Documentation for API Endpoints

All URIs are relative to https://api.zyphr.dev/v1

Class Method HTTP request Description
Zyphr::AuthEmailVerificationApi confirm_email_verification POST /auth/verify-email/confirm Confirm email verification
Zyphr::AuthEmailVerificationApi resend_email_verification POST /auth/verify-email/resend Resend email verification
Zyphr::AuthEmailVerificationApi send_email_verification POST /auth/verify-email/send Send email verification
Zyphr::AuthLoginApi login_end_user POST /auth/users/login Login end user
Zyphr::AuthMFAApi disable_mfa POST /auth/mfa/disable Disable MFA for a user
Zyphr::AuthMFAApi get_mfa_status GET /auth/mfa/status/userId Get MFA status for a user
Zyphr::AuthMFAApi regenerate_backup_codes POST /auth/mfa/regenerate-backup-codes Regenerate MFA backup codes
Zyphr::AuthMFAApi start_mfa_enrollment POST /auth/mfa/enroll Start MFA enrollment
Zyphr::AuthMFAApi verify_mfa_challenge POST /auth/mfa/verify Verify MFA challenge with TOTP code
Zyphr::AuthMFAApi verify_mfa_challenge_with_backup_code POST /auth/mfa/verify-backup Verify MFA challenge with backup code
Zyphr::AuthMFAApi verify_mfa_enrollment POST /auth/mfa/verify-enrollment Verify MFA enrollment
Zyphr::AuthMagicLinksApi send_magic_link POST /auth/magic-link/send Send a magic link
Zyphr::AuthMagicLinksApi verify_magic_link POST /auth/magic-link/verify Verify a magic link
Zyphr::AuthOAuthApi disconnect_o_auth_provider DELETE /auth/oauth/provider Disconnect OAuth provider
Zyphr::AuthOAuthApi get_o_auth_authorization_url GET /auth/oauth/provider/authorize Get OAuth authorization URL
Zyphr::AuthOAuthApi get_o_auth_connection_info GET /auth/oauth/connections/provider Get OAuth connection info
Zyphr::AuthOAuthApi get_o_auth_tokens GET /auth/oauth/tokens/provider Get OAuth provider tokens
Zyphr::AuthOAuthApi handle_o_auth_callback POST /auth/oauth/provider/callback Handle OAuth callback
Zyphr::AuthOAuthApi list_o_auth_connections GET /auth/oauth/connections List OAuth connections
Zyphr::AuthOAuthApi list_o_auth_providers GET /auth/oauth/providers List OAuth providers
Zyphr::AuthOAuthApi refresh_o_auth_tokens POST /auth/oauth/tokens/provider/refresh Refresh OAuth provider tokens
Zyphr::AuthPasswordResetApi forgot_password POST /auth/forgot-password Request a password reset
Zyphr::AuthPasswordResetApi reset_end_user_password POST /auth/reset-password Reset password
Zyphr::AuthPasswordResetApi validate_reset_token POST /auth/validate-reset-token Validate a password reset token
Zyphr::AuthPhoneApi check_phone_auth_availability GET /auth/phone/available Check phone auth availability
Zyphr::AuthPhoneApi send_phone_login_otp POST /auth/phone/login/send Send phone login OTP
Zyphr::AuthPhoneApi send_phone_registration_otp POST /auth/phone/register/send Send phone registration OTP
Zyphr::AuthPhoneApi verify_phone_login POST /auth/phone/login/verify Verify phone login OTP
Zyphr::AuthPhoneApi verify_phone_registration POST /auth/phone/register/verify Verify phone registration OTP
Zyphr::AuthRegistrationApi register_end_user POST /auth/users/register Register a new end user
Zyphr::AuthSessionsApi list_end_user_sessions GET /auth/sessions List active sessions
Zyphr::AuthSessionsApi refresh_end_user_token POST /auth/sessions/refresh Refresh access token
Zyphr::AuthSessionsApi revoke_all_end_user_sessions POST /auth/sessions/revoke-all Revoke all sessions
Zyphr::AuthSessionsApi revoke_end_user_session POST /auth/sessions/revoke Revoke a session
Zyphr::AuthUserProfileApi delete_end_user DELETE /auth/users/me Delete current end user account
Zyphr::AuthUserProfileApi get_end_user GET /auth/users/me Get current end user profile
Zyphr::AuthUserProfileApi update_end_user PATCH /auth/users/me Update current end user profile
Zyphr::AuthWebAuthnApi delete_web_authn_credential DELETE /auth/webauthn/credentials/id Delete a WebAuthn credential
Zyphr::AuthWebAuthnApi get_web_authn_status GET /auth/webauthn/status Get WebAuthn status
Zyphr::AuthWebAuthnApi list_web_authn_credentials GET /auth/webauthn/credentials List WebAuthn credentials
Zyphr::AuthWebAuthnApi rename_web_authn_credential PATCH /auth/webauthn/credentials/id Rename a WebAuthn credential
Zyphr::AuthWebAuthnApi start_web_authn_authentication POST /auth/webauthn/authentication/start Start WebAuthn authentication
Zyphr::AuthWebAuthnApi start_web_authn_registration POST /auth/webauthn/registration/start Start WebAuthn registration
Zyphr::AuthWebAuthnApi verify_web_authn_authentication POST /auth/webauthn/authentication/verify Verify WebAuthn authentication
Zyphr::AuthWebAuthnApi verify_web_authn_registration POST /auth/webauthn/registration/verify Verify WebAuthn registration
Zyphr::DevicesApi delete_device DELETE /devices/id Delete a device
Zyphr::DevicesApi delete_user_devices DELETE /devices/user/user_id Delete all devices for a user
Zyphr::DevicesApi get_device GET /devices/id Get device details
Zyphr::DevicesApi get_device_stats GET /devices/stats Get device statistics
Zyphr::DevicesApi list_devices GET /devices List devices
Zyphr::DevicesApi register_device POST /devices Register a device
Zyphr::EmailsApi get_email GET /emails/id Get email details
Zyphr::EmailsApi get_email_events GET /emails/id/events Get email events
Zyphr::EmailsApi get_email_tracking GET /emails/id/tracking Get email tracking stats
Zyphr::EmailsApi list_emails GET /emails List emails
Zyphr::EmailsApi send_batch_email POST /emails/batch Send batch emails
Zyphr::EmailsApi send_email POST /emails Send an email
Zyphr::InboxApi archive_inbox_notification POST /inbox/id/archive Archive a notification
Zyphr::InboxApi archive_subscriber_notification POST /subscriber-inbox/id/archive Archive a notification
Zyphr::InboxApi delete_inbox_notification DELETE /inbox/id Delete a notification
Zyphr::InboxApi delete_subscriber_notification DELETE /subscriber-inbox/id Delete a notification
Zyphr::InboxApi generate_subscriber_token POST /subscriber-inbox/token Generate a subscriber token
Zyphr::InboxApi get_inbox_notification GET /inbox/id Get a notification
Zyphr::InboxApi get_subscriber_inbox_preferences GET /subscriber-inbox/preferences Get subscriber preferences
Zyphr::InboxApi get_subscriber_notification GET /subscriber-inbox/id Get a notification
Zyphr::InboxApi get_subscriber_unread_count GET /subscriber-inbox/unread-count Get unread count
Zyphr::InboxApi get_unread_count GET /inbox/unread-count Get unread notification count
Zyphr::InboxApi list_all_inbox GET /inbox/all List all project notifications
Zyphr::InboxApi list_inbox GET /inbox List inbox notifications
Zyphr::InboxApi list_subscriber_notifications GET /subscriber-inbox List subscriber notifications
Zyphr::InboxApi mark_all_inbox_read POST /inbox/read-all Mark all notifications as read
Zyphr::InboxApi mark_all_subscriber_notifications_read POST /subscriber-inbox/read-all Mark all notifications as read
Zyphr::InboxApi mark_inbox_read POST /inbox/id/read Mark notification as read
Zyphr::InboxApi mark_subscriber_notification_read POST /subscriber-inbox/id/read Mark notification as read
Zyphr::InboxApi send_batch_in_app POST /inbox/send/batch Send batch in-app notifications
Zyphr::InboxApi send_in_app POST /inbox/send Send an in-app notification
Zyphr::InboxApi update_subscriber_preferences PUT /subscriber-inbox/preferences Update subscriber preferences
Zyphr::PushApi get_push GET /push/id Get push notification details
Zyphr::PushApi get_push_stats GET /push/stats Get push notification statistics
Zyphr::PushApi list_device_push_topics GET /push/devices/id/topics List topics for a device
Zyphr::PushApi list_push GET /push List push notifications
Zyphr::PushApi list_push_topic_devices GET /push/topics/key/devices List devices subscribed to a topic
Zyphr::PushApi send_push POST /push Send a push notification
Zyphr::PushApi send_push_to_topic POST /push/topics/key/send Send push notification to a topic
Zyphr::PushApi subscribe_push_topic POST /push/topics/key/subscribe Subscribe devices to a push topic
Zyphr::PushApi unsubscribe_push_topic POST /push/topics/key/unsubscribe Unsubscribe devices from a push topic
Zyphr::SMSApi delete_sms_config DELETE /sms/config Delete SMS configuration
Zyphr::SMSApi get_sms GET /sms/id Get SMS message details
Zyphr::SMSApi get_sms_config GET /sms/config Get SMS configuration
Zyphr::SMSApi list_sms GET /sms List SMS messages
Zyphr::SMSApi send_batch_sms POST /sms/batch Send batch SMS messages
Zyphr::SMSApi send_sms POST /sms Send an SMS message
Zyphr::SMSApi send_test_sms POST /sms/test Send a test SMS
Zyphr::SMSApi upsert_sms_config POST /sms/config Create or update SMS configuration
Zyphr::SMSApi verify_sms_config POST /sms/config/verify Verify SMS configuration
Zyphr::SubscribersApi create_category POST /subscribers/categories Create a notification category
Zyphr::SubscribersApi create_subscriber POST /subscribers Create or update a subscriber
Zyphr::SubscribersApi delete_category DELETE /subscribers/categories/id Delete a category
Zyphr::SubscribersApi delete_subscriber DELETE /subscribers/id Delete a subscriber
Zyphr::SubscribersApi get_category GET /subscribers/categories/idOrSlug Get a category by ID or slug
Zyphr::SubscribersApi get_subscriber GET /subscribers/id Get a subscriber by ID
Zyphr::SubscribersApi get_subscriber_by_external_id GET /subscribers/by-external-id/externalId Get subscriber by external ID
Zyphr::SubscribersApi get_subscriber_consent GET /subscribers/id/consent Get subscriber consent status
Zyphr::SubscribersApi get_subscriber_consent_history GET /subscribers/id/consent/history Get subscriber consent history
Zyphr::SubscribersApi get_subscriber_preferences GET /subscribers/id/preferences Get subscriber preferences
Zyphr::SubscribersApi get_subscriber_unsubscribes GET /subscribers/id/unsubscribes Get subscriber unsubscribes
Zyphr::SubscribersApi list_categories GET /subscribers/categories List notification categories
Zyphr::SubscribersApi list_subscribers GET /subscribers List subscribers
Zyphr::SubscribersApi record_subscriber_consent POST /subscribers/id/consent Record subscriber consent
Zyphr::SubscribersApi resubscribe_subscriber POST /subscribers/id/resubscribe Resubscribe to a channel
Zyphr::SubscribersApi set_subscriber_preferences PUT /subscribers/id/preferences Set subscriber preferences
Zyphr::SubscribersApi unsubscribe_subscriber POST /subscribers/id/unsubscribe Unsubscribe from a channel
Zyphr::SubscribersApi update_category PATCH /subscribers/categories/id Update a category
Zyphr::SubscribersApi update_subscriber PATCH /subscribers/id Update a subscriber
Zyphr::SubscribersApi withdraw_subscriber_consent DELETE /subscribers/id/consent Withdraw subscriber consent
Zyphr::TemplatesApi create_template POST /templates Create template
Zyphr::TemplatesApi delete_template DELETE /templates/id Delete template
Zyphr::TemplatesApi get_template GET /templates/id Get template
Zyphr::TemplatesApi list_templates GET /templates List templates
Zyphr::TemplatesApi render_template POST /templates/id/render Render template
Zyphr::TemplatesApi update_template PUT /templates/id Update template
Zyphr::TopicsApi add_topic_subscribers POST /topics/key/subscribers Add subscribers to a topic
Zyphr::TopicsApi create_topic POST /topics Create a new topic
Zyphr::TopicsApi delete_topic DELETE /topics/key Delete a topic
Zyphr::TopicsApi get_topic GET /topics/key Get a topic
Zyphr::TopicsApi get_topic_stats GET /topics/stats Get topic statistics
Zyphr::TopicsApi list_topic_subscribers GET /topics/key/subscribers List topic subscribers
Zyphr::TopicsApi list_topics GET /topics List topics
Zyphr::TopicsApi remove_topic_subscribers DELETE /topics/key/subscribers Remove subscribers from a topic
Zyphr::TopicsApi update_topic PATCH /topics/key Update a topic
Zyphr::UtilityApi get_password_requirements GET /auth/password-requirements Get password requirements
Zyphr::WaaSApplicationsApi create_waa_s_application POST /v1/waas/applications Create a WaaS application
Zyphr::WaaSApplicationsApi delete_waa_s_application DELETE /v1/waas/applications/appId Delete a WaaS application
Zyphr::WaaSApplicationsApi get_waa_s_application GET /v1/waas/applications/appId Get a WaaS application
Zyphr::WaaSApplicationsApi get_waa_s_usage GET /v1/waas/applications/appId/usage Get WaaS usage
Zyphr::WaaSApplicationsApi list_waa_s_applications GET /v1/waas/applications List WaaS applications
Zyphr::WaaSApplicationsApi update_waa_s_application PUT /v1/waas/applications/appId Update a WaaS application
Zyphr::WaaSDeliveriesApi get_waa_s_delivery GET /v1/waas/applications/appId/deliveries/deliveryId Get delivery detail
Zyphr::WaaSDeliveriesApi list_waa_s_deliveries GET /v1/waas/applications/appId/deliveries List deliveries
Zyphr::WaaSDeliveriesApi list_waa_s_endpoint_deliveries GET /v1/waas/applications/appId/endpoints/endpointId/deliveries List endpoint deliveries
Zyphr::WaaSDeliveriesApi retry_waa_s_delivery POST /v1/waas/applications/appId/deliveries/deliveryId/retry Retry a delivery
Zyphr::WaaSEndpointsApi close_waa_s_endpoint_circuit POST /v1/waas/applications/appId/endpoints/endpointId/circuit/close Force-close circuit breaker
Zyphr::WaaSEndpointsApi create_waa_s_endpoint POST /v1/waas/applications/appId/endpoints Create a tenant endpoint
Zyphr::WaaSEndpointsApi delete_waa_s_endpoint DELETE /v1/waas/applications/appId/endpoints/endpointId Delete an endpoint
Zyphr::WaaSEndpointsApi get_waa_s_endpoint GET /v1/waas/applications/appId/endpoints/endpointId Get an endpoint
Zyphr::WaaSEndpointsApi get_waa_s_endpoint_circuit GET /v1/waas/applications/appId/endpoints/endpointId/circuit Get circuit breaker state
Zyphr::WaaSEndpointsApi get_waa_s_endpoint_metrics GET /v1/waas/applications/appId/endpoints/endpointId/metrics Get endpoint metrics
Zyphr::WaaSEndpointsApi list_waa_s_endpoints GET /v1/waas/applications/appId/endpoints List tenant endpoints
Zyphr::WaaSEndpointsApi rotate_waa_s_endpoint_secret POST /v1/waas/applications/appId/endpoints/endpointId/rotate-secret Rotate endpoint secret
Zyphr::WaaSEndpointsApi update_waa_s_endpoint PUT /v1/waas/applications/appId/endpoints/endpointId Update an endpoint
Zyphr::WaaSEventTypesApi create_waa_s_event_type POST /v1/waas/applications/appId/event-types Register an event type
Zyphr::WaaSEventTypesApi delete_waa_s_event_type DELETE /v1/waas/applications/appId/event-types/eventTypeId Delete an event type
Zyphr::WaaSEventTypesApi deprecate_waa_s_event_type POST /v1/waas/applications/appId/event-types/eventTypeId/deprecate Deprecate an event type
Zyphr::WaaSEventTypesApi get_waa_s_event_type GET /v1/waas/applications/appId/event-types/eventTypeId Get an event type
Zyphr::WaaSEventTypesApi list_waa_s_event_types GET /v1/waas/applications/appId/event-types List event types
Zyphr::WaaSEventTypesApi update_waa_s_event_type PUT /v1/waas/applications/appId/event-types/eventTypeId Update an event type
Zyphr::WaaSEventsApi batch_publish_waa_s_events POST /v1/waas/applications/appId/events/batch Batch publish events
Zyphr::WaaSEventsApi publish_waa_s_event POST /v1/waas/applications/appId/events Publish an event
Zyphr::WaaSPortalApi generate_waa_s_portal_token POST /v1/waas/applications/appId/portal/token Generate portal token
Zyphr::WebhooksApi bulk_retry_webhook_deliveries POST /v1/webhooks/id/deliveries/bulk-retry Bulk retry failed deliveries
Zyphr::WebhooksApi close_webhook_circuit POST /v1/webhooks/id/circuit/close Force close circuit breaker
Zyphr::WebhooksApi create_webhook POST /v1/webhooks Create webhook
Zyphr::WebhooksApi delete_webhook DELETE /v1/webhooks/id Delete webhook
Zyphr::WebhooksApi get_account_webhook_metrics GET /v1/webhooks/metrics Get account webhook metrics
Zyphr::WebhooksApi get_webhook GET /v1/webhooks/id Get webhook
Zyphr::WebhooksApi get_webhook_circuit_state GET /v1/webhooks/id/circuit Get circuit breaker state
Zyphr::WebhooksApi get_webhook_delivery GET /v1/webhooks/id/deliveries/deliveryId Get webhook delivery details
Zyphr::WebhooksApi get_webhook_ips GET /v1/webhooks/ips Get static webhook IPs
Zyphr::WebhooksApi get_webhook_job GET /v1/webhooks/jobs/jobId Get replay/retry job status
Zyphr::WebhooksApi get_webhook_metrics GET /v1/webhooks/id/metrics Get webhook health metrics
Zyphr::WebhooksApi get_webhook_regions GET /v1/webhooks/regions Get available webhook regions
Zyphr::WebhooksApi get_webhook_usage GET /v1/webhooks/usage Get webhook usage metrics
Zyphr::WebhooksApi list_webhook_deliveries GET /v1/webhooks/id/deliveries List webhook deliveries
Zyphr::WebhooksApi list_webhook_event_types GET /v1/webhooks/events List webhook event types
Zyphr::WebhooksApi list_webhook_versions GET /v1/webhooks/versions List webhook API versions
Zyphr::WebhooksApi list_webhooks GET /v1/webhooks List webhooks
Zyphr::WebhooksApi replay_webhook_events POST /v1/webhooks/id/replay Replay webhook events
Zyphr::WebhooksApi retry_webhook_delivery POST /v1/webhooks/id/deliveries/deliveryId/retry Retry webhook delivery
Zyphr::WebhooksApi rotate_webhook_secret POST /v1/webhooks/id/rotate-secret Rotate webhook secret
Zyphr::WebhooksApi send_webhook_test_event POST /v1/webhooks/id/test Send test event
Zyphr::WebhooksApi test_webhook_transform POST /v1/webhooks/id/transform/test Test payload transformation
Zyphr::WebhooksApi update_webhook PUT /v1/webhooks/id Update webhook

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

ApiKeyAuth

  • Type: API key
  • API key parameter name: X-API-Key
  • Location: HTTP header

ApplicationPublicKey

  • Type: API key
  • API key parameter name: X-Application-Key
  • Location: HTTP header

ApplicationSecret

  • Type: API key
  • API key parameter name: X-Application-Secret
  • Location: HTTP header

EndUserToken

  • Type: Bearer authentication (JWT)

AdminAuth

  • Type: Bearer authentication (JWT)

DashboardAuth

  • Type: Bearer authentication (JWT)