PageSourceSearch

https://superpenguin.ai/docs

html superpenguin.ai collected 2026-10-05 12:42:43 UTC 88,137 bytes, 12 lines download raw bytes

1<!DOCTYPE html><html data-dpl-id="dpl_3hw8rMHsQpMJ5dXWK1T9gLH3B1Ff" lang="en" class="dm_sans_f65b9734-module__rAqehG__variable inter_bc220a90-module__m5YftW__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/immutable/media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/immutable/media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/immutable/chunks/286ymioc81bp4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/immutable/chunks/45an71_fdfq0l.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/immutable/chunks/2zqsbm8s85161.js"/>
1<script src="/_next/static/immutable/chunks/0i3qf0zh14s38.js" async=""></script>
1<script src="/_next/static/immutable/chunks/00s6sewy29bm3.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0k2juo6t7z4nt.js" async=""></script>
1<script src="/_next/static/immutable/chunks/turbopack-30mnyy04-vg4o.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1ojvlny8knf2v.js" async=""></script>
1<script src="/_next/static/immutable/chunks/13d3qz1v-6-i_.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1jjqyj-rgoo-9.js" async=""></script>
1<script src="/_next/static/immutable/chunks/14910es27ocur.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0w1rro8mrefe4.js" async=""></script>
1<script src="/_next/static/immutable/chunks/18d5ewm1hz9jp.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0alw3bsti3p6i.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0ifsh6bsxnmlr.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0x-9rc1bm-510.js" async=""></script>
1<script src="/_next/static/immutable/chunks/35dfk17eo5kcf.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0_0y2tog15ke1.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0qzx161xnv8bj.js" async=""></script>
1<script src="/_next/static/immutable/chunks/28iia9dosk1-q.js" async=""></script>
1<script src="/_next/static/immutable/chunks/35_hgo4__qbu9.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3birxmgfwfuoi.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3gy_s128gm001.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2lt7o0sm7_am1.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1ui2vvmzhgsn9.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0p78mg1xnb9k4.js" async=""></script>
1<script src="/_next/static/immutable/chunks/34_igdxaxakt5.js" async=""></script>
1<title>SuperPenguin documentation</title><meta name="description" content="Track and attribute AI spend with the SuperPenguin SDKs, or implement the Provider Billing API."/><meta name="application-name" content="SuperPenguin"/><meta name="author" content="SuperPenguin"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="keywords" content="AI cost management,AI spend intelligence,LLM cost tracking,OpenAI cost dashboard,Anthropic cost tracking,Gemini cost tracking,Google Gemini cost dashboard,AWS Bedrock cost tracking,Deepgram cost tracking,ElevenLabs cost tracking,LiveKit cost tracking,Vercel AI Gateway cost tracking,LiteLLM cost tracking,Cursor cost tracking,Cursor PR cost attribution,engineering AI ROI,AI spend attribution,LLM observability,AI billing,prompt cost analytics,GPT cost monitoring,Claude cost monitoring,Gemini cost monitoring"/><meta name="creator" content="SuperPenguin"/><meta name="publisher" content="SuperPenguin"/><meta name="robots" content="index, follow"/><link rel="canonical" href="https://superpenguin.ai/docs"/><meta property="og:title" content="SuperPenguin documentation"/><meta property="og:description" content="Track and attribute AI spend with the SuperPenguin SDKs, or implement the Provider Billing API."/><meta property="og:url" content="https://superpenguin.ai/docs"/><meta property="og:type" content="article"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@superpenguin_ai"/><meta name="twitter:creator" content="@superpenguin_ai"/><meta name="twitter:title" content="Know where every AI dollar goes"/><meta name="twitter:description" content="AI spend intelligence for teams building with LLMs and voice. Attribute spend by customer, feature, team, and prompt version, and Cursor spend by PR."/><meta name="twitter:image" content="https://superpenguin.ai/twitter-image?09d91a05a6cc2400"/><meta name="twitter:image:alt" content="AI cost management dashboard showing per-request spend tracking"/><meta name="twitter:image:type" content="image/png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/icon.svg?icon.0uugvyrdfq-gz.svg" sizes="any" type="image/svg+xml"/><meta name="next-size-adjust" content=""/>
1<script src="/_next/static/immutable/chunks/0c0hxoamwjsbw.js" noModule=""></script>
1</head><body class="min-h-full flex flex-col"><div hidden=""><!--$--><!--/$--></div><!--$--><div class="bg-fd-secondary/50 p-3 empty:hidden"></div><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
1<script id="ph-heatmap-iframe">try{if(window.self!==window.top)document.documentElement.classList.add("ph-heatmap-iframe")}catch(e){document.documentElement.classList.add("ph-heatmap-iframe")}</script>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
1<div class="docs-portal min-h-screen"><div id="nd-docs-layout" data-sidebar-collapsed="false" data-column-changed="false" style="grid-template:&quot;sidebar sidebar header toc toc&quot;
2&quot;sidebar sidebar toc-popover toc toc&quot;
3&quot;sidebar sidebar main toc toc&quot; 1fr / minmax(min-content, 1fr) var(--fd-sidebar-col) minmax(0, calc(var(--fd-layout-width,97rem) - var(--fd-sidebar-width) - var(--fd-toc-width))) var(--fd-toc-width) minmax(min-content, 1fr);--fd-docs-row-1:var(--fd-banner-height, 0px);--fd-docs-row-2:calc(var(--fd-docs-row-1) + var(--fd-header-height));--fd-docs-row-3:calc(var(--fd-docs-row-2) + var(--fd-toc-popover-height));--fd-sidebar-col:var(--fd-sidebar-width)" class="grid overflow-x-clip min-h-(--fd-docs-height) [--fd-docs-height:100dvh] [--fd-header-height:0px] [--fd-toc-popover-height:0px] [--fd-sidebar-width:0px] [--fd-toc-width:0px] data-[column-changed=true]:transition-[grid-template-columns]"><header id="nd-subnav" data-transparent="false" class="[grid-area:header] sticky top-(--fd-docs-row-1) z-30 flex items-center ps-4 pe-2.5 border-b transition-colors backdrop-blur-sm h-(--fd-header-height) md:hidden max-md:layout:[--fd-header-height:--spacing(14)] data-[transparent=false]:bg-fd-background/80"><a class="inline-flex items-center gap-2.5 font-semibold" href="/docs"><span class="flex items-center gap-2 font-semibold tracking-tight"><span aria-hidden="true" class="size-2.5 rounded-full bg-amber-400 ring-4 ring-amber-400/15"></span>SuperPenguin Docs</span></a><div class="flex-1"></div><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground [&amp;_svg]:size-4.5 p-2" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></button><button type="button" aria-label="Open Sidebar" aria-expanded="false" aria-controls="nd-sidebar-mobile" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground [&amp;_svg]:size-4.5 p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></header><div data-sidebar-placeholder="" class="sticky top-(--fd-docs-row-1) z-20 [grid-area:sidebar] pointer-events-none *:pointer-events-auto h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))] md:layout:[--fd-sidebar-width:268px] max-md:hidden"><aside id="nd-sidebar" data-collapsed="false" data-hovered="false" class="absolute flex flex-col w-full inset-s-0 inset-y-0 items-end bg-fd-card text-sm border-e duration-250 *:w-(--fd-sidebar-width)"><div class="flex flex-col gap-3 p-4 pb-2"><div class="flex"><a class="inline-flex text-[0.9375rem] items-center gap-2.5 font-medium me-auto" href="/docs"><span class="flex items-center gap-2 font-semibold tracking-tight"><span aria-hidden="true" class="size-2.5 rounded-full bg-amber-400 ring-4 ring-amber-400/15"></span>SuperPenguin Docs</span></a><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&amp;_svg]:size-4.5 mb-auto text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></div><button type="button" data-search-full="" class="inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search size-4" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg>Search<div class="ms-auto inline-flex gap-0.5"><kbd class="rounded-md border bg-fd-background px-1.5">⌘</kbd><kbd class="rounded-md border bg-fd-background px-1.5">K</kbd></div></button></div><div dir="ltr" class="overflow-hidden min-h-0 flex-1" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] *:flex! *:flex-col! *:gap-0.5! p-4 overscroll-contain mask-[linear-gradient(to_bottom,transparent,white_12px,white_calc(100%-12px),transparent)]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><a href="https://superpenguin.ai" rel="noreferrer noopener" target="_blank" data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
3/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link" aria-hidden="true"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>Website</a><a href="https://app.superpenguin.ai" rel="noreferrer noopener" target="_blank" data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors mb-4" style="padding-inline-start:calc(2 * var(--spacing))"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link" aria-hidden="true"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>Open dashboard</a><a data-active="true" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs">SuperPenguin documentation</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/mcp">Connect an AI agent</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/agent-api">Agent API</a><div data-state="closed"><button type="button" aria-expanded="false" data-state="closed" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">Company Setup<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90 rtl:rotate-90" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_4kqal9flb_" hidden="" class="overflow-hidden relative before:content-[&#x27;&#x27;] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"></div></div><div data-state="closed"><button type="button" aria-expanded="false" data-state="closed" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
3/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">Getting Started<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90 rtl:rotate-90" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_5kqal9flb_" hidden="" class="overflow-hidden relative before:content-[&#x27;&#x27;] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"></div></div><div data-state="closed"><button type="button" aria-expanded="false" data-state="closed" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">Hosted OpenTelemetry<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90 rtl:rotate-90" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_6kqal9flb_" hidden="" class="overflow-hidden relative before:content-[&#x27;&#x27;] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"></div></div><div data-state="closed"><button type="button" aria-expanded="false" data-state="closed" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">SDKs<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90 rtl:rotate-90" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_7kqal9flb_" hidden="" class="overflow-hidden relative before:content-[&#x27;&#x27;] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"></div></div><div data-state="closed"><button type="button" aria-expanded="false" data-state="closed" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">Concepts<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90 rtl:rotate-90" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_8kqal9flb_" hidden="" class="overflow-hidden relative before:content-[&#x27;&#x27;] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"></div></div><div data-state="closed"><button type="button" aria-expanded="false" data-state="closed" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">Provider Integrations<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90 rtl:rotate-90" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_9kqal9flb_" hidden="" class="overflow-hidden relative before:content-[&#x27;&#x27;] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"></div></div><div data-state="closed"><button type="button" aria-expanded="false" data-state="closed" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
3/80 hover:transition-none w-full" style="padding-inline-start:calc(2 * var(--spacing))">Provider Billing API Reference<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90 rtl:rotate-90" aria-hidden="true" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_akqal9flb_" hidden="" class="overflow-hidden relative before:content-[&#x27;&#x27;] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5"></div></div><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/troubleshooting">Troubleshooting</a></div></div></div><div class="flex flex-col p-4 pt-2"><div class="flex text-fd-muted-foreground items-center border bg-fd-secondary/50 p-0.5 pe-0 rounded-lg empty:hidden"><button class="inline-flex items-center border p-1 overflow-hidden px-1 py-0 border-y-0 border-e-0 rounded-none ms-auto *:rounded-md" aria-label="Toggle Theme" data-theme-toggle=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-6.5 p-1.5 text-fd-muted-foreground" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-6.5 p-1.5 text-fd-muted-foreground" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></button></div></div></aside></div><div data-sidebar-panel="" class="fixed flex top-[calc(--spacing(4)+var(--fd-docs-row-3))] inset-s-4 shadow-lg transition-opacity rounded-xl p-0.5 border bg-fd-muted text-fd-muted-foreground z-10 pointer-events-none opacity-0"><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center justify-center text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&amp;_svg]:size-4.5 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button><button type="button" class="inline-flex items-center justify-center text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&amp;_svg]:size-4.5 rounded-lg" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></button></div><div data-state="closed" data-toc-popover="" class="sticky top-(--fd-docs-row-2) z-10 [grid-area:toc-popover] h-(--fd-toc-popover-height) xl:hidden max-xl:layout:[--fd-toc-popover-height:--spacing(10)]"><header class="border-b backdrop-blur-sm transition-colors bg-fd-background/80"><button type="button" aria-expanded="false" data-state="closed" class="flex w-full h-10 items-center text-sm text-fd-muted-foreground gap-2.5 px-4 py-2.5 text-start focus-visible:outline-none [&amp;_svg]:size-4 md:px-6" data-toc-popover-trigger=""><svg role="progressbar" viewBox="0 0 18 18" aria-valuenow="0" aria-valuemin="0" aria-valuemax="1" style="width:18px;height:18px" class="shrink-0"><circle cx="9" cy="9" r="7.5" fill="none" stroke-width="1.5" class="stroke-current/25"></circle><circle cx="9" cy="9" r="7.5" fill="none" stroke-width="1.5" stroke="currentColor" stroke-dasharray="47.12388980384689" stroke-dashoffset="47.12388980384689" stroke-linecap="round" transform="rotate(-90 9 9)" class="transition-all"></circle></svg><span class="grid flex-1 *:my-auto *:row-start-1 *:col-start-1"><span class="truncate transition-[opacity,translate,color]">SuperPenguin documentation</span><span class="truncate transition-[opacity,translate] opacity-0 translate-y-full pointer-events-none"></span></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down shrink-0 transition-transform mx-0.5" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_lfiv59flb_" hidden="" data-toc-popover-content="" class="overflow-hidden"></div></header></div><article id="nd-page" data-full="false" class="flex flex-col w-full max-w-[900px] mx-auto [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14"><h1 class="text-[1.75em] font-semibold">SuperPenguin documentation</h1><p class="mb-8 text-lg text-fd-muted-foreground">Track and attribute AI spend with the SuperPenguin SDKs, or implement the Provider Billing API.</p><div class="prose flex-1 dark:prose-invert"><p>SuperPenguin gives developers one place to track AI cost per request, attribute spend to customers and features, and reconcile SDK estimates against provider invoices.</p>
4<p><strong>SuperPenguin observes SDK calls directly.</strong> Your traffic goes straight to the provider. The SDK is not a proxy.</p>
5<h2 id="start-here" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#start-here">Start here</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&amp;_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2>
6<div class="grid grid-cols-2 gap-3 @container"><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/mcp"><h3 class="not-prose mb-1 text-sm font-medium">Connect an AI agent</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Ask Claude Code, Cursor, ChatGPT, or another MCP client to investigate your organization&#x27;
6s spend through OAuth.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/agent-api"><h3 class="not-prose mb-1 text-sm font-medium">Build with the Agent API</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Use the same organization-scoped operations from an OAuth-authenticated REST client.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/quickstart/overview"><h3 class="not-prose mb-1 text-sm font-medium">Quickstart</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Install an SDK, create an API key, wrap a client, and see attributed spend in minutes.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/concepts/attribution"><h3 class="not-prose mb-1 text-sm font-medium">Attribution concepts</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Learn how structured metadata turns raw usage into customer, feature, and team spend.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/sdk/python/overview"><h3 class="not-prose mb-1 text-sm font-medium">Python SDK</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Wrap OpenAI, Azure OpenAI, Anthropic, Gemini, Bedrock, Deepgram, ElevenLabs, and LiteLLM.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/sdk/typescript/overview"><h3 class="not-prose mb-1 text-sm font-medium">TypeScript SDK</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Native wrappers, Vercel AI SDK helpers, OpenTelemetry, and Realtime voice.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/otel/hosted-ingestion"><h3 class="not-prose mb-1 text-sm font-medium">Hosted OpenTelemetry</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Send OpenRouter Broadcast or OTLP/HTTP JSON GenAI traces without installing an SDK.</p></div></a></div>
7<h2 id="setting-up-a-company" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#setting-up-a-company">Setting up a company?</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&amp;_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2>
8<div class="grid grid-cols-2 gap-3 @container"><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/getting-started/company-workspace"><h3 class="not-prose mb-1 text-sm font-medium">Create a company workspace</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Choose an owner, select a plan, invite engineers, and configure shared access.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/getting-started/ai-coding-and-pr-costs"><h3 class="not-prose mb-1 text-sm font-medium">Set up AI Coding and PR Costs</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>See each plan’s coding analytics and PR allowances, plus Desktop and GitHub setup.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/getting-started/superpenguin-desktop"><h3 class="not-prose mb-1 text-sm font-medium">Install SuperPenguin Desktop</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Email the Mac app to engineers and begin syncing AI coding activity.</p></div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/concepts/plans-and-entitlements"><h3 class="not-prose mb-1 text-sm font-medium">Plans and entitlements</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Compare current prices, workspace limits, and feature availability.</p></div></a></div>
9<h2 id="building-a-provider-integration" class="group/heading flex scroll-m-28 flex-row items-center gap-1"><a data-card="" href="#building-a-provider-integration">Building a provider integration?</a><button aria-label="Copy Anchor Link" class="inline-flex items-center justify-center rounded-md text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1 [&amp;_svg]:size-4 not-prose shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover/heading:opacity-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></button></h2>
10<p>If you are an inference, speech, gateway, or agent provider that wants SuperPenguin to pull usage and billed costs from your API, start with the FOCUS AI Provider Profile.</p>
11<a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/providers/billing-integration/overview"><h3 class="not-prose mb-1 text-sm font-medium">Build a billing integration</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden"><p>Implement capabilities, usage, and cost exports, then run the conformance suite.</p></div></a>
12<p>Customer teams connecting an existing provider account should use <a href="/docs/providers/connect-a-provider">Connect an existing provider</a> instead.</p></div><div class="@container grid gap-4 grid-cols-1"><a class="flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full text-end" href="/docs/mcp"><div class="inline-flex items-center gap-1.5 font-medium flex-row-reverse"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -mx-1 size-4 shrink-0 rtl:rotate-180" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><p>Connect an AI agent</p></div><p class="text-fd-muted-foreground truncate">Connect Claude Code, Cursor, ChatGPT, or another remote MCP client to your SuperPenguin workspace with OAuth.</p></a></div></article><div id="nd-toc" class="sticky top-(--fd-docs-row-1) h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))] flex flex-col [grid-area:toc] w-(--fd-toc-width) pt-12 pe-4 pb-2 xl:layout:[--fd-toc-width:268px] max-xl:hidden"><h3 id="toc-title" class="inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-align-start size-4" aria-hidden="true"><path d="M21 5H3"></path><path d="M15 12H3"></path><path d="M17 19H3"></path></svg>On this page</h3><div class="relative min-h-0 text-sm ms-px overflow-auto [scrollbar-width:none] mask-[linear-gradient(to_bottom,transparent,white_16px,white_calc(100%-16px),transparent)] py-3"><div class="relative flex flex-col"><a data-active="false" href="#start-here" class="prose relative py-1.5 text-sm scroll-m-4 text-fd-muted-foreground hover:text-fd-accent-foreground transition-colors wrap-anywhere data-[active=true]:text-fd-primary pt-0" style="padding-inline-start:20px"><svg xmlns="http://www.w3.org/2000/svg" class="absolute -top-1.5 inset-s-0 bottom-0 h-[calc(100%+--spacing(1.5))] -z-1 rtl:-scale-x-100" style="width:17px"><line x1="8.5" y1="6" x2="8.5" y2="100%" stroke-width="1" class="stroke-fd-foreground
12/10"></line></svg>Start here</a><a data-active="false" href="#setting-up-a-company" class="prose relative py-1.5 text-sm scroll-m-4 text-fd-muted-foreground hover:text-fd-accent-foreground transition-colors wrap-anywhere data-[active=true]:text-fd-primary" style="padding-inline-start:20px"><svg xmlns="http://www.w3.org/2000/svg" class="absolute -top-1.5 inset-s-0 bottom-0 h-[calc(100%+--spacing(1.5))] -z-1 rtl:-scale-x-100" style="width:17px"><line x1="8.5" y1="6" x2="8.5" y2="100%" stroke-width="1" class="stroke-fd-foreground/10"></line></svg>Setting up a company?</a><a data-active="false" href="#building-a-provider-integration" class="prose relative py-1.5 text-sm scroll-m-4 text-fd-muted-foreground hover:text-fd-accent-foreground transition-colors wrap-anywhere data-[active=true]:text-fd-primary pb-0" style="padding-inline-start:20px"><svg xmlns="http://www.w3.org/2000/svg" class="absolute -top-1.5 inset-s-0 bottom-0 h-[calc(100%+--spacing(1.5))] -z-1 rtl:-scale-x-100" style="width:17px"><line x1="8.5" y1="6" x2="8.5" y2="100%" stroke-width="1" class="stroke-fd-foreground/10"></line></svg>Building a provider integration?</a></div></div></div><!--$--><!--/$--></div></div>
12<script src="/_next/static/immutable/chunks/2zqsbm8s85161.js" id="_R_" async=""></script>
12<script>(self.__next_f=self.__next_f||[]).push([0])</script>
12<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[17751,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\"],\"RootProvider\"]\n3:I[662852,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\"],\"PostHogProvider\"]\n4:I[746798,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\"],\"TooltipProvider\"]\n5:I[339756,[\"/_next/static/immutable/chunks/0x-9rc1bm-510.js\"],\"default\"]\n6:I[837457,[\"/_next/static/immutable/chunks/0x-9rc1bm-510.js\"],\"default\"]\n7:I[363178,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\"],\"ThemeProvider\"]\n8:I[563199,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\"],\"LayoutBody\"]\n12:I[168027,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\"],\"default\",1]\n:HL[\"/_next/static/immutable/chunks/286ymioc81bp4.css\",\"style\"]\n:HL[\"/_next/static/immutable/chunks/45an71_fdfq0l.css\",\"style\"]\n:HL[\"/_next/static/immutable/media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/immutable/media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n10:X\n0:{\"P\":null,\"c\":[\"\",\"docs\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[[\"slug\",\"\",\"oc\",[]],{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/286ymioc81bp4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/45an71_fdfq0l.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"async\":true,\"nonce\":\"$undefined\"}
12],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/14910es27ocur.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dm_sans_f65b9734-module__rAqehG__variable inter_bc220a90-module__m5YftW__variable h-full antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col\",\"children\":[\"$\",\"$L2\",null,{\"theme\":{\"enabled\":false},\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[[\"$\",\"script\",null,{\"id\":\"ph-heatmap-iframe\",\"dangerouslySetInnerHTML\":{\"__html\":\"try{if(window.self!==window.top)document.documentElement.classList.add(\\\"ph-heatmap-iframe\\\")}catch(e){document.documentElement.classList.add(\\\"ph-heatmap-iframe\\\")}\"}}],[\"$\",\"$L7\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"children\":[\"$\",\"div\",null,{\"className\":\"docs-portal min-h-screen\",\"children\":[\"$\",\"$L8\",null,{\"tree\":{\"type\":\"root\",\"$ref\":{\"folder\":\"\",\"meta\":\"meta.json\"},\"$id\":\"root\",\"name\":\"SuperPenguin Docs\",\"description\":\"$undefined\",\"children\":[{\"$id\":\"index.mdx\",\"type\":\"page\",\"name\":\"SuperPenguin documentation\",\"description\":\"Track and attribute AI spend with the SuperPenguin SDKs, or implement the Provider Billing API.\",\"icon\":\"$undefined\",\"url\":\"/docs\",\"$ref\":\"index.mdx\"},{\"$id\":\"mcp.mdx\",\"type\":\"page\",\"name\":\"Connect an AI agent\",\"description\":\"Connect Claude Code, Cursor, ChatGPT, or another remote MCP client to your SuperPenguin workspace with OAuth.\",\"icon\":\"$undefined\",\"url\":\"/docs/mcp\",\"$ref\":\"mcp.mdx\"},{\"$id\":\"agent-api.mdx\",\"type\":\"page\",\"name\":\"Agent API\",\"description\":\"Use SuperPenguin's organization-scoped spend and account data programmatically through OAuth-authenticated REST resources.\",\"icon\":\"$undefined\",\"url\":\"/docs/agent-api\",\"$ref\":\"agent-api.mdx\"},{\"type\":\"folder\",\"name\":\"Company Setup\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"getting-started/company-workspace.mdx\",\"type\":\"page\",\"name\":\"Create a company workspace\",\"description\":\"Set up the shared workspace where a company manages engineers, providers, and AI cost.\",\"icon\":\"$undefined\",\"url\":\"/docs/getting-started/company-workspace\",\"$ref\":\"getting-started/company-workspace.mdx\"},{\"$id\":\"getting-started/invite-engineers.mdx\",\"type\":\"page\",\"name\":\"Invite engineers\",\"description\":\"Add engineers to a company workspace and control who can view organization-wide AI Coding information.\",\"icon\":\"$undefined\",\"url\":\"/docs/getting-started/invite-engineers\",\"$ref\":\"getting-started/invite-engineers.mdx\"},{\"$id\":\"getting-started/ai-coding-and-pr-costs.mdx\",\"type\":\"page\",\"name\":\"Set up AI Coding and PR Costs\",\"description\":\"Understand the shared team setup, optional provider connections, and the extra GitHub step for pull-request attribution.\",\"icon\":\"$undefined\",\"url\":\"/docs/getting-started/ai-coding-and-pr-costs\",\"$ref\":\"getting-started/ai-coding-and-pr-costs.mdx\"},{\"$id\":\"getting-started/superpenguin-desktop.mdx\",\"type\":\"page\",\"name\":\"Install SuperPenguin Desktop\",\"description\":\"Email the Mac app to engineers, sign in, and begin syncing AI coding activity.\",\"
12icon\":\"$undefined\",\"url\":\"/docs/getting-started/superpenguin-desktop\",\"$ref\":\"getting-started/superpenguin-desktop.mdx\"},{\"$id\":\"getting-started/github-and-pr-costs.mdx\",\"type\":\"page\",\"name\":\"Connect GitHub and enable PR Cost Attribution\",\"description\":\"Connect repositories and combine pull-request data with engineers' Desktop activity.\",\"icon\":\"$undefined\",\"url\":\"/docs/getting-started/github-and-pr-costs\",\"$ref\":\"getting-started/github-and-pr-costs.mdx\"}],\"$id\":\"getting-started\",\"$ref\":{\"folder\":\"getting-started\",\"meta\":\"getting-started/meta.json\"},\"icon\":\"$undefined\"},{\"type\":\"folder\",\"name\":\"Getting Started\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"quickstart/overview.mdx\",\"type\":\"page\",\"name\":\"Quickstart\",\"description\":\"Install a SuperPenguin SDK, wrap a provider client, and attribute your first AI request.\",\"icon\":\"$undefined\",\"url\":\"/docs/quickstart/overview\",\"$ref\":\"quickstart/overview.mdx\"},{\"$id\":\"quickstart/api-key.mdx\",\"type\":\"page\",\"name\":\"Create an API key\",\"description\":\"Create a SuperPenguin API key and keep it server-side.\",\"icon\":\"$undefined\",\"url\":\"/docs/quickstart/api-key\",\"$ref\":\"quickstart/api-key.mdx\"},{\"$id\":\"quickstart/metadata.mdx\",\"type\":\"page\",\"name\":\"Add attribution metadata\",\"description\":\"Attach customer, feature, team, and prompt metadata so every request is queryable in the dashboard.\",\"icon\":\"$undefined\",\"url\":\"/docs/quickstart/metadata\",\"$ref\":\"quickstart/metadata.mdx\"}],\"$id\":\"quickstart\",\"$ref\":{\"folder\":\"quickstart\",\"meta\":\"quickstart/meta.json\"},\"icon\":\"$undefined\"},{\"type\":\"folder\",\"name\":\"Hosted OpenTelemetry\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"otel/hosted-ingestion.mdx\",\"type\":\"page\",\"name\":\"Hosted OpenTelemetry ingestion\",\"description\":\"Send OTLP/HTTP JSON GenAI traces directly to SuperPenguin without installing an SDK.\",\"icon\":\"$undefined\",\"url\":\"/docs/otel/hosted-ingestion\",\"$ref\":\"otel/hosted-ingestion.mdx\"},{\"$id\":\"otel/openrouter-broadcast.mdx\",\"type\":\"page\",\"name\":\"OpenRouter Broadcast\",\"description\":\"Configure OpenRouter Webhook Broadcast to send OTLP JSON request telemetry to SuperPenguin.\",\"icon\":\"$undefined\",\"url\":\"/docs/otel/openrouter-broadcast\",\"$ref\":\"otel/openrouter-broadcast.mdx\"}],\"$id\":\"otel\",\"$ref\":{\"folder\":\"otel\",\"meta\":\"otel/meta.json\"},\"icon\":\"$undefined\"},{\"type\":\"folder\",\"name\":\"SDKs\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"type\":\"folder\",\"name\":\"Python\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"sdk/python/overview.mdx\",\"type\":\"page\",\"name\":\"Python SDK overview\",\"description\":\"Install and initialize the SuperPenguin Python SDK for per-request AI cost tracking.\",\"icon\":\"$undefined\",\"url\":\"/docs/sdk/python/overview\",\"$ref\":\"sdk/python/overview.mdx\"},{\"$id\":\"sdk/python/providers.mdx\",\"type\":\"page\",\"name\":\"Python providers\",\"description\":\"Wrap OpenAI, Azure OpenAI, Anthropic, Gemini, Bedrock, LiteLLM, Deepgram, ElevenLabs, and OpenAI Realtime with the Python SDK.\",\"icon\":\"$undefined\",\"url\":\"/docs/sdk/python/providers\",\"$ref\":\"sdk/python/providers.mdx\"},{\"$id\":\"sdk/python/advanced.mdx\",\"type\":\"page\",\"name\":\"Python advanced usage\",\"description\":\"Tracing, batch jobs, content capture controls, and Python configuration reference.\",\"icon\":\"$undefined\",\"url\":\"/docs/sdk/python/advanced\",\"$ref\":\"sdk/python/advanced.mdx\"}],\"$id\":\"sdk/python\",\"$ref\":{\"folder\":\"sdk/python\",\"meta\":\"sdk/python/meta.json\"},\"icon\":\"$undefined\"},{\"type\":\"folder\",\"name\":\"TypeScript\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"sdk/typescript/overview.mdx\",\"type\":\"page\",\"name\":\"TypeScript SDK overview\",\"description\":\"Install and initialize @superpenguin/js for server-side AI cost attribution.\",\"icon\":\"$undefined\",\"url\":\"/docs/sdk/typescript/overview\",\"$ref\":\"sdk/typescript/overview.mdx\"},{\"$id\":\"sdk/typescript/providers.mdx\",\"type\":\"page\",\"name\":\"TypeScript providers\",\"description\":\"Wrap OpenAI, Azure OpenAI, Anthropic, Gemini, Bedrock, Deepgram, ElevenLabs, and Realtime with @
12superpenguin/js.\",\"icon\":\"$undefined\",\"url\":\"/docs/sdk/typescript/providers\",\"$ref\":\"sdk/typescript/providers.mdx\"},{\"$id\":\"sdk/typescript/vercel-ai-sdk.mdx\",\"type\":\"page\",\"name\":\"Vercel AI SDK\",\"description\":\"Track generateText and streamText with SuperPenguin helpers for the Vercel AI SDK.\",\"icon\":\"$undefined\",\"url\":\"/docs/sdk/typescript/vercel-ai-sdk\",\"$ref\":\"sdk/typescript/vercel-ai-sdk.mdx\"},{\"$id\":\"sdk/typescript/opentelemetry.mdx\",\"type\":\"page\",\"name\":\"OpenTelemetry\",\"description\":\"Submit existing OpenTelemetry spans to SuperPenguin for cost attribution.\",\"icon\":\"$undefined\",\"url\":\"/docs/sdk/typescript/opentelemetry\",\"$ref\":\"sdk/typescript/opentelemetry.mdx\"}],\"$id\":\"sdk/typescript\",\"$ref\":{\"folder\":\"sdk/typescript\",\"meta\":\"sdk/typescript/meta.json\"},\"icon\":\"$undefined\"}],\"$id\":\"sdk\",\"$ref\":{\"folder\":\"sdk\",\"meta\":\"sdk/meta.json\"},\"icon\":\"$undefined\"},{\"type\":\"folder\",\"name\":\"Concepts\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"concepts/attribution.mdx\",\"type\":\"page\",\"name\":\"Attribution\",\"description\":\"How SuperPenguin attributes AI spend with structured metadata across providers.\",\"icon\":\"$undefined\",\"url\":\"/docs/concepts/attribution\",\"$ref\":\"concepts/attribution.mdx\"},{\"$id\":\"concepts/reconciliation.mdx\",\"type\":\"page\",\"name\":\"Billing reconciliation\",\"description\":\"Compare SDK-estimated AI costs against provider-billed invoices.\",\"icon\":\"$undefined\",\"url\":\"/docs/concepts/reconciliation\",\"$ref\":\"concepts/reconciliation.mdx\"},{\"$id\":\"concepts/pricing-and-costs.mdx\",\"type\":\"page\",\"name\":\"Pricing and cost semantics\",\"description\":\"How SuperPenguin estimates SDK costs and how that differs from provider-billed amounts.\",\"icon\":\"$undefined\",\"url\":\"/docs/concepts/pricing-and-costs\",\"$ref\":\"concepts/pricing-and-costs.mdx\"},{\"$id\":\"concepts/plans-and-entitlements.mdx\",\"type\":\"page\",\"name\":\"Plans and entitlements\",\"description\":\"Current SuperPenguin plan prices, workspace limits, and feature availability.\",\"icon\":\"$undefined\",\"url\":\"/docs/concepts/plans-and-entitlements\",\"$ref\":\"concepts/plans-and-entitlements.mdx\"},{\"$id\":\"concepts/team-roles-and-visibility.mdx\",\"type\":\"page\",\"name\":\"Workspace roles and AI Coding visibility\",\"description\":\"Understand owner, member, Viewer, and Policy administrator access.\",\"icon\":\"$undefined\",\"url\":\"/docs/concepts/team-roles-and-visibility\",\"$ref\":\"concepts/team-roles-and-visibility.mdx\"},{\"$id\":\"concepts/content-capture.mdx\",\"type\":\"page\",\"name\":\"Content capture and privacy\",\"description\":\"Opt-in, encrypted prompt and completion capture, and how to group multi-turn conversations.\",\"icon\":\"$undefined\",\"url\":\"/docs/concepts/content-capture\",\"$ref\":\"concepts/content-capture.mdx\"},{\"$id\":\"concepts/batch-and-tier-pricing.mdx\",\"type\":\"page\",\"name\":\"Batch and service-tier pricing\",\"description\":\"Track native Batch API jobs and regional or service-tier rate cards.\",\"icon\":\"$undefined\",\"url\":\"/docs/concepts/batch-and-tier-pricing\",\"$ref\":\"concepts/batch-and-tier-pricing.mdx\"}],\"$id\":\"concepts\",\"$ref\":{\"folder\":\"concepts\",\"meta\":\"concepts/meta.json\"},\"icon\":\"$undefined\"},{\"type\":\"folder\",\"name\":\"Provider Integrations\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"providers/connect-a-provider.mdx\",\"type\":\"page\",\"name\":\"Connect an existing provider\",\"description\":\"Connect OpenAI, Anthropic, and other provider accounts so SuperPenguin can pull billed usage.\",\"icon\":\"$undefined\",\"url\":\"/docs/providers/connect-a-provider\",\"$ref\":\"providers/connect-a-provider.mdx\"},{\"type\":\"folder\",\"name\":\"Billing Integration Guide\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"providers/billing-integration/overview.mdx\",\"type\":\"page\",\"name\":\"Build a billing integration\",\"description\":\"Implement the SuperPenguin FOCUS AI Provider Profile for usage and billed-cost exports.\",\"icon\":\"$undefined\",\"url\":\"/docs/providers/billing-integration/overview\",\"$ref\":\"providers/billing-integration/overview.mdx\"},{\"$id\":\"providers/billing-integration/authentication.mdx\",\"type\":\"page\",\"name\":\"Authentication\",\"description\":\"Scoped bearer tokens and OAuth 2.0 Authorization Code with PKCE for provider billing exports.\",\"icon\":\"$undefined\",\"url\":\"/docs/providers/billing-integration/authentication\",\"$ref\":\"providers/billing-integration/authentication.mdx\"}
12,{\"$id\":\"providers/billing-integration/usage-data.mdx\",\"type\":\"page\",\"name\":\"Usage data\",\"description\":\"Export complete AI usage meters with UTC windows, pagination, and stable record IDs.\",\"icon\":\"$undefined\",\"url\":\"/docs/providers/billing-integration/usage-data\",\"$ref\":\"providers/billing-integration/usage-data.mdx\"},{\"$id\":\"providers/billing-integration/cost-data.mdx\",\"type\":\"page\",\"name\":\"Cost data\",\"description\":\"Export provider-reported billed costs with final, provisional, and correction semantics.\",\"icon\":\"$undefined\",\"url\":\"/docs/providers/billing-integration/cost-data\",\"$ref\":\"providers/billing-integration/cost-data.mdx\"},{\"$id\":\"providers/billing-integration/conformance.mdx\",\"type\":\"page\",\"name\":\"Conformance testing\",\"description\":\"Run the dependency-free Provider Billing conformance runner against your sandbox.\",\"icon\":\"$undefined\",\"url\":\"/docs/providers/billing-integration/conformance\",\"$ref\":\"providers/billing-integration/conformance.mdx\"}],\"$id\":\"providers/billing-integration\",\"$ref\":{\"folder\":\"providers/billing-integration\",\"meta\":\"providers/billing-integration/meta.json\"},\"icon\":\"$undefined\"}],\"$id\":\"providers\",\"$ref\":{\"folder\":\"providers\",\"meta\":\"providers/meta.json\"},\"icon\":\"$undefined\"},{\"type\":\"folder\",\"name\":\"Provider Billing API Reference\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"api-reference/introduction.mdx\",\"type\":\"page\",\"name\":\"Provider Billing API reference\",\"description\":\"Exact endpoint parameters and schemas generated from the FOCUS AI Provider Profile OpenAPI contract.\",\"icon\":\"$undefined\",\"url\":\"/docs/api-reference/introduction\",\"$ref\":\"api-reference/introduction.mdx\"},{\"type\":\"folder\",\"name\":\"Provider billing\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"api-reference/provider-billing/getFinOpsCapabilities.mdx\",\"type\":\"page\",\"name\":\"$L9\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/docs/api-reference/provider-billing/getFinOpsCapabilities\",\"$ref\":\"api-reference/provider-billing/getFinOpsCapabilities.mdx\"},{\"$id\":\"api-reference/provider-billing/listFinOpsUsage.mdx\",\"type\":\"page\",\"name\":\"$La\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/docs/api-reference/provider-billing/listFinOpsUsage\",\"$ref\":\"api-reference/provider-billing/listFinOpsUsage.mdx\"},{\"$id\":\"api-reference/provider-billing/listFinOpsCosts.mdx\",\"type\":\"page\",\"name\":\"$Lb\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/docs/api-reference/provider-billing/listFinOpsCosts\",\"$ref\":\"api-reference/provider-billing/listFinOpsCosts.mdx\"}],\"$id\":\"api-reference/provider-billing\",\"$ref\":{\"folder\":\"api-reference/provider-billing\",\"meta\":\"api-reference/provider-billing/meta.json\"},\"icon\":\"$undefined\"}],\"$id\":\"api-reference\",\"$ref\":{\"folder\":\"api-reference\",\"meta\":\"api-reference/meta.json\"},\"icon\":\"$undefined\"},{\"$id\":\"troubleshooting.mdx\",\"type\":\"page\",\"name\":\"Troubleshooting\",\"description\":\"Fix common SuperPenguin SDK, attribution, and provider-connection issues.\",\"icon\":\"$undefined\",\"url\":\"/docs/troubleshooting\",\"$ref\":\"troubleshooting.mdx\"}]},\"tabs\":[],\"tabMode\":\"$undefined\",\"sidebar\":{},\"nav\":{\"title\":\"$Lc\",\"url\":\"/docs\",\"transparentMode\":\"none\"},\"links\":[{\"text\":\"Website\",\"url\":\"https://superpenguin.ai\",\"external\":true},{\"type\":\"button\",\"text\":\"Open dashboard\",\"url\":\"https://app.superpenguin.ai\",\"external\":true}],\"searchToggle\":{\"enabled\":true},\"themeSwitch\":{\"enabled\":true},\"children\":\"$Ld\"}]}]}]]]}],{\"children\":[\"$Le\",{\"children\":[\"$Lf\",{},null,false,null]},null,false,\"$10\"]},null,false,null]},null,false,null],\"$L11\",false]],\"m\":\"$undefined\",\"G\":[\"$12\",[\"$L13\",\"$L14\"]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\n16:I[897367,[\"/_next/static/immutable/chunks/0x-9rc1bm-510.js\"],\"OutletBoundary\"]\n17:\"$Sreact.suspense\"\n19:I[897367,[\"/_next/static/immutable/chunks/0x-9rc1bm-510.js\"],\"ViewportBoundary\"]\n1b:I[897367,[\"/_next/static/immutable/chunks/0x-9rc1bm-510.js\"],\"MetadataBoundary\"]\n9:[\"Describe export capabilities for the authorized account.\",\" \",[\"$\",\"span\",null,{\"className\":\"font-mono font-medium text-green-600 dark:text-green-400 ms-auto text-xs text-nowrap\",\"children\":\"GET\"}]]\na:[\"Export complete metered usage over a half-open UTC window.\",\" \",[\"$\",\"span\",null,{\"className\":\"font-mono font-medium text-green-600 dark:text-green-400 ms-auto text-xs text-nowrap\",\"children\":\"GET\"}]]\nb:[\"Export provider-reported billed costs over a half-open UTC window.\",\" \",[\"$\",\"span\",null,{\"className\":\"font-mono font-medium text-green-600 dark:text-green-400 ms-auto text-xs text-nowrap\",\"children\":\"GET\"}]]\nc:[\"$\",\"span\",null,{\"className\":\"flex items-center gap-2 font-semibold tracking-tight\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"size-2.5 rounded-full bg-amber-400 ring-4 ring-amber-400/15\"}],\"SuperPenguin Docs\"]}]\nd:[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]\ne:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nf:[\"$\",\"$1\",\"c\",{\"children\":[\"$L15\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/28iia9dosk1-q.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/35_hgo4__qbu9.js\",\"async\":true,\"nonce\":\"$undefined\"}
12],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/3birxmgfwfuoi.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/3gy_s128gm001.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/immutable/chunks/2lt7o0sm7_am1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/immutable/chunks/1ui2vvmzhgsn9.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/immutable/chunks/0p78mg1xnb9k4.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/immutable/chunks/34_igdxaxakt5.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@18\"}]}]]}]\n11:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L19\",null,{\"children\":\"$L1a\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1c\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n13:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/286ymioc81bp4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n14:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/45an71_fdfq0l.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n1d:I[298330,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\",\"/_next/static/immutable/chunks/28iia9dosk1-q.js\",\"/_next/static/immutable/chunks/35_hgo4__qbu9.js\",\"/_next/static/immutable/chunks/3birxmgfwfuoi.js\",\"/_next/static/immutable/chunks/3gy_s128gm001.js\",\"/_next/static/immutable/chunks/2lt7o0sm7_am1.js\",\"/_next/static/immutable/chunks/1ui2vvmzhgsn9.js\",\"/_next/static/immutable/chunks/0p78mg1xnb9k4.js\",\"/_next/static/immutable/chunks/34_igdxaxakt5.js\"],\"DocsPage\"]\n1e:I[298330,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\",\"/_next/static/immutable/chunks/28iia9dosk1-q.js\",\"/_next/static/immutable/chunks/35_hgo4__qbu9.js\",\"/_next/static/immutable/chunks/3birxmgfwfuoi.js\",\"/_next/static/immutable/chunks/3gy_s128gm001.js\",\"/_next/static/immutable/chunks/2lt7o0sm7_am1.js\",\"/_next/static/immutable/chunks/1ui2vvmzhgsn9.js\",\"/_next/static/immutable/chunks/0p78mg1xnb9k4.js\",\"/_next/static/immutable/chunks/34_igdxaxakt5.js\"],\"DocsTitle\"]\n1f:I[298330,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\",\"/_next/static/immutable/chunks/28iia9dosk1-q.js\",\"/_next/static/immutable/chunks/35_hgo4__qbu9.js\",\"/_next/static/immutable/chunks/3birxmgfwfuoi.js\",\"/_next/static/immutable/chunks/3gy_s128gm001.js\",\"/_next/static/immutable/chunks/2lt7o0sm7_am1.js\",\"/_next/static/immutable/chunks/1ui2vvmzhgsn9.js\",\"/_next/static/immutable/chunks/0p78mg1xnb9k4.js\",\"/_next/static/immutable/chunks/34_igdxaxakt5.js\"],\"DocsDescription\"]\n20:I[298330,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\",\"/_next/static/immutable/chunks/28iia9dosk1-q.js\",\"/_next/static/immutable/chunks/35_hgo4__qbu9.js\",\"/_next/static/immutable/chunks/3birxmgfwfuoi.js\",\"/_next/static/immutable/chunks/3gy_s128gm001.js\",\"/_next/static/immutable/chunks/2lt7o0sm7_am1.js\",\"/_next/static/immutable/chunks/1ui2vvmzhgsn9.js\",\"/_next/static/immutable/chunks/0p78mg1xnb9k4.js\",\"/_next/static/immutable/chunks/34_igdxaxakt5.js\"],\"DocsBody\"]\n21:I[494157,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\",\"/_next/static/immutable/chunks/28iia9dosk1-q.js\",\"/_next/static/immutable/chunks/35_hgo4__qbu9.js\",\"/_next/static/immutable/chunks/3birxmgfwfuoi.js\",\"/_next/static/immutable/chunks/3gy_s128gm001.js\",\"/_next/static/immutable/chunks/2lt7o0sm7_am1.js\",\"/_next/static/immutable/chunks/1ui2vvmzhgsn9.js\",\"/_next/static/immutable/chunks/0p78mg1xnb9k4.js\",\"/_next/static/immutable/chunks/34_igdxaxakt5.js\"],\"Heading\"]\n22:I[647873,[\"/_next/static/immutable/chunks/1ojvlny8knf2v.js\",\"/_next/static/immutable/chunks/13d3qz1v-6-i_.js\",\"/_next/static/immutable/chunks/1jjqyj-rgoo-9.js\",\"/_next/static/immutable/chunks/14910es27ocur.js\",\"/_next/static/immutable/chunks/0w1rro8mrefe4.js\",\"/_next/static/immutable/chunks/18d5ewm1hz9jp.js\",\"/_next/static/immutable/chunks/0alw3bsti3p6i.js\",\"/_next/static/immutable/chunks/0ifsh6bsxnmlr.js\",\"/_next/static/immutable/chunks/35dfk17eo5kcf.js\",\"/_next/static/immutable/chunks/0_0y2tog15ke1.js\",\"/_next/static/immutable/chunks/0qzx161xnv8bj.js\",\"/_next/static/immutable/chunks/28iia9dosk1-q.js\",\"/_next/static/immutable/chunks/35_hgo4__qbu9.js\",\"/_next/static/immutable/chunks/3birxmgfwfuoi.js\",\"/_next/static/immutable/chunks/3gy_s128gm001.js\",\"/_next/static/immutable/chunks/2lt7o0sm7_am1.js\",\"/_next/static/immutable/chunks/1ui2vvmzhgsn9.js\",\"/_next/static/immutable/chunks/0p78mg1xnb9k4.js\",\"/_next/static/immutable/chunks/34_igdxaxakt5.js\"],\"default\"]\n10:C\n15:[\"$\",\"$L1d\",null,{\"toc\":[{\"depth\":2,\"url\":\"#start-here\",\"title\":\"Start here\"}
12,{\"depth\":2,\"url\":\"#setting-up-a-company\",\"title\":\"Setting up a company?\"},{\"depth\":2,\"url\":\"#building-a-provider-integration\",\"title\":\"Building a provider integration?\"}],\"full\":\"$undefined\",\"children\":[[\"$\",\"$L1e\",null,{\"children\":\"SuperPenguin documentation\"}],[\"$\",\"$L1f\",null,{\"children\":\"Track and attribute AI spend with the SuperPenguin SDKs, or implement the Provider Billing API.\"}],[\"$\",\"$L20\",null,{\"className\":\"dark:prose-invert\",\"children\":[[\"$\",\"p\",null,{\"children\":\"SuperPenguin gives developers one place to track AI cost per request, attribute spend to customers and features, and reconcile SDK estimates against provider invoices.\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"SuperPenguin observes SDK calls directly.\"}],\" Your traffic goes straight to the provider. The SDK is not a proxy.\"]}],\"\\n\",[\"$\",\"$L21\",null,{\"as\":\"h2\",\"id\":\"start-here\",\"children\":\"Start here\"}],\"\\n\",[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L22\",null,{\"href\":\"/docs/mcp\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Connect an AI agent\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Ask Claude Code, Cursor, ChatGPT, or another MCP client to investigate your organization's spend through OAuth.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],[\"$\",\"$L22\",null,{\"href\":\"/docs/agent-api\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Build with the Agent API\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Use the same organization-scoped operations from an OAuth-authenticated REST client.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],[\"$\",\"$L22\",null,{\"href\":\"/docs/quickstart/overview\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Quickstart\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Install an SDK, create an API key, wrap a client, and see attributed spend in minutes.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],[\"$\",\"$L22\",null,{\"href\":\"/docs/concepts/attribution\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Attribution concepts\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Learn how structured metadata turns raw usage into customer, feature, and team spend.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],[\"$\",\"$L22\",null,{\"href\":\"/docs/sdk/python/overview\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Python SDK\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Wrap OpenAI, Azure OpenAI, Anthropic, Gemini, Bedrock, Deepgram, ElevenLabs, and LiteLLM.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],[\"$\",\"$L22\",null,{\"href\":\"/docs/sdk/typescript/overview\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"TypeScript SDK\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Native wrappers, Vercel AI SDK helpers, OpenTelemetry, and Realtime voice.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],\"$L23\"],\"className\":\"grid grid-cols-2 gap-3 @container\"}],\"\\n\",\"$L24\",\"\\n\",\"$L25\",\"\\n\",\"$L26\",\"\\n\",\"$L27\",\"\\n\",\"$L28\",\"\\n\",\"$L29\"]}]]}]\n23:[\"$\",\"$L22\",null,{\"href\":\"/docs/otel/hosted-ingestion\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Hosted OpenTelemetry\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Send OpenRouter Broadcast or OTLP/HTTP JSON GenAI traces without installing an SDK.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}]\n24:[\"$\",\"$L21\",null,{\"as\":\"h2\",\"id\":\"setting-up-a-company\",\"children\":\"Setting up a company?\"}]\n25:[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L22\",null,{\"href\":\"/docs/getting-started/company-workspace\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Create a company workspace\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Choose an owner, select a plan, invite engineers, and configure shared access.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],[\"$\",\"$L22\",null,{\"href\":\"/docs/getting-started/ai-coding-and-pr-costs\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Set up AI Coding and PR Costs\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"See each plan’s coding analytics and PR allowances, plus Desktop and GitHub setup.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],[\"$\",\"$L22\",null,{\"href\":\"/docs/getting-started/superpenguin-desktop\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Install SuperPenguin Desktop\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Email the Mac app to engineers and begin syncing AI coding activity.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}],[\"$\",\"$L22\",null,{\"href\":\"/docs/concepts/plans-and-entitlements\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Plans and entitlements\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Compare current prices, workspace limits, and feature availability.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}]],\"className\":\"grid grid-cols-2 gap-3 @container\"}]\n26:[\"$\",\"$L21\",null,{\"as\":\"h2\",\"id\":\"building-a-provider-integration\",\"children\":\"Building a provider integration?\"}]\n27:[\"$\",\"p\",null,{\"children\":\"If you are an inference, speech, gateway, or agent provider that wants SuperPenguin to pull usage and billed costs from your API, start with the FOCUS AI Provider Profile.\"}]\n28:[\"$\",\"$L22\",null,{\"href\":\"/docs/providers/billing-integration/overview\",\"children\":[null,[\"$\",\"h3\",null,{\"className\":\"not-prose mb-1 text-sm font-medium\",\"children\":\"Build a billing integration\"}],null,[\"$\",\"div\",null,{\"className\":\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\",\"children\":[\"$\",\"p\",null,{\"children\":\"Implement capabilities, usage, and cost exports, then run the conformance suite.\"}]}]],\"data-card\":true,\"className\":\"block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80\"}]\n29:[\"$\",\"p\",null,{\"children\":[\"Customer teams connecting an existing provider account should use \",\"$L2a\",\" instead.\"]}]\n2a:[\"$\",\"$L22\",null,{\"href\":\"/docs/providers/connect-a-provider\",\"children\":\"Connect an existing provider\"}]\n1a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n2b:I[27201,[\"/_next/static/immutable/chunks/0x-9rc1bm-510.js\"],\"IconMark\"]\n18:null\n1c:[[\"$\",\"title\",\"0\",{\"children\":\"SuperPenguin documentation\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Track and attribute AI spend with the SuperPenguin SDKs, or implement the Provider Billing API.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"SuperPenguin\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"SuperPenguin\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"5\",{\"name\":\"keywords\",\"content\":\"AI cost management,AI spend intelligence,LLM cost tracking,OpenAI cost dashboard,Anthropic cost tracking,Gemini cost tracking,Google Gemini cost dashboard,AWS Bedrock cost tracking,Deepgram cost tracking,ElevenLabs cost tracking,LiveKit cost tracking,Vercel AI Gateway cost tracking,LiteLLM cost tracking,Cursor cost tracking,Cursor PR cost attribution,engineering AI ROI,AI spend attribution,LLM observability,AI billing,prompt cost analytics,GPT cost monitoring,Claude cost monitoring,Gemini cost monitoring\"}],[\"$\",\"meta\",\"6\",{\"name\":\"creator\",\"content\":\"SuperPenguin\"}],[\"$\",\"meta\",\"7\",{\"name\":\"publisher\",\"content\":\"SuperPenguin\"}],[\"$\",\"meta\",\"8\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"link\",\"9\",{\"rel\":\"canonical\",\"href\":\"https://superpenguin.ai/docs\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"SuperPenguin documentation\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"Track and attribute AI spend with the SuperPenguin SDKs, or implement the Provider Billing API.\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://superpenguin.ai/docs\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:site\",\"content\":\"@superpenguin_ai\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:creator\",\"content\":\"@superpenguin_ai\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Know where every AI dollar goes\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"AI spend intelligence for teams building with LLMs and voice. Attribute spend by customer, feature, team, and prompt version, and Cursor spend by PR.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://superpenguin.ai/twitter-image?09d91a05a6cc2400\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:alt\",\"content\":\"AI cost management dashboard showing per-request spend tracking\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.0uugvyrdfq-gz.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L2b\",\"25\",{}]]\n"])</script>
12</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.