Documentation

AI spend under control.
Finally.

CapHound gives FinOps teams the attribution, enforcement, and audit trail they need to govern AI spend — without slowing down engineering.

What you get

CapHound sits between your applications and LLM providers. Every request is intercepted, attributed, and checked against your budgets — before the token is spent.

Know exactly what's driving cost

Break down every dollar of AI spend by product feature, engineering team, and customer — not just a total line item from your cloud bill.

Set budgets that actually enforce

Configure spend limits per feature or team. When a limit is hit, CapHound blocks the request before the token is spent — not after your bill arrives.

Full audit trail for governance

Every enforcement decision is logged — which policy triggered, which request was blocked, who owns the budget. Finance and compliance have the documentation they need.


How it works

Engineering adds four lines of config. Everything else — attribution, budgets, enforcement, reporting — is handled by CapHound.

Your app

LLM API call

+ attribution tags

CapHound Gateway

Budget check

enforce or pass through

LLM Provider

OpenAI · Anthropic

Gemini · Bedrock · more

AttributionCost logged by feature, team, customer
EnforcementBudget limits checked before the call
Audit trailEvery decision logged for compliance
Costs appear in the Control Center within 30 seconds of the first request. No configuration, no pipeline setup.

Integration

Send this to your developer. It is the only change required.

Swap the base URL, add the CapHound key, and tag each call with the feature, team, and customer driving it. No other code changes.

index.tsNode / TypeScript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: "https://api.caphound.ai/v1/openai",
  defaultHeaders: {
    "X-CapHound-Key":      process.env.CAPHOUND_KEY,
    "X-CapHound-Feature":  "image-search",
    "X-CapHound-Team":     "growth",
    "X-CapHound-Customer": customerId,
  },
});

// Everything else stays the same
const response = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: prompt }]
});
main.pyPython
import openai

client = openai.OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
    base_url="https://api.caphound.ai/v1/openai",
    default_headers={
        "X-CapHound-Key":      os.environ["CAPHOUND_KEY"],
        "X-CapHound-Feature":  "image-search",
        "X-CapHound-Team":     "growth",
        "X-CapHound-Customer": customer_id,
    },
)

# Everything else stays the same
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": prompt}]
)

Attribution headers

HeaderRequiredWhat it controls in CapHound
X-CapHound-KeyYesYour workspace API key.
X-CapHound-FeatureYesProduct feature making the call. Missing → tagged "untagged", warning fires.
X-CapHound-TeamOptionalEngineering team. Used for team budgets and chargeback.
X-CapHound-CustomerOptionalCustomer identifier. Enables per-customer cost tracking.
X-CapHound-EnvOptionalDeployment environment. Defaults to "production".

Providers

Six providers tracked in one view. Switch providers or run multiple — your FinOps dashboard shows a single unified spend picture.

ProviderRouteKey models
OpenAIapi.caphound.ai/v1/openaigpt-4o, gpt-4-turbo, gpt-3.5-turbo
Anthropicapi.caphound.ai/v1/anthropicclaude-3-5-sonnet, claude-3-opus, claude-3-haiku
Google Geminiapi.caphound.ai/v1/googlegemini-1.5-pro, gemini-1.5-flash
Azure OpenAIapi.caphound.ai/v1/azuregpt-4o, gpt-4-turbo (via deployment name)
AWS Bedrockapi.caphound.ai/v1/bedrockclaude-3-5-sonnet, llama-3, titan-text
Google Vertex AIapi.caphound.ai/v1/vertexgemini-1.5-pro, claude-3-5-sonnet

Pricing is verified weekly against each provider. Cache token costs (Anthropic prompt caching, OpenAI cached input) are tracked separately.


Budgets

Set limits at any scope. When a team hits their budget, CapHound blocks the next request — before the cost is incurred. Finance gets an alert. Engineering gets a 429. Nothing slips through.

Warn

Alert fires to engineering and finance. Requests continue. Available on all plans.

Block

Requests are rejected with 429 until finance approves an override. Starter+ plans.

Budget scopes

Workspace

All AI spend across every feature and team

Feature

A single product feature (e.g. image-search)

Team

All spend owned by an engineering team

Customer

Per-customer spend for chargeback

Create and manage budgets in the Control Center, or via API:

create a budgetcurl
curl -X POST "https://api.caphound.ai/api/v1/workspaces/{id}/budgets" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name":    "Image search — monthly",
    "scope":   "feature",
    "feature": "image-search",
    "amount":  5000,
    "period":  "monthly",
    "action":  "block"
  }'

See your AI spend in the Control Center.

Free tier tracks up to $5K/month. No credit card. Your costs appear within 30 seconds of the first request.