Apollo Signal API Ruby SDK
Ruby client for the Apollo Signal API API.
Generated by Tesseract. Generated source files should not be edited manually.
Installation
gem 'apollo-deploy-signal-sdk-rails'
bundle install
Quick start
require 'apollo-deploy-signal-sdk-rails'
client = ApolloDeploySignalSdkRails::Client.new(
base_url: "https://api.signal.apollodeploy.com",
timeout: 15
)
api = client.emails
Configuration and reliability
The transport provides bounded timeouts, exponential-backoff retries, rate-limit handling, default headers, and structured SDKError values. Unsafe requests are retried only when explicitly enabled or made idempotent.
client = ApolloDeploySignalSdkRails::Client.new(
timeout: 30,
retries: {
attempts: 3,
backoff: 0.4,
jitter: true,
max_backoff: 30.0
},
default_headers: { 'X-Application' => 'my-service' }
)
Documentation
| Domain | Description |
|---|---|
| Emails | emails operations |
| Metrics | metrics operations |
| Suppressions | suppressions operations |
| Segments | segments operations |
| Topics | topics operations |
| ContactProperties | contactProperties operations |
| Contacts | contacts operations |
| Webhooks | webhooks operations |
| ApiKeys | apiKeys operations |
| Projects | projects operations |
| SendingDomains | sendingDomains operations |
Error handling
begin
# Call a domain operation.
rescue ApolloDeploySignalSdkRails::SDKError => error
warn "#{error.status} #{error.code} request=#{error.request_id}"
raise
end
License
MIT
Rails integration
The gem registers ApolloDeploySignalSdkRails::Railtie. Configure it from the Rails
application and resolve a fresh client when needed:
# config/environments/production.rb
config.apollo_deploy_signal_sdk_rails.base_url = ENV.fetch("apollo_deploy_signal_sdk_rails_BASE_URL")
# application code
client = ApolloDeploySignalSdkRails.rails_client
The Railtie applies configuration after Rails configuration initializers load.