Apollo Signal API Elixir SDK
Generated Elixir client for the Apollo Signal API API.
See the generated documentation index for domains, operations, and types.
This Mix library uses Req for HTTP and Jason for JSON. Configure
base_url, timeout_ms, max_retries, retry_unsafe_requests, and credentials when
constructing the client. Retries are bounded, only safe methods are retried by default,
Retry-After is honored, and unsafe retries require either an explicit option or an
idempotency_key.
client = ApolloSignal.new(
base_url: "https://api.signal.apollodeploy.com",
timeout_ms: 5_000,
max_retries: 3
)
api = ApolloSignal.Client.emails(client)
Each API group is available through ApolloSignal.Client.<group>/1, and every operation is
also available as a direct function on ApolloSignal.Client. Successful JSON operations
return {:ok, value, metadata}; void operations return {:ok, metadata}; failures return
{:error, %ApolloSignal.Errors{}} with status, response headers/body, and request ID metadata.
SSE operations return {:ok, stream}. The stream is an Enumerable of typed
ApolloSignal.Transport.SSEEvent values and carries response metadata:
{:ok, stream} = ApolloSignal.Client.emails(client).stream_email_events()
Enum.each(stream, fn event -> IO.inspect(event.data) end)
metadata = ApolloSignal.Transport.SSEStream.metadata(stream)