Setup

One install line, one wrapper, and anonymous latency plus error-shape telemetry flows to ingest. You get live crowd benchmarks—Stripe, LLM hosts, telecom APIs—minutes later, without vendoring uptime theater.

Privacy boundary: pathname-only endpoints where URLs matter, hashed project IDs by default, and no request or response bodies in flight.

1. Choose your language

@reliablydev/sdk on npm · zero runtime dependencies

Wrap Stripe, OpenAI, and other typed clients—or call monitor() once to observe fetch and outgoing Node HTTP. Pathname-only outbound URLs; no bodies or signup.

  • Deep wrap() proxies keep your call sites unchanged.
  • Optional monitor() batches anonymous latency + HTTP status.
  • Default ingest: ingest.reliably.sh — benchmarks update from all installs collectively.

2. Install

npm install @reliablydev/sdk

3. Wrap your API clients

import { reliably } from '@reliablydev/sdk'

const stripe = reliably.wrap(new Stripe(process.env.STRIPE_SECRET_KEY))

// Same API surface — calls are timed and summarized anonymously.
const charge = await stripe.charges.create({ amount: 2000, currency: 'usd' })

Ship it: no signup is required—the SDK mints an anonymous project ID unless you attach one below. Telemetry is fire-and-forget; ingest failures never throw into your handlers.

4. Optional: claim your project

Create an account later to overlay your percentile curves on the global grid, wire alert rules (free tier), and reuse the same project ID across services.

import { Reliably } from '@reliablydev/sdk'

const r = new Reliably({ projectId: 'proj_your_id' })
const stripe = r.wrap(new Stripe(process.env.STRIPE_SECRET_KEY))