Filter by line item status. 'pending' returns items not yet on an invoice, 'invoiced' returns items already assigned to an invoice. Omit to return both. Cannot be combined with invoiceId — when filtering by invoice ID all statuses are returned.
Filter by invoice ID. When provided without subscriptionId, returns all line items for that invoice. At least one of subscriptionId or invoiceId must be provided.
Comma-separated list of fields to expand. Supports: items, lineProvenance. items resolves each returned line's item and that item's external accounting codes into an items collection, so a line can be translated to a GL/SKU code without a second call. lineProvenance adds provenance to each returned line: how its amount before tax was calculated.
Narrows which external references are returned per item when expand=items. Matched exactly against the provider stored on the reference (e.g. accountsiq); there is no allowlist of known providers, but the value must satisfy the same format every stored provider does, so a malformed one is rejected rather than answered with an empty result that reads as "nothing is mapped". It never removes lines or items: an item with no reference for this provider comes back with an empty list, so unmapped SKUs stay visible. Ignored when the items expansion is not requested.
Lowercase snake_case provider identifier (e.g. salesforce, netsuite)
Items the returned lines were tagged with, each appearing once, ordered by id. Only present when expand=items is requested. Scoped to the lines in THIS response, not to any invoice as a whole — combine the collections across pages for a complete set. Join a line to its entry via the line's itemId. A line whose itemId has no entry here is a data-integrity fault — the tag points at an item that no longer resolves for this merchant. It is not the same as an untagged line and must not be counted as unmapped; report it.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"Paygentic","colors":{"primary":"#013F70","light":"#E0B1F7","dark":"#FF6F57"},"logo":{"light":"https://mintcdn.com/paygentic/uUKYt4gDqyfhF9Y7/logo/paygentic-logo-light.svg?fit=max\u0026auto=format\u0026n=uUKYt4gDqyfhF9Y7\u0026q=85\u0026s=cb1fd6b59a3c44e357ecdc522849ab37","dark":"https://mintcdn.com/paygentic/uUKYt4gDqyfhF9Y7/logo/paygentic-logo-dark.svg?fit=max\u0026auto=format\u0026n=uUKYt4gDqyfhF9Y7\u0026q=85\u0026s=e472e905a55866be14a5e51b15f16db6"},"favicon":"https://mintcdn.com/paygentic/uUKYt4gDqyfhF9Y7/favicon.svg?fit=max\u0026auto=format\u0026n=uUKYt4gDqyfhF9Y7\u0026q=85\u0026s=a93d7819e80f48ee401156e695125f09","navbar":{"links":[{"href":"mailto:support@paygentic.io","label":"Support"}]},"fonts":{"heading":{"family":"Funnel Display"},"body":{"family":"Host Grotesk"}},"integrations":{"posthog":{"apiKey":"phc_DYYQW9UMuySBrmREkYbwieAfTzyvSpOJVFm1v9DQzyh","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"paygentic","hasAudioNarration":false,"actualSubdomain":"paygentic","customDomains":["docs.paygentic.io"],"gitSource":{"type":"github","owner":"paygentic","repo":"paygentic","deployBranch":"main","contentDirectory":"projects/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adfd4c34966bc0d7bd21be0","collectionId":"a7cdf17f-adfe-412e-b95c-f370d22c9059","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adfd4c34966bc0d7bd21be0"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae06250bd7692f0e3bde79b","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API Reference","count":154},{"language":"default","tag":"Documentation","count":39},{"language":"default","tag":"Platform","count":28},{"language":"default","tag":"Subscriptions","count":15},{"language":"default","tag":"Sources","count":14},{"language":"default","tag":"Invoices V2","count":12},{"language":"default","tag":"Billing","count":10},{"language":"default","tag":"Pricing","count":10},{"language":"default","tag":"Billing Schedules","count":9},{"language":"default","tag":"Orders","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/invoices-v2/list-line-items","slug":"/api-reference/invoices-v2/list-line-items","pageMetadata":{"title":"List Line Items","description":"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices/lineItems","href":"/api-reference/invoices-v2/list-line-items","autogeneratedByOpenApi":true},"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: \"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.\"\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List Line Items","description":"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices/lineItems","href":"/api-reference/invoices-v2/list-line-items","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Invoices V2"],"summary":"List Line Items","description":"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.","operationId":"listLineItems","parameters":["8e74ed65-1839-4b02-9412-e20291125801","dc2961e0-0dc2-47b4-b490-2048c2ca5dce","fcf79ec2-b01a-4baa-a466-db04fee24845","703bec62-cf0d-4693-a9ce-fadc979713e8","eb8a9624-ab83-46b4-80c2-ecc45df6c40e","feab48bb-05c3-4792-aee4-312fff5454ea","e7c77535-51f4-48e4-8053-4167e2882838"],"responses":{"200":"4b5f0fee-83f9-42e5-bfad-f8360250d25c","400":"e14e33b9-58d9-426d-bdf1-f5256599e6ac","401":"fb76661b-6679-4f52-8181-d896eb5a5406","403":"58e1ca3a-8a89-4705-9385-4f7bf160dc3b","404":"a2c15b21-f51e-4643-9029-593d0d5e3d39","500":"ab8e866a-3ffe-430a-b594-baa77e367647"},"x-permission":"invoices:read","method":"get","type":"path","servers":["4f795b4a-127a-4dd9-a084-d0fb3f27d589","74cc8cba-af4b-4d13-a978-034f772bed76"],"security":["993de35d-944f-4407-95f9-ef7838d7e0e2"],"path":"/v2/invoices/lineItems","baseUrlOptions":["https://api.paygentic.io","https://api.sandbox.paygentic.io"],"title":"List Line Items","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8e74ed65-1839-4b02-9412-e20291125801":{"in":"query","name":"subscriptionId","required":false,"schema":{"type":"string","pattern":"^sub_[a-zA-Z0-9]+$","description":"Filter by subscription ID. At least one of subscriptionId or invoiceId must be provided.\nUnique identifier for a subscription","isRequired":false,"uniqueKey":"","typeLabel":"string"},"description":"Filter by subscription ID. At least one of subscriptionId or invoiceId must be provided."},"dc2961e0-0dc2-47b4-b490-2048c2ca5dce":{"in":"query","name":"status","schema":{"type":"string","enum":["pending","invoiced"],"description":"Filter by line item status. 'pending' returns items not yet on an invoice, 'invoiced' returns items already assigned to an invoice. Omit to return both. Cannot be combined with invoiceId — when filtering by invoice ID all statuses are returned.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Filter by line item status. 'pending' returns items not yet on an invoice, 'invoiced' returns items already assigned to an invoice. Omit to return both. Cannot be combined with invoiceId — when filtering by invoice ID all statuses are returned."},"fcf79ec2-b01a-4baa-a466-db04fee24845":{"in":"query","name":"invoiceId","schema":{"type":"string","pattern":"^inv_[a-zA-Z0-9]+$","description":"Filter by invoice ID. When provided without subscriptionId, returns all line items for that invoice. At least one of subscriptionId or invoiceId must be provided.","uniqueKey":"","typeLabel":"string"},"description":"Filter by invoice ID. When provided without subscriptionId, returns all line items for that invoice. At least one of subscriptionId or invoiceId must be provided."},"703bec62-cf0d-4693-a9ce-fadc979713e8":{"in":"query","name":"expand","schema":{"type":"string","description":"Comma-separated list of fields to expand. Supports: items, lineProvenance. `items` resolves each returned line's item and that item's external accounting codes into an `items` collection, so a line can be translated to a GL/SKU code without a second call. `lineProvenance` adds `provenance` to each returned line: how its amount before tax was calculated.","uniqueKey":"","typeLabel":"string"},"description":"Comma-separated list of fields to expand. Supports: items, lineProvenance. `items` resolves each returned line's item and that item's external accounting codes into an `items` collection, so a line can be translated to a GL/SKU code without a second call. `lineProvenance` adds `provenance` to each returned line: how its amount before tax was calculated."},"eb8a9624-ab83-46b4-80c2-ecc45df6c40e":{"in":"query","name":"provider","schema":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","maxLength":64,"description":"Narrows which external references are returned per item when expand=items. Matched exactly against the provider stored on the reference (e.g. accountsiq); there is no allowlist of known providers, but the value must satisfy the same format every stored provider does, so a malformed one is rejected rather than answered with an empty result that reads as \"nothing is mapped\". It never removes lines or items: an item with no reference for this provider comes back with an empty list, so unmapped SKUs stay visible. Ignored when the items expansion is not requested.\nLowercase snake_case provider identifier (e.g. `salesforce`, `netsuite`)","uniqueKey":"","typeLabel":"string"},"description":"Narrows which external references are returned per item when expand=items. Matched exactly against the provider stored on the reference (e.g. accountsiq); there is no allowlist of known providers, but the value must satisfy the same format every stored provider does, so a malformed one is rejected rather than answered with an empty result that reads as \"nothing is mapped\". It never removes lines or items: an item with no reference for this provider comes back with an empty list, so unmapped SKUs stay visible. Ignored when the items expansion is not requested."},"feab48bb-05c3-4792-aee4-312fff5454ea":{"in":"query","name":"limit","schema":{"type":"integer","default":100,"minimum":1,"maximum":1000,"description":"Maximum number of line items to return","uniqueKey":"","typeLabel":"integer"},"description":"Maximum number of line items to return"},"e7c77535-51f4-48e4-8053-4167e2882838":{"in":"query","name":"offset","schema":{"type":"integer","default":0,"minimum":0,"maximum":10000,"description":"Number of line items to skip for pagination","uniqueKey":"","typeLabel":"integer"},"description":"Number of line items to skip for pagination"}},"responses":{"4b5f0fee-83f9-42e5-bfad-f8360250d25c":{"description":"Paginated list of line items with summary","content":{"application/json":{"schema":{"type":"object","required":["object","data","totalCount","summary"],"properties":{"object":{"type":"string","enum":["list"],"description":"The object type","isRequired":true,"uniqueKey":"object","typeLabel":"enum\u003cstring>"},"data":{"type":"array","description":"Array of line items","items":{"type":"object","required":["id","subscriptionId","customerId","type","status","displayName","currency","periodStart","periodEnd","invoiceAt","unitPrice","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"The line item ID","isRequired":true,"uniqueKey":"data.items.[INDEX].id","typeLabel":"string"},"subscriptionId":{"type":"string","description":"The subscription this line item belongs to","isRequired":true,"uniqueKey":"data.items.[INDEX].subscriptionId","typeLabel":"string"},"customerId":{"type":"string","description":"The customer ID that owns this line item","isRequired":true,"uniqueKey":"data.items.[INDEX].customerId","typeLabel":"string"},"type":{"type":"string","enum":["fee","metered","manual","discount","adjustment"],"description":"The type of line item. 'discount' and 'adjustment' line items have negative subtotal/total amounts: 'discount' is a grant discount, 'adjustment' is a discount agreed on the subscription.","isRequired":true,"uniqueKey":"data.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending","invoiced"],"description":"Whether this item is pending or already on an invoice","isRequired":true,"uniqueKey":"data.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"displayName":{"type":"string","description":"Human-readable label shown on the invoice","isRequired":true,"uniqueKey":"data.items.[INDEX].displayName","typeLabel":"string"},"currency":{"type":"string","description":"ISO 4217 currency code (e.g., USD)","isRequired":true,"uniqueKey":"data.items.[INDEX].currency","typeLabel":"string"},"periodStart":{"type":"string","format":"date-time","description":"Start of the billing period (inclusive)","isRequired":true,"uniqueKey":"data.items.[INDEX].periodStart","typeLabel":"string\u003cdate-time>"},"periodEnd":{"type":"string","format":"date-time","description":"End of the billing period (exclusive)","isRequired":true,"uniqueKey":"data.items.[INDEX].periodEnd","typeLabel":"string\u003cdate-time>"},"invoiceAt":{"type":"string","format":"date-time","description":"When this line item should be collected into an invoice","isRequired":true,"uniqueKey":"data.items.[INDEX].invoiceAt","typeLabel":"string\u003cdate-time>"},"unitPrice":{"type":"string","description":"Price per unit in invoice currency","isRequired":true,"uniqueKey":"data.items.[INDEX].unitPrice","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","description":"When the line item was created","isRequired":true,"uniqueKey":"data.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"When the line item was last updated","isRequired":true,"uniqueKey":"data.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"priceId":{"oneOf":[{"type":"string","description":"The price this line was generated from, or `null` when the line has no originating charge. With `itemId` it says whether a missing tag is fixable: `priceId` set and `itemId` null means the charge was simply untagged, which tagging it and restamping resolves; both null means the line records a grant-credit purchase, which is deferred revenue and is never tagged. Any measure of outstanding mapping work must exclude the latter or it can never reach zero.","uniqueKey":"data.items.[INDEX].priceId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The price this line was generated from, or `null` when the line has no originating charge. With `itemId` it says whether a missing tag is fixable: `priceId` set and `itemId` null means the charge was simply untagged, which tagging it and restamping resolves; both null means the line records a grant-credit purchase, which is deferred revenue and is never tagged. Any measure of outstanding mapping work must exclude the latter or it can never reach zero.","uniqueKey":"data.items.[INDEX].priceId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].priceId","typeLabel":"string | null"},"itemId":{"oneOf":[{"type":"string","description":"Item the line's charge was tagged with, recorded when the line was generated and not re-resolved on read. `null` means the charge carried no tag at that moment, the line predates item stamping, or the line has no originating charge (a grant-credit purchase) — it is an expected value, not an error. Use `priceId` to tell those cases apart.","uniqueKey":"data.items.[INDEX].itemId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Item the line's charge was tagged with, recorded when the line was generated and not re-resolved on read. `null` means the charge carried no tag at that moment, the line predates item stamping, or the line has no originating charge (a grant-credit purchase) — it is an expected value, not an error. Use `priceId` to tell those cases apart.","uniqueKey":"data.items.[INDEX].itemId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].itemId","typeLabel":"string | null"},"invoiceId":{"oneOf":[{"type":"string","description":"The invoice ID if this item has been invoiced","uniqueKey":"data.items.[INDEX].invoiceId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The invoice ID if this item has been invoiced","uniqueKey":"data.items.[INDEX].invoiceId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].invoiceId","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Optional longer description","uniqueKey":"data.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional longer description","uniqueKey":"data.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].description","typeLabel":"string | null"},"calculatedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When metered quantity was last computed","uniqueKey":"data.items.[INDEX].calculatedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When metered quantity was last computed","uniqueKey":"data.items.[INDEX].calculatedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].calculatedAt","typeLabel":"string\u003cdate-time> | null"},"quantity":{"oneOf":[{"type":"string","description":"Units sold. Null for metered lines until invoice close","uniqueKey":"data.items.[INDEX].quantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Units sold. Null for metered lines until invoice close","uniqueKey":"data.items.[INDEX].quantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].quantity","typeLabel":"string | null"},"meteredQuantity":{"oneOf":[{"type":"string","description":"Raw metered usage. Null for fee/manual lines","uniqueKey":"data.items.[INDEX].meteredQuantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Raw metered usage. Null for fee/manual lines","uniqueKey":"data.items.[INDEX].meteredQuantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].meteredQuantity","typeLabel":"string | null"},"usageDiscountIds":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].usageDiscountIds.items.[INDEX]","typeLabel":"string"},"description":"The subscription adjustments of type `usageDiscount` that reduced this line's billable `quantity`. Empty for every other line. Where this is non-empty, `quantity` is below `meteredQuantity` because an operator waived units, rather than because a grant covered them.","uniqueKey":"data.items.[INDEX].usageDiscountIds","typeLabel":"string[]"},"paymentTerm":{"oneOf":[{"type":"string","enum":["in_advance","in_arrears",null],"description":"When the line falls due relative to the window it covers. A fee line carries its price's term; a metered line is stamped `in_arrears`, though metered rows predating that rule carry `null`. Manual, grant-discount and adjustment lines are billed on no term of their own and are `null`. `null` is listed in the enum as well as via `nullable` because OpenAPI 3.0 validators check the enum independently — `nullable: true` alone does not admit it, and createLineItem (which always returns null here) was emitting a schema-violating body.","uniqueKey":"data.items.[INDEX].paymentTerm.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["in_advance","in_arrears",null],"description":"When the line falls due relative to the window it covers. A fee line carries its price's term; a metered line is stamped `in_arrears`, though metered rows predating that rule carry `null`. Manual, grant-discount and adjustment lines are billed on no term of their own and are `null`. `null` is listed in the enum as well as via `nullable` because OpenAPI 3.0 validators check the enum independently — `nullable: true` alone does not admit it, and createLineItem (which always returns null here) was emitting a schema-violating body.","uniqueKey":"data.items.[INDEX].paymentTerm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].paymentTerm","typeLabel":"enum\u003cstring> | null"},"subtotal":{"type":"string","description":"quantity × unitPrice, before discounts and taxes. For prorated lines, may differ from `quantity × unitPrice` by display precision; subtotal is the authoritative billed amount. Defaults to '0.00' when not yet calculated.","uniqueKey":"data.items.[INDEX].subtotal","typeLabel":"string"},"taxesTotal":{"oneOf":[{"type":"string","description":"Total tax amount for this line item in decimal format. Null until invoice calculation is complete","uniqueKey":"data.items.[INDEX].taxesTotal.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total tax amount for this line item in decimal format. Null until invoice calculation is complete","uniqueKey":"data.items.[INDEX].taxesTotal.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].taxesTotal","typeLabel":"string | null"},"total":{"type":"string","description":"Final total after discounts and taxes. Defaults to '0.00' when not yet calculated","uniqueKey":"data.items.[INDEX].total","typeLabel":"string"},"estimatedMeteredQuantity":{"oneOf":[{"type":"string","description":"Real-time estimated metered usage quantity. Only present for type=metered items during an active billing period. Null for fee/manual items or when estimation is unavailable.","uniqueKey":"data.items.[INDEX].estimatedMeteredQuantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Real-time estimated metered usage quantity. Only present for type=metered items during an active billing period. Null for fee/manual items or when estimation is unavailable.","uniqueKey":"data.items.[INDEX].estimatedMeteredQuantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].estimatedMeteredQuantity","typeLabel":"string | null"},"estimatedSubtotal":{"oneOf":[{"type":"string","description":"Real-time estimated subtotal for a line whose amount is not final yet: current usage for a metered item, the rate the subscription is on for a fee. Null for manual items, and for any line whose amount is already final or cannot be estimated.","uniqueKey":"data.items.[INDEX].estimatedSubtotal.oneOf.0","typeLabel":"string"},{"type":"null","description":"Real-time estimated subtotal for a line whose amount is not final yet: current usage for a metered item, the rate the subscription is on for a fee. Null for manual items, and for any line whose amount is already final or cannot be estimated.","uniqueKey":"data.items.[INDEX].estimatedSubtotal.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].estimatedSubtotal","typeLabel":"string | null"},"provenance":{"type":"object","description":"How the line's amount before tax was calculated: a trace of one evaluation, saved when the invoice was calculated and fixed once it is issued. Returned only with `expand=lineProvenance`. Every field but `status` is present when `status` is `recorded`. Every number is a plain decimal string.","required":["status"],"properties":{"status":{"type":"string","description":"`recorded`: the trace is present. `notRecorded`: the line was calculated but has no saved trace, for example a line calculated before traces were saved (show \"Calculation not recorded\"). `pending`: the line's invoice has not been calculated yet. An open set, so it is a string rather than an enum: known values are `recorded`, `notRecorded`, `pending`, and new values may be added.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.status","typeLabel":"string"},"version":{"type":"integer","description":"The format version. It changes only when a field is removed or renamed, or a field changes meaning. A new op, source type, price model, reason or label is not a new version.","uniqueKey":"data.items.[INDEX].provenance.version","typeLabel":"integer"},"currency":{"type":"string","description":"The currency of every amount in the trace.","uniqueKey":"data.items.[INDEX].provenance.currency","typeLabel":"string"},"precision":{"type":"object","required":["significantDigits","rounding"],"properties":{"significantDigits":{"type":"integer","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.precision.significantDigits","typeLabel":"integer"},"rounding":{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.precision.rounding","typeLabel":"string"}},"description":"The default arithmetic of every step. Any other rounding is an explicit `round` step.","uniqueKey":"data.items.[INDEX].provenance.precision","typeLabel":"object"},"period":{"type":"object","required":["start","end"],"properties":{"start":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.period.start","typeLabel":"string\u003cdate-time>"},"end":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.period.end","typeLabel":"string\u003cdate-time>"}},"description":"The period the line bills.","uniqueKey":"data.items.[INDEX].provenance.period","typeLabel":"object"},"calculatedAt":{"type":"string","format":"date-time","description":"When the calculation ran.","uniqueKey":"data.items.[INDEX].provenance.calculatedAt","typeLabel":"string\u003cdate-time>"},"subscriptionId":{"type":"string","description":"The subscription the line belongs to.","uniqueKey":"data.items.[INDEX].provenance.subscriptionId","typeLabel":"string"},"inputs":{"type":"object","required":["kind"],"description":"The values the evaluation started from.","properties":{"kind":{"type":"string","description":"`priced`: a charge from a price, with `quantity`, `selector` and `price`. `fromLine`: a line whose base is another line's amount, with `amount`. `given`: an amount nobody priced on this run, with `amount`. An open set, so it is a string rather than an enum: known values are `priced`, `fromLine`, `given`, and new values may be added.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.kind","typeLabel":"string"},"quantity":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.quantity.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.quantity.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"data.items.[INDEX].provenance.inputs.quantity","typeLabel":"object"},"selector":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.selector.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.selector.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"data.items.[INDEX].provenance.inputs.selector","typeLabel":"object"},"price":{"type":"object","required":["fn","source"],"properties":{"fn":{"type":"object","required":["model"],"description":"A price as a function from quantity to money. A new model may carry fields not listed here.","properties":{"model":{"type":"string","description":"`unit`: `rate` per unit. `volume`: `bands`, each with `upTo` (null for the open band) and `rate`; one band prices every unit. `percentage`: `rate` as a fraction, with `min` and `max` charge or null. `flat`: one `amount`. `dynamic`: the quantity is already money. An open set, so it is a string rather than an enum: known values are `unit`, `volume`, `percentage`, `flat`, `dynamic`, and new values may be added.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.rate","typeLabel":"string"},"bands":{"type":"array","items":{"type":"object","required":["upTo","rate"],"properties":{"upTo":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.price.fn","typeLabel":"object"},"source":{"type":"string","description":"The key of the source in `sources` that stated the price.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.price.source","typeLabel":"string"}},"description":"`priced` only: the price as a function, and its source.","uniqueKey":"data.items.[INDEX].provenance.inputs.price","typeLabel":"object"},"amount":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.amount.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.inputs.amount.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"data.items.[INDEX].provenance.inputs.amount","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].provenance.inputs","typeLabel":"object"},"sources":{"type":"object","additionalProperties":{"type":"object","required":["type"],"description":"Where a value came from: `ref`, a link that can break after the invoice is issued, and `asUsed`, the values the calculation read, which never change.","properties":{"type":{"type":"string","description":"`interval`: a subscription price interval. `price`: a catalog price. `meter`: a billable metric read directly. `entitlement`: the grant engine's reading of an entitlement. `grant`: a grant. `adjustment`: a subscription adjustment. `line`: another line on the invoice. `storedRow`: a figure the line already stored, with `reason`. `merchant`: an amount a merchant entered. `input` is reserved for a value from a system that is not a meter, with `ref` `name` and `eventId` and `asUsed` `value` and `unit`; nothing produces it yet. An open set, so it is a string rather than an enum: known values are `interval`, `price`, `meter`, `entitlement`, `grant`, `adjustment`, `line`, `storedRow`, `merchant`, and new values may be added.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.sources.additionalProperties.type","typeLabel":"string"},"ref":{"type":"object","additionalProperties":true,"description":"The ids that link to the resource.","uniqueKey":"data.items.[INDEX].provenance.sources.additionalProperties.ref","typeLabel":"object"},"asUsed":{"type":"object","additionalProperties":true,"description":"The values the calculation read from the resource. A `line` source has `amount`, and `unitPrice` where a step read the line's rate.","uniqueKey":"data.items.[INDEX].provenance.sources.additionalProperties.asUsed","typeLabel":"object"},"reason":{"type":"string","description":"`storedRow` only: why the stored figure stands. An open set, so it is a string rather than an enum: known values are `precedes_timeline`, `no_timeline`, `not_derived`, `no_covering_charge`, and new values may be added.","uniqueKey":"data.items.[INDEX].provenance.sources.additionalProperties.reason","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].provenance.sources.additionalProperties","typeLabel":"object"},"description":"Every source a step or an input names, by key.","uniqueKey":"data.items.[INDEX].provenance.sources","typeLabel":"object"},"steps":{"type":"array","items":{"type":"object","required":["op","on","in","out","params","source"],"description":"One step: the value it changed (`on`), the value before (`in`) and after (`out`), the rule's parameters, and the source of the rule. A reader that does not know an op shows it as \"in → out, because source\".","properties":{"op":{"type":"string","description":"`allow`: units a grant covered (`covered`). `clamp`: `min` and `max`, null when open. `scaleToBound`: a minimum or maximum applied to a group of lines by uniform scaling (`bound`, `side`, `measured`, `factor`). `setToBound`: a minimum applied to a group that measured zero (`bound`, `sumOfShares`). `prorate`: `fraction` of the period, with the `billed` and full (`of`) windows and the `basis`. `evaluate`: the one join of quantity and price into an amount (`quantity`, `selector`, `fn`, `applied`); its `in` is null. `cap`: `max` and `scope`; on an `invoice` cap also `total`, what the cap started at, and `usedBefore`, what earlier credits took from it. `replace`: a value set by a rule, with `reason`. `subtract`: `units`. `scale`: ordered `terms`, each `by`, `value` and `label`. A `subtract`, `clamp` or `scale` that did not use the envelope's precision says so in `arithmetic`: `float64` or `decimal120`. `round`: `scale` and `mode`. An open set, so it is a string rather than an enum: known values are `allow`, `clamp`, `scaleToBound`, `setToBound`, `prorate`, `evaluate`, `cap`, `replace`, `subtract`, `scale`, `round`, and new values may be added.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].op","typeLabel":"string"},"on":{"type":"string","description":"The value the step changes. `quantity`, `selector` (the quantity a volume band is chosen on), `price` and `amount` are reserved; other names may be added.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].on","typeLabel":"string"},"in":{"oneOf":[{"type":"string","description":"The value before the step. Null only on `evaluate`.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.0","typeLabel":"string"},{"type":"object","description":"The value before the step. Null only on `evaluate`.","required":["model"],"properties":{"model":{"type":"string","description":"`unit`: `rate` per unit. `volume`: `bands`, each with `upTo` (null for the open band) and `rate`; one band prices every unit. `percentage`: `rate` as a fraction, with `min` and `max` charge or null. `flat`: one `amount`. `dynamic`: the quantity is already money. An open set, so it is a string rather than an enum: known values are `unit`, `volume`, `percentage`, `flat`, `dynamic`, and new values may be added.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.rate","typeLabel":"string"},"bands":{"type":"array","items":{"type":"object","required":["upTo","rate"],"properties":{"upTo":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.1","typeLabel":"object"},{"type":"null","description":"The value before the step. Null only on `evaluate`.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].in","typeLabel":"string | object | null"},"out":{"oneOf":[{"type":"string","description":"A decimal string, or a price function.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.0","typeLabel":"string"},{"type":"object","description":"A decimal string, or a price function.","required":["model"],"properties":{"model":{"type":"string","description":"`unit`: `rate` per unit. `volume`: `bands`, each with `upTo` (null for the open band) and `rate`; one band prices every unit. `percentage`: `rate` as a fraction, with `min` and `max` charge or null. `flat`: one `amount`. `dynamic`: the quantity is already money. An open set, so it is a string rather than an enum: known values are `unit`, `volume`, `percentage`, `flat`, `dynamic`, and new values may be added.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.rate","typeLabel":"string"},"bands":{"type":"array","items":{"type":"object","required":["upTo","rate"],"properties":{"upTo":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].out","typeLabel":"string | object"},"params":{"type":"object","additionalProperties":true,"description":"The parameters of the op. See `op`.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].params","typeLabel":"object"},"source":{"type":"string","description":"The key of the source in `sources` whose rule this is.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].source","typeLabel":"string"},"inputsFrom":{"type":"array","items":{"type":"object","required":["lineItemId","value","share"],"properties":{"lineItemId":{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].lineItemId","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].value","typeLabel":"string"},"share":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share","typeLabel":"string | null"}},"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].inputsFrom.items.[INDEX]","typeLabel":"object"},"description":"The other lines a group rule read, with each one's value and period share.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].inputsFrom","typeLabel":"object[]"},"trace":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].trace.items.[INDEX]","typeLabel":"object"},"description":"Reserved for an `evaluate` of a custom pricing function: the steps inside it, each of the same shape as a step. Free-form here so the schema does not refer to itself. Nothing produces it yet.","uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX].trace","typeLabel":"object[]"}},"uniqueKey":"data.items.[INDEX].provenance.steps.items.[INDEX]","typeLabel":"object"},"description":"The steps in the order they were applied. Each starts where the last step on the same value ended.","uniqueKey":"data.items.[INDEX].provenance.steps","typeLabel":"object[]"},"notApplied":{"type":"array","items":{"type":"object","required":["source","reason"],"properties":{"source":{"type":"string","description":"The key of the rule's source in `sources`.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.notApplied.items.[INDEX].source","typeLabel":"string"},"reason":{"type":"string","description":"Why the rule did not change the line, for example `within` or `notBinding`.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.notApplied.items.[INDEX].reason","typeLabel":"string"}},"description":"A rule in force for the line that did not change it.","uniqueKey":"data.items.[INDEX].provenance.notApplied.items.[INDEX]","typeLabel":"object"},"description":"Rules in force for the line that did not change it, and why.","uniqueKey":"data.items.[INDEX].provenance.notApplied","typeLabel":"object[]"},"result":{"type":"object","required":["amount","quantity","unitPrice"],"properties":{"amount":{"type":"string","description":"The line's amount before tax.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.result.amount","typeLabel":"string"},"quantity":{"oneOf":[{"type":"string","description":"The line's quantity.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.result.quantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"The line's quantity.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.result.quantity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.result.quantity","typeLabel":"string | null"},"unitPrice":{"oneOf":[{"type":"string","description":"The line's unit price. It can be rounded, so quantity times unit price can differ from the amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.result.unitPrice.oneOf.0","typeLabel":"string"},{"type":"null","description":"The line's unit price. It can be rounded, so quantity times unit price can differ from the amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.result.unitPrice.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].provenance.result.unitPrice","typeLabel":"string | null"}},"description":"Equal to the line's stored amount, quantity and unit price.","uniqueKey":"data.items.[INDEX].provenance.result","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].provenance","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"totalCount":{"type":"integer","description":"Total number of matching line items","isRequired":true,"uniqueKey":"totalCount","typeLabel":"integer"},"summary":{"type":"object","required":["feeSubtotal","meteredEstimatedSubtotal","currency"],"properties":{"feeSubtotal":{"type":"string","description":"Sum of fee items with known subtotals in decimal format","isRequired":true,"uniqueKey":"summary.feeSubtotal","typeLabel":"string"},"meteredEstimatedSubtotal":{"type":"string","description":"Sum of estimated metered amounts in decimal format","isRequired":true,"uniqueKey":"summary.meteredEstimatedSubtotal","typeLabel":"string"},"currency":{"type":"string","description":"ISO 4217 currency code","isRequired":true,"uniqueKey":"summary.currency","typeLabel":"string"}},"description":"Aggregate summary of line item amounts","isRequired":true,"uniqueKey":"summary","typeLabel":"object"},"items":{"type":"array","description":"Items the returned lines were tagged with, each appearing once, ordered by id. Only present when expand=items is requested. Scoped to the lines in THIS response, not to any invoice as a whole — combine the collections across pages for a complete set. Join a line to its entry via the line's itemId. A line whose itemId has no entry here is a data-integrity fault — the tag points at an item that no longer resolves for this merchant. It is not the same as an untagged line and must not be counted as unmapped; report it.","items":{"type":"object","description":"An item a line was tagged with, together with its external accounting/tax codes. Deliberately narrower than the /v0/items Item resource: it carries what is needed to translate a line into a GL/SKU code, not the full record.","required":["id","name","catalogId","archivedAt","externalReferences"],"properties":{"id":{"type":"string","pattern":"^itm_[a-zA-Z0-9]+$","description":"Unique identifier for an item","isRequired":true,"uniqueKey":"\\items.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Human-readable item name","isRequired":true,"uniqueKey":"\\items.items.[INDEX].name","typeLabel":"string"},"catalogId":{"oneOf":[{"type":"string","description":"The product this item belongs to, for grouping lines by product","isRequired":true,"uniqueKey":"\\items.items.[INDEX].catalogId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The product this item belongs to, for grouping lines by product","isRequired":true,"uniqueKey":"\\items.items.[INDEX].catalogId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].catalogId","typeLabel":"string | null"},"archivedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When this item was retired from the catalog. Archived items still resolve here — invoices that already reference them have to keep resolving — but cannot be tagged onto new pricing. Null while active.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].archivedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When this item was retired from the catalog. Archived items still resolve here — invoices that already reference them have to keep resolving — but cannot be tagged onto new pricing. Null while active.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].archivedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].archivedAt","typeLabel":"string\u003cdate-time> | null"},"externalReferences":{"type":"array","description":"The item's external codes, narrowed to the requested provider when one is given. An empty list means the item is not yet mapped for that provider — an actionable state, not an error. More than one may be returned for a single provider, and more than one of those may carry `isPrimary: true`: the uniqueness constraint runs the other way round (an external id is the primary reference of at most one item per merchant), so it does not reduce an item's references to one per provider. Entries are ordered newest first, tie-broken by id, so the order is stable across reads — but a consumer that needs exactly one code must choose deliberately rather than assume there is only one.","items":{"type":"object","description":"Links a Paygentic entity to a record in an external system such as Salesforce or NetSuite.","required":["id","object","merchantId","entityType","entityId","provider","externalId","metadata","isPrimary","isDefault","createdAt","updatedAt"],"properties":{"id":{"type":"string","pattern":"^xrf_[a-zA-Z0-9]+$","description":"Unique identifier for an external reference","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].id","typeLabel":"string"},"object":{"type":"string","enum":["externalReference"],"default":"externalReference","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].object","typeLabel":"enum\u003cstring>"},"merchantId":{"type":"string","pattern":"^org_[a-zA-Z0-9]+$","description":"Unique identifier for an organization","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].merchantId","typeLabel":"string"},"entityType":{"type":"string","enum":["item","customer"],"description":"The type of Paygentic entity this external reference points at","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].entityType","typeLabel":"enum\u003cstring>"},"entityId":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].entityId","typeLabel":"string"},"provider":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","maxLength":64,"description":"Lowercase snake_case provider identifier (e.g. `salesforce`, `netsuite`)","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].provider","typeLabel":"string"},"externalId":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":255,"description":"Optional external identifier for cross-referencing with external systems. Alphanumeric characters, hyphens, and underscores only.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].externalId","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].metadata","typeLabel":"object"},"isPrimary":{"type":"boolean","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].isPrimary","typeLabel":"boolean"},"isDefault":{"type":"boolean","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].isDefault","typeLabel":"boolean"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"externalLabel":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].externalLabel.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].externalLabel.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX].externalLabel","typeLabel":"string | null"}},"uniqueKey":"\\items.items.[INDEX].externalReferences.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].externalReferences","typeLabel":"object[]"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"object":"list","data":[{"id":"li_abc123","subscriptionId":"sub_xyz789","priceId":"price_fee_001","invoiceId":null,"type":"fee","status":"pending","displayName":"Monthly Platform Fee","description":null,"currency":"USD","periodStart":"2024-01-01T00:00:00.000Z","periodEnd":"2024-02-01T00:00:00.000Z","invoiceAt":"2024-01-01T00:00:00.000Z","calculatedAt":null,"quantity":"1","unitPrice":"29.99","meteredQuantity":null,"paymentTerm":"in_advance","subtotal":"29.99","total":"29.99","createdAt":"2024-01-01T00:00:00.000Z","updatedAt":"2024-01-01T00:00:00.000Z"}],"totalCount":1,"summary":{"feeSubtotal":"29.99","meteredEstimatedSubtotal":"0.00","currency":"USD"}},"examples":{"Example":{"title":"Example","value":{"object":"list","data":[{"id":"li_abc123","subscriptionId":"sub_xyz789","priceId":"price_fee_001","invoiceId":null,"type":"fee","status":"pending","displayName":"Monthly Platform Fee","description":null,"currency":"USD","periodStart":"2024-01-01T00:00:00.000Z","periodEnd":"2024-02-01T00:00:00.000Z","invoiceAt":"2024-01-01T00:00:00.000Z","calculatedAt":null,"quantity":"1","unitPrice":"29.99","meteredQuantity":null,"paymentTerm":"in_advance","subtotal":"29.99","total":"29.99","createdAt":"2024-01-01T00:00:00.000Z","updatedAt":"2024-01-01T00:00:00.000Z"}],"totalCount":1,"summary":{"feeSubtotal":"29.99","meteredEstimatedSubtotal":"0.00","currency":"USD"}}}},"exampleType":"examples"}},"exampleType":"examples"},"e14e33b9-58d9-426d-bdf1-f5256599e6ac":{"description":"Bad Request - The request could not be understood or was missing required parameters","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["message"],"example":{"message":"The requested resource was not found","error":"not_found"},"properties":{"message":{"type":"string","description":"Human-readable error message. Clients must not parse this field programmatically.","isRequired":true,"uniqueKey":"oneOf.0.message","typeLabel":"string"},"error":{"type":"string","description":"Coarse HTTP error category (e.g. 'bad_request', 'forbidden'). Maps to the HTTP status code.","uniqueKey":"oneOf.0.error","typeLabel":"string"},"code":{"type":"string","examples":["TAX_NOT_ENABLED","PAYMENT_SESSION_EXPIRED"],"description":"Optional semantic business error code for machine-readable discrimination (e.g. 'TAX_NOT_ENABLED'). UPPER_SNAKE_CASE. Clients should check this field, not message.","uniqueKey":"oneOf.0.code","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","additionalProperties":true,"uniqueKey":"oneOf.0.details","typeLabel":"object"},"reason":{"type":"string","enum":["no_permission","insufficient_scope","not_member"],"description":"Present on a 403 from the authorization check. Says why access was refused: the caller has no role that grants the permission, the OAuth token lacks the scope, or the caller is not a member of the organization.","uniqueKey":"oneOf.0.reason","typeLabel":"enum\u003cstring>"},"requiredPermissions":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.requiredPermissions.items.[INDEX]","typeLabel":"string"},"description":"Present on a 403 from the authorization check. The permissions the caller needs for this request.","uniqueKey":"oneOf.0.requiredPermissions","typeLabel":"string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["message","errors"],"example":{"message":"Validation failed","error":"validation_error","errors":[{"field":"email","message":"Invalid email format","code":"invalid_format"}]},"properties":{"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"The field that failed validation","isRequired":true,"uniqueKey":"oneOf.1.errors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","description":"Validation error message for this field","isRequired":true,"uniqueKey":"oneOf.1.errors.items.[INDEX].message","typeLabel":"string"},"code":{"type":"string","description":"Validation error code","uniqueKey":"oneOf.1.errors.items.[INDEX].code","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"oneOf.1.errors.items.[INDEX]","typeLabel":"object"},"description":"Array of field-specific validation errors","isRequired":true,"uniqueKey":"oneOf.1.errors","typeLabel":"object[]"},"error":{"type":"string","enum":["validation_error"],"default":"validation_error","description":"Error type indicating validation failure","uniqueKey":"oneOf.1.error","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"The requested resource was not found","error":"not_found"}}},"exampleType":"generated"}},"exampleType":"generated"},"fb76661b-6679-4f52-8181-d896eb5a5406":{"description":"Unauthorized - Authentication failed or user does not have permissions","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message. Clients must not parse this field programmatically.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"Coarse HTTP error category (e.g. 'bad_request', 'forbidden'). Maps to the HTTP status code.","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","examples":["TAX_NOT_ENABLED","PAYMENT_SESSION_EXPIRED"],"description":"Optional semantic business error code for machine-readable discrimination (e.g. 'TAX_NOT_ENABLED'). UPPER_SNAKE_CASE. Clients should check this field, not message.","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"},"reason":{"type":"string","enum":["no_permission","insufficient_scope","not_member"],"description":"Present on a 403 from the authorization check. Says why access was refused: the caller has no role that grants the permission, the OAuth token lacks the scope, or the caller is not a member of the organization.","uniqueKey":"reason","typeLabel":"enum\u003cstring>"},"requiredPermissions":{"type":"array","items":{"type":"string","uniqueKey":"requiredPermissions.items.[INDEX]","typeLabel":"string"},"description":"Present on a 403 from the authorization check. The permissions the caller needs for this request.","uniqueKey":"requiredPermissions","typeLabel":"string[]"}},"example":{"message":"The requested resource was not found","error":"not_found"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"The requested resource was not found","error":"not_found"}}},"exampleType":"generated"}},"exampleType":"generated"},"58e1ca3a-8a89-4705-9385-4f7bf160dc3b":{"description":"Forbidden - Request is understood but refused","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message. Clients must not parse this field programmatically.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"Coarse HTTP error category (e.g. 'bad_request', 'forbidden'). Maps to the HTTP status code.","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","examples":["TAX_NOT_ENABLED","PAYMENT_SESSION_EXPIRED"],"description":"Optional semantic business error code for machine-readable discrimination (e.g. 'TAX_NOT_ENABLED'). UPPER_SNAKE_CASE. Clients should check this field, not message.","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"},"reason":{"type":"string","enum":["no_permission","insufficient_scope","not_member"],"description":"Present on a 403 from the authorization check. Says why access was refused: the caller has no role that grants the permission, the OAuth token lacks the scope, or the caller is not a member of the organization.","uniqueKey":"reason","typeLabel":"enum\u003cstring>"},"requiredPermissions":{"type":"array","items":{"type":"string","uniqueKey":"requiredPermissions.items.[INDEX]","typeLabel":"string"},"description":"Present on a 403 from the authorization check. The permissions the caller needs for this request.","uniqueKey":"requiredPermissions","typeLabel":"string[]"}},"example":{"message":"The requested resource was not found","error":"not_found"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"The requested resource was not found","error":"not_found"}}},"exampleType":"generated"}},"exampleType":"generated"},"a2c15b21-f51e-4643-9029-593d0d5e3d39":{"description":"Not Found - The requested resource could not be found","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message. Clients must not parse this field programmatically.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"Coarse HTTP error category (e.g. 'bad_request', 'forbidden'). Maps to the HTTP status code.","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","examples":["TAX_NOT_ENABLED","PAYMENT_SESSION_EXPIRED"],"description":"Optional semantic business error code for machine-readable discrimination (e.g. 'TAX_NOT_ENABLED'). UPPER_SNAKE_CASE. Clients should check this field, not message.","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"},"reason":{"type":"string","enum":["no_permission","insufficient_scope","not_member"],"description":"Present on a 403 from the authorization check. Says why access was refused: the caller has no role that grants the permission, the OAuth token lacks the scope, or the caller is not a member of the organization.","uniqueKey":"reason","typeLabel":"enum\u003cstring>"},"requiredPermissions":{"type":"array","items":{"type":"string","uniqueKey":"requiredPermissions.items.[INDEX]","typeLabel":"string"},"description":"Present on a 403 from the authorization check. The permissions the caller needs for this request.","uniqueKey":"requiredPermissions","typeLabel":"string[]"}},"example":{"message":"The requested resource was not found","error":"not_found"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"The requested resource was not found","error":"not_found"}}},"exampleType":"generated"}},"exampleType":"generated"},"ab8e866a-3ffe-430a-b594-baa77e367647":{"description":"Internal Server Error - Something went wrong on the server side","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message. Clients must not parse this field programmatically.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"Coarse HTTP error category (e.g. 'bad_request', 'forbidden'). Maps to the HTTP status code.","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","examples":["TAX_NOT_ENABLED","PAYMENT_SESSION_EXPIRED"],"description":"Optional semantic business error code for machine-readable discrimination (e.g. 'TAX_NOT_ENABLED'). UPPER_SNAKE_CASE. Clients should check this field, not message.","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"},"reason":{"type":"string","enum":["no_permission","insufficient_scope","not_member"],"description":"Present on a 403 from the authorization check. Says why access was refused: the caller has no role that grants the permission, the OAuth token lacks the scope, or the caller is not a member of the organization.","uniqueKey":"reason","typeLabel":"enum\u003cstring>"},"requiredPermissions":{"type":"array","items":{"type":"string","uniqueKey":"requiredPermissions.items.[INDEX]","typeLabel":"string"},"description":"Present on a 403 from the authorization check. The permissions the caller needs for this request.","uniqueKey":"requiredPermissions","typeLabel":"string[]"}},"example":{"message":"The requested resource was not found","error":"not_found"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"The requested resource was not found","error":"not_found"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"993de35d-944f-4407-95f9-ef7838d7e0e2":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key authentication","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"4f795b4a-127a-4dd9-a084-d0fb3f27d589":{"url":"https://api.paygentic.io","description":"Production API"},"74cc8cba-af4b-4d13-a978-034f772bed76":{"url":"https://api.sandbox.paygentic.io","description":"Sandbox API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key authentication","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key authentication","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"paygentic","siteName":"Paygentic","title":"List Line Items - Paygentic","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T22:31:40.021Z","originalFileLocation":"api-reference/invoices-v2/list-line-items.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=\"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Paygentic\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_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=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List Line Items - Paygentic\">\u003cmeta data-mint-head property=\"og:description\" content=\"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Paygentic\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://paygentic.mintlify.app/_mintlify/api/og/v2?division=Invoices+V2\u0026amp;title=List+Line+Items\u0026amp;description=List+pending+and+invoiced+line+items+for+a+subscription+from+the+billing+database.+Returns+exact+fee+amounts+and+estimated+metered+charges.\u0026amp;theme=cd268a09eb866d3e25dc4282\u0026amp;signature=1e07e389ccaddc7ed5a8d0d094b38ec55adff440f17633b8cb93a0142928021e\">\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=\"List Line Items - Paygentic\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://paygentic.mintlify.app/_mintlify/api/og/v2?division=Invoices+V2\u0026amp;title=List+Line+Items\u0026amp;description=List+pending+and+invoiced+line+items+for+a+subscription+from+the+billing+database.+Returns+exact+fee+amounts+and+estimated+metered+charges.\u0026amp;theme=cd268a09eb866d3e25dc4282\u0026amp;signature=1e07e389ccaddc7ed5a8d0d094b38ec55adff440f17633b8cb93a0142928021e\">\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=\"/mintlify-assets/_mintlify/favicons/paygentic/u-_iNQrPo4YcRgQd/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Paygentic\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#013F70\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/invoices-v2/list-line-items.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.paygentic.io/#organization\",\"name\":\"Paygentic\",\"url\":\"https://docs.paygentic.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/paygentic/uUKYt4gDqyfhF9Y7/logo/paygentic-logo-light.svg?fit=max\u0026auto=format\u0026n=uUKYt4gDqyfhF9Y7\u0026q=85\u0026s=cb1fd6b59a3c44e357ecdc522849ab37\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.paygentic.io#website\",\"name\":\"Paygentic\",\"url\":\"https://docs.paygentic.io\",\"publisher\":{\"@id\":\"https://docs.paygentic.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items#webpage\",\"url\":\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items\",\"name\":\"List Line Items\",\"description\":\"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.\",\"dateModified\":\"2026-10-26T22:31:40.021Z\",\"isPartOf\":{\"@id\":\"https://docs.paygentic.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Invoices V2\",\"item\":\"https://docs.paygentic.io/api-reference/invoices-v2/list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List Line Items\",\"item\":\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items#apireference\",\"headline\":\"List Line Items\",\"name\":\"List Line Items\",\"description\":\"List pending and invoiced line items for a subscription from the billing database. Returns exact fee amounts and estimated metered charges.\",\"url\":\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items\",\"mainEntityOfPage\":{\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/list-line-items#webpage\"},\"dateModified\":\"2026-10-26T22:31:40.021Z\",\"publisher\":{\"@id\":\"https://docs.paygentic.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.paygentic.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Paygentic\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Paygentic","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/getting-started/introduction"}]},{"tab":"API Reference","groups":[{"group":"Billable Metrics","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/billableMetrics","href":"/api-reference/billable-metrics/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/billableMetrics","href":"/api-reference/billable-metrics/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/billableMetrics/{id}","href":"/api-reference/billable-metrics/get"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/billableMetrics/{id}","href":"/api-reference/billable-metrics/update"},{"title":"Query Meter Usage","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/billableMetrics/{id}/meter","href":"/api-reference/billable-metrics/query-meter-usage"},{"title":"List Meter Events","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/billableMetrics/{id}/events","href":"/api-reference/billable-metrics/list-meter-events"}]},{"group":"Customers","pages":[{"title":"List by Merchant","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/customers","href":"/api-reference/customers/list-by-merchant"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/customers","href":"/api-reference/customers/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/customers/{id}","href":"/api-reference/customers/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/customers/{id}","href":"/api-reference/customers/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/customers/{id}","href":"/api-reference/customers/update"},{"title":"List payment methods","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/customers/{id}/paymentMethods","href":"/api-reference/customers/list-payment-methods"},{"title":"Set up a payment method","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/customers/{id}/paymentMethods","href":"/api-reference/customers/set-up-a-payment-method"}]},{"group":"Entitlements","pages":[{"title":"List Entitlements","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entitlements","href":"/api-reference/entitlements/list-entitlements"},{"title":"Issue Entitlement","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/entitlements","href":"/api-reference/entitlements/issue-entitlement"},{"title":"Get Entitlement","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entitlements/{entitlementId}","href":"/api-reference/entitlements/get-entitlement"}]},{"group":"Grants","pages":[{"title":"List Grants","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entitlements/{entitlementId}/grants","href":"/api-reference/grants/list-grants"},{"title":"Create Grant","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/entitlements/{entitlementId}/grants","href":"/api-reference/grants/create-grant"},{"title":"Purchase Grant","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/entitlements/{entitlementId}/grants/purchase","href":"/api-reference/grants/purchase-grant"},{"title":"Get Grant","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/entitlements/{entitlementId}/grants/{grantId}","href":"/api-reference/grants/get-grant"},{"title":"Void Grant","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/entitlements/{entitlementId}/grants/{grantId}","href":"/api-reference/grants/void-grant"}]},{"group":"Features","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/features","href":"/api-reference/features/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/features","href":"/api-reference/features/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/features/{id}","href":"/api-reference/features/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/features/{id}","href":"/api-reference/features/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/features/{id}","href":"/api-reference/features/update"}]},{"group":"Fees","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/fees","href":"/api-reference/fees/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/fees","href":"/api-reference/fees/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/fees/{id}","href":"/api-reference/fees/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/fees/{id}","href":"/api-reference/fees/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/fees/{id}","href":"/api-reference/fees/update"}]},{"group":"Plans","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/plans","href":"/api-reference/plans/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/plans","href":"/api-reference/plans/create"},{"title":"List Available Plans","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/plans/available","href":"/api-reference/plans/list-available-plans"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/plans/{id}","href":"/api-reference/plans/get"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/plans/{id}","href":"/api-reference/plans/update"},{"title":"List versions","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/plans/{id}/versions","href":"/api-reference/plans/list-versions"},{"title":"Mint a plan version","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/plans/{id}/versions","href":"/api-reference/plans/mint-a-plan-version"},{"title":"Get a version","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/plans/{id}/versions/{versionNumber}","href":"/api-reference/plans/get-a-version"},{"title":"Set the default version","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/plans/{id}/versions/{versionNumber}","href":"/api-reference/plans/set-the-default-version"}]},{"group":"Prices","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/prices","href":"/api-reference/prices/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/prices","href":"/api-reference/prices/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/prices/{id}","href":"/api-reference/prices/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/prices/{id}","href":"/api-reference/prices/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/prices/{id}","href":"/api-reference/prices/update"}]},{"group":"Products","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/products","href":"/api-reference/products/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/products","href":"/api-reference/products/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/products/{id}","href":"/api-reference/products/get"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/products/{id}","href":"/api-reference/products/update"}]},{"group":"Sources","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/sources","href":"/api-reference/sources/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/sources","href":"/api-reference/sources/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/sources/{id}","href":"/api-reference/sources/get"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/sources/{id}","href":"/api-reference/sources/update"},{"title":"List Events","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/sources/{id}/events","href":"/api-reference/sources/list-events"},{"title":"Approve","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/sources/{id}/events/{eventId}/approve","href":"/api-reference/sources/approve"},{"title":"Reject","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/sources/{id}/events/{eventId}/reject","href":"/api-reference/sources/reject"},{"title":"Bulk Approve","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/sources/{id}/events/bulk-approve","href":"/api-reference/sources/bulk-approve"},{"title":"Bulk Reject","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/sources/{id}/events/bulk-reject","href":"/api-reference/sources/bulk-reject"},{"title":"List Rules","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/sourceRules","href":"/api-reference/sources/list-rules"},{"title":"Create Rule","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/sourceRules","href":"/api-reference/sources/create-rule"},{"title":"Get Rule","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/sourceRules/{ruleId}","href":"/api-reference/sources/get-rule"},{"title":"Delete Rule","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/sourceRules/{ruleId}","href":"/api-reference/sources/delete-rule"},{"title":"Update Rule","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/sourceRules/{ruleId}","href":"/api-reference/sources/update-rule"}]},{"group":"Subscriptions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/subscriptions","href":"/api-reference/subscriptions/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/subscriptions","href":"/api-reference/subscriptions/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/subscriptions/{id}","href":"/api-reference/subscriptions/get"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/subscriptions/{id}","href":"/api-reference/subscriptions/update"},{"title":"Get Price Intervals","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/subscriptions/{id}/intervals","href":"/api-reference/subscriptions/get-price-intervals"},{"title":"Edit Price Intervals","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/subscriptions/{id}/intervals","href":"/api-reference/subscriptions/edit-price-intervals"},{"title":"Migrate To A Plan Version","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/subscriptions/{id}/versionMigration","href":"/api-reference/subscriptions/migrate-to-a-plan-version"},{"title":"List Interval Changes","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/subscriptions/{id}/intervalChanges","href":"/api-reference/subscriptions/list-interval-changes"},{"title":"List Merchant Interval Changes","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/intervalChanges","href":"/api-reference/subscriptions/list-merchant-interval-changes"},{"title":"Generate Portal Link","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/subscriptions/{id}/portal","href":"/api-reference/subscriptions/generate-portal-link"},{"title":"Terminate","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/subscriptions/{id}/termination","href":"/api-reference/subscriptions/terminate"},{"title":"Reconcile Features","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/subscriptions/{id}/reconciliations","href":"/api-reference/subscriptions/reconcile-features"},{"title":"List Adjustments","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/subscriptions/{id}/adjustments","href":"/api-reference/subscriptions/list-adjustments"},{"title":"Create Adjustment","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/subscriptions/{id}/adjustments","href":"/api-reference/subscriptions/create-adjustment"},{"title":"Delete Adjustment","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/subscriptions/{id}/adjustments/{adjustmentId}","href":"/api-reference/subscriptions/delete-adjustment"}]},{"group":"Users","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/users/{id}","href":"/api-reference/users/get"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/users/{id}","href":"/api-reference/users/update"}]},{"group":"Invoices V2","pages":[{"title":"List","description":"List invoices with optional filters. Platform users can use nextActionAt=ready to get invoices ready for processing.","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices","href":"/api-reference/invoices-v2/list"},{"title":"List Line Items","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices/lineItems","href":"/api-reference/invoices-v2/list-line-items"},{"title":"Create Manual Line Item","description":"Create a manual line item for a billing v1 subscription. Manual line items are ad-hoc charges or credits that flow through the same collection pipeline as auto-generated items. Exactly one of subscriptionId or invoiceId must be provided.","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/invoices/lineItems","href":"/api-reference/invoices-v2/create-manual-line-item"},{"title":"List projected","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices/projected","href":"/api-reference/invoices-v2/list-projected"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices/{id}","href":"/api-reference/invoices-v2/get"},{"title":"Get Line Items","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices/{id}/lineItems","href":"/api-reference/invoices-v2/get-line-items"},{"title":"Download Invoice PDF","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices/{id}/pdf","href":"/api-reference/invoices-v2/download-invoice-pdf"},{"title":"Settle Invoice Payment","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/invoices/{id}/payment","href":"/api-reference/invoices-v2/settle-invoice-payment"},{"title":"List Invoice Refunds","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices/{id}/refunds","href":"/api-reference/invoices-v2/list-invoice-refunds"},{"title":"Refund Invoice","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/invoices/{id}/refunds","href":"/api-reference/invoices-v2/refund-invoice"},{"title":"Void Invoice Refund","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/invoices/{id}/refunds/{refundId}/void","href":"/api-reference/invoices-v2/void-invoice-refund"},{"title":"Retry Payment","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/invoices/{id}/retryPayment","href":"/api-reference/invoices-v2/retry-payment"}]},{"group":"Payments","pages":[{"title":"List Payments","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/payments","href":"/api-reference/payments/list-payments"},{"title":"Create Payment","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/payments","href":"/api-reference/payments/create-payment"},{"title":"Get Payment","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/payments/{id}","href":"/api-reference/payments/get-payment"}]},{"group":"Payment Sessions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/paymentSessions","href":"/api-reference/payment-sessions/list"}]},{"group":"Events","pages":[{"title":"Ingest Event","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/events","href":"/api-reference/events/ingest-event"}]},{"group":"Costs","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/costs","href":"/api-reference/costs/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/costs","href":"/api-reference/costs/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/costs/{id}","href":"/api-reference/costs/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/costs/{id}","href":"/api-reference/costs/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/costs/{id}","href":"/api-reference/costs/update"},{"title":"Query Summary","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/costs/{id}/summary","href":"/api-reference/costs/query-summary"},{"title":"Report","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/costs/report","href":"/api-reference/costs/report"}]},{"group":"Revenue","pages":[{"title":"Get revenue summary","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/revenue","href":"/api-reference/revenue/get-revenue-summary"},{"title":"List customer accounts","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/revenue/accounts","href":"/api-reference/revenue/list-customer-accounts"}]},{"group":"Profitability","pages":[{"title":"Get profitability summary","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/profitability","href":"/api-reference/profitability/get-profitability-summary"}]},{"group":"Test Clocks","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/testClocks","href":"/api-reference/test-clocks/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/testClocks","href":"/api-reference/test-clocks/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/testClocks/{id}","href":"/api-reference/test-clocks/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/testClocks/{id}","href":"/api-reference/test-clocks/delete"},{"title":"Advance","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/testClocks/{id}","href":"/api-reference/test-clocks/advance"}]},{"group":"Merchant Data","pages":[{"title":"Reset a merchant's data","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/merchants/{merchantId}/reset","href":"/api-reference/merchant-data/reset-a-merchants-data"}]},{"group":"ExternalReferences","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/externalReferences","href":"/api-reference/externalreferences/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/externalReferences","href":"/api-reference/externalreferences/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/externalReferences/{id}","href":"/api-reference/externalreferences/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/externalReferences/{id}","href":"/api-reference/externalreferences/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/externalReferences/{id}","href":"/api-reference/externalreferences/update"}]},{"group":"Items","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/items","href":"/api-reference/items/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/items","href":"/api-reference/items/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/items/{id}","href":"/api-reference/items/get"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/items/{id}","href":"/api-reference/items/update"}]},{"group":"Orders","pages":[{"title":"List orders","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/orders","href":"/api-reference/orders/list-orders"},{"title":"Create an order","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/orders","href":"/api-reference/orders/create-an-order"},{"title":"Get an order","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/orders/{id}","href":"/api-reference/orders/get-an-order"},{"title":"Delete an order","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/orders/{id}","href":"/api-reference/orders/delete-an-order"},{"title":"Update an order","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/orders/{id}","href":"/api-reference/orders/update-an-order"},{"title":"Add a line item","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/orders/{orderId}/lineItems","href":"/api-reference/orders/add-a-line-item"},{"title":"Delete a line item","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/orders/{orderId}/lineItems/{id}","href":"/api-reference/orders/delete-a-line-item"},{"title":"Update a line item","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/orders/{orderId}/lineItems/{id}","href":"/api-reference/orders/update-a-line-item"},{"title":"Create an approval for the order","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/orders/{orderId}/approvals","href":"/api-reference/orders/create-an-approval-for-the-order"}]},{"group":"Billing Schedules","pages":[{"title":"List billing schedules","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/billingSchedules","href":"/api-reference/billing-schedules/list-billing-schedules"},{"title":"Create a billing schedule","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/billingSchedules","href":"/api-reference/billing-schedules/create-a-billing-schedule"},{"title":"Get a billing schedule","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/billingSchedules/{id}","href":"/api-reference/billing-schedules/get-a-billing-schedule"},{"title":"Delete a billing schedule","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/billingSchedules/{id}","href":"/api-reference/billing-schedules/delete-a-billing-schedule"},{"title":"Update a billing schedule","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/billingSchedules/{id}","href":"/api-reference/billing-schedules/update-a-billing-schedule"},{"title":"List schedule intervals","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/billingSchedules/{id}/intervals","href":"/api-reference/billing-schedules/list-schedule-intervals"},{"title":"Replace schedule intervals","deprecated":null,"version":null,"openapi":"/openapi.json put /v0/billingSchedules/{id}/intervals","href":"/api-reference/billing-schedules/replace-schedule-intervals"},{"title":"List staged invoices","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/billingSchedules/{id}/invoices","href":"/api-reference/billing-schedules/list-staged-invoices"},{"title":"Generate staged invoices","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/billingSchedules/{id}/invoices","href":"/api-reference/billing-schedules/generate-staged-invoices"}]},{"group":"Salesforce","pages":[{"title":"List Salesforce accounts","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/integrations/salesforce/accounts","href":"/api-reference/salesforce/list-salesforce-accounts"}]},{"group":"MerchantIntegrations","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/merchantIntegrations","href":"/api-reference/merchantintegrations/list"},{"title":"Upsert","deprecated":null,"version":null,"openapi":"/openapi.json put /v0/merchantIntegrations","href":"/api-reference/merchantintegrations/upsert"},{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/merchantIntegrations/{id}","href":"/api-reference/merchantintegrations/get"},{"title":"Disconnect","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/merchantIntegrations/{id}/disconnect","href":"/api-reference/merchantintegrations/disconnect"}]},{"group":"Approvals","pages":[{"title":"List approvals","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/approvals","href":"/api-reference/approvals/list-approvals"},{"title":"Submit a resource for approval","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/approvals","href":"/api-reference/approvals/submit-a-resource-for-approval"},{"title":"Get an approval","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/approvals/{id}","href":"/api-reference/approvals/get-an-approval"},{"title":"Update an approval (approve, reject, or cancel)","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/approvals/{id}","href":"/api-reference/approvals/update-an-approval-approve-reject-or-cancel"}]},{"group":"Webhooks","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/webhooks","href":"/api-reference/webhooks/get"},{"title":"Enable","deprecated":null,"version":null,"openapi":"/openapi.json post /v0/webhooks","href":"/api-reference/webhooks/enable"},{"title":"Disable","deprecated":null,"version":null,"openapi":"/openapi.json delete /v0/webhooks","href":"/api-reference/webhooks/disable"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi.json patch /v0/webhooks","href":"/api-reference/webhooks/update"},{"title":"Get Portal Access","deprecated":null,"version":null,"openapi":"/openapi.json get /v0/webhooks/portal","href":"/api-reference/webhooks/get-portal-access"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"List Line Items - Paygentic","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}