{
"message": "The requested resource was not found",
"error": "not_found"
}
{
"message": "The requested resource was not found",
"error": "not_found"
}
{
"message": "The requested resource was not found",
"error": "not_found"
}
{
"message": "The requested resource was not found",
"error": "not_found"
}
{
"message": "The requested resource was not found",
"error": "not_found"
}
{
"message": "The requested resource was not found",
"error": "not_found"
}
{
"message": "The requested resource was not found",
"error": "not_found"
}
Invoices V2
Create Manual Line Item
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.
The invoice ID to attach this item directly to. Exactly one of subscriptionId or invoiceId must be provided. The invoice must be in ACTIVE or CLOSING state.
Optional item to tag this line with, for accounting/GL mapping. Must belong to the caller's merchant and must not be archived. A manual line has no price, so it is never reached by a later restamp — supplying it here is the only opportunity to tag it.
Minimum string length: 1
Response
Idempotent retry — returns previously created item
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.
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.
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.
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.
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.
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.
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.
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.
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.
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/create-manual-line-item","slug":"/api-reference/invoices-v2/create-manual-line-item","pageMetadata":{"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","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: \"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.\"\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":"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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Invoices V2"],"summary":"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.","operationId":"createLineItem","x-rate-limit":{"max":60,"timeWindow":"1 minute"},"parameters":["4bc29301-e8a6-4dfe-a6df-7a0b214a6d23"],"requestBody":"5b5fe493-fd38-4305-8746-54e170049fa5","responses":{"200":"30371352-3265-4dc1-a389-b26fdbc1016e","201":"fde5b9f8-1c03-4b32-a169-3e4a5bfefe74","400":"4cef7567-4370-4fec-b90a-57ab827a1894","401":"2a9d2438-5685-4a28-9163-930db5d138a3","403":"e2376e66-ec5b-492a-9602-90dd5ab39132","404":"4f4482bc-0a09-4ba3-890f-88e9de08dc37","409":"6840df33-9b7b-4025-a5b6-7cdce31e640b","422":"ee55e60e-7069-4199-8602-aea4ded56880","500":"0e6a8674-7b2f-422d-993d-ad818dd4c171"},"x-permission":"invoices:write","method":"post","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":"Create Manual Line Item","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"4bc29301-e8a6-4dfe-a6df-7a0b214a6d23":{"in":"header","name":"Idempotency-Key","schema":{"type":"string","maxLength":255,"description":"Optional idempotency key. If provided, duplicate requests with the same key return the previously created item.","uniqueKey":"","typeLabel":"string"},"description":"Optional idempotency key. If provided, duplicate requests with the same key return the previously created item."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["displayName","currency","quantity","unitPrice"],"properties":{"displayName":{"type":"string","minLength":1,"maxLength":255,"description":"Human-readable label shown on the invoice.","isRequired":true,"uniqueKey":"displayName","typeLabel":"string"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"ISO 4217 currency code (e.g., USD). Must match the subscription or invoice currency.","isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"quantity":{"type":"number","exclusiveMinimum":0,"description":"Number of units.","isRequired":true,"uniqueKey":"quantity","typeLabel":"number"},"unitPrice":{"type":"number","description":"Price per unit as a decimal amount (e.g., 29.99 for $29.99). Can be negative for credits or adjustments.","isRequired":true,"uniqueKey":"unitPrice","typeLabel":"number"},"subscriptionId":{"type":"string","description":"The subscription ID. Exactly one of subscriptionId or invoiceId must be provided.","uniqueKey":"subscriptionId","typeLabel":"string"},"invoiceId":{"type":"string","pattern":"^inv_[a-zA-Z0-9]+$","description":"The invoice ID to attach this item directly to. Exactly one of subscriptionId or invoiceId must be provided. The invoice must be in ACTIVE or CLOSING state.","uniqueKey":"invoiceId","typeLabel":"string"},"description":{"oneOf":[{"type":"string","maxLength":1000,"description":"Optional longer description shown on the invoice.","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":1000,"description":"Optional longer description shown on the invoice.","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"invoiceAt":{"oneOf":[{"type":"string","format":"date-time","description":"When to collect this item into an invoice. Defaults to now. Ignored when invoiceId is provided.","uniqueKey":"invoiceAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When to collect this item into an invoice. Defaults to now. Ignored when invoiceId is provided.","uniqueKey":"invoiceAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"invoiceAt","typeLabel":"string\u003cdate-time> | null"},"periodStart":{"oneOf":[{"type":"string","format":"date-time","description":"Start of the billing period for display purposes. Defaults to now.","uniqueKey":"periodStart.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Start of the billing period for display purposes. Defaults to now.","uniqueKey":"periodStart.oneOf.1","typeLabel":"null"}],"uniqueKey":"periodStart","typeLabel":"string\u003cdate-time> | null"},"periodEnd":{"oneOf":[{"type":"string","format":"date-time","description":"End of the billing period for display purposes. Defaults to now.","uniqueKey":"periodEnd.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"End of the billing period for display purposes. Defaults to now.","uniqueKey":"periodEnd.oneOf.1","typeLabel":"null"}],"uniqueKey":"periodEnd","typeLabel":"string\u003cdate-time> | null"},"idempotencyKey":{"oneOf":[{"type":"string","minLength":1,"maxLength":255,"description":"Optional caller-provided idempotency key. Auto-generated if not provided.","uniqueKey":"idempotencyKey.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"maxLength":255,"description":"Optional caller-provided idempotency key. Auto-generated if not provided.","uniqueKey":"idempotencyKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"idempotencyKey","typeLabel":"string | null"},"itemId":{"oneOf":[{"type":"string","minLength":1,"description":"Optional item to tag this line with, for accounting/GL mapping. Must belong to the caller's merchant and must not be archived. A manual line has no price, so it is never reached by a later restamp — supplying it here is the only opportunity to tag it.","uniqueKey":"itemId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Optional item to tag this line with, for accounting/GL mapping. Must belong to the caller's merchant and must not be archived. A manual line has no price, so it is never reached by a later restamp — supplying it here is the only opportunity to tag it.","uniqueKey":"itemId.oneOf.1","typeLabel":"null"}],"uniqueKey":"itemId","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"displayName":"\u003cstring>","currency":"\u003cstring>","quantity":123,"unitPrice":123,"subscriptionId":"\u003cstring>","invoiceId":"\u003cstring>","description":"\u003cstring>","invoiceAt":"2023-11-07T05:31:56Z","periodStart":"2023-11-07T05:31:56Z","periodEnd":"2023-11-07T05:31:56Z","idempotencyKey":"\u003cstring>","itemId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"30371352-3265-4dc1-a389-b26fdbc1016e":{"description":"Idempotent retry — returns previously created item","content":{"application/json":{"schema":{"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":"id","typeLabel":"string"},"subscriptionId":{"type":"string","description":"The subscription this line item belongs to","isRequired":true,"uniqueKey":"subscriptionId","typeLabel":"string"},"customerId":{"type":"string","description":"The customer ID that owns this line item","isRequired":true,"uniqueKey":"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":"type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending","invoiced"],"description":"Whether this item is pending or already on an invoice","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"displayName":{"type":"string","description":"Human-readable label shown on the invoice","isRequired":true,"uniqueKey":"displayName","typeLabel":"string"},"currency":{"type":"string","description":"ISO 4217 currency code (e.g., USD)","isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"periodStart":{"type":"string","format":"date-time","description":"Start of the billing period (inclusive)","isRequired":true,"uniqueKey":"periodStart","typeLabel":"string\u003cdate-time>"},"periodEnd":{"type":"string","format":"date-time","description":"End of the billing period (exclusive)","isRequired":true,"uniqueKey":"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":"invoiceAt","typeLabel":"string\u003cdate-time>"},"unitPrice":{"type":"string","description":"Price per unit in invoice currency","isRequired":true,"uniqueKey":"unitPrice","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","description":"When the line item was created","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"When the line item was last updated","isRequired":true,"uniqueKey":"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":"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":"priceId.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"itemId.oneOf.1","typeLabel":"null"}],"uniqueKey":"itemId","typeLabel":"string | null"},"invoiceId":{"oneOf":[{"type":"string","description":"The invoice ID if this item has been invoiced","uniqueKey":"invoiceId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The invoice ID if this item has been invoiced","uniqueKey":"invoiceId.oneOf.1","typeLabel":"null"}],"uniqueKey":"invoiceId","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Optional longer description","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional longer description","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"calculatedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When metered quantity was last computed","uniqueKey":"calculatedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When metered quantity was last computed","uniqueKey":"calculatedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"calculatedAt","typeLabel":"string\u003cdate-time> | null"},"quantity":{"oneOf":[{"type":"string","description":"Units sold. Null for metered lines until invoice close","uniqueKey":"quantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Units sold. Null for metered lines until invoice close","uniqueKey":"quantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"quantity","typeLabel":"string | null"},"meteredQuantity":{"oneOf":[{"type":"string","description":"Raw metered usage. Null for fee/manual lines","uniqueKey":"meteredQuantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Raw metered usage. Null for fee/manual lines","uniqueKey":"meteredQuantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"meteredQuantity","typeLabel":"string | null"},"usageDiscountIds":{"type":"array","items":{"type":"string","uniqueKey":"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":"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":"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":"paymentTerm.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"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":"taxesTotal.oneOf.1","typeLabel":"null"}],"uniqueKey":"taxesTotal","typeLabel":"string | null"},"total":{"type":"string","description":"Final total after discounts and taxes. Defaults to '0.00' when not yet calculated","uniqueKey":"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":"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":"estimatedMeteredQuantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"estimatedSubtotal.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"provenance.version","typeLabel":"integer"},"currency":{"type":"string","description":"The currency of every amount in the trace.","uniqueKey":"provenance.currency","typeLabel":"string"},"precision":{"type":"object","required":["significantDigits","rounding"],"properties":{"significantDigits":{"type":"integer","isRequired":true,"uniqueKey":"provenance.precision.significantDigits","typeLabel":"integer"},"rounding":{"type":"string","isRequired":true,"uniqueKey":"provenance.precision.rounding","typeLabel":"string"}},"description":"The default arithmetic of every step. Any other rounding is an explicit `round` step.","uniqueKey":"provenance.precision","typeLabel":"object"},"period":{"type":"object","required":["start","end"],"properties":{"start":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"provenance.period.start","typeLabel":"string\u003cdate-time>"},"end":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"provenance.period.end","typeLabel":"string\u003cdate-time>"}},"description":"The period the line bills.","uniqueKey":"provenance.period","typeLabel":"object"},"calculatedAt":{"type":"string","format":"date-time","description":"When the calculation ran.","uniqueKey":"provenance.calculatedAt","typeLabel":"string\u003cdate-time>"},"subscriptionId":{"type":"string","description":"The subscription the line belongs to.","uniqueKey":"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":"provenance.inputs.kind","typeLabel":"string"},"quantity":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"provenance.inputs.quantity.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"provenance.inputs.quantity.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"provenance.inputs.quantity","typeLabel":"object"},"selector":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"provenance.inputs.selector.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"provenance.inputs.selector.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"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":"provenance.inputs.price.fn.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"provenance.inputs.price.fn.rate","typeLabel":"string"},"bands":{"type":"array","items":{"type":"object","required":["upTo","rate"],"properties":{"upTo":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"provenance.inputs.price.fn.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.inputs.price.fn.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.inputs.price.fn.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.inputs.price.fn.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.inputs.price.fn.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.inputs.price.fn.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.inputs.price.fn.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"provenance.inputs.price.fn.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"provenance.inputs.price.fn","typeLabel":"object"},"source":{"type":"string","description":"The key of the source in `sources` that stated the price.","isRequired":true,"uniqueKey":"provenance.inputs.price.source","typeLabel":"string"}},"description":"`priced` only: the price as a function, and its source.","uniqueKey":"provenance.inputs.price","typeLabel":"object"},"amount":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"provenance.inputs.amount.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"provenance.inputs.amount.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"provenance.inputs.amount","typeLabel":"object"}},"uniqueKey":"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":"provenance.sources.additionalProperties.type","typeLabel":"string"},"ref":{"type":"object","additionalProperties":true,"description":"The ids that link to the resource.","uniqueKey":"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":"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":"provenance.sources.additionalProperties.reason","typeLabel":"string"}},"uniqueKey":"provenance.sources.additionalProperties","typeLabel":"object"},"description":"Every source a step or an input names, by key.","uniqueKey":"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":"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":"provenance.steps.items.[INDEX].on","typeLabel":"string"},"in":{"oneOf":[{"type":"string","description":"The value before the step. Null only on `evaluate`.","isRequired":true,"uniqueKey":"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":"provenance.steps.items.[INDEX].in.oneOf.1.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"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":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1","typeLabel":"object"},{"type":"null","description":"The value before the step. Null only on `evaluate`.","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in","typeLabel":"string | object | null"},"out":{"oneOf":[{"type":"string","description":"A decimal string, or a price function.","isRequired":true,"uniqueKey":"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":"provenance.steps.items.[INDEX].out.oneOf.1.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"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":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out","typeLabel":"string | object"},"params":{"type":"object","additionalProperties":true,"description":"The parameters of the op. See `op`.","isRequired":true,"uniqueKey":"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":"provenance.steps.items.[INDEX].source","typeLabel":"string"},"inputsFrom":{"type":"array","items":{"type":"object","required":["lineItemId","value","share"],"properties":{"lineItemId":{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].lineItemId","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].value","typeLabel":"string"},"share":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share","typeLabel":"string | null"}},"uniqueKey":"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":"provenance.steps.items.[INDEX].inputsFrom","typeLabel":"object[]"},"trace":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"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":"provenance.steps.items.[INDEX].trace","typeLabel":"object[]"}},"uniqueKey":"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":"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":"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":"provenance.notApplied.items.[INDEX].reason","typeLabel":"string"}},"description":"A rule in force for the line that did not change it.","uniqueKey":"provenance.notApplied.items.[INDEX]","typeLabel":"object"},"description":"Rules in force for the line that did not change it, and why.","uniqueKey":"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":"provenance.result.amount","typeLabel":"string"},"quantity":{"oneOf":[{"type":"string","description":"The line's quantity.","isRequired":true,"uniqueKey":"provenance.result.quantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"The line's quantity.","isRequired":true,"uniqueKey":"provenance.result.quantity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"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":"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":"provenance.result.unitPrice.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.result.unitPrice","typeLabel":"string | null"}},"description":"Equal to the line's stored amount, quantity and unit price.","uniqueKey":"provenance.result","typeLabel":"object"}},"uniqueKey":"provenance","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","subscriptionId":"\u003cstring>","customerId":"\u003cstring>","type":"fee","status":"pending","displayName":"\u003cstring>","currency":"\u003cstring>","periodStart":"2023-11-07T05:31:56Z","periodEnd":"2023-11-07T05:31:56Z","invoiceAt":"2023-11-07T05:31:56Z","unitPrice":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","priceId":"\u003cstring>","itemId":"\u003cstring>","invoiceId":"\u003cstring>","description":"\u003cstring>","calculatedAt":"2023-11-07T05:31:56Z","quantity":"\u003cstring>","meteredQuantity":"\u003cstring>","usageDiscountIds":["\u003cstring>"],"paymentTerm":"in_advance","subtotal":"\u003cstring>","taxesTotal":"\u003cstring>","total":"\u003cstring>","estimatedMeteredQuantity":"\u003cstring>","estimatedSubtotal":"\u003cstring>","provenance":{"status":"\u003cstring>","version":123,"currency":"\u003cstring>","precision":{"significantDigits":123,"rounding":"\u003cstring>"},"period":{"start":"2023-11-07T05:31:56Z","end":"2023-11-07T05:31:56Z"},"calculatedAt":"2023-11-07T05:31:56Z","subscriptionId":"\u003cstring>","inputs":{"kind":"\u003cstring>","quantity":{"value":"\u003cstring>","source":"\u003cstring>"},"selector":{"value":"\u003cstring>","source":"\u003cstring>"},"price":{"fn":{"model":"\u003cstring>","rate":"\u003cstring>","bands":[{"upTo":"\u003cstring>","rate":"\u003cstring>"}],"min":"\u003cstring>","max":"\u003cstring>","amount":"\u003cstring>"},"source":"\u003cstring>"},"amount":{"value":"\u003cstring>","source":"\u003cstring>"}},"sources":{},"steps":[{"op":"\u003cstring>","on":"\u003cstring>","in":"\u003cstring>","out":"\u003cstring>","params":{},"source":"\u003cstring>","inputsFrom":[{"lineItemId":"\u003cstring>","value":"\u003cstring>","share":"\u003cstring>"}],"trace":[{}]}],"notApplied":[{"source":"\u003cstring>","reason":"\u003cstring>"}],"result":{"amount":"\u003cstring>","quantity":"\u003cstring>","unitPrice":"\u003cstring>"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"fde5b9f8-1c03-4b32-a169-3e4a5bfefe74":{"description":"Manual line item created","content":{"application/json":{"schema":{"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":"id","typeLabel":"string"},"subscriptionId":{"type":"string","description":"The subscription this line item belongs to","isRequired":true,"uniqueKey":"subscriptionId","typeLabel":"string"},"customerId":{"type":"string","description":"The customer ID that owns this line item","isRequired":true,"uniqueKey":"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":"type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending","invoiced"],"description":"Whether this item is pending or already on an invoice","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"displayName":{"type":"string","description":"Human-readable label shown on the invoice","isRequired":true,"uniqueKey":"displayName","typeLabel":"string"},"currency":{"type":"string","description":"ISO 4217 currency code (e.g., USD)","isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"periodStart":{"type":"string","format":"date-time","description":"Start of the billing period (inclusive)","isRequired":true,"uniqueKey":"periodStart","typeLabel":"string\u003cdate-time>"},"periodEnd":{"type":"string","format":"date-time","description":"End of the billing period (exclusive)","isRequired":true,"uniqueKey":"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":"invoiceAt","typeLabel":"string\u003cdate-time>"},"unitPrice":{"type":"string","description":"Price per unit in invoice currency","isRequired":true,"uniqueKey":"unitPrice","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","description":"When the line item was created","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"When the line item was last updated","isRequired":true,"uniqueKey":"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":"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":"priceId.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"itemId.oneOf.1","typeLabel":"null"}],"uniqueKey":"itemId","typeLabel":"string | null"},"invoiceId":{"oneOf":[{"type":"string","description":"The invoice ID if this item has been invoiced","uniqueKey":"invoiceId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The invoice ID if this item has been invoiced","uniqueKey":"invoiceId.oneOf.1","typeLabel":"null"}],"uniqueKey":"invoiceId","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Optional longer description","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional longer description","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"calculatedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When metered quantity was last computed","uniqueKey":"calculatedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When metered quantity was last computed","uniqueKey":"calculatedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"calculatedAt","typeLabel":"string\u003cdate-time> | null"},"quantity":{"oneOf":[{"type":"string","description":"Units sold. Null for metered lines until invoice close","uniqueKey":"quantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Units sold. Null for metered lines until invoice close","uniqueKey":"quantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"quantity","typeLabel":"string | null"},"meteredQuantity":{"oneOf":[{"type":"string","description":"Raw metered usage. Null for fee/manual lines","uniqueKey":"meteredQuantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Raw metered usage. Null for fee/manual lines","uniqueKey":"meteredQuantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"meteredQuantity","typeLabel":"string | null"},"usageDiscountIds":{"type":"array","items":{"type":"string","uniqueKey":"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":"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":"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":"paymentTerm.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"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":"taxesTotal.oneOf.1","typeLabel":"null"}],"uniqueKey":"taxesTotal","typeLabel":"string | null"},"total":{"type":"string","description":"Final total after discounts and taxes. Defaults to '0.00' when not yet calculated","uniqueKey":"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":"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":"estimatedMeteredQuantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"estimatedSubtotal.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"provenance.version","typeLabel":"integer"},"currency":{"type":"string","description":"The currency of every amount in the trace.","uniqueKey":"provenance.currency","typeLabel":"string"},"precision":{"type":"object","required":["significantDigits","rounding"],"properties":{"significantDigits":{"type":"integer","isRequired":true,"uniqueKey":"provenance.precision.significantDigits","typeLabel":"integer"},"rounding":{"type":"string","isRequired":true,"uniqueKey":"provenance.precision.rounding","typeLabel":"string"}},"description":"The default arithmetic of every step. Any other rounding is an explicit `round` step.","uniqueKey":"provenance.precision","typeLabel":"object"},"period":{"type":"object","required":["start","end"],"properties":{"start":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"provenance.period.start","typeLabel":"string\u003cdate-time>"},"end":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"provenance.period.end","typeLabel":"string\u003cdate-time>"}},"description":"The period the line bills.","uniqueKey":"provenance.period","typeLabel":"object"},"calculatedAt":{"type":"string","format":"date-time","description":"When the calculation ran.","uniqueKey":"provenance.calculatedAt","typeLabel":"string\u003cdate-time>"},"subscriptionId":{"type":"string","description":"The subscription the line belongs to.","uniqueKey":"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":"provenance.inputs.kind","typeLabel":"string"},"quantity":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"provenance.inputs.quantity.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"provenance.inputs.quantity.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"provenance.inputs.quantity","typeLabel":"object"},"selector":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"provenance.inputs.selector.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"provenance.inputs.selector.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"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":"provenance.inputs.price.fn.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"provenance.inputs.price.fn.rate","typeLabel":"string"},"bands":{"type":"array","items":{"type":"object","required":["upTo","rate"],"properties":{"upTo":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"provenance.inputs.price.fn.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"provenance.inputs.price.fn.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.inputs.price.fn.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.inputs.price.fn.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.inputs.price.fn.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.inputs.price.fn.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.inputs.price.fn.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.inputs.price.fn.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"provenance.inputs.price.fn.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"provenance.inputs.price.fn","typeLabel":"object"},"source":{"type":"string","description":"The key of the source in `sources` that stated the price.","isRequired":true,"uniqueKey":"provenance.inputs.price.source","typeLabel":"string"}},"description":"`priced` only: the price as a function, and its source.","uniqueKey":"provenance.inputs.price","typeLabel":"object"},"amount":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","description":"The value.","isRequired":true,"uniqueKey":"provenance.inputs.amount.value","typeLabel":"string"},"source":{"type":"string","description":"The key of the source in `sources` that stated it.","isRequired":true,"uniqueKey":"provenance.inputs.amount.source","typeLabel":"string"}},"description":"A value the evaluation started from, and its source.","uniqueKey":"provenance.inputs.amount","typeLabel":"object"}},"uniqueKey":"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":"provenance.sources.additionalProperties.type","typeLabel":"string"},"ref":{"type":"object","additionalProperties":true,"description":"The ids that link to the resource.","uniqueKey":"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":"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":"provenance.sources.additionalProperties.reason","typeLabel":"string"}},"uniqueKey":"provenance.sources.additionalProperties","typeLabel":"object"},"description":"Every source a step or an input names, by key.","uniqueKey":"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":"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":"provenance.steps.items.[INDEX].on","typeLabel":"string"},"in":{"oneOf":[{"type":"string","description":"The value before the step. Null only on `evaluate`.","isRequired":true,"uniqueKey":"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":"provenance.steps.items.[INDEX].in.oneOf.1.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"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":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.1","typeLabel":"object"},{"type":"null","description":"The value before the step. Null only on `evaluate`.","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].in","typeLabel":"string | object | null"},"out":{"oneOf":[{"type":"string","description":"A decimal string, or a price function.","isRequired":true,"uniqueKey":"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":"provenance.steps.items.[INDEX].out.oneOf.1.model","typeLabel":"string"},"rate":{"type":"string","description":"`unit`, `percentage`: the rate.","uniqueKey":"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":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].upTo","typeLabel":"string | null"},"rate":{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX].rate","typeLabel":"string"}},"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands.items.[INDEX]","typeLabel":"object"},"description":"`volume` only: the bands in ascending order.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.bands","typeLabel":"object[]"},"min":{"oneOf":[{"type":"string","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.min.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the minimum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.min.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.min","typeLabel":"string | null"},"max":{"oneOf":[{"type":"string","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.max.oneOf.0","typeLabel":"string"},{"type":"null","description":"`percentage` only: the maximum charge, or null.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.max.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.max","typeLabel":"string | null"},"amount":{"type":"string","description":"`flat` only: the amount for the period.","uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1.amount","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].out","typeLabel":"string | object"},"params":{"type":"object","additionalProperties":true,"description":"The parameters of the op. See `op`.","isRequired":true,"uniqueKey":"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":"provenance.steps.items.[INDEX].source","typeLabel":"string"},"inputsFrom":{"type":"array","items":{"type":"object","required":["lineItemId","value","share"],"properties":{"lineItemId":{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].lineItemId","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].value","typeLabel":"string"},"share":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.steps.items.[INDEX].inputsFrom.items.[INDEX].share","typeLabel":"string | null"}},"uniqueKey":"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":"provenance.steps.items.[INDEX].inputsFrom","typeLabel":"object[]"},"trace":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"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":"provenance.steps.items.[INDEX].trace","typeLabel":"object[]"}},"uniqueKey":"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":"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":"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":"provenance.notApplied.items.[INDEX].reason","typeLabel":"string"}},"description":"A rule in force for the line that did not change it.","uniqueKey":"provenance.notApplied.items.[INDEX]","typeLabel":"object"},"description":"Rules in force for the line that did not change it, and why.","uniqueKey":"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":"provenance.result.amount","typeLabel":"string"},"quantity":{"oneOf":[{"type":"string","description":"The line's quantity.","isRequired":true,"uniqueKey":"provenance.result.quantity.oneOf.0","typeLabel":"string"},{"type":"null","description":"The line's quantity.","isRequired":true,"uniqueKey":"provenance.result.quantity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"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":"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":"provenance.result.unitPrice.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.result.unitPrice","typeLabel":"string | null"}},"description":"Equal to the line's stored amount, quantity and unit price.","uniqueKey":"provenance.result","typeLabel":"object"}},"uniqueKey":"provenance","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","subscriptionId":"\u003cstring>","customerId":"\u003cstring>","type":"fee","status":"pending","displayName":"\u003cstring>","currency":"\u003cstring>","periodStart":"2023-11-07T05:31:56Z","periodEnd":"2023-11-07T05:31:56Z","invoiceAt":"2023-11-07T05:31:56Z","unitPrice":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","priceId":"\u003cstring>","itemId":"\u003cstring>","invoiceId":"\u003cstring>","description":"\u003cstring>","calculatedAt":"2023-11-07T05:31:56Z","quantity":"\u003cstring>","meteredQuantity":"\u003cstring>","usageDiscountIds":["\u003cstring>"],"paymentTerm":"in_advance","subtotal":"\u003cstring>","taxesTotal":"\u003cstring>","total":"\u003cstring>","estimatedMeteredQuantity":"\u003cstring>","estimatedSubtotal":"\u003cstring>","provenance":{"status":"\u003cstring>","version":123,"currency":"\u003cstring>","precision":{"significantDigits":123,"rounding":"\u003cstring>"},"period":{"start":"2023-11-07T05:31:56Z","end":"2023-11-07T05:31:56Z"},"calculatedAt":"2023-11-07T05:31:56Z","subscriptionId":"\u003cstring>","inputs":{"kind":"\u003cstring>","quantity":{"value":"\u003cstring>","source":"\u003cstring>"},"selector":{"value":"\u003cstring>","source":"\u003cstring>"},"price":{"fn":{"model":"\u003cstring>","rate":"\u003cstring>","bands":[{"upTo":"\u003cstring>","rate":"\u003cstring>"}],"min":"\u003cstring>","max":"\u003cstring>","amount":"\u003cstring>"},"source":"\u003cstring>"},"amount":{"value":"\u003cstring>","source":"\u003cstring>"}},"sources":{},"steps":[{"op":"\u003cstring>","on":"\u003cstring>","in":"\u003cstring>","out":"\u003cstring>","params":{},"source":"\u003cstring>","inputsFrom":[{"lineItemId":"\u003cstring>","value":"\u003cstring>","share":"\u003cstring>"}],"trace":[{}]}],"notApplied":[{"source":"\u003cstring>","reason":"\u003cstring>"}],"result":{"amount":"\u003cstring>","quantity":"\u003cstring>","unitPrice":"\u003cstring>"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"4cef7567-4370-4fec-b90a-57ab827a1894":{"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"},"2a9d2438-5685-4a28-9163-930db5d138a3":{"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"},"e2376e66-ec5b-492a-9602-90dd5ab39132":{"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"},"4f4482bc-0a09-4ba3-890f-88e9de08dc37":{"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"},"6840df33-9b7b-4025-a5b6-7cdce31e640b":{"description":"Conflict - The request conflicts with the current state of the resource","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"},"ee55e60e-7069-4199-8602-aea4ded56880":{"description":"Unprocessable Entity - The request was well-formed but could not be processed","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"},"0e6a8674-7b2f-422d-993d-ad818dd4c171":{"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":"Create Manual Line Item - Paygentic","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T22:31:40.030Z","originalFileLocation":"api-reference/invoices-v2/create-manual-line-item.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=\"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.\">\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=\"Create Manual Line Item - Paygentic\">\u003cmeta data-mint-head property=\"og:description\" content=\"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.\">\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/create-manual-line-item\">\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=Create+Manual+Line+Item\u0026amp;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-\u0026amp;theme=cd268a09eb866d3e25dc4282\u0026amp;signature=54c1aaafc46c41a913a6a2caa76fbb8abbdb2733069a2a0427f98ef7da83fa92\">\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=\"Create Manual Line Item - Paygentic\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://paygentic.mintlify.app/_mintlify/api/og/v2?division=Invoices+V2\u0026amp;title=Create+Manual+Line+Item\u0026amp;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-\u0026amp;theme=cd268a09eb866d3e25dc4282\u0026amp;signature=54c1aaafc46c41a913a6a2caa76fbb8abbdb2733069a2a0427f98ef7da83fa92\">\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/create-manual-line-item\">\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/create-manual-line-item.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/create-manual-line-item#webpage\",\"url\":\"https://docs.paygentic.io/api-reference/invoices-v2/create-manual-line-item\",\"name\":\"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.\",\"dateModified\":\"2026-10-26T22:31:40.030Z\",\"isPartOf\":{\"@id\":\"https://docs.paygentic.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/create-manual-line-item#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/create-manual-line-item#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Invoices V2\",\"item\":\"https://docs.paygentic.io/api-reference/invoices-v2/list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Manual Line Item\",\"item\":\"https://docs.paygentic.io/api-reference/invoices-v2/create-manual-line-item\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/create-manual-line-item#apireference\",\"headline\":\"Create Manual Line Item\",\"name\":\"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.\",\"url\":\"https://docs.paygentic.io/api-reference/invoices-v2/create-manual-line-item\",\"mainEntityOfPage\":{\"@id\":\"https://docs.paygentic.io/api-reference/invoices-v2/create-manual-line-item#webpage\"},\"dateModified\":\"2026-10-26T22:31:40.030Z\",\"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","deprecated":null,"version":null,"openapi":"/openapi.json get /v2/invoices","href":"/api-reference/invoices-v2/list"},{"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"},{"title":"Create Manual Line Item","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/invoices/lineItems","href":"/api-reference/invoices-v2/create-manual-line-item"},{"title":"List projected","description":"List the invoices a subscription will issue in a range of invoice moments, one projected invoice for each distinct invoice moment. Projected invoices are derived on each read and never stored. Each has status PROJECTED, and its id is stable between reads, but GET /v2/invoices/{id} returns 404 for it. Totals EXCLUDE usage: metered charges are not projected, and an invoice moment that has only metered charges is omitted. Tax and sequenceNumber are estimates. The range filters on the invoice moment (invoiceAt) in [from, to). A from before now is treated as now. to must be after from and at most one year after now; now is the subscription's test-clock time when it has a test clock. A terminated subscription returns an empty list. Each invoice carries its lines in lineItems. Authorization is the same as listing invoices.","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":"Create Manual Line Item - 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"]}