Test Your Setup
Verify your Observyze integration in seconds
Paste your Observyze API key below and run a quick diagnostic. We'll check that your key works, your account is active, provider keys are configured, and that traces flow end-to-end — then tell you exactly what to fix if anything is wrong.
Your key is sent only to api.observyze.com for validation — never stored or logged.
Picking a provider checks whether that specific provider key is configured.
Choose Your Integration Mode
Observyze supports two distinct integration paths depending on your infrastructure requirements, control needs, and network topologies.
Direct SDK Telemetry
Out-of-band telemetry stream
- Multi-Span Traces: Instrument agent loops, RAG retrievals, vector search, and tool executions
- Local Token Controls: Enforce in-process budget caps before provider dispatches
- Zero Routing Changes: Maintain existing VPC, private endpoints, or custom provider connections
npm i @observyze/sdkRuntime Proxy Gateway
Managed AI gateway & runtime control
baseURL change). Telemetry, guardrails, and circuit breakers execute inline.- Pre-Dispatch Guardrails: Block prompt injections and policy violations with HTTP 403 before hitting providers
- Centralized BYOK Vault: Secure API keys with AES-256-GCM encryption with automatic rotation
- Distributed Circuit Breakers: Auto-trip on consecutive provider rate limits or downstream outages
baseURL: https://api.observyze.com...Feature & Control Matrix
| Platform Capability | Path A · SDK Telemetry | Path B · Proxy Gateway |
|---|---|---|
| Distributed Traces & Spans | Full span waterfalls | Provider-level traces |
| Token & Spend Accounting | Token & USD tracking | Token & USD tracking |
| Direct Calling (Observyze outside provider request path) | Yes (Telemetry separate) | No (Routed via Gateway) |
| Pre-Dispatch Injection Blocking | Post-hoc evaluation | Inline HTTP 403 Interception |
| Centralized BYOK Key Vault | Managed in your app env | AES-256-GCM Vault |
| Distributed Circuit Breaker | In-process local limiter | Redis Cluster State |
| Asynchronous Hallucination Evals | Supported | Supported |
Verify the integration inside YOUR code
The checks above validate your account. These steps prove your actual SDK or proxy setup is capturing traces — run them from your own app.
import { ObservyzeClient, wrapOpenAI } from '@observyze/sdk'
import OpenAI from 'openai'
// 1. Your existing Observyze client (same config as production)
const nw = new ObservyzeClient({
apiKey: process.env.OBSERVYZE_API_KEY,
endpoint: 'https://api.observyze.com', // <- must match your production endpoint
})
// 2. Your wrapped provider (the integration you want to verify)
const openai = wrapOpenAI(new OpenAI({ apiKey: process.env.OPENAI_API_KEY }), nw)
// 3. Run the connection test — sends a real trace through the SAME pipeline
const result = await nw.testConnection()
console.log(result)
// { ok: true, traceId: 'nw_xxx', message: 'Connection successful...' }
// If ok: true -> your SDK integration works. Find the trace in Dashboard → Traces.
// If ok: false -> result.message tells you exactly what's wrong (key, endpoint, etc.).testConnection(), search your dashboard for "Observyze Connection Test". If the trace appears, your SDK wrap is wired up correctly. It uses the same endpoint and apiKey your wrapped clients use.# Run from your server. Replace the key + model as needed.
curl -X POST "https://api.observyze.com/api/v1/proxy/openai/v1/chat/completions" \
-H "Authorization: Bearer $OBSERVYZE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Ping"}]
}'
# The response headers include x-obs-trace-id — search that ID in
# Dashboard → Traces to confirm the proxy captured the call.x-obs-trace-id header — search that ID in your dashboard to confirm the proxy path captured the call. This proves your baseURL change is routing through Observyze.Need a walkthrough first?
Read the Getting Started guide for step-by-step instructions on generating keys, adding provider keys, and connecting your SDK. The Error Handling section explains every error code you might see.