Sample data. These figures are not a customer bill.Learn more
parezenparezen
Northwind AI
Scale · Sample · cloud
Home
  • Get startedSoon
  • Audits
  • Overview
Analyse
  • Spend
  • Cost per task
  • Agents
  • Model comparisonSoon
  • Budgets
  • AlertsSoon
  • Reports
  • PR cost checksSoon
  • AdvisorsSoon
  • Spend analysis
Optimise
  • RecommendationsSoon
  • Routing policiesSoon
  • Shadow testsSoon
  • CachingSoon
  • TrimmingSoon
  • BatchSoon
  • Waste detectorSoon
Gateway
  • SetupSoon
  • ProvidersSoon
  • ModelsSoon
  • API keysSoon
  • DeploymentsSoon
  • PlaygroundSoon
  • LogsSoon
Savings & billing
  • Savings history
  • Savings ledger
  • Bill match
  • Billing
  • Invoices
Settings
  • Data & privacySoon
  • OrganisationSoon
  • ProjectsSoon
  • TeamSoon
  • RolesSoon
  • SSOSoon
  • Audit logSoon
Plan: Scale · Sample ↗
DocsHelp

Sample data. Not a customer bill.

Northwind AI/Choose a setup path/Hosted Quickstart wizard

Hosted Quickstart wizard

Planned

For startups: project, pz_ key, provider keys, one-line base URL change and a test request.

View
Hosted gateway
$ npm install openai
installed openai
$ import OpenAI from "openai";
$
$ const client = new OpenAI({
$ baseURL: "https://api.parezen.com/v1",
$ apiKey: process.env.PAREZEN_API_KEY, // pz_ key. Project and environment come from this key.
$ defaultHeaders: {
$ "X-Parezen-Route": "support-reply",
$ "X-Parezen-Task": "ticket_resolved",
$ },
$ });
$
$ await client.chat.completions.create({
$ model: "anthropic/claude-sonnet-4.5",
$ messages: [{ role: "user", content: "Summarise the latest customer ticket." }],
$ });
200 · first request · metadata only
Hosted Quickstart for startups
Test Parezen by changing one line: point the OpenAI SDK at https://api.parezen.com/v1 with a pz_ key. Parezen runs the gateway, you bring your own provider keys, and there is no token markup. A free trial, then a paid add-on priced above running the gateway yourself. You can move to your own gateway later without losing policies or savings history. Not live yet: it opens once encrypted key storage, TLS on every hop and rate limiting ship.

Existing projects: Support bot, Inbox copilot, Eval lab.

If Parezen is unavailable

Example only
Node
// Example only. Bypassed calls are not routed, recorded or budget-checked. Do not bypass a budget hard stop.
import OpenAI from "openai";

const viaParezen = new OpenAI({
  baseURL: "https://api.parezen.com/v1",
  apiKey: process.env.PAREZEN_API_KEY,
  timeout: 10_000,
  maxRetries: 0,
});
const direct = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

export async function chat(params) {
  try {
    return await viaParezen.chat.completions.create(params);
  } catch (err) {
    const parezenDown = err instanceof OpenAI.APIConnectionError || (err.status ?? 0) >= 500;
    if (!parezenDown) throw err; // a 4xx, including a budget hard stop, must not be bypassed
    return direct.chat.completions.create(params);
  }
}
Python
# Example only. Bypassed calls are not routed, recorded or budget-checked. Do not bypass a budget hard stop.
import os
import openai
from openai import OpenAI

via_parezen = OpenAI(
    base_url="https://api.parezen.com/v1",
    api_key=os.environ["PAREZEN_API_KEY"],
    timeout=10,
    max_retries=0,
)
direct = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

def chat(**params):
    try:
        return via_parezen.chat.completions.create(**params)
    except (openai.APIConnectionError, openai.InternalServerError):
        return direct.chat.completions.create(**params)

Example only. Bypassed calls are not routed, recorded in the ledger or budget-checked. Do not bypass a 4xx. A budget hard stop must hold. Billing never returns an error on production traffic.