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.