Set Group rows by to Hierarchical. Click a row to expand the level below it.To see a flat key inside the tree, pick it in List by and choose the level in Under. Here, each user expands into the API keys they used:
Hierarchical, with API keys listed under each user
Read one level at a time, filtering on the parent. Grouping by a child without its parent returns parent_filter_required.To list a flat key under a node, group by the flat key and filter on that node. The last example returns the API keys used by alice.
Filters come back 10 at a time, in the order of the charge, followed by one line for usage that matches no filter. split_filters_count gives the number of filters. Pass split_filters_offset=10 for the next 10, and so on.Paging only changes which filter lines are returned. Rows, ranks, amounts and totals stay the same on every page. On the units basis, split_charge_units gives the units of the split charge across all its filters, so you don’t have to add up pages.
Amounts are available for the standard charge model. Other charge models return units only.A standard charge is linear: every unit costs the same, so each team’s share of the amount is its share of the units. Graduated, volume, package and percentage charges aren’t linear. The price of a unit depends on the total usage of the subscription, so there is no single correct way to split the amount between teams or users.For example, with a graduated price of $1 for the first 1,000 units and $0.50 above, two teams that each send 1,000 units cost $1,500 together. Neither team is the one that crossed the tier, so neither owns the cheaper units.
A query covers up to 31 days. By default, it reads the current billing period. Attributed usage is computed on demand from your events, and the cap keeps every query fast.For a quarterly or yearly billing period, the default view reads the last 31 days of the period. To cover a longer period, run one query per month and add the results.
Supports billable metrics with a COUNT or SUM aggregation that aren’t recurring.
Amounts are a breakdown of usage, before coupons, credits, minimums and taxes. They can differ from the invoice.
One level per request, up to 3 flat entities in filters, one split charge per request.
Up to 100,000 values per entity for each customer. Past that, new values aren’t tracked and grouping by the entity without a parent filter returns too_many_values. Use entities for stable things like users, teams or models, never for a request or transaction ID.
A large query can fail with too_many_groups or query_timeout. Narrow the time range or add filters.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lago","description":"Developer documentation for Lago, the open-source billing platform for usage metering, subscriptions, invoicing, payments, and revenue operations.","colors":{"primary":"#006CFA","light":"#006CFA","dark":"#006CFA"},"logo":{"light":"https://mintcdn.com/lago-docs/zZSJbpe68PHhSs3x/logo/light.svg?fit=max\u0026auto=format\u0026n=zZSJbpe68PHhSs3x\u0026q=85\u0026s=b4af3001527c985b81858b9a0928534c","dark":"https://mintcdn.com/lago-docs/zZSJbpe68PHhSs3x/logo/dark.svg?fit=max\u0026auto=format\u0026n=zZSJbpe68PHhSs3x\u0026q=85\u0026s=1eb7aacac796b0cc6bf05be790a792b1"},"favicon":"https://mintcdn.com/lago-docs/8N-yOElNGe9jRGG5/favicon.svg?fit=max\u0026auto=format\u0026n=8N-yOElNGe9jRGG5\u0026q=85\u0026s=5c319e58dd9b5c5b8a31cf2ad8009a1c","api":{"openapi":"https://swagger.getlago.com/openapi.yaml","mdx":{"server":"https://api.getlago.com/api/v1"}},"background":{"color":{"light":"#F5F5EF","dark":"#131923"}},"navbar":{"links":[{"href":"https://getlago.com/book-a-demo","label":"Book a Demo"}],"primary":{"type":"button","label":"Get Started","href":"https://getlago.com/book-a-demo"}},"footer":{"socials":{"github":"https://github.com/getlago/lago","slack":"https://getlago.com/slack","x":"https://x.com/getlago","linkedin":"https://www.linkedin.com/company/getlago","youtube":"https://www.youtube.com/channel/UCp6ltp7n3SgDVsmerJ7O7ZA"},"links":[{"header":"Documentation","items":[{"label":"Get started","href":"https://getlago.com/docs/guide/introduction/welcome-to-lago"},{"label":"API reference","href":"https://getlago.com/docs/api-reference/intro"},{"label":"Integrations","href":"https://getlago.com/docs/integrations/introduction"},{"label":"Templates","href":"https://getlago.com/docs/templates/introduction"},{"label":"Changelog","href":"https://getlago.com/docs/changelog/product"},{"label":"FAQ","href":"https://getlago.com/docs/faq/about-lago"}]},{"header":"Developers","items":[{"label":"Developer hub","href":"https://getlago.com/docs/developers"},{"label":"Authentication","href":"https://getlago.com/docs/auth"},{"label":"Webhooks","href":"https://getlago.com/docs/guide/webhooks"},{"label":"SDKs","href":"https://getlago.com/docs/developers"},{"label":"OpenAPI spec","href":"https://swagger.getlago.com/"},{"label":"MCP server","href":"https://getlago.com/docs/guide/ai-agents/mcp-server"},{"label":"Self-hosted","href":"https://getlago.com/docs/guide/lago-self-hosted/overview"},{"label":"llms.txt","href":"https://getlago.com/docs/llms.txt"}]},{"header":"Platform","items":[{"label":"Usage metering","href":"https://getlago.com/platform/usage-metering"},{"label":"Billing \u0026 invoicing","href":"https://getlago.com/platform/billing-invoicing"},{"label":"Cash collection","href":"https://getlago.com/platform/cash-collection"},{"label":"Revenue analytics","href":"https://getlago.com/platform/revenue-analytics"},{"label":"Entitlements","href":"https://getlago.com/platform/entitlements"},{"label":"Lago AI","href":"https://getlago.com/platform/ai"},{"label":"Pricing","href":"https://getlago.com/pricing"}]},{"header":"Company","items":[{"label":"About Lago","href":"https://getlago.com/docs/about"},{"label":"Customers","href":"https://getlago.com/customers"},{"label":"Blog","href":"https://getlago.com/blog"},{"label":"Contact","href":"https://getlago.com/docs/contact"},{"label":"Trust center","href":"https://security.getlago.com"},{"label":"Status","href":"https://status.getlago.com"}]}]},"seo":{"metatags":{"canonical":"https://getlago.com/docs","description":"Developer documentation for Lago's API-first billing platform, including OpenAPI, SDKs, webhooks, MCP, authentication, and implementation guides.","keywords":"Lago API, billing API, usage metering API, OpenAPI, billing SDK, Lago MCP"},"organization":{"id":"https://getlago.com/#organization","name":"Lago","legalName":"Get Lago Corp.","url":"https://getlago.com","logo":"https://getlago.com/docs/logo/light.svg","sameAs":["https://github.com/getlago","https://www.linkedin.com/company/getlago","https://x.com/GetLago","https://www.youtube.com/channel/UCp6ltp7n3SgDVsmerJ7O7ZA"]},"indexing":"all"},"fonts":{"heading":{"family":"GT America","weight":700,"source":"fonts/GT-America-Standard-Medium.woff2","format":"woff2"},"body":{"family":"GT America","source":"fonts/GT-America-Standard-Regular.woff2","format":"woff2"}},"styling":{"codeblocks":"dark","latex":true},"integrations":{"ga4":{"measurementId":"G-743BQ9THCG"},"cookies":{"key":"lago_docs_analytics","value":"granted"}},"errors":{"404":{"redirect":false,"title":"Documentation page not found","description":"No Lago documentation exists at this URL. Start at [Lago Developer Documentation](/welcome), browse [Developer Resources](/developers), inspect the [documentation index](/llms.txt) or [sitemap](/sitemap.xml), or search the [API reference](/api-reference/intro)."}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://getlago.com/blog"},{"anchor":"Community","icon":"slack","href":"https://getlago.com/slack"},{"anchor":"GitHub","icon":"github","href":"https://github.com/getlago/lago"},{"anchor":"Status","icon":"signal-bars","href":"https://status.getlago.com/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lago-docs","hasAudioNarration":false,"actualSubdomain":"lago-docs","customDomains":["getlago.com"],"gitSource":{"type":"github","owner":"getlago","repo":"lago-doc","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3359be5e36dceb06587ff","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API References","count":235},{"language":"default","tag":"API Reference","count":235},{"language":"default","tag":"Guide","count":206},{"language":"default","tag":"Integrations","count":54},{"language":"default","tag":"Plans","count":46},{"language":"default","tag":"Resources","count":46},{"language":"default","tag":"Charges","count":39},{"language":"default","tag":"Pricing \u0026 Subscriptions","count":35},{"language":"default","tag":"Subscriptions","count":31},{"language":"default","tag":"Invoices","count":27}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html{visibility:hidden;background-color:#F5F5EF}@media (prefers-color-scheme: dark){html{background-color:#131923}}html.ready{visibility:visible}.dark .welcome-card{background-color:#1c2535!important;border-color:rgba(255, 255, 255, 0.1)!important;box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.3)!important;color:#e5e7eb}.dark .welcome-card:hover{background-color:#243044!important}.dark .welcome-card h3{color:#ffffff}.dark .welcome-card p{color:#9ca3af!important}#changelog-month-nav{padding-left:2.5rem;width:19rem;box-sizing:border-box;margin-bottom:1.75rem;max-height:45vh;overflow-y:auto}#changelog-month-nav .changelog-month-nav__year{margin:0 0 0.5rem;font-size:0.875rem;line-height:1.5rem;font-weight:500;color:#364152}#changelog-month-nav .changelog-month-nav__list{list-style:none;margin:0;padding:0;border-left:1px solid rgba(0, 0, 0, 0.08)}#changelog-month-nav .changelog-month-nav__list a{display:block;padding:0.25rem 0 0.25rem 0.75rem;margin-left:-1px;border-left:1px solid transparent;font-size:0.875rem;line-height:1.5rem;color:#697586;text-decoration:none;transition:color 0.15s ease, border-color 0.15s ease}#changelog-month-nav .changelog-month-nav__list a:hover{color:#121926}#changelog-month-nav .changelog-month-nav__list a.is-active{color:#006CFA;border-left-color:#006CFA;font-weight:500}.dark #changelog-month-nav .changelog-month-nav__year{color:#cdd5df}.dark #changelog-month-nav .changelog-month-nav__list{border-left-color:rgba(255, 255, 255, 0.12)}.dark #changelog-month-nav .changelog-month-nav__list a{color:#9aa4b2}.dark #changelog-month-nav .changelog-month-nav__list a:hover{color:#ffffff}.dark #changelog-month-nav .changelog-month-nav__list a.is-active{color:#4d9bff;border-left-color:#4d9bff}.update-container>div:first-child{display:none}.update-container>div:nth-child(2){flex:1 1 100%;max-width:100%;width:100%}.update-container{gap:0}#footer a[href*=\"utm_campaign=poweredBy\"]{display:none}"}],"page":{"pagePath":"guide/governance/query","slug":"/guide/governance/query","pageMetadata":{"title":"Query attributed usage","description":"Read a subscription's usage and spend per governance entity, in the app or with the API.","href":"/guide/governance/query"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Read a subscription’s usage and spend per governance entity, in the app or with the API.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,CodeGroup,Frame,Heading,Info,OptimizedImage,Tab,Table,Tabs}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsxs(Info,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`PREMIUM ADD-ON`}),` ✨`]}),_jsxs(_components.p,{children:[`Governance is available upon request only. Please `,_jsx(_components.a,{href:`mailto:hello@getlago.com`,children:_jsx(_components.strong,{children:`contact us`})}),` to get access to this premium feature.`]})]}),`\n`,_jsx(_components.p,{children:`Attributed usage is read per subscription, one level of the tree at a time. The default time range is the current billing period.`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Dashboard`,id:`dashboard`,\"data-child-heading-ids\":`[\"by-hierarchy\",\"by-a-flat-key\",\"controls\"]`,children:[_jsxs(_components.p,{children:[`Open a subscription and click `,_jsx(_components.strong,{children:`Attribution`}),`.`]}),_jsx(Heading,{level:`3`,id:`by-hierarchy`,children:`By hierarchy`}),_jsxs(_components.p,{children:[`Set `,_jsx(_components.strong,{children:`Group rows by`}),` to `,_jsx(_components.strong,{children:`Hierarchical`}),`. Click a row to expand the level below it.`]}),_jsxs(_components.p,{children:[`To see a flat key inside the tree, pick it in `,_jsx(_components.strong,{children:`List by`}),` and choose the level in `,_jsx(_components.strong,{children:`Under`}),`. Here, each user expands into the API keys they used:`]}),_jsx(Frame,{caption:`Hierarchical, with API keys listed under each user`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-hierarchy-api-keys-under-user.webp?fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=30f21d5cbf37250f8621f16657df8a2d`,alt:`The Attribution tab: department R\u0026D, team Engineering, user alice expanded into two API keys and a No API Key row`,\"data-og-width\":`1130`,width:`1130`,\"data-og-height\":`1060`,height:`1060`,\"data-path\":`guide/governance/images/attribution-hierarchy-api-keys-under-user.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-hierarchy-api-keys-under-user.webp?w=280\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=9a9fda620968f864a9a24c1bcef9b2ea 280w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-hierarchy-api-keys-under-user.webp?w=560\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=8ec272fbf1d309032d0c5e939b5f8cdf 560w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-hierarchy-api-keys-under-user.webp?w=840\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=f470324eb585e07e744b54b75150f09d 840w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-hierarchy-api-keys-under-user.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=32c99bb3c7a2fe31d8ce8f7e2df3ebae 1100w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-hierarchy-api-keys-under-user.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=1ef180c6280c2574f72602c934b5cce7 1650w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-hierarchy-api-keys-under-user.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=ae6f0c7509e4776a3306ef770eeafbee 2500w`})}),_jsx(Heading,{level:`3`,id:`by-a-flat-key`,children:`By a flat key`}),_jsxs(_components.p,{children:[`Set `,_jsx(_components.strong,{children:`Group rows by`}),` to `,_jsx(_components.strong,{children:`Flat`}),` and pick the key in `,_jsx(_components.strong,{children:`List by`}),`. You get one row per value across the whole subscription, without the tree:`]}),_jsx(Frame,{caption:`Flat, by API key`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-by-flat-key.webp?fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=d0f75cad95bc510eea30f713d3f7646e`,alt:`The Attribution tab grouped by API key, with one row per key and a No API Key row`,\"data-og-width\":`1130`,width:`1130`,\"data-og-height\":`585`,height:`585`,\"data-path\":`guide/governance/images/attribution-by-flat-key.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-by-flat-key.webp?w=280\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=356eab543488638de98d6b44eb7ea2fa 280w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-by-flat-key.webp?w=560\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=867b18e6de05923647e4a99235a83d44 560w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-by-flat-key.webp?w=840\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=3bd44d2dc5e611797ba0ea41b0db29bc 840w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-by-flat-key.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=29b68f941596884edd9f933ba9c5020a 1100w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-by-flat-key.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=a627f9d220da0b6780546e178559e624 1650w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-by-flat-key.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=2a7956f5566b34d26cb1ac1c351402d0 2500w`})}),_jsx(Heading,{level:`3`,id:`controls`,children:`Controls`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Control`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Group rows by`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Hierarchical`}),` to read the tree, or `,_jsx(_components.strong,{children:`Flat`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`List by`})}),_jsx(_components.td,{children:`Show a flat entity, such as API keys, under each row.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Under`})}),_jsx(_components.td,{children:`The level the flat entity is listed under.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Charges`})}),_jsx(_components.td,{children:`The charges to show. With one charge selected, each of its filters gets its own column.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Show`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Units`}),` or `,_jsx(_components.strong,{children:`Amounts`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Time range`})}),_jsx(_components.td,{children:`Current billing period, previous billing period, or a custom range of up to 31 days.`})]})]})]}),_jsx(Frame,{caption:`One charge split by its filters`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-split-charge.webp?fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=5d7e02e99e40d7879180825ce8ea53b2`,alt:`The Attribution tab with the Tokens charge split into Opus, Sonnet, Haiku and Default columns`,\"data-og-width\":`1130`,width:`1130`,\"data-og-height\":`530`,height:`530`,\"data-path\":`guide/governance/images/attribution-split-charge.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-split-charge.webp?w=280\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=64dd853688b780fc5b6d91550dbf13dc 280w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-split-charge.webp?w=560\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=787b44068b09c24a5e3a509f96faaa0d 560w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-split-charge.webp?w=840\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=0d24ef4b803965f600f4b8cecb680d3c 840w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-split-charge.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=8336b2bfdb3f592147d10d8b5c160273 1100w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-split-charge.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=ff2936a9418a879ed62dd1c424f5cba8 1650w, https://mintcdn.com/lago-docs/ulhUx8P7BdGQu-pb/guide/governance/images/attribution-split-charge.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=ulhUx8P7BdGQu-pb\u0026q=85\u0026s=64c099be99ae65b5fd7aaa7b1207223a 2500w`})})]}),_jsxs(Tab,{title:`API`,id:`api`,\"data-child-heading-ids\":`[\"response\",\"by-hierarchy-2\",\"by-a-flat-key-2\",\"split-a-charge\",\"parameters\"]`,children:[_jsx(_components.p,{children:_jsx(_components.code,{children:`GET /api/v1/customers/:external_customer_id/attributed_usage`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --get`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$LAGO_URL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/api/v1/customers/cust_123/attributed_usage\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$API_KEY`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"external_subscription_id=sub_123\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"group_by=department\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"basis=amount\"`})]}),`\n`]})})}),_jsx(Heading,{level:`3`,id:`response`,children:`Response`}),_jsx(CodeBlock,{filename:``,numberOfLines:`33`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`33`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"attributed_usage\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"external_subscription_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"sub_123\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"group_by\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"department\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"basis\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"amount\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"from_datetime\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-01T00:00:00Z\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"to_datetime\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-31T23:59:59Z\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"currency\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"USD\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"rows\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"rnd\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"rank\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"amount_cents\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`325000`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"events_count\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"charges_usage\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"charge_code\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"llm_tokens\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"units\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"35.0\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"amount_cents\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`325000`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"events_count\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"sales\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"rank\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"amount_cents\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`49900`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"events_count\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"charges_usage\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"charge_code\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"fine_tuning_jobs\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"units\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"1.0\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"amount_cents\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`49900`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"events_count\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"unattributed\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"amount_cents\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`49900`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"events_count\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"charges_usage\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#F44747`,\"--shiki-dark\":`#F44747`},children:`...`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`] },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"totals\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"amount_cents\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`424800`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"events_count\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`4`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"charges_usage\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#F44747`,\"--shiki-dark\":`#F44747`},children:`...`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`] }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"meta\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"current_page\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"next_page\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"prev_page\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"total_pages\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"total_count\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rows`})}),_jsxs(_components.td,{children:[`One row per value of the `,_jsx(_components.code,{children:`group_by`}),` entity.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rows[].value`})}),_jsxs(_components.td,{children:[`The entity value, such as `,_jsx(_components.code,{children:`rnd`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rows[].rank`})}),_jsxs(_components.td,{children:[`Position of the row: by amount on the `,_jsx(_components.code,{children:`amount`}),` basis, by units on the `,_jsx(_components.code,{children:`units`}),` basis.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rows[].amount_cents`})}),_jsxs(_components.td,{children:[`Amount in cents. `,_jsx(_components.code,{children:`null`}),` on the `,_jsx(_components.code,{children:`units`}),` basis.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rows[].charges_usage`})}),_jsx(_components.td,{children:`Units, amount and event count per charge.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unattributed`})}),_jsx(_components.td,{children:`Usage with no value for the entity. Never ranked.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`totals`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`rows`}),` plus `,_jsx(_components.code,{children:`unattributed`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`split_filters_count`})}),_jsxs(_components.td,{children:[`Number of filters of the split charge. `,_jsx(_components.code,{children:`null`}),` without `,_jsx(_components.code,{children:`split_charge_code`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`split_charge_units`})}),_jsxs(_components.td,{children:[`On rows, `,_jsx(_components.code,{children:`unattributed`}),` and `,_jsx(_components.code,{children:`totals`}),`: units of the split charge across all its filters. `,_jsx(_components.code,{children:`null`}),` without `,_jsx(_components.code,{children:`split_charge_code`}),`.`]})]})]})]}),_jsx(Heading,{level:`3`,id:`by-hierarchy-2`,children:`By hierarchy`}),_jsxs(_components.p,{children:[`Read one level at a time, filtering on the parent. Grouping by a child without its parent returns `,_jsx(_components.code,{children:`parent_filter_required`}),`.`]}),_jsxs(_components.p,{children:[`To list a flat key under a node, group by the flat key and filter on that node. The last example returns the API keys used by `,_jsx(_components.code,{children:`alice`}),`.`]}),_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Teams in rnd`,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --get`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$LAGO_URL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/api/v1/customers/cust_123/attributed_usage\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$API_KEY`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"external_subscription_id=sub_123\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"group_by=team\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"filters[department][]=rnd\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Users in eng`,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --get`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$LAGO_URL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/api/v1/customers/cust_123/attributed_usage\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$API_KEY`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"external_subscription_id=sub_123\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"group_by=user\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"filters[team][]=eng\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`API keys under alice`,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --get`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$LAGO_URL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/api/v1/customers/cust_123/attributed_usage\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$API_KEY`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"external_subscription_id=sub_123\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"group_by=api_key\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"filters[user][]=alice\"`})]}),`\n`]})})})]}),_jsxs(_components.p,{children:[`Filters also scope `,_jsx(_components.code,{children:`totals`}),`, so each level adds up to its parent row.`]}),_jsx(Heading,{level:`3`,id:`by-a-flat-key-2`,children:`By a flat key`}),_jsx(_components.p,{children:`Group by the flat key with no filter. You get one row per value across the whole subscription.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --get`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$LAGO_URL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/api/v1/customers/cust_123/attributed_usage\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$API_KEY`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"external_subscription_id=sub_123\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"group_by=api_key\"`})]}),`\n`]})})}),_jsx(Heading,{level:`3`,id:`split-a-charge`,children:`Split a charge`}),_jsxs(_components.p,{children:[`Add `,_jsx(_components.code,{children:`split_charge_code`}),` to break one charge down by its `,_jsx(_components.a,{href:`/guide/plans/charges/charges-with-filters`,children:`filters`}),`. Each row then returns one `,_jsx(_components.code,{children:`charges_usage`}),` line per filter value.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --get`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$LAGO_URL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/api/v1/customers/cust_123/attributed_usage\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$API_KEY`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"external_subscription_id=sub_123\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"group_by=user\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"filters[team][]=eng\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"basis=amount\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data-urlencode`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"split_charge_code=llm_tokens\"`})]}),`\n`]})})}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`User`}),_jsx(_components.th,{children:`Opus`}),_jsx(_components.th,{children:`Sonnet`}),_jsx(_components.th,{children:`Total`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`alice`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$2,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$0`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$2,000`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`bob`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$0`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$1,250`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$1,250`})]})]})]}),_jsxs(_components.p,{children:[`Filters come back 10 at a time, in the order of the charge, followed by one line for usage that matches no filter. `,_jsx(_components.code,{children:`split_filters_count`}),` gives the number of filters. Pass `,_jsx(_components.code,{children:`split_filters_offset=10`}),` for the next 10, and so on.`]}),_jsxs(_components.p,{children:[`Paging only changes which filter lines are returned. Rows, ranks, amounts and `,_jsx(_components.code,{children:`totals`}),` stay the same on every page. On the `,_jsx(_components.code,{children:`units`}),` basis, `,_jsx(_components.code,{children:`split_charge_units`}),` gives the units of the split charge across all its filters, so you don’t have to add up pages.`]}),_jsx(Heading,{level:`3`,id:`parameters`,children:`Parameters`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`external_subscription_id`})}),_jsx(_components.td,{children:`Required. An active subscription of the customer.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`group_by`})}),_jsx(_components.td,{children:`Required. The code of one entity.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`filters[\u003ccode>][]`})}),_jsx(_components.td,{children:`Values to keep. Several values for one entity are combined with OR, several entities with AND. Up to 20 values per entity.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`basis`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`units`}),` (default) or `,_jsx(_components.code,{children:`amount`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`from_datetime`}),`, `,_jsx(_components.code,{children:`to_datetime`})]}),_jsx(_components.td,{children:`ISO 8601. Both or neither, up to 31 days apart.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`charge_codes[]`})}),_jsx(_components.td,{children:`Charges to include. Defaults to all supported charges.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`split_charge_code`})}),_jsxs(_components.td,{children:[`One charge to split by its filters. Must be in `,_jsx(_components.code,{children:`charge_codes[]`}),` when you send it.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`split_filters_offset`})}),_jsx(_components.td,{children:`Index of the first filter to return, starting at 0. Defaults to 0.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`search_term`})}),_jsx(_components.td,{children:`Keeps the values that match.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`per_page`})]}),_jsxs(_components.td,{children:[`Pagination. `,_jsx(_components.code,{children:`per_page`}),` defaults to 50, up to 100.`]})]})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`amounts-and-charge-models`,children:`Amounts and charge models`}),`\n`,_jsxs(_components.p,{children:[`Amounts are available for the `,_jsx(_components.a,{href:`/guide/plans/charges/charge-models/standard`,children:`standard`}),` charge model. Other charge models return units only.`]}),`\n`,_jsx(_components.p,{children:`A standard charge is linear: every unit costs the same, so each team’s share of the amount is its share of the units. Graduated, volume, package and percentage charges aren’t linear. The price of a unit depends on the total usage of the subscription, so there is no single correct way to split the amount between teams or users.`}),`\n`,_jsx(_components.p,{children:`For example, with a graduated price of $1 for the first 1,000 units and $0.50 above, two teams that each send 1,000 units cost $1,500 together. Neither team is the one that crossed the tier, so neither owns the cheaper units.`}),`\n`,_jsx(Heading,{level:`2`,id:`time-range`,children:`Time range`}),`\n`,_jsx(_components.p,{children:`A query covers up to 31 days. By default, it reads the current billing period. Attributed usage is computed on demand from your events, and the cap keeps every query fast.`}),`\n`,_jsx(_components.p,{children:`For a quarterly or yearly billing period, the default view reads the last 31 days of the period. To cover a longer period, run one query per month and add the results.`}),`\n`,_jsx(Heading,{level:`2`,id:`limitations`,children:`Limitations`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Supports billable metrics with a `,_jsx(_components.code,{children:`COUNT`}),` or `,_jsx(_components.code,{children:`SUM`}),` aggregation that aren’t recurring.`]}),`\n`,_jsx(_components.li,{children:`Amounts are a breakdown of usage, before coupons, credits, minimums and taxes. They can differ from the invoice.`}),`\n`,_jsxs(_components.li,{children:[`One level per request, up to 3 flat entities in `,_jsx(_components.code,{children:`filters`}),`, one split charge per request.`]}),`\n`,_jsxs(_components.li,{children:[`Up to 100,000 values per entity for each customer. Past that, new values aren’t tracked and grouping by the entity without a parent filter returns `,_jsx(_components.code,{children:`too_many_values`}),`. Use entities for stable things like users, teams or models, never for a request or transaction ID.`]}),`\n`,_jsxs(_components.li,{children:[`A large query can fail with `,_jsx(_components.code,{children:`too_many_groups`}),` or `,_jsx(_components.code,{children:`query_timeout`}),`. Narrow the time range or add filters.`]}),`\n`]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Core concepts`,icon:`book`,href:`/guide/governance/core-concepts`,children:_jsx(_components.p,{children:`Entities, attribution keys and roll-ups.`})}),_jsx(Card,{title:`Send attributed events`,icon:`paper-plane`,href:`/guide/governance/sending-events`,children:_jsx(_components.p,{children:`Tag events with entity values.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Query attributed usage","description":"Read a subscription's usage and spend per governance entity, in the app or with the API.","href":"/guide/governance/query"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"By hierarchy","slug":"by-hierarchy","depth":3,"children":[],"tabId":"dashboard"},{"title":"By a flat key","slug":"by-a-flat-key","depth":3,"children":[],"tabId":"dashboard"},{"title":"Controls","slug":"controls","depth":3,"children":[],"tabId":"dashboard"},{"title":"Response","slug":"response","depth":3,"children":[],"tabId":"api"},{"title":"By hierarchy","slug":"by-hierarchy-2","depth":3,"children":[],"tabId":"api"},{"title":"By a flat key","slug":"by-a-flat-key-2","depth":3,"children":[],"tabId":"api"},{"title":"Split a charge","slug":"split-a-charge","depth":3,"children":[],"tabId":"api"},{"title":"Parameters","slug":"parameters","depth":3,"children":[],"tabId":"api"},{"title":"Amounts and charge models","slug":"amounts-and-charge-models","depth":2,"children":[]},{"title":"Time range","slug":"time-range","depth":2,"children":[]},{"title":"Limitations","slug":"limitations","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/lago-docs/a0e77058367d9146/canonical.js","/docs/_mintlify/custom/lago-docs/fa2446312177e9c6/loader.js","/docs/_mintlify/custom/lago-docs/c55d8403f7fc83ad/changelog-anchor-redirect.js","/docs/_mintlify/custom/lago-docs/8c326c8b67b47933/changelog-month-nav.js","/docs/_mintlify/custom/lago-docs/103c90943d27f62a/webmcp.js","/docs/_mintlify/custom/lago-docs/1219fb859e5c496e/github-outbound.js"],"subdomain":"lago-docs","siteName":"Lago","title":"Query attributed usage - Lago","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T14:58:04.841Z","originalFileLocation":"guide/governance/query.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Read a subscription\u0026#x27;s usage and spend per governance entity, in the app or with the API.\">\u003cmeta data-mint-head name=\"keywords\" content=\"Lago API, billing API, usage metering API, OpenAPI, billing SDK, Lago MCP\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lago\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Query attributed usage - Lago\">\u003cmeta data-mint-head property=\"og:description\" content=\"Read a subscription\u0026#x27;s usage and spend per governance entity, in the app or with the API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lago\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://getlago.com/docs/guide/governance/query\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lago-docs.mintlify.site/docs/_mintlify/api/og/v2?division=Governance\u0026amp;title=Query+attributed+usage\u0026amp;description=Read+a+subscription%27s+usage+and+spend+per+governance+entity%2C+in+the+app+or+with+the+API.\u0026amp;theme=e69bad9b2f17285816711238\u0026amp;signature=326644b3ebce931a0ca4f85371d0ac1d53f8dc5b7437d81687a92931a09b54e8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Query attributed usage - Lago\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Read a subscription\u0026#x27;s usage and spend per governance entity, in the app or with the API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lago-docs.mintlify.site/docs/_mintlify/api/og/v2?division=Governance\u0026amp;title=Query+attributed+usage\u0026amp;description=Read+a+subscription%27s+usage+and+spend+per+governance+entity%2C+in+the+app+or+with+the+API.\u0026amp;theme=e69bad9b2f17285816711238\u0026amp;signature=326644b3ebce931a0ca4f85371d0ac1d53f8dc5b7437d81687a92931a09b54e8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/lago-docs/PXUAhcpsneOuo3Dn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lago\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#006CFA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://getlago.com/docs/guide/governance/query\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/guide/governance/query.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://getlago.com/#organization\",\"name\":\"Lago\",\"legalName\":\"Get Lago Corp.\",\"url\":\"https://getlago.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://getlago.com/docs/logo/light.svg\"},\"sameAs\":[\"https://github.com/getlago\",\"https://www.linkedin.com/company/getlago\",\"https://x.com/GetLago\",\"https://www.youtube.com/channel/UCp6ltp7n3SgDVsmerJ7O7ZA\"]},{\"@type\":\"WebSite\",\"@id\":\"https://getlago.com/docs#website\",\"name\":\"Lago\",\"url\":\"https://getlago.com/docs\",\"publisher\":{\"@id\":\"https://getlago.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://getlago.com/docs/guide/governance/query#webpage\",\"url\":\"https://getlago.com/docs/guide/governance/query\",\"name\":\"Query attributed usage\",\"description\":\"Read a subscription's usage and spend per governance entity, in the app or with the API.\",\"dateModified\":\"2026-11-10T14:58:04.841Z\",\"isPartOf\":{\"@id\":\"https://getlago.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://getlago.com/docs/guide/governance/query#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://getlago.com/docs/guide/governance/query#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Events \u0026 Usage Components\",\"item\":\"https://getlago.com/docs/guide/billable-metrics/create-billable-metrics\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Governance\",\"item\":\"https://getlago.com/docs/guide/governance/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Query attributed usage\",\"item\":\"https://getlago.com/docs/guide/governance/query\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://getlago.com/docs/guide/governance/query#article\",\"headline\":\"Query attributed usage\",\"name\":\"Query attributed usage\",\"description\":\"Read a subscription's usage and spend per governance entity, in the app or with the API.\",\"url\":\"https://getlago.com/docs/guide/governance/query\",\"mainEntityOfPage\":{\"@id\":\"https://getlago.com/docs/guide/governance/query#webpage\"},\"dateModified\":\"2026-11-10T14:58:04.841Z\",\"publisher\":{\"@id\":\"https://getlago.com/#organization\"},\"isPartOf\":{\"@id\":\"https://getlago.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lago\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lago","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://getlago.com/blog"},{"anchor":"Community","icon":"slack","href":"https://getlago.com/slack"},{"anchor":"GitHub","icon":"github","href":"https://github.com/getlago/lago"},{"anchor":"Status","icon":"signal-bars","href":"https://status.getlago.com/"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/welcome"}]},{"tab":"Guide","groups":[{"group":"Introduction","pages":[{"title":"Welcome to Lago","href":"/guide/introduction/welcome-to-lago"},{"title":"Why billing is a nightmare","href":"/guide/introduction/why-billing-is-a-nightmare"}]},{"group":"Get started","pages":[{"title":"Lago Cloud","href":"/guide/lago-cloud"},{"group":"Lago Self-hosted","pages":[{"title":"Self-hosting overview","sidebarTitle":"Overview","href":"/guide/lago-self-hosted/overview"},{"title":"Docker","href":"/guide/lago-self-hosted/docker"},{"title":"Kubernetes","href":"/guide/lago-self-hosted/kubernetes"},{"title":"Compatibility matrix","href":"/guide/lago-self-hosted/compatibility-matrix"},{"title":"Database maintenance","href":"/guide/lago-self-hosted/database-maintenance"},{"title":"Tracking and analytics","href":"/guide/lago-self-hosted/tracking-analytics"},{"title":"Versions update","href":"/guide/lago-self-hosted/update-instance"},{"title":"Useful commands","href":"/guide/lago-self-hosted/commands"}]}]},{"group":"Events \u0026 Usage Components","pages":[{"group":"Billable metrics","pages":[{"title":"Create billable metrics","href":"/guide/billable-metrics/create-billable-metrics"},{"group":"Aggregation types","pages":[{"title":"Aggregation types: how usage is measured and counted","sidebarTitle":"Overview","href":"/guide/billable-metrics/aggregation-types/overview"},{"title":"COUNT","href":"/guide/billable-metrics/aggregation-types/count"},{"title":"COUNT UNIQUE","href":"/guide/billable-metrics/aggregation-types/count-unique"},{"title":"LATEST","href":"/guide/billable-metrics/aggregation-types/latest"},{"title":"MAX","href":"/guide/billable-metrics/aggregation-types/max"},{"title":"SUM","href":"/guide/billable-metrics/aggregation-types/sum"},{"title":"WEIGHTED SUM","href":"/guide/billable-metrics/aggregation-types/weighted-sum"},{"title":"CUSTOM","href":"/guide/billable-metrics/aggregation-types/custom-agg"},{"title":"Aggregation examples","href":"/guide/billable-metrics/aggregation-types/aggregation-examples"}]},{"title":"Recurring vs metered","href":"/guide/billable-metrics/recurring-vs-metered"},{"title":"SQL expressions","href":"/guide/billable-metrics/sql-expressions"},{"title":"Rounding","href":"/guide/billable-metrics/rounding"},{"title":"Filters and dimensions","href":"/guide/billable-metrics/filters"},{"title":"Delete billable metrics","href":"/guide/billable-metrics/delete-billable-metrics"}]},{"group":"Usage ingestion","pages":[{"title":"Ingest usage","href":"/guide/events/ingesting-usage"},{"title":"Performance and optimization","href":"/guide/events/usage-performances"},{"title":"Metering ingestion sources","href":"/guide/events/metering-source"},{"title":"Retrieve usage","href":"/guide/events/retrieve-usage"}]},{"group":"Governance","pages":[{"title":"Governance overview","href":"/guide/governance/overview"},{"title":"Core concepts","href":"/guide/governance/core-concepts"},{"title":"Set up governance","href":"/guide/governance/setting-up"},{"title":"Send attributed events","description":"Tag your usage events with governance entity values.","href":"/guide/governance/sending-events"},{"title":"Query attributed usage","href":"/guide/governance/query"}]},{"group":"Alerts","pages":[{"title":"Usage alerts","description":"Usage alerts allow you to monitor your subscriptions' usage and billing by firing notifications when certain conditions are met.","href":"/guide/alerts/usage-alerts"},{"title":"Credits consumption alerts","href":"/guide/alerts/credits-consumption-alerts"},{"title":"Alert resolution","href":"/guide/alerts/alert-resolution"}]}]},{"group":"Pricing \u0026 Subscriptions","pages":[{"group":"Plans","pages":[{"title":"Plans: price subscriptions, usage and hybrid models","sidebarTitle":"Overview","href":"/guide/plans/overview"},{"title":"Plan model","href":"/guide/plans/plan-model"},{"group":"Charges","pages":[{"title":"Usage based charge","href":"/guide/plans/charges/usage-based-charges"},{"title":"Fixed charge","href":"/guide/plans/charges/fixed-charges"},{"group":"Charge models","pages":[{"title":"Standard","href":"/guide/plans/charges/charge-models/standard"},{"title":"Graduated","href":"/guide/plans/charges/charge-models/graduated"},{"title":"Package","href":"/guide/plans/charges/charge-models/package"},{"title":"Percentage","href":"/guide/plans/charges/charge-models/percentage"},{"title":"Volume","href":"/guide/plans/charges/charge-models/volume"},{"title":"Graduated percentage","href":"/guide/plans/charges/charge-models/graduated-percentage"},{"title":"Dynamic","href":"/guide/plans/charges/charge-models/dynamic"},{"title":"Custom price","href":"/guide/plans/charges/charge-models/custom-price"}]},{"title":"Metered vs Recurring","href":"/guide/plans/charges/metered-vs-recurring"},{"title":"Arrears vs Advance","href":"/guide/plans/charges/arrears-vs-advance"},{"title":"Prorated vs Full","href":"/guide/plans/charges/prorated-vs-full"},{"title":"Spending minimums","href":"/guide/plans/charges/spending-minimum"},{"title":"Invoiceable vs Uninvoiceable","href":"/guide/plans/charges/invoiceable-vs-noninvoiceable"},{"title":"Charges with filters","href":"/guide/plans/charges/charges-with-filters"},{"title":"Group keys","href":"/guide/plans/charges/grouping"}]},{"title":"Custom pricing units","href":"/guide/plans/custom-pricing-units"},{"title":"Commitments","href":"/guide/plans/commitment"},{"title":"Progressive billing","href":"/guide/plans/progressive-billing"}]},{"group":"Customers","pages":[{"title":"Customer management","href":"/guide/customers/customer-management"},{"title":"Customer metadata","href":"/guide/customers/customer-metadata"},{"title":"Invoice a customer","href":"/guide/customers/invoice-customer"},{"title":"The customer portal","href":"/guide/customers/customer-portal"}]},{"title":"Billing entities","href":"/guide/billing-entities"},{"group":"Subscriptions","pages":[{"title":"Assign a plan to a customer","href":"/guide/subscriptions/assign-plan"},{"title":"Activation rules","href":"/guide/subscriptions/activation-rules"},{"title":"Upgrades and downgrades","href":"/guide/subscriptions/upgrades-downgrades"},{"title":"Edit a subscription","href":"/guide/subscriptions/edit-subscription"},{"title":"Terminate a subscription","href":"/guide/subscriptions/terminate-subscription"}]},{"title":"Coupons","href":"/guide/coupons"},{"title":"Entitlements","href":"/guide/entitlements"},{"title":"Emails","href":"/guide/emails"}]},{"group":"Quotes \u0026 Order Forms","pages":[{"title":"Quotes and order forms: from proposal to provisioned billing","sidebarTitle":"Overview","href":"/guide/quotes/overview"},{"title":"Creating a quote","href":"/guide/quotes/create-a-quote"},{"title":"Writing the quote content","href":"/guide/quotes/quote-editor"},{"title":"Order forms","href":"/guide/quotes/order-forms"},{"title":"Orders","href":"/guide/quotes/orders"},{"title":"Limitations","href":"/guide/quotes/limitations"}]},{"group":"Invoicing","pages":[{"group":"Invoices","pages":[{"title":"Invoicing: generate invoices from plans and usage","sidebarTitle":"Overview","href":"/guide/invoicing/overview"},{"group":"Invoicing settings","pages":[{"title":"Invoicing settings: customize invoices per billing entity","sidebarTitle":"Overview","href":"/guide/invoicing/invoicing-settings/overview"},{"title":"Invoice numbering","href":"/guide/invoicing/invoicing-settings/invoice-numbering"},{"title":"Grace period","href":"/guide/invoicing/invoicing-settings/grace-period"},{"title":"Payment terms","href":"/guide/invoicing/invoicing-settings/payment-term"},{"title":"Empty invoice generation","href":"/guide/invoicing/invoicing-settings/empty-invoices"},{"title":"Issuing date preferences","href":"/guide/invoicing/invoicing-settings/issuing_date"},{"title":"Taxes","href":"/guide/invoicing/invoicing-settings/taxes"}]},{"title":"Fees","href":"/guide/invoicing/fees"},{"title":"Draft invoices","href":"/guide/invoicing/draft-invoices"},{"title":"Download invoices","href":"/guide/invoicing/download-invoices"},{"title":"Invoice metadata","href":"/guide/invoicing/invoice-metadata"},{"title":"Preview an invoice","href":"/guide/invoicing/previews"},{"title":"Void invoices","href":"/guide/invoicing/void"}]},{"group":"One-off invoices","pages":[{"title":"Create add-ons","href":"/guide/one-off-invoices/create-add-ons"},{"title":"Issue one-off invoices","href":"/guide/one-off-invoices/create-one-off-invoices"}]},{"group":"Credit notes","pages":[{"title":"Credit notes: correct an invoice without losing the record","sidebarTitle":"Overview","href":"/guide/invoicing/credit-notes/overview"},{"title":"Credit note metadata","href":"/guide/invoicing/credit-notes/credit-note-metadata"}]},{"title":"Revenue share","href":"/guide/revenue-share"},{"group":"E-invoicing","pages":[{"title":"E-invoicing: generate invoices that comply by country","sidebarTitle":"Overview","href":"/guide/invoicing/e-invoicing/overview"},{"title":"E-Invoicing contributions","href":"/guide/invoicing/e-invoicing/contributions"}]}]},{"group":"Payments \u0026 Cash Collection","pages":[{"group":"Payments","pages":[{"title":"Payment provider integrations","href":"/guide/payments/payment-providers"},{"title":"Payment methods","href":"/guide/payments/payment-methods"},{"title":"Record manual payments","href":"/guide/payments/record-manual-payments"},{"title":"Payment pre-authorization","href":"/guide/payments/payment-authorization"},{"title":"Payment retries","href":"/guide/payments/payment-retries"},{"title":"Payment receipts","href":"/guide/payments/receipts"}]},{"group":"Dunning","pages":[{"title":"Manual dunning","href":"/guide/dunning/manual-dunning"},{"title":"Automatic dunning","href":"/guide/dunning/automatic-dunning"}]},{"group":"Wallets and prepaid credits","pages":[{"title":"Prepaid credits and wallets: bill usage against a balance","sidebarTitle":"Overview","href":"/guide/wallet-and-prepaid-credits/overview"},{"title":"Top-up and void credits","href":"/guide/wallet-and-prepaid-credits/wallet-top-up-and-void"},{"title":"Traceability","href":"/guide/wallet-and-prepaid-credits/traceability"}]}]},{"group":"AI Agents and MCP","pages":[{"title":"AI tools for Lago","sidebarTitle":"AI tools","href":"/guide/ai-agents/for-agents"},{"title":"Build Lago billing with a coding agent","sidebarTitle":"Build with a coding agent","href":"/guide/ai-agents/coding-agents"},{"group":"Lago Agent SDK","pages":[{"title":"Agent SDK: bill LLM token usage from your application","sidebarTitle":"Overview","href":"/guide/ai-agents/agent-sdk/overview"},{"title":"Billing","href":"/guide/ai-agents/agent-sdk/billing"},{"group":"Providers","pages":[{"title":"OpenAI","href":"/guide/ai-agents/agent-sdk/openai"},{"title":"Anthropic","href":"/guide/ai-agents/agent-sdk/anthropic"},{"title":"AWS Bedrock","href":"/guide/ai-agents/agent-sdk/bedrock"},{"title":"Google Gemini","href":"/guide/ai-agents/agent-sdk/gemini"},{"title":"Mistral","href":"/guide/ai-agents/agent-sdk/mistral"}]},{"group":"Gateways","pages":[{"title":"Cloudflare AI Gateway","href":"/guide/ai-agents/agent-sdk/cloudflare"},{"title":"Databricks AI Gateway","href":"/guide/ai-agents/agent-sdk/databricks"},{"title":"Snowflake Cortex","href":"/guide/ai-agents/agent-sdk/snowflake"},{"title":"Ramp Router","href":"/guide/ai-agents/agent-sdk/ramp-router"}]},{"title":"Reference","href":"/guide/ai-agents/agent-sdk/reference"}]},{"title":"The Billing Assistant","href":"/guide/ai-agents/billing-assistant"},{"title":"The Finance Assistant","href":"/guide/ai-agents/finance-assistant"},{"title":"The Dunning Agent","href":"/guide/ai-agents/dunning-agent"},{"title":"MCP server for billing: connect coding agents to usage and invoices","sidebarTitle":"Lago MCP Server","href":"/guide/ai-agents/mcp-server"}]},{"group":"Data \u0026 Analytics","pages":[{"title":"Webhooks","href":"/guide/webhooks"},{"group":"Analytics","pages":[{"group":"Reports","pages":[{"title":"Billing analytics: read revenue, usage and invoice reports","sidebarTitle":"Overview","href":"/guide/analytics/overview"},{"group":"Subscriptions","pages":[{"title":"Active subscriptions","href":"/guide/analytics/subscriptions/active"},{"title":"New subscriptions","href":"/guide/analytics/subscriptions/new"},{"title":"Churn","href":"/guide/analytics/subscriptions/churn"}]},{"group":"Revenue","pages":[{"title":"Revenue streams","href":"/guide/analytics/revenue/revenue-streams"},{"title":"MRR","href":"/guide/analytics/revenue/mrr"}]},{"title":"Credit ledgers","href":"/guide/analytics/credit-ledgers"},{"title":"Usage","href":"/guide/analytics/usage"},{"group":"Cash collection","pages":[{"title":"Payments","href":"/guide/analytics/cash-collection/payments"},{"title":"Dunnings","href":"/guide/analytics/cash-collection/dunnings"}]},{"title":"Invoices","href":"/guide/analytics/invoices"}]},{"title":"Forecasted usage","href":"/guide/analytics/forecasted-usage"}]},{"group":"Data exports","pages":[{"title":"Export invoices","href":"/guide/invoicing/export"},{"title":"Lago Data Pipeline","href":"/integrations/data/lago-data-pipeline"}]}]},{"group":"Revenue recognition","tag":"Private beta","pages":[{"title":"Revenue recognition: turn billing into accrual-basis revenue","sidebarTitle":"Overview","href":"/guide/revenue-recognition/overview"},{"group":"How it works","pages":[{"title":"Methodology","href":"/guide/revenue-recognition/how-it-works/methodology"},{"title":"Subscriptions","href":"/guide/revenue-recognition/how-it-works/subscriptions"},{"title":"Usage-based charges","href":"/guide/revenue-recognition/how-it-works/usage-based-charges"},{"title":"Minimum commitments","href":"/guide/revenue-recognition/how-it-works/minimum-commitments"},{"title":"Taxes","href":"/guide/revenue-recognition/how-it-works/taxes"},{"title":"Payments","href":"/guide/revenue-recognition/how-it-works/payments"},{"title":"Credit notes and adjustments","href":"/guide/revenue-recognition/how-it-works/credit-notes-and-adjustments"},{"title":"Disputes and failed payments","href":"/guide/revenue-recognition/how-it-works/disputes-and-failed-payments"},{"title":"Wallets and prepaid credits","href":"/guide/revenue-recognition/how-it-works/wallets-and-prepaid-credits"}]},{"group":"Get started","pages":[{"title":"Enable revenue recognition","href":"/guide/revenue-recognition/get-started/enable"},{"title":"Prepare your billing data","href":"/guide/revenue-recognition/get-started/prepare-billing-data"},{"title":"Review your first reporting period","href":"/guide/revenue-recognition/get-started/review-first-period"},{"title":"Export revenue recognition data","href":"/guide/revenue-recognition/get-started/export"}]},{"group":"Reports","pages":[{"title":"Recognized Revenue","href":"/guide/revenue-recognition/reports/recognized-revenue"},{"title":"Deferred Revenue","href":"/guide/revenue-recognition/reports/deferred-revenue"},{"title":"Revenue Waterfall","href":"/guide/revenue-recognition/reports/revenue-waterfall"},{"title":"Statements","href":"/guide/revenue-recognition/reports/statements"},{"title":"Journal Entry Details","href":"/guide/revenue-recognition/reports/journal-entry-details"}]},{"group":"Examples","pages":[{"title":"Full lifecycle example","href":"/guide/revenue-recognition/examples/full-lifecycle"}]}]},{"group":"Resources","pages":[{"group":"Security","pages":[{"title":"Audit logs","href":"/guide/security/audit-logs"},{"title":"Security logs","href":"/guide/security/security-logs"},{"title":"API Keys","href":"/guide/security/api-keys"},{"title":"RBAC - Role-Based Access Control","href":"/guide/security/rbac"},{"title":"Single Sign-On (SSO)","href":"/guide/security/sso"},{"title":"SOC 2 Type 2","href":"/guide/security/soc"}]},{"title":"Integration testing","href":"/guide/integration-testing"},{"title":"Lago OpenAPI","href":"/guide/lago-open-api"},{"group":"Lago CLI","pages":[{"title":"Lago CLI: the billing API from your terminal","sidebarTitle":"Overview","href":"/guide/lago-cli/overview"},{"group":"Command reference","pages":[{"title":"Command reference","href":"/guide/lago-cli/commands/overview"},{"title":"Setup and diagnostics","href":"/guide/lago-cli/commands/setup"},{"title":"Helpers","href":"/guide/lago-cli/commands/helpers"},{"title":"Billable metrics","href":"/guide/lago-cli/commands/billable-metrics"},{"title":"Plans","href":"/guide/lago-cli/commands/plans"},{"title":"Features and entitlements","href":"/guide/lago-cli/commands/features-and-entitlements"},{"title":"Customers","href":"/guide/lago-cli/commands/customers"},{"title":"Subscriptions","href":"/guide/lago-cli/commands/subscriptions"},{"title":"Events","href":"/guide/lago-cli/commands/events"},{"title":"Invoices","href":"/guide/lago-cli/commands/invoices"},{"title":"Credit notes","href":"/guide/lago-cli/commands/credit-notes"},{"title":"Coupons and add-ons","href":"/guide/lago-cli/commands/coupons-and-add-ons"},{"title":"Wallets","href":"/guide/lago-cli/commands/wallets"},{"title":"Taxes and fees","href":"/guide/lago-cli/commands/taxes-and-fees"},{"title":"Payments","href":"/guide/lago-cli/commands/payments"},{"title":"Webhooks","href":"/guide/lago-cli/commands/webhooks"},{"title":"Analytics and logs","href":"/guide/lago-cli/commands/analytics-and-logs"},{"title":"Organization","href":"/guide/lago-cli/commands/organization"},{"title":"Quotes and orders","href":"/guide/lago-cli/commands/quotes-and-orders"}]}]},{"group":"Migrations","pages":[{"title":"Migration to v1.57.0","href":"/guide/migration/migration-to-v1.57.0"},{"title":"Migration to v1.56.0","href":"/guide/migration/migration-to-v1.56.0"},{"title":"Migration to v1.54.0","href":"/guide/migration/migration-to-v1.54.0"},{"title":"Migration to v1.52.0","href":"/guide/migration/migration-to-v1.52.0"},{"title":"Migration to v1.50.0","href":"/guide/migration/migration-to-v1.50.0"},{"title":"Migration to v1.45.0","href":"/guide/migration/migration-to-v1.45.0"},{"title":"Migration to v1.44.0","href":"/guide/migration/migration-to-v1.44.0"},{"title":"Migration to v1.43.0","href":"/guide/migration/migration-to-v1.43.0"},{"title":"Migration to v1.32.0","href":"/guide/migration/migration-to-v1.32.0"},{"title":"Migration to v1.31.0","href":"/guide/migration/migration-to-v1.31.0"},{"title":"Migration to v1.29.0","href":"/guide/migration/migration-to-v1.29.0"},{"title":"Migration to v1.28.1","href":"/guide/migration/migration-to-v1.28.1"},{"title":"Migration to v1.25.0","href":"/guide/migration/migration-to-v1.25.0"},{"title":"Migration to v1.20.0","href":"/guide/migration/migration-to-v1.20.0"},{"title":"Migration to v1.2.0","href":"/guide/migration/migration-to-v1.2.0"}]}]}]},{"tab":"API References","pages":[{"title":"API References","href":"/api-reference/intro"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/introduction"}]},{"tab":"Templates","pages":[{"title":"Templates","href":"/templates/introduction"}]},{"tab":"FAQ","pages":[{"title":"FAQ","href":"/faq/about-lago"}]},{"tab":"Knowledge Base","href":"https://knowledge.getlago.com"},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/product"}]}]},"basePath":"","title":"Query attributed usage - Lago","buildId":"dpl_3pZeXn3XukjzFRgAX73A7GNDfRJ1","deploymentId":"dpl_3pZeXn3XukjzFRgAX73A7GNDfRJ1","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DM_qMxGl.js","DynamicMarkdown-C91yhnNP.js","zoom-image-lightbox-g3ZzIKzc.js","lightbox-handle-r17bVUz3.js"]}