Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.
ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own catalog_version_id takes precedence, and explicit prices always win over both.
Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's amount_excluding_tax.
What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for subscription and subscription_update quotes, unless set manually. Not set on one_off quotes. When specified, overrides the computed value.
Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.
Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.
When true, the invoice issued after signature stays in draft status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to false.
Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count.
What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for subscription and subscription_update quotes, unless set manually. Not set on one_off quotes.
Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.
Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.
Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.
When true, the invoice issued after signature stays in draft status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to false.
Deprecated field, please use GET /v2/subscriptions with the original_quote_id filter.
Was this page helpful?
⌘I
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Hyperline","colors":{"primary":"#1A1A1A","light":"#999999","dark":"#1A1A1A"},"logo":{"light":"https://mintcdn.com/hyperline/G-7ZQgHUOVHWwtUN/layout/logo-dark.png?fit=max\u0026auto=format\u0026n=G-7ZQgHUOVHWwtUN\u0026q=85\u0026s=2521f5f5ce4977d387d12aa169a8ee55","dark":"https://mintcdn.com/hyperline/G-7ZQgHUOVHWwtUN/layout/logo-light.png?fit=max\u0026auto=format\u0026n=G-7ZQgHUOVHWwtUN\u0026q=85\u0026s=c81125a44e9fdf8006623ab1f597ce7f"},"favicon":"https://mintcdn.com/hyperline/xZrQhb6Rphak0y92/favicon.png?fit=max\u0026auto=format\u0026n=xZrQhb6Rphak0y92\u0026q=85\u0026s=c52ed2ba655f301d3a99a7987888c622","api":{"openapi":["https://api.hyperline.co/openapi","https://ingest.hyperline.co/openapi"],"playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"},"server":["https://api.hyperline.co","https://ingest.hyperline.co"]}},"appearance":{"default":"light"},"background":{"color":{"light":"#fafafa","dark":"#1f1f1f"}},"navbar":{"links":[{"href":"https://www.hyperline.co/talk-to-sales","label":"Book a call"}],"primary":{"type":"button","label":"Get Started","href":"https://app.hyperline.co"}},"footer":{"links":[{"header":"Resources","items":[{"label":"Status","href":"https://status.hyperline.co"},{"label":"Changelog","href":"https://docs.hyperline.co/changelog"},{"label":"Glossary","href":"https://docs.hyperline.co/docs/introduction/glossary"},{"label":"Contact support","href":"mailto:support@hyperline.co"}]},{"header":"Company","items":[{"label":"Customers","href":"https://www.hyperline.co/resources/customers"},{"label":"Blog","href":"https://www.hyperline.co/resources/blog"},{"label":"Careers","href":"https://www.welcometothejungle.com/fr/companies/hyperline"},{"label":"Media Kit","href":"https://drive.google.com/drive/folders/1KIlufVDz6tgwohTFFv1jSyoqeHO0pKOm"}]},{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://www.hyperline.co/privacy-policy"},{"label":"Terms of Service","href":"https://www.hyperline.co/terms-of-service"},{"label":"Security","href":"https://docs.hyperline.co/security"}]}]},"seo":{"metatags":{"og:image":"https://app.hyperline.co/auth/background.svg"},"indexing":"navigable"},"fonts":{"family":"Inter"},"integrations":{"posthog":{"apiKey":"phc_KmmpIQ7SFNwnur6ZqVC118l5EkS1pqo313t4qxwL32n","apiHost":"https://eu.posthog.com"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hyperline","hasAudioNarration":false,"actualSubdomain":"hyperline","customDomains":["docs.hyperline.co"],"gitSource":{"type":"github","owner":"meterly","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae05dced26846b2c68aaf2b","collectionId":"b49d8029-0e8c-4cab-94b8-3b775496ed52","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae05dced26846b2c68aaf2b"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae08513c9d0adb3afbc7e4b","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Developers","count":344},{"language":"default","tag":"Documentation","count":108},{"language":"default","tag":"Integrations","count":42},{"language":"default","tag":"Subscriptions","count":37},{"language":"default","tag":"Invoices","count":36},{"language":"default","tag":"AI > Billing","count":27},{"language":"default","tag":"Quotes","count":23},{"language":"default","tag":"Customers","count":20},{"language":"default","tag":"Guides","count":20},{"language":"default","tag":"Changelog","count":16}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@hyperline.co","showHelpButton":true}},"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":false},"customCss":[{"filePath":"index.css","content":"a[href*=\"mintlify.com\"]{display:none;visibility:hidden}.text-2xl{font-weight:600}.tag-blue,.tag-orange{height:20px;line-height:20px;display:inline-block;margin:0;padding:0 6px;border-radius:4px;font-weight:600;font-size:12px}.tag-blue{background:#93c5fd;color:#0166ff;border:1px solid #0166ff}.tag-orange{background:#fef9e0;color:#da9e09;border:1px solid #da9e09}#footer>div>div:not(:first-child){display:none;visibility:hidden}"},{"filePath":"developers/getting-started.css","content":"#content-area:has(#developer-home){max-width:56rem;margin-inline:auto}"}],"page":{"pagePath":"api-reference/endpoints/quotes/create-quote","slug":"/api-reference/endpoints/quotes/create-quote","pageMetadata":{"openapi":"post /v1/quotes","title":"Create quote","description":"Create a new quote.","href":"/api-reference/endpoints/quotes/create-quote"},"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 new quote.\"\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":{"openapi":"post /v1/quotes","title":"Create quote","description":"Create a new quote.","href":"/api-reference/endpoints/quotes/create-quote"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createQuote","tags":["Quotes"],"security":["9a419bdd-095d-43e4-a636-dca75d1f677d"],"summary":"Create quote","description":"Create a new quote.","requestBody":"cbe28488-aff7-484e-92ac-700c32820ea4","responses":{"201":"93b131dd-af1d-4836-b17b-606e096b9727"},"method":"post","type":"path","servers":["3d619cc0-773f-4fdf-a99f-5fa0eaf71fab","da09b2cf-93bc-4b78-bcda-af9ed3703762"],"path":"/v1/quotes","baseUrlOptions":["https://api.hyperline.co","https://sandbox.api.hyperline.co"],"title":"Create quote","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"From a template","required":["template_id","customer_id"],"properties":{"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.0.customer_id","typeLabel":"string"},"template_id":{"type":"string","description":"ID of the quote template. If not specified, a subscription configuration or an `invoice` payload must be defined.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.0.template_id","typeLabel":"string"},"status":{"type":"string","enum":["draft","approved","pending_signature"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n ","example":"draft","uniqueKey":"oneOf.0.status","typeLabel":"enum\u003cstring>"},"owner_email":{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.","example":"joe@acme.com","uniqueKey":"oneOf.0.owner_email","typeLabel":"string\u003cemail>"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","uniqueKey":"oneOf.0.invoicing_entity_id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.catalog_version_id","typeLabel":"string | null"},"comments":{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","uniqueKey":"oneOf.0.comments","typeLabel":"string"},"terms":{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","uniqueKey":"oneOf.0.terms","typeLabel":"string"},"amount":{"oneOf":[{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.0.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.0.amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.amount","typeLabel":"number | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.0.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.0.contract_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.contract_value","typeLabel":"number | null"},"collect_payment_details":{"oneOf":[{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"uniqueKey":"oneOf.0.collect_payment_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Collect customer payment method mandate during signature flow or not.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.collect_payment_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.collect_payment_details","typeLabel":"boolean | enum\u003cstring>"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"uniqueKey":"oneOf.0.collect_custom_property_ids","typeLabel":"string[]"},"contract_clause_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.contract_clause_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the contract clauses used in the quote terms.","example":["ccl_QalW2vTAdkR6IY"],"uniqueKey":"oneOf.0.contract_clause_ids","typeLabel":"string[]"},"require_tax_id":{"oneOf":[{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"uniqueKey":"oneOf.0.require_tax_id.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Require the customer to provide a tax ID during the signature flow.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.require_tax_id.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.require_tax_id","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value":{"oneOf":[{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"uniqueKey":"oneOf.0.display_quote_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.display_quote_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_quote_value","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value_with_tax":{"oneOf":[{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"uniqueKey":"oneOf.0.display_quote_value_with_tax.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_quote_value_with_tax.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_quote_value_with_tax","typeLabel":"boolean | enum\u003cstring>"},"display_taxes":{"oneOf":[{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"uniqueKey":"oneOf.0.display_taxes.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display tax breakdown on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.display_taxes.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_taxes","typeLabel":"boolean | enum\u003cstring>"},"display_price_tiers":{"oneOf":[{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["all","matching","none"],"example":"matching","uniqueKey":"oneOf.0.display_price_tiers.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"boolean","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","uniqueKey":"oneOf.0.display_price_tiers.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["true","false"],"example":"matching","uniqueKey":"oneOf.0.display_price_tiers.oneOf.2","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_price_tiers","typeLabel":"enum\u003cstring> · boolean · enum\u003cstring>"},"display_phase_value":{"oneOf":[{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"uniqueKey":"oneOf.0.display_phase_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display per-phase value breakdown on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_phase_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_phase_value","typeLabel":"boolean | enum\u003cstring>"},"display_discounts_on_total":{"oneOf":[{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"uniqueKey":"oneOf.0.display_discounts_on_total.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_discounts_on_total.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_discounts_on_total","typeLabel":"boolean | enum\u003cstring>"},"display_first_invoice_amount":{"oneOf":[{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"uniqueKey":"oneOf.0.display_first_invoice_amount.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the first invoice amount on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_first_invoice_amount.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_first_invoice_amount","typeLabel":"boolean | enum\u003cstring>"},"display_documents_in_preview":{"oneOf":[{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"uniqueKey":"oneOf.0.display_documents_in_preview.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display attached documents in the quote preview.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_documents_in_preview.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_documents_in_preview","typeLabel":"boolean | enum\u003cstring>"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","uniqueKey":"oneOf.0.subscription_update_display","typeLabel":"enum\u003cstring>"},"display_subscription_on_update":{"oneOf":[{"type":"boolean","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","deprecated":true,"example":false,"uniqueKey":"oneOf.0.display_subscription_on_update.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","enum":["true","false"],"deprecated":true,"example":false,"uniqueKey":"oneOf.0.display_subscription_on_update.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_subscription_on_update","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"uniqueKey":"oneOf.0.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"automatically_start_subscription":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","deprecated":true,"example":true,"uniqueKey":"oneOf.0.automatically_start_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.0.automatically_start_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.automatically_start_subscription","typeLabel":"boolean | enum\u003cstring>"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","uniqueKey":"oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"subscription":{"oneOf":[{"type":"object","title":"With phases","description":"Subscription configuration constituting the quote.","required":["phases"],"properties":{"phases":{"type":"array","items":{"type":"object","properties":{"end_strategy":{"type":"string","enum":["manual","end_date","duration","contract_end_date"],"description":"\nEnd strategy of subscription phase.\n\n- `manual`: The phase ends when a user manually stops it.\n- `end_date`: The phase ends on a specified date.\n- `duration`: The phase ends after a specific relative duration.\n- `contract_end_date`: The phase ends on the end date of the related subscription contract.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].end_strategy","typeLabel":"enum\u003cstring>"},"billing_date_setting":{"type":"string","enum":["phase_start","specific_date"],"description":"\nRepresents when the first billing date occurs.\n\n- `phase_start`: Aligns with the start of the phase.\n- `specific_date`: Occurs on a specified date.\n","example":"phase_start","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].billing_date_setting","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"},"estimated_count":{"oneOf":[{"type":"number","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count","typeLabel":"number | null"}},"required":["id"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX]","typeLabel":"object"},"description":"Products comprising the subscription phase.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products","typeLabel":"object[]"},"activation_strategy":{"type":"string","enum":["manual","start_date","quote_signature","contract_start_date","previous_phase_end"],"description":"\nActivation strategy of subscription phase.\n\n- `immediately`: The phase starts as soon as the subscription is activated.\n- `manual`: The phase starts when a user manually activates it.\n- `start_date`: The phase starts on a specified date.\n- `quote_signature`: The phase starts when the subscription quote is signed.\n- `checkout`: The phase starts when the subscription checkout is completed.\n- `contract_start_date`: The phase starts on the start date of the related subscription contract.\n- `previous_phase_end`: The phase starts when the previous phase ends.\n","example":"manual","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].activation_strategy","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Name of the subscription phase.","example":"Initial term","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","enum":["setup","trial","standard"],"default":"standard","description":"\nType of subscription phase.\n\n- `setup`: The phase represents a non-recurring service setup period, often used before the actual recurring subscription begins.\n- `trial`: The phase represents a non-recurring trial period, often used to allow users to opt out or experience a free test.\n- `standard`: The phase represents a standard recurring billing.\n","example":"standard","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["finished","pending"],"default":"pending","description":"\nStatus of subscription phase.\n\n- `pending`: The phase is waiting to start (not started yet).\n- `active`: The phase is currently in progress.\n- `finished`: The phase has ended and is complete.\n","example":"pending","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"order":{"type":"number","description":"Order in which the phase is executed within all subscription phases.","example":0,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].order","typeLabel":"number"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the subscription phase spans. Only applies to `duration` end strategy.","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].duration","typeLabel":"object"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription phase will start being billed. Only applies to `specific_date` billing date setting. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].initial_billing_at","typeLabel":"string\u003cdate-time>"},"starts_at":{"type":"string","format":"date-time","description":"Actual start date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Actual end date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].ends_at","typeLabel":"string\u003cdate-time>"},"billing_cycle_alignment":{"type":"string","enum":["calendar_period","anniversary"],"description":"\nAlignment of product billing cycles. If omitted at creation, the billing cycles alignment configured in the account subscription settings applies.\n\n- `calendar_period`: The billing cycles of the products will be aligned on the calendar period, after the first period which will be invoiced taking into account the prorata of the first cycle compared to the product periodicity.\n- `anniversary`: The billing cycles of the products will be aligned on the anniversary of the phase initial billing date.\n","example":"anniversary","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].billing_cycle_alignment","typeLabel":"enum\u003cstring>"},"do_not_invoice_phase":{"type":"boolean","default":false,"description":"Indicates if the phase should be invoiced. If set to true, the phase will not generate any invoices.","example":false,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].do_not_invoice_phase","typeLabel":"boolean"},"minimum_invoice_fee":{"oneOf":[{"type":"number","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee","typeLabel":"number | null"},"minimum_invoice_fee_products":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products","typeLabel":"string[] | null"},"transition_calculation_method":{"type":"string","enum":["prorata","pay_in_full","none"],"default":"prorata","description":"\nCalculation method used when transitioning from one phase to the next one.\n\n- `prorata`: The prorated amount between the two phases relative to the end date (the transition date) must be paid.\n- `pay_in_full`: The full amount for the phase billing period must be paid.\n- `none`: No amount will need to be paid, phase will simply transition from one to the next.\n","example":"prorata","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].transition_calculation_method","typeLabel":"enum\u003cstring>"},"transition_invoicing_schedule":{"type":"string","enum":["immediately"],"default":"immediately","description":"\nRepresents when the transition amount will be invoiced.\n\n- `immediately`: An invoice will be generated immediately with the corresponding amount.\n","example":"immediately","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].transition_invoicing_schedule","typeLabel":"enum\u003cstring>"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons comprising the subscription phase.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"}},"required":["end_strategy","billing_date_setting","products","activation_strategy"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases","typeLabel":"object[]"},"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"oneOf.0.subscription.oneOf.0.name","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order.","uniqueKey":"oneOf.0.subscription.oneOf.0.purchase_order","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.","example":"ive_jerrb484RHn","uniqueKey":"oneOf.0.subscription.oneOf.0.invoicing_entity_id","typeLabel":"string"},"crm_opportunity_id":{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","uniqueKey":"oneOf.0.subscription.oneOf.0.crm_opportunity_id","typeLabel":"string"},"commitment_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.commitment_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.commitment_interval.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.commitment_interval","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use `contract_terms`.","default":true,"deprecated":true,"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use `contract_terms`.","default":true,"enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_for.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_for.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_for","typeLabel":"object"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.0.subscription.oneOf.0.minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.0.subscription.oneOf.0.minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.minimum_invoice_fee","typeLabel":"number | null"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","description":"Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.starts_at","typeLabel":"string\u003cdate-time>"},"contract_start":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2024-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_start","typeLabel":"string\u003cdate-time>"},"contract_end":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2025-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_end","typeLabel":"string\u003cdate-time>"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.initial_billing_at","typeLabel":"string\u003cdate-time>"},"shipping_address_id":{"type":"string","description":"Active shipping address ID belonging to the subscription customer. Omit to use the customer shipping destination: billing address or default shipping address.","example":"cad_abc123","uniqueKey":"oneOf.0.subscription.oneOf.0.shipping_address_id","typeLabel":"string"},"display_shipping_details":{"oneOf":[{"type":"boolean","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","uniqueKey":"oneOf.0.subscription.oneOf.0.display_shipping_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.display_shipping_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.display_shipping_details","typeLabel":"boolean | enum\u003cstring>"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.cancellation_strategy","typeLabel":"enum\u003cstring>"},"cancellation_amount":{"type":"number","description":"Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.","uniqueKey":"oneOf.0.subscription.oneOf.0.cancellation_amount","typeLabel":"number"},"cancellation_refund_method":{"type":"string","enum":["wallet","original_payment_method","external"],"description":"Override the refund destination for credit notes generated by `refund_prorata` / `refund_custom` cancellation strategies. When omitted, falls back to the invoicing entity's `creditNoteWalletRefundEnabled` setting.","uniqueKey":"oneOf.0.subscription.oneOf.0.cancellation_refund_method","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.0.subscription.oneOf.0.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties","typeLabel":"object"},"tax_only":{"oneOf":[{"type":"boolean","description":"Only tax will be charged on this subscription.","uniqueKey":"oneOf.0.subscription.oneOf.0.tax_only.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only tax will be charged on this subscription.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.tax_only.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.tax_only","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"oneOf.0.subscription.oneOf.0.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"oneOf.0.subscription.oneOf.0.generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.0.subscription.oneOf.0.document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.0.subscription.oneOf.0.document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"oneOf.0.subscription.oneOf.0.add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"do_not_charge_subscription":{"oneOf":[{"type":"boolean","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","uniqueKey":"oneOf.0.subscription.oneOf.0.do_not_charge_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.do_not_charge_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.do_not_charge_subscription","typeLabel":"boolean | enum\u003cstring>"},"invoice_custom_note":{"oneOf":[{"type":"string","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_custom_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_custom_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_custom_note","typeLabel":"string | null"},"invoice_schedule":{"oneOf":[{"type":"string","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_schedule","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.0","typeLabel":"With phases · object"},{"type":"object","title":"Without phases","description":"Subscription configuration constituting the quote.","properties":{"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"oneOf.0.subscription.oneOf.1.name","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order.","uniqueKey":"oneOf.0.subscription.oneOf.1.purchase_order","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.","example":"ive_jerrb484RHn","uniqueKey":"oneOf.0.subscription.oneOf.1.invoicing_entity_id","typeLabel":"string"},"crm_opportunity_id":{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","uniqueKey":"oneOf.0.subscription.oneOf.1.crm_opportunity_id","typeLabel":"string"},"commitment_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.commitment_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.commitment_interval.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.commitment_interval","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use `contract_terms`.","default":true,"deprecated":true,"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use `contract_terms`.","default":true,"enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_for.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_for.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_for","typeLabel":"object"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.0.subscription.oneOf.1.minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.0.subscription.oneOf.1.minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.minimum_invoice_fee","typeLabel":"number | null"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","description":"Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.starts_at","typeLabel":"string\u003cdate-time>"},"contract_start":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2024-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_start","typeLabel":"string\u003cdate-time>"},"contract_end":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2025-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_end","typeLabel":"string\u003cdate-time>"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.initial_billing_at","typeLabel":"string\u003cdate-time>"},"shipping_address_id":{"type":"string","description":"Active shipping address ID belonging to the subscription customer. Omit to use the customer shipping destination: billing address or default shipping address.","example":"cad_abc123","uniqueKey":"oneOf.0.subscription.oneOf.1.shipping_address_id","typeLabel":"string"},"display_shipping_details":{"oneOf":[{"type":"boolean","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","uniqueKey":"oneOf.0.subscription.oneOf.1.display_shipping_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.display_shipping_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.display_shipping_details","typeLabel":"boolean | enum\u003cstring>"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.cancellation_strategy","typeLabel":"enum\u003cstring>"},"cancellation_amount":{"type":"number","description":"Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.","uniqueKey":"oneOf.0.subscription.oneOf.1.cancellation_amount","typeLabel":"number"},"cancellation_refund_method":{"type":"string","enum":["wallet","original_payment_method","external"],"description":"Override the refund destination for credit notes generated by `refund_prorata` / `refund_custom` cancellation strategies. When omitted, falls back to the invoicing entity's `creditNoteWalletRefundEnabled` setting.","uniqueKey":"oneOf.0.subscription.oneOf.1.cancellation_refund_method","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.0.subscription.oneOf.1.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties","typeLabel":"object"},"tax_only":{"oneOf":[{"type":"boolean","description":"Only tax will be charged on this subscription.","uniqueKey":"oneOf.0.subscription.oneOf.1.tax_only.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only tax will be charged on this subscription.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.tax_only.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.tax_only","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"oneOf.0.subscription.oneOf.1.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"oneOf.0.subscription.oneOf.1.generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.0.subscription.oneOf.1.document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.0.subscription.oneOf.1.document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"oneOf.0.subscription.oneOf.1.add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"do_not_charge_subscription":{"oneOf":[{"type":"boolean","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","uniqueKey":"oneOf.0.subscription.oneOf.1.do_not_charge_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.do_not_charge_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.do_not_charge_subscription","typeLabel":"boolean | enum\u003cstring>"},"invoice_custom_note":{"oneOf":[{"type":"string","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_custom_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_custom_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_custom_note","typeLabel":"string | null"},"invoice_schedule":{"oneOf":[{"type":"string","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_schedule","typeLabel":"enum\u003cstring> | null"},"activation_strategy":{"type":"string","enum":["start_date","manually","quote"],"default":"manually","description":"\nStrategy used to activate the subscription.\n\n- `start_date`: The subscription will become active on the specified start date. If the start date is in the past, it will be activated immediately.\n- `manually`: The subscription requires activation through a manual action.\n- `checkout`: The subscription will be activated once the checkout is completed, but only if the start date is in the past. Otherwise, activation will occur later on the specified start date.\n- `quote`: The subscription will be activated depending on the configuration and the signature of the related quote.\n","example":"start_date","uniqueKey":"oneOf.0.subscription.oneOf.1.activation_strategy","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"},"estimated_count":{"oneOf":[{"type":"number","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].estimated_count.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].estimated_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].estimated_count","typeLabel":"number | null"}},"required":["id"],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX]","typeLabel":"object"},"description":"Products that make up the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.1.products","typeLabel":"object[]"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons to be applied to the prices of subscription products.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"},"trial":{"type":"object","properties":{"end_strategy":{"type":"string","enum":["manual","end_date","duration"],"description":"Defines how the free trial will end.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.trial.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Free trial start date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.trial.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Free trial end date. Only applies if the end strategy is `end_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.trial.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"description":"Free trial duration period. Only applies if the end strategy is `duration`.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.trial.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"description":"Free trial duration count. Only applies if the end strategy is `duration`.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.trial.duration.count","typeLabel":"number"}},"required":["period","count"],"uniqueKey":"oneOf.0.subscription.oneOf.1.trial.duration","typeLabel":"object"}},"required":["end_strategy"],"description":"Create a free trial phase based on the plan configuration. Only applies if a `plan_id` is provided.","uniqueKey":"oneOf.0.subscription.oneOf.1.trial","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1","typeLabel":"Without phases · object"}],"uniqueKey":"oneOf.0.subscription","typeLabel":"With phases · object | Without phases · object"}},"uniqueKey":"oneOf.0","typeLabel":"From a template · object"},{"type":"object","title":"Custom","required":["expires_at","subscription","customer_id"],"properties":{"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.1.customer_id","typeLabel":"string"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","isRequired":true,"uniqueKey":"oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"subscription":{"oneOf":[{"type":"object","title":"With phases","description":"Subscription configuration constituting the quote.","required":["phases"],"properties":{"phases":{"type":"array","items":{"type":"object","properties":{"end_strategy":{"type":"string","enum":["manual","end_date","duration","contract_end_date"],"description":"\nEnd strategy of subscription phase.\n\n- `manual`: The phase ends when a user manually stops it.\n- `end_date`: The phase ends on a specified date.\n- `duration`: The phase ends after a specific relative duration.\n- `contract_end_date`: The phase ends on the end date of the related subscription contract.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].end_strategy","typeLabel":"enum\u003cstring>"},"billing_date_setting":{"type":"string","enum":["phase_start","specific_date"],"description":"\nRepresents when the first billing date occurs.\n\n- `phase_start`: Aligns with the start of the phase.\n- `specific_date`: Occurs on a specified date.\n","example":"phase_start","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].billing_date_setting","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"},"estimated_count":{"oneOf":[{"type":"number","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count","typeLabel":"number | null"}},"required":["id"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX]","typeLabel":"object"},"description":"Products comprising the subscription phase.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products","typeLabel":"object[]"},"activation_strategy":{"type":"string","enum":["manual","start_date","quote_signature","contract_start_date","previous_phase_end"],"description":"\nActivation strategy of subscription phase.\n\n- `immediately`: The phase starts as soon as the subscription is activated.\n- `manual`: The phase starts when a user manually activates it.\n- `start_date`: The phase starts on a specified date.\n- `quote_signature`: The phase starts when the subscription quote is signed.\n- `checkout`: The phase starts when the subscription checkout is completed.\n- `contract_start_date`: The phase starts on the start date of the related subscription contract.\n- `previous_phase_end`: The phase starts when the previous phase ends.\n","example":"manual","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].activation_strategy","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Name of the subscription phase.","example":"Initial term","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","enum":["setup","trial","standard"],"default":"standard","description":"\nType of subscription phase.\n\n- `setup`: The phase represents a non-recurring service setup period, often used before the actual recurring subscription begins.\n- `trial`: The phase represents a non-recurring trial period, often used to allow users to opt out or experience a free test.\n- `standard`: The phase represents a standard recurring billing.\n","example":"standard","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["finished","pending"],"default":"pending","description":"\nStatus of subscription phase.\n\n- `pending`: The phase is waiting to start (not started yet).\n- `active`: The phase is currently in progress.\n- `finished`: The phase has ended and is complete.\n","example":"pending","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"order":{"type":"number","description":"Order in which the phase is executed within all subscription phases.","example":0,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].order","typeLabel":"number"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the subscription phase spans. Only applies to `duration` end strategy.","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].duration","typeLabel":"object"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription phase will start being billed. Only applies to `specific_date` billing date setting. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].initial_billing_at","typeLabel":"string\u003cdate-time>"},"starts_at":{"type":"string","format":"date-time","description":"Actual start date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Actual end date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].ends_at","typeLabel":"string\u003cdate-time>"},"billing_cycle_alignment":{"type":"string","enum":["calendar_period","anniversary"],"description":"\nAlignment of product billing cycles. If omitted at creation, the billing cycles alignment configured in the account subscription settings applies.\n\n- `calendar_period`: The billing cycles of the products will be aligned on the calendar period, after the first period which will be invoiced taking into account the prorata of the first cycle compared to the product periodicity.\n- `anniversary`: The billing cycles of the products will be aligned on the anniversary of the phase initial billing date.\n","example":"anniversary","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].billing_cycle_alignment","typeLabel":"enum\u003cstring>"},"do_not_invoice_phase":{"type":"boolean","default":false,"description":"Indicates if the phase should be invoiced. If set to true, the phase will not generate any invoices.","example":false,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].do_not_invoice_phase","typeLabel":"boolean"},"minimum_invoice_fee":{"oneOf":[{"type":"number","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee","typeLabel":"number | null"},"minimum_invoice_fee_products":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products","typeLabel":"string[] | null"},"transition_calculation_method":{"type":"string","enum":["prorata","pay_in_full","none"],"default":"prorata","description":"\nCalculation method used when transitioning from one phase to the next one.\n\n- `prorata`: The prorated amount between the two phases relative to the end date (the transition date) must be paid.\n- `pay_in_full`: The full amount for the phase billing period must be paid.\n- `none`: No amount will need to be paid, phase will simply transition from one to the next.\n","example":"prorata","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].transition_calculation_method","typeLabel":"enum\u003cstring>"},"transition_invoicing_schedule":{"type":"string","enum":["immediately"],"default":"immediately","description":"\nRepresents when the transition amount will be invoiced.\n\n- `immediately`: An invoice will be generated immediately with the corresponding amount.\n","example":"immediately","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].transition_invoicing_schedule","typeLabel":"enum\u003cstring>"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons comprising the subscription phase.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"}},"required":["end_strategy","billing_date_setting","products","activation_strategy"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases","typeLabel":"object[]"},"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"oneOf.1.subscription.oneOf.0.name","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order.","uniqueKey":"oneOf.1.subscription.oneOf.0.purchase_order","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.","example":"ive_jerrb484RHn","uniqueKey":"oneOf.1.subscription.oneOf.0.invoicing_entity_id","typeLabel":"string"},"crm_opportunity_id":{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","uniqueKey":"oneOf.1.subscription.oneOf.0.crm_opportunity_id","typeLabel":"string"},"commitment_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.commitment_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.commitment_interval.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.commitment_interval","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use `contract_terms`.","default":true,"deprecated":true,"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use `contract_terms`.","default":true,"enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_for.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_for.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_for","typeLabel":"object"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.1.subscription.oneOf.0.minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.1.subscription.oneOf.0.minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.minimum_invoice_fee","typeLabel":"number | null"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","description":"Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.starts_at","typeLabel":"string\u003cdate-time>"},"contract_start":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2024-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_start","typeLabel":"string\u003cdate-time>"},"contract_end":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2025-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_end","typeLabel":"string\u003cdate-time>"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.initial_billing_at","typeLabel":"string\u003cdate-time>"},"shipping_address_id":{"type":"string","description":"Active shipping address ID belonging to the subscription customer. Omit to use the customer shipping destination: billing address or default shipping address.","example":"cad_abc123","uniqueKey":"oneOf.1.subscription.oneOf.0.shipping_address_id","typeLabel":"string"},"display_shipping_details":{"oneOf":[{"type":"boolean","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","uniqueKey":"oneOf.1.subscription.oneOf.0.display_shipping_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.display_shipping_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.display_shipping_details","typeLabel":"boolean | enum\u003cstring>"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.cancellation_strategy","typeLabel":"enum\u003cstring>"},"cancellation_amount":{"type":"number","description":"Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.","uniqueKey":"oneOf.1.subscription.oneOf.0.cancellation_amount","typeLabel":"number"},"cancellation_refund_method":{"type":"string","enum":["wallet","original_payment_method","external"],"description":"Override the refund destination for credit notes generated by `refund_prorata` / `refund_custom` cancellation strategies. When omitted, falls back to the invoicing entity's `creditNoteWalletRefundEnabled` setting.","uniqueKey":"oneOf.1.subscription.oneOf.0.cancellation_refund_method","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.1.subscription.oneOf.0.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties","typeLabel":"object"},"tax_only":{"oneOf":[{"type":"boolean","description":"Only tax will be charged on this subscription.","uniqueKey":"oneOf.1.subscription.oneOf.0.tax_only.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only tax will be charged on this subscription.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.tax_only.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.tax_only","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"oneOf.1.subscription.oneOf.0.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"oneOf.1.subscription.oneOf.0.generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.1.subscription.oneOf.0.document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.1.subscription.oneOf.0.document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"oneOf.1.subscription.oneOf.0.add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"do_not_charge_subscription":{"oneOf":[{"type":"boolean","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","uniqueKey":"oneOf.1.subscription.oneOf.0.do_not_charge_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.do_not_charge_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.do_not_charge_subscription","typeLabel":"boolean | enum\u003cstring>"},"invoice_custom_note":{"oneOf":[{"type":"string","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_custom_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_custom_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_custom_note","typeLabel":"string | null"},"invoice_schedule":{"oneOf":[{"type":"string","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_schedule","typeLabel":"enum\u003cstring> | null"},"plan_id":{"type":"string","description":"Deprecated field, please use `template_id`.","example":"plan_zHmjoDee4ZRmQV","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.plan_id","typeLabel":"string"},"template_id":{"type":"string","description":"ID of the template that the subscription is linked to.","example":"subt_7gdusOkqr5L0B8","uniqueKey":"oneOf.1.subscription.oneOf.0.template_id","typeLabel":"string"},"template_configuration_id":{"type":"string","description":"ID of the template configuration that the subscription is linked to.","example":"subtc_7mHWOlPStUogvp","uniqueKey":"oneOf.1.subscription.oneOf.0.template_configuration_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0","typeLabel":"With phases · object"},{"type":"object","title":"Without phases","description":"Subscription configuration constituting the quote.","properties":{"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"oneOf.1.subscription.oneOf.1.name","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order.","uniqueKey":"oneOf.1.subscription.oneOf.1.purchase_order","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.","example":"ive_jerrb484RHn","uniqueKey":"oneOf.1.subscription.oneOf.1.invoicing_entity_id","typeLabel":"string"},"crm_opportunity_id":{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","uniqueKey":"oneOf.1.subscription.oneOf.1.crm_opportunity_id","typeLabel":"string"},"commitment_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.commitment_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.commitment_interval.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.commitment_interval","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use `contract_terms`.","default":true,"deprecated":true,"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use `contract_terms`.","default":true,"enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_for.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_for.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_for","typeLabel":"object"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.1.subscription.oneOf.1.minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.1.subscription.oneOf.1.minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.minimum_invoice_fee","typeLabel":"number | null"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","description":"Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.starts_at","typeLabel":"string\u003cdate-time>"},"contract_start":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2024-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_start","typeLabel":"string\u003cdate-time>"},"contract_end":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2025-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_end","typeLabel":"string\u003cdate-time>"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.initial_billing_at","typeLabel":"string\u003cdate-time>"},"shipping_address_id":{"type":"string","description":"Active shipping address ID belonging to the subscription customer. Omit to use the customer shipping destination: billing address or default shipping address.","example":"cad_abc123","uniqueKey":"oneOf.1.subscription.oneOf.1.shipping_address_id","typeLabel":"string"},"display_shipping_details":{"oneOf":[{"type":"boolean","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","uniqueKey":"oneOf.1.subscription.oneOf.1.display_shipping_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.display_shipping_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.display_shipping_details","typeLabel":"boolean | enum\u003cstring>"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.cancellation_strategy","typeLabel":"enum\u003cstring>"},"cancellation_amount":{"type":"number","description":"Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.","uniqueKey":"oneOf.1.subscription.oneOf.1.cancellation_amount","typeLabel":"number"},"cancellation_refund_method":{"type":"string","enum":["wallet","original_payment_method","external"],"description":"Override the refund destination for credit notes generated by `refund_prorata` / `refund_custom` cancellation strategies. When omitted, falls back to the invoicing entity's `creditNoteWalletRefundEnabled` setting.","uniqueKey":"oneOf.1.subscription.oneOf.1.cancellation_refund_method","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.1.subscription.oneOf.1.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties","typeLabel":"object"},"tax_only":{"oneOf":[{"type":"boolean","description":"Only tax will be charged on this subscription.","uniqueKey":"oneOf.1.subscription.oneOf.1.tax_only.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only tax will be charged on this subscription.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.tax_only.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.tax_only","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"oneOf.1.subscription.oneOf.1.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"oneOf.1.subscription.oneOf.1.generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.1.subscription.oneOf.1.document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.1.subscription.oneOf.1.document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"oneOf.1.subscription.oneOf.1.add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"do_not_charge_subscription":{"oneOf":[{"type":"boolean","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","uniqueKey":"oneOf.1.subscription.oneOf.1.do_not_charge_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.do_not_charge_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.do_not_charge_subscription","typeLabel":"boolean | enum\u003cstring>"},"invoice_custom_note":{"oneOf":[{"type":"string","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_custom_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_custom_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_custom_note","typeLabel":"string | null"},"invoice_schedule":{"oneOf":[{"type":"string","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_schedule","typeLabel":"enum\u003cstring> | null"},"activation_strategy":{"type":"string","enum":["start_date","manually","quote"],"default":"manually","description":"\nStrategy used to activate the subscription.\n\n- `start_date`: The subscription will become active on the specified start date. If the start date is in the past, it will be activated immediately.\n- `manually`: The subscription requires activation through a manual action.\n- `checkout`: The subscription will be activated once the checkout is completed, but only if the start date is in the past. Otherwise, activation will occur later on the specified start date.\n- `quote`: The subscription will be activated depending on the configuration and the signature of the related quote.\n","example":"start_date","uniqueKey":"oneOf.1.subscription.oneOf.1.activation_strategy","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"},"estimated_count":{"oneOf":[{"type":"number","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].estimated_count.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].estimated_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].estimated_count","typeLabel":"number | null"}},"required":["id"],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX]","typeLabel":"object"},"description":"Products that make up the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.1.products","typeLabel":"object[]"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons to be applied to the prices of subscription products.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"},"trial":{"type":"object","properties":{"end_strategy":{"type":"string","enum":["manual","end_date","duration"],"description":"Defines how the free trial will end.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.trial.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Free trial start date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.trial.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Free trial end date. Only applies if the end strategy is `end_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.trial.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"description":"Free trial duration period. Only applies if the end strategy is `duration`.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.trial.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"description":"Free trial duration count. Only applies if the end strategy is `duration`.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.trial.duration.count","typeLabel":"number"}},"required":["period","count"],"uniqueKey":"oneOf.1.subscription.oneOf.1.trial.duration","typeLabel":"object"}},"required":["end_strategy"],"description":"Create a free trial phase based on the plan configuration. Only applies if a `plan_id` is provided.","uniqueKey":"oneOf.1.subscription.oneOf.1.trial","typeLabel":"object"},"plan_id":{"type":"string","description":"Deprecated field, please use `template_id`.","example":"plan_zHmjoDee4ZRmQV","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.plan_id","typeLabel":"string"},"template_id":{"type":"string","description":"ID of the template that the subscription is linked to.","example":"subt_7gdusOkqr5L0B8","uniqueKey":"oneOf.1.subscription.oneOf.1.template_id","typeLabel":"string"},"template_configuration_id":{"type":"string","description":"ID of the template configuration that the subscription is linked to.","example":"subtc_7mHWOlPStUogvp","uniqueKey":"oneOf.1.subscription.oneOf.1.template_configuration_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1","typeLabel":"Without phases · object"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription","typeLabel":"With phases · object | Without phases · object"},"status":{"type":"string","enum":["draft","approved","pending_signature"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n ","example":"draft","uniqueKey":"oneOf.1.status","typeLabel":"enum\u003cstring>"},"owner_email":{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.","example":"joe@acme.com","uniqueKey":"oneOf.1.owner_email","typeLabel":"string\u003cemail>"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","uniqueKey":"oneOf.1.invoicing_entity_id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.catalog_version_id","typeLabel":"string | null"},"comments":{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","uniqueKey":"oneOf.1.comments","typeLabel":"string"},"terms":{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","uniqueKey":"oneOf.1.terms","typeLabel":"string"},"amount":{"oneOf":[{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.1.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.1.amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.amount","typeLabel":"number | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.1.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.1.contract_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.contract_value","typeLabel":"number | null"},"collect_payment_details":{"oneOf":[{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"uniqueKey":"oneOf.1.collect_payment_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Collect customer payment method mandate during signature flow or not.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.collect_payment_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.collect_payment_details","typeLabel":"boolean | enum\u003cstring>"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"uniqueKey":"oneOf.1.collect_custom_property_ids","typeLabel":"string[]"},"contract_clause_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.contract_clause_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the contract clauses used in the quote terms.","example":["ccl_QalW2vTAdkR6IY"],"uniqueKey":"oneOf.1.contract_clause_ids","typeLabel":"string[]"},"require_tax_id":{"oneOf":[{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"uniqueKey":"oneOf.1.require_tax_id.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Require the customer to provide a tax ID during the signature flow.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.require_tax_id.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.require_tax_id","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value":{"oneOf":[{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"uniqueKey":"oneOf.1.display_quote_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.display_quote_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_quote_value","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value_with_tax":{"oneOf":[{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"uniqueKey":"oneOf.1.display_quote_value_with_tax.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_quote_value_with_tax.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_quote_value_with_tax","typeLabel":"boolean | enum\u003cstring>"},"display_taxes":{"oneOf":[{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"uniqueKey":"oneOf.1.display_taxes.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display tax breakdown on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.display_taxes.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_taxes","typeLabel":"boolean | enum\u003cstring>"},"display_price_tiers":{"oneOf":[{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["all","matching","none"],"example":"matching","uniqueKey":"oneOf.1.display_price_tiers.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"boolean","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","uniqueKey":"oneOf.1.display_price_tiers.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["true","false"],"example":"matching","uniqueKey":"oneOf.1.display_price_tiers.oneOf.2","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_price_tiers","typeLabel":"enum\u003cstring> · boolean · enum\u003cstring>"},"display_phase_value":{"oneOf":[{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"uniqueKey":"oneOf.1.display_phase_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display per-phase value breakdown on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_phase_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_phase_value","typeLabel":"boolean | enum\u003cstring>"},"display_discounts_on_total":{"oneOf":[{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"uniqueKey":"oneOf.1.display_discounts_on_total.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_discounts_on_total.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_discounts_on_total","typeLabel":"boolean | enum\u003cstring>"},"display_first_invoice_amount":{"oneOf":[{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"uniqueKey":"oneOf.1.display_first_invoice_amount.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the first invoice amount on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_first_invoice_amount.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_first_invoice_amount","typeLabel":"boolean | enum\u003cstring>"},"display_documents_in_preview":{"oneOf":[{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"uniqueKey":"oneOf.1.display_documents_in_preview.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display attached documents in the quote preview.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_documents_in_preview.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_documents_in_preview","typeLabel":"boolean | enum\u003cstring>"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","uniqueKey":"oneOf.1.subscription_update_display","typeLabel":"enum\u003cstring>"},"display_subscription_on_update":{"oneOf":[{"type":"boolean","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","deprecated":true,"example":false,"uniqueKey":"oneOf.1.display_subscription_on_update.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","enum":["true","false"],"deprecated":true,"example":false,"uniqueKey":"oneOf.1.display_subscription_on_update.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_subscription_on_update","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"uniqueKey":"oneOf.1.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"automatically_start_subscription":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","deprecated":true,"example":true,"uniqueKey":"oneOf.1.automatically_start_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.1.automatically_start_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.automatically_start_subscription","typeLabel":"boolean | enum\u003cstring>"}},"uniqueKey":"oneOf.1","typeLabel":"Custom · object"},{"type":"object","title":"One-off","required":["expires_at","invoice","customer_id"],"properties":{"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.2.customer_id","typeLabel":"string"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","isRequired":true,"uniqueKey":"oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"invoice":{"type":"object","properties":{"line_items":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","description":"Product ID related to the invoice line item.","example":"itm_KbLcWt2qm5p1S2","isRequired":true,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].product_id","typeLabel":"string"},"description":{"type":"string","maxLength":5000,"description":"Description of the line item as it will appear on the invoice. Default to the product description.","example":"Access fee for the period of November 2024","uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].description","typeLabel":"string"},"units_count":{"type":"number","default":1,"description":"Count of units of the product related to the invoice line item.","example":1,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].units_count","typeLabel":"number"},"tax_rate":{"type":"number","minimum":0,"maximum":100,"description":"Tax rate of the invoice line item.","example":20,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].tax_rate","typeLabel":"number"},"period_start":{"type":"string","format":"date-time","description":"Start date of the period corresponding to the line item charge.","example":"2024-10-13T00:00:00.000Z","uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"End date of the period corresponding to the line item charge.","example":"2024-11-13T00:00:00.000Z","uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"display_unit_amount":{"type":"boolean","description":"Whether the unit amount is displayed on the invoice PDF. Defaults to true.","example":true,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].display_unit_amount","typeLabel":"boolean"},"display_service_period":{"type":"boolean","description":"Whether the service period dates are displayed in the line item description on the invoice PDF. Defaults to true.","example":true,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].display_service_period","typeLabel":"boolean"},"name":{"type":"string","description":"Name of the line item as it will appear on the invoice. Default to the product name.","example":"Platform access","uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].name","typeLabel":"string"},"unit_amount":{"type":"number","description":"Amount of one unit of the product related to the invoice line item. Default to the product price amount. Expressed in currency's smallest unit.","example":24000,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].unit_amount","typeLabel":"number"}},"required":["product_id"],"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX]","typeLabel":"object"},"minItems":1,"description":"Line items of the invoice to be issued upon quote signature. At least one line item is required. Each line must reference a catalog product via `product_id`; `unit_amount` and `name` optionally override the catalog price and label for this quote.","isRequired":true,"uniqueKey":"oneOf.2.invoice.line_items","typeLabel":"object[]"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the invoice.","example":"ive_47484fjdhy5","uniqueKey":"oneOf.2.invoice.invoicing_entity_id","typeLabel":"string"},"number":{"type":"string","description":"Invoice number. If specified, the invoice will be considered as imported from an external source and the number will not be generated by Hyperline. You are responsible for avoiding duplicates and ensuring it does not impact the numbering sequence in Hyperline.","example":"INV-35","uniqueKey":"oneOf.2.invoice.number","typeLabel":"string"},"reference":{"type":"string","description":"Unique identifier to ease reconciliation with payment. Useful for bank transfer.","example":"V0KAHOU6J3","uniqueKey":"oneOf.2.invoice.reference","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order linked to the invoice.","example":"PO-12345","uniqueKey":"oneOf.2.invoice.purchase_order","typeLabel":"string"},"custom_note":{"type":"string","description":"Custom note added to the invoice.","example":"Thank you for your purchase!","uniqueKey":"oneOf.2.invoice.custom_note","typeLabel":"string"},"additional_info":{"type":"string","description":"Additional information added to the invoice. If not defined, it will be inherited from the invoicing entity's settings.","example":"This invoice must be paid within the payment delay indicated. After this period a late payment penalty of 10% will be applied.","uniqueKey":"oneOf.2.invoice.additional_info","typeLabel":"string"},"footer":{"type":"string","description":"Footer added to the invoice. If not defined, it will be inherited from the invoicing entity's settings.","example":"ACME (Acme SAS) is a company registered in France | SIREN N°123456","uniqueKey":"oneOf.2.invoice.footer","typeLabel":"string"},"tax_scheme":{"type":"string","enum":["auto","not_eligible"],"default":"auto","description":"Tax scheme of the invoice.\n\n- `auto`: Tax is automatically computed and applied.\n- `not_eligible`: Tax collection is disabled for the invoice.\n ","example":"auto","uniqueKey":"oneOf.2.invoice.tax_scheme","typeLabel":"enum\u003cstring>"},"payment_method_strategy":{"type":"string","enum":["current","external"],"description":"\nPayment method strategy used to charge the invoice. Only applies to `to_pay` status.\n\n- `current`: Use the current default payment method of the customer.\n- `external`: Manage the payment of the invoice outside of Hyperline.\n","example":"external","uniqueKey":"oneOf.2.invoice.payment_method_strategy","typeLabel":"enum\u003cstring>"},"payment_method_id":{"type":"string","description":"ID of the default payment method used to pay the invoice. Transactions related to the invoice may use different payment methods.","example":"pm_1ryTrMj4TTAT1N","uniqueKey":"oneOf.2.invoice.payment_method_id","typeLabel":"string"},"bank_account_id":{"type":"string","description":"ID of the bank account displayed on the invoice. Transactions related to the invoice may use different bank accounts.","example":"bac_KJyPrMA1toAqRG","uniqueKey":"oneOf.2.invoice.bank_account_id","typeLabel":"string"},"subscription_id":{"type":"string","description":"ID of an existing subscription of the customer to attach the invoice to.","example":"sub_amiaWZ3lzDIWaoT","uniqueKey":"oneOf.2.invoice.subscription_id","typeLabel":"string"},"emitted_at":{"type":"string","format":"date-time","description":"Issue date of the invoice.","example":"2024-10-13T00:00:00.000Z","uniqueKey":"oneOf.2.invoice.emitted_at","typeLabel":"string\u003cdate-time>"},"due_at":{"type":"string","format":"date-time","description":"Due date of the invoice. Computed from the issue date and the payment delay configured in your settings.","example":"2024-11-12T00:00:00.000Z","uniqueKey":"oneOf.2.invoice.due_at","typeLabel":"string\u003cdate-time>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.2.invoice.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"Values for custom properties defined for the `invoice` entity, keyed by slug.","uniqueKey":"oneOf.2.invoice.custom_properties","typeLabel":"object"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Coupon amount","required":["coupon_id"],"properties":{"coupon_id":{"type":"string","description":"Coupon ID.","example":"cou_1eTaiytfA0i2Vb","isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.coupon_id","typeLabel":"string"},"name":{"type":"string","minLength":1,"description":"Name of the coupon.","example":"Black Friday 2023","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.name","typeLabel":"string"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Amount corresponding to the discounted part of the total amount.","example":500,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.discount_amount","typeLabel":"number"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Percentage overriding the catalog coupon value, applied to the eligible line items amount (excluding tax), between 0 (excluded) and 100. Cannot be combined with `discount_amount`.","example":10,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.discount_percent","typeLabel":"number"},"line_item_indexes":{"oneOf":[{"type":"array","items":{"type":"number","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.line_item_indexes.oneOf.0.items.[INDEX]","typeLabel":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.line_item_indexes.oneOf.0","typeLabel":"number[]"},{"type":"null","items":{"type":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.line_item_indexes.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.line_item_indexes","typeLabel":"number[] | null"}},"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0","typeLabel":"Coupon amount · object"},{"type":"object","title":"Inline coupon","required":["discount_amount","line_item_indexes"],"properties":{"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Amount corresponding to the discounted part of the total amount.","example":500,"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"line_item_indexes":{"oneOf":[{"type":"array","items":{"type":"number","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.line_item_indexes.oneOf.0.items.[INDEX]","typeLabel":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.line_item_indexes.oneOf.0","typeLabel":"number[]"},{"type":"null","items":{"type":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.line_item_indexes.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.line_item_indexes","typeLabel":"number[] | null"},"name":{"type":"string","minLength":1,"description":"Name of the coupon.","example":"Black Friday 2023","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"}},"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1","typeLabel":"Inline coupon · object"},{"type":"object","title":"Inline percent coupon","required":["discount_percent"],"properties":{"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Percentage of the eligible line items amount (excluding tax) to discount, between 0 (excluded) and 100.","example":10,"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","minLength":1,"description":"Name of the coupon.","example":"Black Friday 2023","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"line_item_indexes":{"oneOf":[{"type":"array","items":{"type":"number","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.line_item_indexes.oneOf.0.items.[INDEX]","typeLabel":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.line_item_indexes.oneOf.0","typeLabel":"number[]"},{"type":"null","items":{"type":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.line_item_indexes.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.line_item_indexes","typeLabel":"number[] | null"}},"additionalProperties":false,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2","typeLabel":"Inline percent coupon · object"}],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX]","typeLabel":"Coupon amount · object | Inline coupon · object | Inline percent coupon · object"},"description":"Coupons to apply to the invoice. Each coupon either references an existing coupon by id or defines an inline discount.","uniqueKey":"oneOf.2.invoice.coupons","typeLabel":"(Coupon amount · object | Inline coupon · object | Inline percent coupon · object)[]"}},"required":["line_items"],"description":"Invoice configuration constituting the one-off quote. When provided, a draft invoice is created and linked to the quote. Cannot be combined with `subscription` or `template_id`.","isRequired":true,"uniqueKey":"oneOf.2.invoice","typeLabel":"object"},"status":{"type":"string","enum":["draft","approved","pending_signature"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n ","example":"draft","uniqueKey":"oneOf.2.status","typeLabel":"enum\u003cstring>"},"owner_email":{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.","example":"joe@acme.com","uniqueKey":"oneOf.2.owner_email","typeLabel":"string\u003cemail>"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","uniqueKey":"oneOf.2.invoicing_entity_id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.2.catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.2.catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.catalog_version_id","typeLabel":"string | null"},"comments":{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","uniqueKey":"oneOf.2.comments","typeLabel":"string"},"terms":{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","uniqueKey":"oneOf.2.terms","typeLabel":"string"},"amount":{"oneOf":[{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.2.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.2.amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.amount","typeLabel":"number | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.2.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.2.contract_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.contract_value","typeLabel":"number | null"},"collect_payment_details":{"oneOf":[{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"uniqueKey":"oneOf.2.collect_payment_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Collect customer payment method mandate during signature flow or not.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.2.collect_payment_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.collect_payment_details","typeLabel":"boolean | enum\u003cstring>"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"uniqueKey":"oneOf.2.collect_custom_property_ids","typeLabel":"string[]"},"contract_clause_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.contract_clause_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the contract clauses used in the quote terms.","example":["ccl_QalW2vTAdkR6IY"],"uniqueKey":"oneOf.2.contract_clause_ids","typeLabel":"string[]"},"require_tax_id":{"oneOf":[{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"uniqueKey":"oneOf.2.require_tax_id.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Require the customer to provide a tax ID during the signature flow.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.require_tax_id.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.require_tax_id","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value":{"oneOf":[{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"uniqueKey":"oneOf.2.display_quote_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.2.display_quote_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_quote_value","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value_with_tax":{"oneOf":[{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"uniqueKey":"oneOf.2.display_quote_value_with_tax.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_quote_value_with_tax.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_quote_value_with_tax","typeLabel":"boolean | enum\u003cstring>"},"display_taxes":{"oneOf":[{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"uniqueKey":"oneOf.2.display_taxes.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display tax breakdown on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.2.display_taxes.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_taxes","typeLabel":"boolean | enum\u003cstring>"},"display_price_tiers":{"oneOf":[{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["all","matching","none"],"example":"matching","uniqueKey":"oneOf.2.display_price_tiers.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"boolean","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","uniqueKey":"oneOf.2.display_price_tiers.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["true","false"],"example":"matching","uniqueKey":"oneOf.2.display_price_tiers.oneOf.2","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_price_tiers","typeLabel":"enum\u003cstring> · boolean · enum\u003cstring>"},"display_phase_value":{"oneOf":[{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"uniqueKey":"oneOf.2.display_phase_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display per-phase value breakdown on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_phase_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_phase_value","typeLabel":"boolean | enum\u003cstring>"},"display_discounts_on_total":{"oneOf":[{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"uniqueKey":"oneOf.2.display_discounts_on_total.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_discounts_on_total.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_discounts_on_total","typeLabel":"boolean | enum\u003cstring>"},"display_first_invoice_amount":{"oneOf":[{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"uniqueKey":"oneOf.2.display_first_invoice_amount.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the first invoice amount on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_first_invoice_amount.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_first_invoice_amount","typeLabel":"boolean | enum\u003cstring>"},"display_documents_in_preview":{"oneOf":[{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"uniqueKey":"oneOf.2.display_documents_in_preview.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display attached documents in the quote preview.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_documents_in_preview.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_documents_in_preview","typeLabel":"boolean | enum\u003cstring>"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","uniqueKey":"oneOf.2.subscription_update_display","typeLabel":"enum\u003cstring>"},"display_subscription_on_update":{"oneOf":[{"type":"boolean","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","deprecated":true,"example":false,"uniqueKey":"oneOf.2.display_subscription_on_update.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","enum":["true","false"],"deprecated":true,"example":false,"uniqueKey":"oneOf.2.display_subscription_on_update.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_subscription_on_update","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"uniqueKey":"oneOf.2.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"automatically_start_subscription":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","deprecated":true,"example":true,"uniqueKey":"oneOf.2.automatically_start_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.2.automatically_start_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.automatically_start_subscription","typeLabel":"boolean | enum\u003cstring>"}},"uniqueKey":"oneOf.2","typeLabel":"One-off · object"}],"uniqueKey":"","typeLabel":"From a template · object | Custom · object | One-off · object"},"examples":{"Example":{"title":"Example","value":{"customer_id":"cus_QalW2vTAdkR6IY","template_id":"quot_9hNWq4c84Z146W","status":"draft","owner_email":"joe@acme.com","invoicing_entity_id":"ive_47484fjdhy5","catalog_version_id":"pcv_9x8v7u6t5s4r","comments":"Please find the contract and subscription details we discussed.","terms":"By signing this quote, you accept our conditions of use for the use of our products and services.","amount":20000,"contract_value":18000,"collect_payment_details":true,"collect_custom_property_ids":[],"contract_clause_ids":["ccl_QalW2vTAdkR6IY"],"require_tax_id":false,"display_quote_value":true,"display_quote_value_with_tax":false,"display_taxes":true,"display_price_tiers":"matching","display_phase_value":false,"display_discounts_on_total":false,"display_first_invoice_amount":false,"display_documents_in_preview":false,"subscription_update_display":"quote_update_details","display_subscription_on_update":false,"generate_draft_invoices":false,"automatically_start_subscription":true,"expires_at":"2024-04-28T14:12:09.293Z","subscription":{"phases":[{"end_strategy":"duration","billing_date_setting":"phase_start","products":[{"id":"itm_FJKlqUb8COXw55","catalog_version_id":"pcv_9x8v7u6t5s4r","name":"Product name","description":"A description of the product.","description_display_interval_dates":false,"payment_interval":{"period":"once"},"payment_schedule":"start","price":{"type":"fee","amount":200},"prices":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"count":2,"unit_name":"user","min_committed_count":2,"min_amount":123,"max_amount":123,"bill_usage_difference":false,"credits_expiration_in_days":123,"expire_credits_at_end_of_period":false,"credits_balance_auto_creation_enabled":true,"estimated_count":200}],"activation_strategy":"manual","name":"Initial term","type":"standard","status":"pending","order":0,"duration":{"count":1,"period":"years"},"initial_billing_at":"2024-12-20T16:04:11Z","starts_at":"2024-12-20T16:04:11Z","ends_at":"2024-12-20T16:04:11Z","billing_cycle_alignment":"anniversary","do_not_invoice_phase":false,"minimum_invoice_fee":10000,"minimum_invoice_fee_products":["itm_aaaaaaaaaaaaaa"],"transition_calculation_method":"prorata","transition_invoicing_schedule":"immediately","coupons":[{"id":"\u003cstring>","duration_count":123,"expires_at":"2024-12-20T16:04:11Z","apply_at":"2024-12-20T16:04:11Z","product_ids":["\u003cstring>"]}]}],"name":"\u003cstring>","purchase_order":"\u003cstring>","invoicing_entity_id":"ive_jerrb484RHn","crm_opportunity_id":"\u003cstring>","commitment_interval":{"period":"years","count":1},"renew_automatically":true,"renew_for":{"period":"years","count":1},"minimum_invoice_fee":250,"starts_at":"2024-12-20T16:04:11Z","contract_start":"2024-01-15T00:00:00Z","contract_end":"2025-01-15T00:00:00Z","initial_billing_at":"2024-12-20T16:04:11Z","shipping_address_id":"cad_abc123","display_shipping_details":true,"cancel_at":"2024-12-20T16:04:11Z","cancellation_amount":123,"properties":{},"custom_properties":{},"tax_only":true,"generate_draft_invoices":true,"generate_document":true,"document_name":"\u003cstring>","add_tax_to_document":true,"do_not_charge_subscription":true,"invoice_custom_note":"\u003cstring>"}}}},"exampleType":"generated"},"multipart/form-data":{"schema":{"oneOf":[{"type":"object","title":"From a template","required":["template_id","customer_id"],"properties":{"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.0.customer_id","typeLabel":"string"},"template_id":{"type":"string","description":"ID of the quote template. If not specified, a subscription configuration or an `invoice` payload must be defined.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.0.template_id","typeLabel":"string"},"status":{"type":"string","enum":["draft","approved","pending_signature"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n ","example":"draft","uniqueKey":"oneOf.0.status","typeLabel":"enum\u003cstring>"},"owner_email":{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.","example":"joe@acme.com","uniqueKey":"oneOf.0.owner_email","typeLabel":"string\u003cemail>"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","uniqueKey":"oneOf.0.invoicing_entity_id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.catalog_version_id","typeLabel":"string | null"},"comments":{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","uniqueKey":"oneOf.0.comments","typeLabel":"string"},"terms":{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","uniqueKey":"oneOf.0.terms","typeLabel":"string"},"amount":{"oneOf":[{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.0.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.0.amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.amount","typeLabel":"number | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.0.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.0.contract_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.contract_value","typeLabel":"number | null"},"collect_payment_details":{"oneOf":[{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"uniqueKey":"oneOf.0.collect_payment_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Collect customer payment method mandate during signature flow or not.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.collect_payment_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.collect_payment_details","typeLabel":"boolean | enum\u003cstring>"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"uniqueKey":"oneOf.0.collect_custom_property_ids","typeLabel":"string[]"},"contract_clause_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.contract_clause_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the contract clauses used in the quote terms.","example":["ccl_QalW2vTAdkR6IY"],"uniqueKey":"oneOf.0.contract_clause_ids","typeLabel":"string[]"},"require_tax_id":{"oneOf":[{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"uniqueKey":"oneOf.0.require_tax_id.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Require the customer to provide a tax ID during the signature flow.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.require_tax_id.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.require_tax_id","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value":{"oneOf":[{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"uniqueKey":"oneOf.0.display_quote_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.display_quote_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_quote_value","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value_with_tax":{"oneOf":[{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"uniqueKey":"oneOf.0.display_quote_value_with_tax.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_quote_value_with_tax.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_quote_value_with_tax","typeLabel":"boolean | enum\u003cstring>"},"display_taxes":{"oneOf":[{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"uniqueKey":"oneOf.0.display_taxes.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display tax breakdown on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.display_taxes.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_taxes","typeLabel":"boolean | enum\u003cstring>"},"display_price_tiers":{"oneOf":[{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["all","matching","none"],"example":"matching","uniqueKey":"oneOf.0.display_price_tiers.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"boolean","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","uniqueKey":"oneOf.0.display_price_tiers.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["true","false"],"example":"matching","uniqueKey":"oneOf.0.display_price_tiers.oneOf.2","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_price_tiers","typeLabel":"enum\u003cstring> · boolean · enum\u003cstring>"},"display_phase_value":{"oneOf":[{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"uniqueKey":"oneOf.0.display_phase_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display per-phase value breakdown on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_phase_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_phase_value","typeLabel":"boolean | enum\u003cstring>"},"display_discounts_on_total":{"oneOf":[{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"uniqueKey":"oneOf.0.display_discounts_on_total.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_discounts_on_total.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_discounts_on_total","typeLabel":"boolean | enum\u003cstring>"},"display_first_invoice_amount":{"oneOf":[{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"uniqueKey":"oneOf.0.display_first_invoice_amount.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the first invoice amount on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_first_invoice_amount.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_first_invoice_amount","typeLabel":"boolean | enum\u003cstring>"},"display_documents_in_preview":{"oneOf":[{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"uniqueKey":"oneOf.0.display_documents_in_preview.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display attached documents in the quote preview.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.display_documents_in_preview.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_documents_in_preview","typeLabel":"boolean | enum\u003cstring>"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","uniqueKey":"oneOf.0.subscription_update_display","typeLabel":"enum\u003cstring>"},"display_subscription_on_update":{"oneOf":[{"type":"boolean","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","deprecated":true,"example":false,"uniqueKey":"oneOf.0.display_subscription_on_update.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","enum":["true","false"],"deprecated":true,"example":false,"uniqueKey":"oneOf.0.display_subscription_on_update.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.display_subscription_on_update","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"uniqueKey":"oneOf.0.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.0.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"automatically_start_subscription":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","deprecated":true,"example":true,"uniqueKey":"oneOf.0.automatically_start_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.0.automatically_start_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.automatically_start_subscription","typeLabel":"boolean | enum\u003cstring>"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","uniqueKey":"oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"subscription":{"oneOf":[{"type":"object","title":"With phases","description":"Subscription configuration constituting the quote.","required":["phases"],"properties":{"phases":{"type":"array","items":{"type":"object","properties":{"end_strategy":{"type":"string","enum":["manual","end_date","duration","contract_end_date"],"description":"\nEnd strategy of subscription phase.\n\n- `manual`: The phase ends when a user manually stops it.\n- `end_date`: The phase ends on a specified date.\n- `duration`: The phase ends after a specific relative duration.\n- `contract_end_date`: The phase ends on the end date of the related subscription contract.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].end_strategy","typeLabel":"enum\u003cstring>"},"billing_date_setting":{"type":"string","enum":["phase_start","specific_date"],"description":"\nRepresents when the first billing date occurs.\n\n- `phase_start`: Aligns with the start of the phase.\n- `specific_date`: Occurs on a specified date.\n","example":"phase_start","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].billing_date_setting","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"},"estimated_count":{"oneOf":[{"type":"number","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count","typeLabel":"number | null"}},"required":["id"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX]","typeLabel":"object"},"description":"Products comprising the subscription phase.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].products","typeLabel":"object[]"},"activation_strategy":{"type":"string","enum":["manual","start_date","quote_signature","contract_start_date","previous_phase_end"],"description":"\nActivation strategy of subscription phase.\n\n- `immediately`: The phase starts as soon as the subscription is activated.\n- `manual`: The phase starts when a user manually activates it.\n- `start_date`: The phase starts on a specified date.\n- `quote_signature`: The phase starts when the subscription quote is signed.\n- `checkout`: The phase starts when the subscription checkout is completed.\n- `contract_start_date`: The phase starts on the start date of the related subscription contract.\n- `previous_phase_end`: The phase starts when the previous phase ends.\n","example":"manual","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].activation_strategy","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Name of the subscription phase.","example":"Initial term","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","enum":["setup","trial","standard"],"default":"standard","description":"\nType of subscription phase.\n\n- `setup`: The phase represents a non-recurring service setup period, often used before the actual recurring subscription begins.\n- `trial`: The phase represents a non-recurring trial period, often used to allow users to opt out or experience a free test.\n- `standard`: The phase represents a standard recurring billing.\n","example":"standard","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["finished","pending"],"default":"pending","description":"\nStatus of subscription phase.\n\n- `pending`: The phase is waiting to start (not started yet).\n- `active`: The phase is currently in progress.\n- `finished`: The phase has ended and is complete.\n","example":"pending","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"order":{"type":"number","description":"Order in which the phase is executed within all subscription phases.","example":0,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].order","typeLabel":"number"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the subscription phase spans. Only applies to `duration` end strategy.","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].duration","typeLabel":"object"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription phase will start being billed. Only applies to `specific_date` billing date setting. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].initial_billing_at","typeLabel":"string\u003cdate-time>"},"starts_at":{"type":"string","format":"date-time","description":"Actual start date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Actual end date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].ends_at","typeLabel":"string\u003cdate-time>"},"billing_cycle_alignment":{"type":"string","enum":["calendar_period","anniversary"],"description":"\nAlignment of product billing cycles. If omitted at creation, the billing cycles alignment configured in the account subscription settings applies.\n\n- `calendar_period`: The billing cycles of the products will be aligned on the calendar period, after the first period which will be invoiced taking into account the prorata of the first cycle compared to the product periodicity.\n- `anniversary`: The billing cycles of the products will be aligned on the anniversary of the phase initial billing date.\n","example":"anniversary","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].billing_cycle_alignment","typeLabel":"enum\u003cstring>"},"do_not_invoice_phase":{"type":"boolean","default":false,"description":"Indicates if the phase should be invoiced. If set to true, the phase will not generate any invoices.","example":false,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].do_not_invoice_phase","typeLabel":"boolean"},"minimum_invoice_fee":{"oneOf":[{"type":"number","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee","typeLabel":"number | null"},"minimum_invoice_fee_products":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products","typeLabel":"string[] | null"},"transition_calculation_method":{"type":"string","enum":["prorata","pay_in_full","none"],"default":"prorata","description":"\nCalculation method used when transitioning from one phase to the next one.\n\n- `prorata`: The prorated amount between the two phases relative to the end date (the transition date) must be paid.\n- `pay_in_full`: The full amount for the phase billing period must be paid.\n- `none`: No amount will need to be paid, phase will simply transition from one to the next.\n","example":"prorata","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].transition_calculation_method","typeLabel":"enum\u003cstring>"},"transition_invoicing_schedule":{"type":"string","enum":["immediately"],"default":"immediately","description":"\nRepresents when the transition amount will be invoiced.\n\n- `immediately`: An invoice will be generated immediately with the corresponding amount.\n","example":"immediately","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].transition_invoicing_schedule","typeLabel":"enum\u003cstring>"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons comprising the subscription phase.","uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX].coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"}},"required":["end_strategy","billing_date_setting","products","activation_strategy"],"uniqueKey":"oneOf.0.subscription.oneOf.0.phases.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.phases","typeLabel":"object[]"},"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"oneOf.0.subscription.oneOf.0.name","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order.","uniqueKey":"oneOf.0.subscription.oneOf.0.purchase_order","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.","example":"ive_jerrb484RHn","uniqueKey":"oneOf.0.subscription.oneOf.0.invoicing_entity_id","typeLabel":"string"},"crm_opportunity_id":{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","uniqueKey":"oneOf.0.subscription.oneOf.0.crm_opportunity_id","typeLabel":"string"},"commitment_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.commitment_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.commitment_interval.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.commitment_interval","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use `contract_terms`.","default":true,"deprecated":true,"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use `contract_terms`.","default":true,"enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_for.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_for.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.renew_for","typeLabel":"object"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.0.subscription.oneOf.0.minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.0.subscription.oneOf.0.minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.minimum_invoice_fee","typeLabel":"number | null"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_terms","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","description":"Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.starts_at","typeLabel":"string\u003cdate-time>"},"contract_start":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2024-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_start","typeLabel":"string\u003cdate-time>"},"contract_end":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2025-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.0.contract_end","typeLabel":"string\u003cdate-time>"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.initial_billing_at","typeLabel":"string\u003cdate-time>"},"shipping_address_id":{"type":"string","description":"Active shipping address ID belonging to the subscription customer. Omit to use the customer shipping destination: billing address or default shipping address.","example":"cad_abc123","uniqueKey":"oneOf.0.subscription.oneOf.0.shipping_address_id","typeLabel":"string"},"display_shipping_details":{"oneOf":[{"type":"boolean","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","uniqueKey":"oneOf.0.subscription.oneOf.0.display_shipping_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.display_shipping_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.display_shipping_details","typeLabel":"boolean | enum\u003cstring>"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.cancellation_strategy","typeLabel":"enum\u003cstring>"},"cancellation_amount":{"type":"number","description":"Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.","uniqueKey":"oneOf.0.subscription.oneOf.0.cancellation_amount","typeLabel":"number"},"cancellation_refund_method":{"type":"string","enum":["wallet","original_payment_method","external"],"description":"Override the refund destination for credit notes generated by `refund_prorata` / `refund_custom` cancellation strategies. When omitted, falls back to the invoicing entity's `creditNoteWalletRefundEnabled` setting.","uniqueKey":"oneOf.0.subscription.oneOf.0.cancellation_refund_method","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.0.subscription.oneOf.0.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"oneOf.0.subscription.oneOf.0.custom_properties","typeLabel":"object"},"tax_only":{"oneOf":[{"type":"boolean","description":"Only tax will be charged on this subscription.","uniqueKey":"oneOf.0.subscription.oneOf.0.tax_only.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only tax will be charged on this subscription.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.tax_only.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.tax_only","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"oneOf.0.subscription.oneOf.0.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"oneOf.0.subscription.oneOf.0.generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.0.subscription.oneOf.0.document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.0.subscription.oneOf.0.document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"oneOf.0.subscription.oneOf.0.add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"do_not_charge_subscription":{"oneOf":[{"type":"boolean","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","uniqueKey":"oneOf.0.subscription.oneOf.0.do_not_charge_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.0.do_not_charge_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.do_not_charge_subscription","typeLabel":"boolean | enum\u003cstring>"},"invoice_custom_note":{"oneOf":[{"type":"string","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_custom_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_custom_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_custom_note","typeLabel":"string | null"},"invoice_schedule":{"oneOf":[{"type":"string","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.0.invoice_schedule","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.0","typeLabel":"With phases · object"},{"type":"object","title":"Without phases","description":"Subscription configuration constituting the quote.","properties":{"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"oneOf.0.subscription.oneOf.1.name","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order.","uniqueKey":"oneOf.0.subscription.oneOf.1.purchase_order","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.","example":"ive_jerrb484RHn","uniqueKey":"oneOf.0.subscription.oneOf.1.invoicing_entity_id","typeLabel":"string"},"crm_opportunity_id":{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","uniqueKey":"oneOf.0.subscription.oneOf.1.crm_opportunity_id","typeLabel":"string"},"commitment_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.commitment_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.commitment_interval.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.commitment_interval","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use `contract_terms`.","default":true,"deprecated":true,"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use `contract_terms`.","default":true,"enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_for.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_for.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.renew_for","typeLabel":"object"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.0.subscription.oneOf.1.minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.0.subscription.oneOf.1.minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.minimum_invoice_fee","typeLabel":"number | null"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_terms","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","description":"Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.starts_at","typeLabel":"string\u003cdate-time>"},"contract_start":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2024-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_start","typeLabel":"string\u003cdate-time>"},"contract_end":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2025-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.contract_end","typeLabel":"string\u003cdate-time>"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.initial_billing_at","typeLabel":"string\u003cdate-time>"},"shipping_address_id":{"type":"string","description":"Active shipping address ID belonging to the subscription customer. Omit to use the customer shipping destination: billing address or default shipping address.","example":"cad_abc123","uniqueKey":"oneOf.0.subscription.oneOf.1.shipping_address_id","typeLabel":"string"},"display_shipping_details":{"oneOf":[{"type":"boolean","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","uniqueKey":"oneOf.0.subscription.oneOf.1.display_shipping_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.display_shipping_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.display_shipping_details","typeLabel":"boolean | enum\u003cstring>"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.cancellation_strategy","typeLabel":"enum\u003cstring>"},"cancellation_amount":{"type":"number","description":"Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.","uniqueKey":"oneOf.0.subscription.oneOf.1.cancellation_amount","typeLabel":"number"},"cancellation_refund_method":{"type":"string","enum":["wallet","original_payment_method","external"],"description":"Override the refund destination for credit notes generated by `refund_prorata` / `refund_custom` cancellation strategies. When omitted, falls back to the invoicing entity's `creditNoteWalletRefundEnabled` setting.","uniqueKey":"oneOf.0.subscription.oneOf.1.cancellation_refund_method","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.0.subscription.oneOf.1.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"oneOf.0.subscription.oneOf.1.custom_properties","typeLabel":"object"},"tax_only":{"oneOf":[{"type":"boolean","description":"Only tax will be charged on this subscription.","uniqueKey":"oneOf.0.subscription.oneOf.1.tax_only.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only tax will be charged on this subscription.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.tax_only.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.tax_only","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"oneOf.0.subscription.oneOf.1.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"oneOf.0.subscription.oneOf.1.generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.0.subscription.oneOf.1.document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.0.subscription.oneOf.1.document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"oneOf.0.subscription.oneOf.1.add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"do_not_charge_subscription":{"oneOf":[{"type":"boolean","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","uniqueKey":"oneOf.0.subscription.oneOf.1.do_not_charge_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.do_not_charge_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.do_not_charge_subscription","typeLabel":"boolean | enum\u003cstring>"},"invoice_custom_note":{"oneOf":[{"type":"string","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_custom_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_custom_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_custom_note","typeLabel":"string | null"},"invoice_schedule":{"oneOf":[{"type":"string","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.invoice_schedule","typeLabel":"enum\u003cstring> | null"},"activation_strategy":{"type":"string","enum":["start_date","manually","quote"],"default":"manually","description":"\nStrategy used to activate the subscription.\n\n- `start_date`: The subscription will become active on the specified start date. If the start date is in the past, it will be activated immediately.\n- `manually`: The subscription requires activation through a manual action.\n- `checkout`: The subscription will be activated once the checkout is completed, but only if the start date is in the past. Otherwise, activation will occur later on the specified start date.\n- `quote`: The subscription will be activated depending on the configuration and the signature of the related quote.\n","example":"start_date","uniqueKey":"oneOf.0.subscription.oneOf.1.activation_strategy","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"},"estimated_count":{"oneOf":[{"type":"number","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].estimated_count.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].estimated_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX].estimated_count","typeLabel":"number | null"}},"required":["id"],"uniqueKey":"oneOf.0.subscription.oneOf.1.products.items.[INDEX]","typeLabel":"object"},"description":"Products that make up the subscription.","uniqueKey":"oneOf.0.subscription.oneOf.1.products","typeLabel":"object[]"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"oneOf.0.subscription.oneOf.1.coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons to be applied to the prices of subscription products.","uniqueKey":"oneOf.0.subscription.oneOf.1.coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"},"trial":{"type":"object","properties":{"end_strategy":{"type":"string","enum":["manual","end_date","duration"],"description":"Defines how the free trial will end.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.trial.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Free trial start date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.trial.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Free trial end date. Only applies if the end strategy is `end_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.0.subscription.oneOf.1.trial.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"description":"Free trial duration period. Only applies if the end strategy is `duration`.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.trial.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"description":"Free trial duration count. Only applies if the end strategy is `duration`.","isRequired":true,"uniqueKey":"oneOf.0.subscription.oneOf.1.trial.duration.count","typeLabel":"number"}},"required":["period","count"],"uniqueKey":"oneOf.0.subscription.oneOf.1.trial.duration","typeLabel":"object"}},"required":["end_strategy"],"description":"Create a free trial phase based on the plan configuration. Only applies if a `plan_id` is provided.","uniqueKey":"oneOf.0.subscription.oneOf.1.trial","typeLabel":"object"}},"uniqueKey":"oneOf.0.subscription.oneOf.1","typeLabel":"Without phases · object"}],"uniqueKey":"oneOf.0.subscription","typeLabel":"With phases · object | Without phases · object"}},"uniqueKey":"oneOf.0","typeLabel":"From a template · object"},{"type":"object","title":"Custom","required":["expires_at","subscription","customer_id"],"properties":{"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.1.customer_id","typeLabel":"string"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","isRequired":true,"uniqueKey":"oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"subscription":{"oneOf":[{"type":"object","title":"With phases","description":"Subscription configuration constituting the quote.","required":["phases"],"properties":{"phases":{"type":"array","items":{"type":"object","properties":{"end_strategy":{"type":"string","enum":["manual","end_date","duration","contract_end_date"],"description":"\nEnd strategy of subscription phase.\n\n- `manual`: The phase ends when a user manually stops it.\n- `end_date`: The phase ends on a specified date.\n- `duration`: The phase ends after a specific relative duration.\n- `contract_end_date`: The phase ends on the end date of the related subscription contract.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].end_strategy","typeLabel":"enum\u003cstring>"},"billing_date_setting":{"type":"string","enum":["phase_start","specific_date"],"description":"\nRepresents when the first billing date occurs.\n\n- `phase_start`: Aligns with the start of the phase.\n- `specific_date`: Occurs on a specified date.\n","example":"phase_start","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].billing_date_setting","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"oneOf":[{"type":"object","title":"Null check","required":["operator","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.property","typeLabel":"string"},"operator":{"type":"string","enum":["is_null","is_not_null"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.0","typeLabel":"Null check · object"},{"type":"object","title":"List match","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.property","typeLabel":"string"},"operator":{"type":"string","enum":["in","not_in"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.1","typeLabel":"List match · object"},{"type":"object","title":"Numeric comparison","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.property","typeLabel":"string"},"operator":{"type":"string","enum":["gte","gt","lt","lte"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2.value","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.2","typeLabel":"Numeric comparison · object"},{"type":"object","title":"Equality check","required":["operator","value","property"],"properties":{"property":{"type":"string","description":"Name of the event property to filter on.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.property","typeLabel":"string"},"operator":{"type":"string","enum":["equals","not_equal"],"description":"Comparison operator to apply on the property value.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"value":{"type":"any","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3.value","typeLabel":"any"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX].oneOf.3","typeLabel":"Equality check · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"Null check · object | List match · object | Numeric comparison · object | Equality check · object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"(Null check · object | List match · object | Numeric comparison · object | Equality check · object)[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"},"estimated_count":{"oneOf":[{"type":"number","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX].estimated_count","typeLabel":"number | null"}},"required":["id"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products.items.[INDEX]","typeLabel":"object"},"description":"Products comprising the subscription phase.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].products","typeLabel":"object[]"},"activation_strategy":{"type":"string","enum":["manual","start_date","quote_signature","contract_start_date","previous_phase_end"],"description":"\nActivation strategy of subscription phase.\n\n- `immediately`: The phase starts as soon as the subscription is activated.\n- `manual`: The phase starts when a user manually activates it.\n- `start_date`: The phase starts on a specified date.\n- `quote_signature`: The phase starts when the subscription quote is signed.\n- `checkout`: The phase starts when the subscription checkout is completed.\n- `contract_start_date`: The phase starts on the start date of the related subscription contract.\n- `previous_phase_end`: The phase starts when the previous phase ends.\n","example":"manual","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].activation_strategy","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Name of the subscription phase.","example":"Initial term","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","enum":["setup","trial","standard"],"default":"standard","description":"\nType of subscription phase.\n\n- `setup`: The phase represents a non-recurring service setup period, often used before the actual recurring subscription begins.\n- `trial`: The phase represents a non-recurring trial period, often used to allow users to opt out or experience a free test.\n- `standard`: The phase represents a standard recurring billing.\n","example":"standard","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["finished","pending"],"default":"pending","description":"\nStatus of subscription phase.\n\n- `pending`: The phase is waiting to start (not started yet).\n- `active`: The phase is currently in progress.\n- `finished`: The phase has ended and is complete.\n","example":"pending","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"order":{"type":"number","description":"Order in which the phase is executed within all subscription phases.","example":0,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].order","typeLabel":"number"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the subscription phase spans. Only applies to `duration` end strategy.","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].duration","typeLabel":"object"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription phase will start being billed. Only applies to `specific_date` billing date setting. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].initial_billing_at","typeLabel":"string\u003cdate-time>"},"starts_at":{"type":"string","format":"date-time","description":"Actual start date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Actual end date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].ends_at","typeLabel":"string\u003cdate-time>"},"billing_cycle_alignment":{"type":"string","enum":["calendar_period","anniversary"],"description":"\nAlignment of product billing cycles. If omitted at creation, the billing cycles alignment configured in the account subscription settings applies.\n\n- `calendar_period`: The billing cycles of the products will be aligned on the calendar period, after the first period which will be invoiced taking into account the prorata of the first cycle compared to the product periodicity.\n- `anniversary`: The billing cycles of the products will be aligned on the anniversary of the phase initial billing date.\n","example":"anniversary","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].billing_cycle_alignment","typeLabel":"enum\u003cstring>"},"do_not_invoice_phase":{"type":"boolean","default":false,"description":"Indicates if the phase should be invoiced. If set to true, the phase will not generate any invoices.","example":false,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].do_not_invoice_phase","typeLabel":"boolean"},"minimum_invoice_fee":{"oneOf":[{"type":"number","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"description":"Phase minimum fee in minor currency units, after discounts and before tax. Null disables it and clears the product selection.","example":10000,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee","typeLabel":"number | null"},"minimum_invoice_fee_products":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Catalog product IDs eligible for the phase minimum fee. Null or an empty list includes all billed debit products in the phase.","example":["itm_aaaaaaaaaaaaaa"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].minimum_invoice_fee_products","typeLabel":"string[] | null"},"transition_calculation_method":{"type":"string","enum":["prorata","pay_in_full","none"],"default":"prorata","description":"\nCalculation method used when transitioning from one phase to the next one.\n\n- `prorata`: The prorated amount between the two phases relative to the end date (the transition date) must be paid.\n- `pay_in_full`: The full amount for the phase billing period must be paid.\n- `none`: No amount will need to be paid, phase will simply transition from one to the next.\n","example":"prorata","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].transition_calculation_method","typeLabel":"enum\u003cstring>"},"transition_invoicing_schedule":{"type":"string","enum":["immediately"],"default":"immediately","description":"\nRepresents when the transition amount will be invoiced.\n\n- `immediately`: An invoice will be generated immediately with the corresponding amount.\n","example":"immediately","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].transition_invoicing_schedule","typeLabel":"enum\u003cstring>"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons comprising the subscription phase.","uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX].coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"}},"required":["end_strategy","billing_date_setting","products","activation_strategy"],"uniqueKey":"oneOf.1.subscription.oneOf.0.phases.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.phases","typeLabel":"object[]"},"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"oneOf.1.subscription.oneOf.0.name","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order.","uniqueKey":"oneOf.1.subscription.oneOf.0.purchase_order","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.","example":"ive_jerrb484RHn","uniqueKey":"oneOf.1.subscription.oneOf.0.invoicing_entity_id","typeLabel":"string"},"crm_opportunity_id":{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","uniqueKey":"oneOf.1.subscription.oneOf.0.crm_opportunity_id","typeLabel":"string"},"commitment_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.commitment_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.commitment_interval.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.commitment_interval","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use `contract_terms`.","default":true,"deprecated":true,"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use `contract_terms`.","default":true,"enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_for.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_for.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.renew_for","typeLabel":"object"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.1.subscription.oneOf.0.minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.1.subscription.oneOf.0.minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.minimum_invoice_fee","typeLabel":"number | null"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_terms","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","description":"Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.starts_at","typeLabel":"string\u003cdate-time>"},"contract_start":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2024-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_start","typeLabel":"string\u003cdate-time>"},"contract_end":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2025-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.contract_end","typeLabel":"string\u003cdate-time>"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.initial_billing_at","typeLabel":"string\u003cdate-time>"},"shipping_address_id":{"type":"string","description":"Active shipping address ID belonging to the subscription customer. Omit to use the customer shipping destination: billing address or default shipping address.","example":"cad_abc123","uniqueKey":"oneOf.1.subscription.oneOf.0.shipping_address_id","typeLabel":"string"},"display_shipping_details":{"oneOf":[{"type":"boolean","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","uniqueKey":"oneOf.1.subscription.oneOf.0.display_shipping_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.display_shipping_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.display_shipping_details","typeLabel":"boolean | enum\u003cstring>"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.cancellation_strategy","typeLabel":"enum\u003cstring>"},"cancellation_amount":{"type":"number","description":"Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.","uniqueKey":"oneOf.1.subscription.oneOf.0.cancellation_amount","typeLabel":"number"},"cancellation_refund_method":{"type":"string","enum":["wallet","original_payment_method","external"],"description":"Override the refund destination for credit notes generated by `refund_prorata` / `refund_custom` cancellation strategies. When omitted, falls back to the invoicing entity's `creditNoteWalletRefundEnabled` setting.","uniqueKey":"oneOf.1.subscription.oneOf.0.cancellation_refund_method","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.1.subscription.oneOf.0.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"oneOf.1.subscription.oneOf.0.custom_properties","typeLabel":"object"},"tax_only":{"oneOf":[{"type":"boolean","description":"Only tax will be charged on this subscription.","uniqueKey":"oneOf.1.subscription.oneOf.0.tax_only.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only tax will be charged on this subscription.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.tax_only.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.tax_only","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"oneOf.1.subscription.oneOf.0.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"oneOf.1.subscription.oneOf.0.generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.1.subscription.oneOf.0.document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.1.subscription.oneOf.0.document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"oneOf.1.subscription.oneOf.0.add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"do_not_charge_subscription":{"oneOf":[{"type":"boolean","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","uniqueKey":"oneOf.1.subscription.oneOf.0.do_not_charge_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.0.do_not_charge_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.do_not_charge_subscription","typeLabel":"boolean | enum\u003cstring>"},"invoice_custom_note":{"oneOf":[{"type":"string","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_custom_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_custom_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_custom_note","typeLabel":"string | null"},"invoice_schedule":{"oneOf":[{"type":"string","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.0.invoice_schedule","typeLabel":"enum\u003cstring> | null"},"plan_id":{"type":"string","description":"Deprecated field, please use `template_id`.","example":"plan_zHmjoDee4ZRmQV","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.0.plan_id","typeLabel":"string"},"template_id":{"type":"string","description":"ID of the template that the subscription is linked to.","example":"subt_7gdusOkqr5L0B8","uniqueKey":"oneOf.1.subscription.oneOf.0.template_id","typeLabel":"string"},"template_configuration_id":{"type":"string","description":"ID of the template configuration that the subscription is linked to.","example":"subtc_7mHWOlPStUogvp","uniqueKey":"oneOf.1.subscription.oneOf.0.template_configuration_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.0","typeLabel":"With phases · object"},{"type":"object","title":"Without phases","description":"Subscription configuration constituting the quote.","properties":{"name":{"type":"string","description":"Subscription custom name.","uniqueKey":"oneOf.1.subscription.oneOf.1.name","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order.","uniqueKey":"oneOf.1.subscription.oneOf.1.purchase_order","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.","example":"ive_jerrb484RHn","uniqueKey":"oneOf.1.subscription.oneOf.1.invoicing_entity_id","typeLabel":"string"},"crm_opportunity_id":{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","uniqueKey":"oneOf.1.subscription.oneOf.1.crm_opportunity_id","typeLabel":"string"},"commitment_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.commitment_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.commitment_interval.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.commitment_interval","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use `contract_terms`.","default":true,"deprecated":true,"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use `contract_terms`.","default":true,"enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_for.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_for.count","typeLabel":"number"}},"required":["period","count"],"description":"Deprecated field, please use `contract_terms`.","example":{"period":"years","count":1},"deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.renew_for","typeLabel":"object"},"minimum_invoice_fee":{"oneOf":[{"type":"number","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.1.subscription.oneOf.1.minimum_invoice_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum fee applied to each invoice outside of one time payments.","example":250,"uniqueKey":"oneOf.1.subscription.oneOf.1.minimum_invoice_fee.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.minimum_invoice_fee","typeLabel":"number | null"},"contract_terms":{"type":"object","description":"Contract terms linked to the subscription.","required":["activation_strategy","end_strategy"],"properties":{"activation_strategy":{"type":"string","enum":["start_date","immediately","manual","quote_signature","checkout"],"description":"\nActivation strategy of the contract.\n\n- `immediately`: The contract will be activated immediately.\n- `manual`: The contract will be activated when a user manually activates it.\n- `start_date`: The contract will be activated on a specified date.\n- `quote_signature`: The contract will be activated when the subscription quote is signed.\n- `checkout`: The contract will be activated when the subscription checkout is completed.\n","example":"start_date","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.activation_strategy","typeLabel":"enum\u003cstring>"},"end_strategy":{"type":"string","enum":["end_date","duration","manual"],"description":"\nEnd strategy of contract.\n\n- `manual`: The contract ends when a user manually stops it.\n- `end_date`: The contract ends on a specified date.\n- `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.\n","example":"duration","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.duration.count","typeLabel":"integer"}},"required":["period"],"description":"Interval over which the contract initially spans. Only applies to `duration` end strategy.","example":{"count":6,"period":"months"},"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.duration","typeLabel":"object"},"renew_automatically":{"oneOf":[{"type":"boolean","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","example":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_automatically.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"\nIndicates if the contract should be renewed automatically.\n\n- `true`: The contract will be renewed automatically.\n- `false`: The contract will not be renewed automatically.\n","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_automatically.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_automatically","typeLabel":"boolean | enum\u003cstring>"},"renew_for_duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_for_duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_for_duration.count","typeLabel":"integer"}},"required":["period"],"description":"\nInterval over which the contract will be renewed. Only applies if `renew_automatically` is true.\n","example":{"count":1,"period":"years"},"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms.renew_for_duration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_terms","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","description":"Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.starts_at","typeLabel":"string\u003cdate-time>"},"contract_start":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2024-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_start","typeLabel":"string\u003cdate-time>"},"contract_end":{"type":"string","format":"date-time","description":"Deprecated field, please use `contract_terms`.","example":"2025-01-15T00:00:00Z","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.contract_end","typeLabel":"string\u003cdate-time>"},"initial_billing_at":{"type":"string","format":"date-time","description":"Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.initial_billing_at","typeLabel":"string\u003cdate-time>"},"shipping_address_id":{"type":"string","description":"Active shipping address ID belonging to the subscription customer. Omit to use the customer shipping destination: billing address or default shipping address.","example":"cad_abc123","uniqueKey":"oneOf.1.subscription.oneOf.1.shipping_address_id","typeLabel":"string"},"display_shipping_details":{"oneOf":[{"type":"boolean","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","uniqueKey":"oneOf.1.subscription.oneOf.1.display_shipping_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Indicates if the shipping details should be displayed on the subscription's invoices.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.display_shipping_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.display_shipping_details","typeLabel":"boolean | enum\u003cstring>"},"cancel_at":{"type":"string","format":"date-time","description":"Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.cancel_at","typeLabel":"string\u003cdate-time>"},"cancellation_strategy":{"type":"string","enum":["refund_prorata","refund_custom","charge_prorata","charge_custom","end_of_period","do_nothing"],"description":"\nStrategy used to cancel the subscription. If not specified `do_nothing` is used.\n\n- `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.\n- `charge_custom`: Will charge the customer a custom amount.\n- `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date.\n- `refund_custom`: Will refund to the customer a custom amount.\n- `end_of_period`: Will cancel the subscription at the end date of the current billing period.\n- `do_nothing`: Will only cease the subscription without any additional actions.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.cancellation_strategy","typeLabel":"enum\u003cstring>"},"cancellation_amount":{"type":"number","description":"Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.","uniqueKey":"oneOf.1.subscription.oneOf.1.cancellation_amount","typeLabel":"number"},"cancellation_refund_method":{"type":"string","enum":["wallet","original_payment_method","external"],"description":"Override the refund destination for credit notes generated by `refund_prorata` / `refund_custom` cancellation strategies. When omitted, falls back to the invoicing entity's `creditNoteWalletRefundEnabled` setting.","uniqueKey":"oneOf.1.subscription.oneOf.1.cancellation_refund_method","typeLabel":"enum\u003cstring>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.1.subscription.oneOf.1.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"A list of key value with the slug of the custom property as the key and the custom property value as value.","uniqueKey":"oneOf.1.subscription.oneOf.1.custom_properties","typeLabel":"object"},"tax_only":{"oneOf":[{"type":"boolean","description":"Only tax will be charged on this subscription.","uniqueKey":"oneOf.1.subscription.oneOf.1.tax_only.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only tax will be charged on this subscription.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.tax_only.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.tax_only","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","uniqueKey":"oneOf.1.subscription.oneOf.1.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"generate_document":{"oneOf":[{"type":"boolean","description":"Generate non-legal documents instead of invoices.","uniqueKey":"oneOf.1.subscription.oneOf.1.generate_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Generate non-legal documents instead of invoices.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.generate_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.generate_document","typeLabel":"boolean | enum\u003cstring>"},"document_name":{"oneOf":[{"type":"string","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.1.subscription.oneOf.1.document_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"If `generate_document` is turned on, allows you to give a name to your document.","uniqueKey":"oneOf.1.subscription.oneOf.1.document_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.document_name","typeLabel":"string | null"},"add_tax_to_document":{"oneOf":[{"type":"boolean","description":"If `generate_document` is turned on, will add taxes to document.","uniqueKey":"oneOf.1.subscription.oneOf.1.add_tax_to_document.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"If `generate_document` is turned on, will add taxes to document.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.add_tax_to_document.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.add_tax_to_document","typeLabel":"boolean | enum\u003cstring>"},"do_not_charge_subscription":{"oneOf":[{"type":"boolean","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","uniqueKey":"oneOf.1.subscription.oneOf.1.do_not_charge_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Subscription will be invoiced but not charged (invoices/documents will be settled directly).","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.do_not_charge_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.do_not_charge_subscription","typeLabel":"boolean | enum\u003cstring>"},"invoice_custom_note":{"oneOf":[{"type":"string","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_custom_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Default custom note added to invoices generated by the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_custom_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_custom_note","typeLabel":"string | null"},"invoice_schedule":{"oneOf":[{"type":"string","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["period_start","period_end"],"description":"\nDefines when invoices are generated relative to the billing period.\n\n- `period_start`: Invoices are generated at the start of the billing period.\n- `period_end`: Invoices are generated at the end of the billing period.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.invoice_schedule","typeLabel":"enum\u003cstring> | null"},"activation_strategy":{"type":"string","enum":["start_date","manually","quote"],"default":"manually","description":"\nStrategy used to activate the subscription.\n\n- `start_date`: The subscription will become active on the specified start date. If the start date is in the past, it will be activated immediately.\n- `manually`: The subscription requires activation through a manual action.\n- `checkout`: The subscription will be activated once the checkout is completed, but only if the start date is in the past. Otherwise, activation will occur later on the specified start date.\n- `quote`: The subscription will be activated depending on the configuration and the signature of the related quote.\n","example":"start_date","uniqueKey":"oneOf.1.subscription.oneOf.1.activation_strategy","typeLabel":"enum\u003cstring>"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product ID.","example":"itm_FJKlqUb8COXw55","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price this product from, instead of the live products catalog. Ignored when `price` or `prices` is set. The product must be priced in that version.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].catalog_version_id","typeLabel":"string | null"},"name":{"type":"string","description":"Product name. This will appear on the final invoices.","example":"Product name","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Product description. This will appear on the final invoices.","example":"A description of the product.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].description","typeLabel":"string"},"description_display_interval_dates":{"type":"boolean","default":false,"description":"Indicates if the dates of the interval should be automatically added in the product description on the invoices.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].description_display_interval_dates","typeLabel":"boolean"},"payment_interval":{"oneOf":[{"type":"object","title":"Once","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"once"},"properties":{"period":{"type":"string","enum":["once"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.0.period","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.0","typeLabel":"Once · object"},{"type":"object","title":"Period","description":"Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.","required":["period"],"example":{"period":"months","count":1},"properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"default":1,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1.count","typeLabel":"integer"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval.oneOf.1","typeLabel":"Period · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_interval","typeLabel":"Once · object | Period · object"},"payment_schedule":{"type":"string","enum":["start","end"],"description":"Indicates if the product should be billed at the start or the end of the payment interval.","example":"start","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].payment_schedule","typeLabel":"enum\u003cstring>"},"price":{"type":"object","properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].price.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].price.amount","typeLabel":"number"}},"required":["type","amount"],"description":"Similar to `prices`, allow to apply a single fee price more easily.","example":{"type":"fee","amount":200},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].price","typeLabel":"object"},"prices":{"type":"array","items":{"oneOf":[{"type":"object","title":"Fee price","required":["type","amount"],"properties":{"type":{"type":"string","enum":["fee"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0.amount","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.0","typeLabel":"Fee price · object"},{"type":"object","title":"Volume price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["volume"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"type":"any","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"any"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration.fields","typeLabel":"any[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.1","typeLabel":"Volume price · object"},{"type":"object","title":"Packaged price","required":["type","amount","unit_count","from","to"],"properties":{"type":{"type":"string","enum":["packaged"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.unit_count","typeLabel":"number"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.to","typeLabel":"number | null"},"on_bucket_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage reaches an incomplete bucket (the bucket size corresponds to the `unitCount`).\n\n - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.\n - `pay_in_full`: The amount corresponds to the full payment of the bucket.\n - `do_not_charge`: The bucket is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.on_bucket_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"type":"any","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"any"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration.fields","typeLabel":"any[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.2","typeLabel":"Packaged price · object"},{"type":"object","title":"Bulk price","required":["type","amount","unit_count","to"],"properties":{"type":{"type":"string","enum":["bulk"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.unit_count","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.to","typeLabel":"number | null"},"on_tier_incomplete":{"oneOf":[{"type":"string","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["pro_rata","pay_in_full","do_not_charge"],"default":"pro_rata","description":"\nLogic used to compute the amount when usage on the tier is incomplete.\n\n- `pro_rata`: The amount is computed using the pro rata of the tier's consumption.\n- `pay_in_full`: The amount corresponds to the full payment of the tier.\n- `do_not_charge`: The tier is not charged and ignored.\n ","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.on_tier_incomplete","typeLabel":"enum\u003cstring> | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"type":"any","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"any"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration.fields","typeLabel":"any[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.3","typeLabel":"Bulk price · object"},{"type":"object","title":"BPS price","required":["type","from","to","percentage","per_unit_cap","per_unit_floor","per_unit_fee"],"properties":{"type":{"type":"string","enum":["bps"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"from":{"type":"number","description":"From limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.from","typeLabel":"number"},"to":{"oneOf":[{"type":"number","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.0","typeLabel":"number"},{"type":"null","description":"To limit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.to","typeLabel":"number | null"},"percentage":{"type":"number","description":"Percentage applied on each unit to compute the usage.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.percentage","typeLabel":"number"},"per_unit_cap":{"oneOf":[{"type":"number","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_cap","typeLabel":"number | null"},"per_unit_floor":{"oneOf":[{"type":"number","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount for one unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_floor","typeLabel":"number | null"},"per_unit_fee":{"oneOf":[{"type":"number","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fee amount applied per unit. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.per_unit_fee","typeLabel":"number | null"},"metering_filter":{"type":"object","description":"Metering filter that scopes which billable events are eligible for this price tier. Only present when the price is filtered.","required":["name","configuration"],"properties":{"name":{"type":"string","description":"Name of the metering filter.","example":"VISA credit cards","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.name","typeLabel":"string"},"configuration":{"type":"object","properties":{"conditional":{"type":"string","enum":["and","or"],"description":"Logical operator used to combine multiple filter fields. `and` requires all fields to match, `or` requires at least one.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.conditional","typeLabel":"enum\u003cstring>"},"fields":{"type":"array","items":{"type":"any","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields.items.[INDEX]","typeLabel":"any"},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration.fields","typeLabel":"any[]"}},"required":["conditional","fields"],"description":"Configuration of the rules used to filter eligible events.","example":{"conditional":"and","fields":[{"property":"card_type","operator":"equals","value":"visa"},{"property":"kind","operator":"equals","value":"credit_card"}]},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter.configuration","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4.metering_filter","typeLabel":"object"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.4","typeLabel":"BPS price · object"},{"type":"object","title":"Bundle price","description":"For seat products only, if you are looking for credits, use a fee price","required":["type","amount","unit_count"],"properties":{"type":{"type":"string","enum":["bundle"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Monetary amount of the price for the number of units defined by `unit_count`. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.amount","typeLabel":"number"},"unit_count":{"type":"number","description":"Number of units considered for the amount.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5.unit_count","typeLabel":"number"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX].oneOf.5","typeLabel":"Bundle price · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices.items.[INDEX]","typeLabel":"Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object"},"description":"Prices of the product. If not specified, the matching prices (depending on the currency, interval, etc) of the product defined in the products catalog/plan are used.","example":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].prices","typeLabel":"(Fee price · object | Volume price · object | Packaged price · object | Bulk price · object | BPS price · object | Bundle price · object)[]"},"count":{"type":"number","minimum":1,"description":"Number of product units. Only applies to products of type `flat_fee`, `seat` or `credit`.","example":2,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].count","typeLabel":"number"},"unit_name":{"type":"string","description":"Product name. This will appear on the final invoices. Only applies to products of type `seat` or `usage`.","example":"user","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].unit_name","typeLabel":"string"},"min_committed_count":{"type":"number","minimum":1,"description":"Minimum of units committed. If usage is less than this number, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].min_committed_count","typeLabel":"number"},"min_amount":{"oneOf":[{"type":"number","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].min_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].min_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].min_amount","typeLabel":"number | null"},"max_amount":{"oneOf":[{"type":"number","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].max_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used. Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].max_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].max_amount","typeLabel":"number | null"},"charging_method":{"oneOf":[{"type":"string","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].charging_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["prorata","pay_in_full","do_not_charge"],"description":"Charging method for seat count updates within the current billing period. Only applies to connected seat products.\n\n- `prorata`: Price calculated proportionally to time elapsed in the billing period.\n- `pay_in_full`: Price calculated for the entire billing period.\n- `do_not_charge`: No charge for the update.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].charging_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].charging_method","typeLabel":"enum\u003cstring> | null"},"seat_invoicing_schedule":{"oneOf":[{"type":"string","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["immediately","next_invoice","custom"],"description":"\nPolicy defining when seat count changes are invoiced. Only applies to connected seat products.\n\n- `immediately`: Seat changes are invoiced immediately.\n- `next_invoice`: Seat changes are invoiced at the next invoice.\n- `custom`: Seat changes are invoiced on a custom schedule.\n","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].seat_invoicing_schedule","typeLabel":"enum\u003cstring> | null"},"metering_interval_type":{"type":"string","enum":["subscription_commitment","payment_interval","full_database","phase_duration","custom"],"description":"\nIndicates on which type of interval the usage should be aggregated.\n\n- `subscription_commitment`: For the usage contained within the subscription commitment period.\n- `payment_interval`: For the usage contained within the payment interval of the product.\n- `full_database`: For all the usage we ingested for this product, no matter the period.\n- `phase_duration`: For the usage contained within the subscription phase.\n- `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].metering_interval_type","typeLabel":"enum\u003cstring>"},"metering_interval":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].metering_interval.period","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].metering_interval.count","typeLabel":"integer"}},"required":["period","count"],"description":"Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing). Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].metering_interval","typeLabel":"object"},"bill_usage_difference":{"oneOf":[{"type":"boolean","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type. Only applies to products of type `usage`.","default":false,"enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].bill_usage_difference","typeLabel":"boolean | enum\u003cstring>"},"children_usage_aggregation":{"oneOf":[{"type":"string","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sum","max"],"description":"\nControls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined.\n\n- `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed.\n- `sum`: The usage values of the parent and each direct child are added together (organization total).\n- `max`: Only the single highest-consuming member (parent or one direct child) is billed.\n Only applies to products of type `usage`.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].children_usage_aggregation","typeLabel":"enum\u003cstring> | null"},"credits_expiration_in_days":{"oneOf":[{"type":"number","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days.oneOf.0","typeLabel":"number"},{"type":"null","description":"Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_expiration_in_days","typeLabel":"number | null"},"expire_credits_at_end_of_period":{"oneOf":[{"type":"boolean","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`","default":false,"enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].expire_credits_at_end_of_period","typeLabel":"boolean | enum\u003cstring>"},"credits_balance_auto_creation_enabled":{"oneOf":[{"type":"boolean","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Whether to create the customer credit balance as soon as the product is added to the subscription. Defaults to the credit product's `credits_balance_auto_creation_enabled` (`true` when unset). Set to `false` to create the balance by hand before activation, e.g. on quote-based renewals where the balance must not start consuming before signature; the first top-up creates it if still missing.","enum":["true","false"],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].credits_balance_auto_creation_enabled","typeLabel":"boolean | enum\u003cstring>"},"estimated_count":{"oneOf":[{"type":"number","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].estimated_count.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1000000000000,"description":"Estimated number of units, for recurring usage-based and connected seat products (ignored on any other product, and not priced for a usage-based product with several filtered price groups). It prices the quote value and is shown as an estimate on the quote, but is never billed: invoices use the measured usage or seat count.","example":200,"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].estimated_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX].estimated_count","typeLabel":"number | null"}},"required":["id"],"uniqueKey":"oneOf.1.subscription.oneOf.1.products.items.[INDEX]","typeLabel":"object"},"description":"Products that make up the subscription.","uniqueKey":"oneOf.1.subscription.oneOf.1.products","typeLabel":"object[]"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Existing coupon","required":["id"],"properties":{"id":{"type":"string","description":"Coupon ID.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.id","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.0","typeLabel":"Existing coupon · object"},{"type":"object","title":"Coupon amount","required":["type","discount_amount"],"properties":{"type":{"type":"string","enum":["amount"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Coupon discount amount. Expressed in currency's smallest unit.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.1","typeLabel":"Coupon amount · object"},{"type":"object","title":"Coupon percent","required":["type","discount_percent"],"properties":{"type":{"type":"string","enum":["percent"],"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Coupon discount percentage.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","description":"Coupon name.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"repeat":{"oneOf":[{"type":"string","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["once","forever","custom","duration"],"description":"\nCoupon frequency. Required for inline coupons. Optional when an existing coupon `id` is provided: if omitted, defaults to the catalog coupon's repeat value.\n\n- `once`: Will apply the coupon only to the first one invoice.\n- `forever`: Will apply the coupon to all invoices.\n- `custom`: Will apply to coupon until a specified expiration date.\n- `duration`: Will apply the coupon for a specific duration (e.g., 3 months).\n","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.repeat","typeLabel":"enum\u003cstring> | null"},"duration_period":{"type":"string","enum":["days","weeks","months","years"],"description":"Period of time for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.duration_period","typeLabel":"enum\u003cstring>"},"duration_count":{"type":"number","description":"Number of periods for which the coupon will be applied. Only applies to the `duration` coupon frequency.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.duration_count","typeLabel":"number"},"expires_at":{"type":"string","format":"date-time","description":"Coupon expiration date. Only applies to the `custom` coupon frequency. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"apply_at":{"type":"string","format":"date-time","description":"Coupon first application date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.apply_at","typeLabel":"string\u003cdate-time>"},"product_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Products the coupon is scoped to on this subscription, read together with `product_scope`: the only discounted products when `include`, the products never discounted when `exclude`, null when `all`. When sent without `product_scope`, it is an `include` list, except that a coupon already stored as `exclude` keeps `exclude` when its phase is updated; when empty or omitted, the catalog coupon's scope is copied.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_ids","typeLabel":"string[] | null"},"product_scope":{"oneOf":[{"type":"string","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["all","include","exclude"],"description":"Which products the coupon discounts on this subscription. `all`: every product (`product_ids` must be empty). `include`: only the products in `product_ids`. `exclude`: every product except those in `product_ids` (lines without a product stay discounted). When sent, it replaces the catalog coupon's scope together with `product_ids`. When omitted, it is inferred: `include` if `product_ids` is non-empty, else the catalog coupon's scope. On a phase update, a coupon already stored as `exclude` keeps `exclude` when `product_ids` is sent without `product_scope`.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2.product_scope","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX].oneOf.2","typeLabel":"Coupon percent · object"}],"uniqueKey":"oneOf.1.subscription.oneOf.1.coupons.items.[INDEX]","typeLabel":"Existing coupon · object | Coupon amount · object | Coupon percent · object"},"description":"Coupons to be applied to the prices of subscription products.","uniqueKey":"oneOf.1.subscription.oneOf.1.coupons","typeLabel":"(Existing coupon · object | Coupon amount · object | Coupon percent · object)[]"},"trial":{"type":"object","properties":{"end_strategy":{"type":"string","enum":["manual","end_date","duration"],"description":"Defines how the free trial will end.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.trial.end_strategy","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Free trial start date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.trial.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Free trial end date. Only applies if the end strategy is `end_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.1.subscription.oneOf.1.trial.ends_at","typeLabel":"string\u003cdate-time>"},"duration":{"type":"object","properties":{"period":{"type":"string","enum":["days","weeks","months","years"],"description":"Free trial duration period. Only applies if the end strategy is `duration`.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.trial.duration.period","typeLabel":"enum\u003cstring>"},"count":{"type":"number","minimum":1,"description":"Free trial duration count. Only applies if the end strategy is `duration`.","isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.trial.duration.count","typeLabel":"number"}},"required":["period","count"],"uniqueKey":"oneOf.1.subscription.oneOf.1.trial.duration","typeLabel":"object"}},"required":["end_strategy"],"description":"Create a free trial phase based on the plan configuration. Only applies if a `plan_id` is provided.","uniqueKey":"oneOf.1.subscription.oneOf.1.trial","typeLabel":"object"},"plan_id":{"type":"string","description":"Deprecated field, please use `template_id`.","example":"plan_zHmjoDee4ZRmQV","deprecated":true,"uniqueKey":"oneOf.1.subscription.oneOf.1.plan_id","typeLabel":"string"},"template_id":{"type":"string","description":"ID of the template that the subscription is linked to.","example":"subt_7gdusOkqr5L0B8","uniqueKey":"oneOf.1.subscription.oneOf.1.template_id","typeLabel":"string"},"template_configuration_id":{"type":"string","description":"ID of the template configuration that the subscription is linked to.","example":"subtc_7mHWOlPStUogvp","uniqueKey":"oneOf.1.subscription.oneOf.1.template_configuration_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.subscription.oneOf.1","typeLabel":"Without phases · object"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription","typeLabel":"With phases · object | Without phases · object"},"status":{"type":"string","enum":["draft","approved","pending_signature"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n ","example":"draft","uniqueKey":"oneOf.1.status","typeLabel":"enum\u003cstring>"},"owner_email":{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.","example":"joe@acme.com","uniqueKey":"oneOf.1.owner_email","typeLabel":"string\u003cemail>"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","uniqueKey":"oneOf.1.invoicing_entity_id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.1.catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.catalog_version_id","typeLabel":"string | null"},"comments":{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","uniqueKey":"oneOf.1.comments","typeLabel":"string"},"terms":{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","uniqueKey":"oneOf.1.terms","typeLabel":"string"},"amount":{"oneOf":[{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.1.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.1.amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.amount","typeLabel":"number | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.1.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.1.contract_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.contract_value","typeLabel":"number | null"},"collect_payment_details":{"oneOf":[{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"uniqueKey":"oneOf.1.collect_payment_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Collect customer payment method mandate during signature flow or not.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.collect_payment_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.collect_payment_details","typeLabel":"boolean | enum\u003cstring>"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"uniqueKey":"oneOf.1.collect_custom_property_ids","typeLabel":"string[]"},"contract_clause_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.contract_clause_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the contract clauses used in the quote terms.","example":["ccl_QalW2vTAdkR6IY"],"uniqueKey":"oneOf.1.contract_clause_ids","typeLabel":"string[]"},"require_tax_id":{"oneOf":[{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"uniqueKey":"oneOf.1.require_tax_id.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Require the customer to provide a tax ID during the signature flow.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.require_tax_id.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.require_tax_id","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value":{"oneOf":[{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"uniqueKey":"oneOf.1.display_quote_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.display_quote_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_quote_value","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value_with_tax":{"oneOf":[{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"uniqueKey":"oneOf.1.display_quote_value_with_tax.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_quote_value_with_tax.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_quote_value_with_tax","typeLabel":"boolean | enum\u003cstring>"},"display_taxes":{"oneOf":[{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"uniqueKey":"oneOf.1.display_taxes.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display tax breakdown on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.1.display_taxes.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_taxes","typeLabel":"boolean | enum\u003cstring>"},"display_price_tiers":{"oneOf":[{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["all","matching","none"],"example":"matching","uniqueKey":"oneOf.1.display_price_tiers.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"boolean","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","uniqueKey":"oneOf.1.display_price_tiers.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["true","false"],"example":"matching","uniqueKey":"oneOf.1.display_price_tiers.oneOf.2","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_price_tiers","typeLabel":"enum\u003cstring> · boolean · enum\u003cstring>"},"display_phase_value":{"oneOf":[{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"uniqueKey":"oneOf.1.display_phase_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display per-phase value breakdown on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_phase_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_phase_value","typeLabel":"boolean | enum\u003cstring>"},"display_discounts_on_total":{"oneOf":[{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"uniqueKey":"oneOf.1.display_discounts_on_total.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_discounts_on_total.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_discounts_on_total","typeLabel":"boolean | enum\u003cstring>"},"display_first_invoice_amount":{"oneOf":[{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"uniqueKey":"oneOf.1.display_first_invoice_amount.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the first invoice amount on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_first_invoice_amount.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_first_invoice_amount","typeLabel":"boolean | enum\u003cstring>"},"display_documents_in_preview":{"oneOf":[{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"uniqueKey":"oneOf.1.display_documents_in_preview.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display attached documents in the quote preview.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.display_documents_in_preview.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_documents_in_preview","typeLabel":"boolean | enum\u003cstring>"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","uniqueKey":"oneOf.1.subscription_update_display","typeLabel":"enum\u003cstring>"},"display_subscription_on_update":{"oneOf":[{"type":"boolean","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","deprecated":true,"example":false,"uniqueKey":"oneOf.1.display_subscription_on_update.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","enum":["true","false"],"deprecated":true,"example":false,"uniqueKey":"oneOf.1.display_subscription_on_update.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.display_subscription_on_update","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"uniqueKey":"oneOf.1.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.1.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"automatically_start_subscription":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","deprecated":true,"example":true,"uniqueKey":"oneOf.1.automatically_start_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.1.automatically_start_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.automatically_start_subscription","typeLabel":"boolean | enum\u003cstring>"}},"uniqueKey":"oneOf.1","typeLabel":"Custom · object"},{"type":"object","title":"One-off","required":["expires_at","invoice","customer_id"],"properties":{"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.2.customer_id","typeLabel":"string"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","isRequired":true,"uniqueKey":"oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"invoice":{"type":"object","properties":{"line_items":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","description":"Product ID related to the invoice line item.","example":"itm_KbLcWt2qm5p1S2","isRequired":true,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].product_id","typeLabel":"string"},"description":{"type":"string","maxLength":5000,"description":"Description of the line item as it will appear on the invoice. Default to the product description.","example":"Access fee for the period of November 2024","uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].description","typeLabel":"string"},"units_count":{"type":"number","default":1,"description":"Count of units of the product related to the invoice line item.","example":1,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].units_count","typeLabel":"number"},"tax_rate":{"type":"number","minimum":0,"maximum":100,"description":"Tax rate of the invoice line item.","example":20,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].tax_rate","typeLabel":"number"},"period_start":{"type":"string","format":"date-time","description":"Start date of the period corresponding to the line item charge.","example":"2024-10-13T00:00:00.000Z","uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"End date of the period corresponding to the line item charge.","example":"2024-11-13T00:00:00.000Z","uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"display_unit_amount":{"type":"boolean","description":"Whether the unit amount is displayed on the invoice PDF. Defaults to true.","example":true,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].display_unit_amount","typeLabel":"boolean"},"display_service_period":{"type":"boolean","description":"Whether the service period dates are displayed in the line item description on the invoice PDF. Defaults to true.","example":true,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].display_service_period","typeLabel":"boolean"},"name":{"type":"string","description":"Name of the line item as it will appear on the invoice. Default to the product name.","example":"Platform access","uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].name","typeLabel":"string"},"unit_amount":{"type":"number","description":"Amount of one unit of the product related to the invoice line item. Default to the product price amount. Expressed in currency's smallest unit.","example":24000,"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX].unit_amount","typeLabel":"number"}},"required":["product_id"],"uniqueKey":"oneOf.2.invoice.line_items.items.[INDEX]","typeLabel":"object"},"minItems":1,"description":"Line items of the invoice to be issued upon quote signature. At least one line item is required. Each line must reference a catalog product via `product_id`; `unit_amount` and `name` optionally override the catalog price and label for this quote.","isRequired":true,"uniqueKey":"oneOf.2.invoice.line_items","typeLabel":"object[]"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the invoice.","example":"ive_47484fjdhy5","uniqueKey":"oneOf.2.invoice.invoicing_entity_id","typeLabel":"string"},"number":{"type":"string","description":"Invoice number. If specified, the invoice will be considered as imported from an external source and the number will not be generated by Hyperline. You are responsible for avoiding duplicates and ensuring it does not impact the numbering sequence in Hyperline.","example":"INV-35","uniqueKey":"oneOf.2.invoice.number","typeLabel":"string"},"reference":{"type":"string","description":"Unique identifier to ease reconciliation with payment. Useful for bank transfer.","example":"V0KAHOU6J3","uniqueKey":"oneOf.2.invoice.reference","typeLabel":"string"},"purchase_order":{"type":"string","description":"Reference to the purchase order linked to the invoice.","example":"PO-12345","uniqueKey":"oneOf.2.invoice.purchase_order","typeLabel":"string"},"custom_note":{"type":"string","description":"Custom note added to the invoice.","example":"Thank you for your purchase!","uniqueKey":"oneOf.2.invoice.custom_note","typeLabel":"string"},"additional_info":{"type":"string","description":"Additional information added to the invoice. If not defined, it will be inherited from the invoicing entity's settings.","example":"This invoice must be paid within the payment delay indicated. After this period a late payment penalty of 10% will be applied.","uniqueKey":"oneOf.2.invoice.additional_info","typeLabel":"string"},"footer":{"type":"string","description":"Footer added to the invoice. If not defined, it will be inherited from the invoicing entity's settings.","example":"ACME (Acme SAS) is a company registered in France | SIREN N°123456","uniqueKey":"oneOf.2.invoice.footer","typeLabel":"string"},"tax_scheme":{"type":"string","enum":["auto","not_eligible"],"default":"auto","description":"Tax scheme of the invoice.\n\n- `auto`: Tax is automatically computed and applied.\n- `not_eligible`: Tax collection is disabled for the invoice.\n ","example":"auto","uniqueKey":"oneOf.2.invoice.tax_scheme","typeLabel":"enum\u003cstring>"},"payment_method_strategy":{"type":"string","enum":["current","external"],"description":"\nPayment method strategy used to charge the invoice. Only applies to `to_pay` status.\n\n- `current`: Use the current default payment method of the customer.\n- `external`: Manage the payment of the invoice outside of Hyperline.\n","example":"external","uniqueKey":"oneOf.2.invoice.payment_method_strategy","typeLabel":"enum\u003cstring>"},"payment_method_id":{"type":"string","description":"ID of the default payment method used to pay the invoice. Transactions related to the invoice may use different payment methods.","example":"pm_1ryTrMj4TTAT1N","uniqueKey":"oneOf.2.invoice.payment_method_id","typeLabel":"string"},"bank_account_id":{"type":"string","description":"ID of the bank account displayed on the invoice. Transactions related to the invoice may use different bank accounts.","example":"bac_KJyPrMA1toAqRG","uniqueKey":"oneOf.2.invoice.bank_account_id","typeLabel":"string"},"subscription_id":{"type":"string","description":"ID of an existing subscription of the customer to attach the invoice to.","example":"sub_amiaWZ3lzDIWaoT","uniqueKey":"oneOf.2.invoice.subscription_id","typeLabel":"string"},"emitted_at":{"type":"string","format":"date-time","description":"Issue date of the invoice.","example":"2024-10-13T00:00:00.000Z","uniqueKey":"oneOf.2.invoice.emitted_at","typeLabel":"string\u003cdate-time>"},"due_at":{"type":"string","format":"date-time","description":"Due date of the invoice. Computed from the issue date and the payment delay configured in your settings.","example":"2024-11-12T00:00:00.000Z","uniqueKey":"oneOf.2.invoice.due_at","typeLabel":"string\u003cdate-time>"},"properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"null","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX].oneOf.4","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string · number · boolean · null · null"},"uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.4","typeLabel":"string · number · boolean · null · null[]"},{"type":"null","uniqueKey":"oneOf.2.invoice.properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.properties.additionalProperties","typeLabel":"string · number · boolean · null · string · number · boolean · null · null[] · null"},"description":"Key/value pairs to store any metadata useful in your context.","uniqueKey":"oneOf.2.invoice.properties","typeLabel":"object"},"custom_properties":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"string","description":"UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","format":"date-time","example":"2024-12-20T16:04:11Z","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.3","typeLabel":"string\u003cdate-time>"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.custom_properties.additionalProperties","typeLabel":"string | number | boolean | string\u003cdate-time> | string[] | null"},"description":"Values for custom properties defined for the `invoice` entity, keyed by slug.","uniqueKey":"oneOf.2.invoice.custom_properties","typeLabel":"object"},"coupons":{"type":"array","items":{"oneOf":[{"type":"object","title":"Coupon amount","required":["coupon_id"],"properties":{"coupon_id":{"type":"string","description":"Coupon ID.","example":"cou_1eTaiytfA0i2Vb","isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.coupon_id","typeLabel":"string"},"name":{"type":"string","minLength":1,"description":"Name of the coupon.","example":"Black Friday 2023","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.name","typeLabel":"string"},"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Amount corresponding to the discounted part of the total amount.","example":500,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.discount_amount","typeLabel":"number"},"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Percentage overriding the catalog coupon value, applied to the eligible line items amount (excluding tax), between 0 (excluded) and 100. Cannot be combined with `discount_amount`.","example":10,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.discount_percent","typeLabel":"number"},"line_item_indexes":{"oneOf":[{"type":"array","items":{"type":"number","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.line_item_indexes.oneOf.0.items.[INDEX]","typeLabel":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.line_item_indexes.oneOf.0","typeLabel":"number[]"},{"type":"null","items":{"type":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.line_item_indexes.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0.line_item_indexes","typeLabel":"number[] | null"}},"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.0","typeLabel":"Coupon amount · object"},{"type":"object","title":"Inline coupon","required":["discount_amount","line_item_indexes"],"properties":{"discount_amount":{"type":"number","exclusiveMinimum":0,"description":"Amount corresponding to the discounted part of the total amount.","example":500,"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.discount_amount","typeLabel":"number"},"line_item_indexes":{"oneOf":[{"type":"array","items":{"type":"number","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.line_item_indexes.oneOf.0.items.[INDEX]","typeLabel":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.line_item_indexes.oneOf.0","typeLabel":"number[]"},{"type":"null","items":{"type":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.line_item_indexes.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.line_item_indexes","typeLabel":"number[] | null"},"name":{"type":"string","minLength":1,"description":"Name of the coupon.","example":"Black Friday 2023","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1.name","typeLabel":"string"}},"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.1","typeLabel":"Inline coupon · object"},{"type":"object","title":"Inline percent coupon","required":["discount_percent"],"properties":{"discount_percent":{"type":"number","exclusiveMinimum":0,"maximum":100,"description":"Percentage of the eligible line items amount (excluding tax) to discount, between 0 (excluded) and 100.","example":10,"isRequired":true,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.discount_percent","typeLabel":"number"},"name":{"type":"string","minLength":1,"description":"Name of the coupon.","example":"Black Friday 2023","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.name","typeLabel":"string"},"line_item_indexes":{"oneOf":[{"type":"array","items":{"type":"number","uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.line_item_indexes.oneOf.0.items.[INDEX]","typeLabel":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.line_item_indexes.oneOf.0","typeLabel":"number[]"},{"type":"null","items":{"type":"number"},"description":"Index of the line items to which the coupon applies. Null means all line items.","example":[0,1],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.line_item_indexes.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2.line_item_indexes","typeLabel":"number[] | null"}},"additionalProperties":false,"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX].oneOf.2","typeLabel":"Inline percent coupon · object"}],"uniqueKey":"oneOf.2.invoice.coupons.items.[INDEX]","typeLabel":"Coupon amount · object | Inline coupon · object | Inline percent coupon · object"},"description":"Coupons to apply to the invoice. Each coupon either references an existing coupon by id or defines an inline discount.","uniqueKey":"oneOf.2.invoice.coupons","typeLabel":"(Coupon amount · object | Inline coupon · object | Inline percent coupon · object)[]"}},"required":["line_items"],"description":"Invoice configuration constituting the one-off quote. When provided, a draft invoice is created and linked to the quote. Cannot be combined with `subscription` or `template_id`.","isRequired":true,"uniqueKey":"oneOf.2.invoice","typeLabel":"object"},"status":{"type":"string","enum":["draft","approved","pending_signature"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n ","example":"draft","uniqueKey":"oneOf.2.status","typeLabel":"enum\u003cstring>"},"owner_email":{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. If not specified, the Hyperline account owner will be assigned.","example":"joe@acme.com","uniqueKey":"oneOf.2.owner_email","typeLabel":"string\u003cemail>"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","uniqueKey":"oneOf.2.invoicing_entity_id","typeLabel":"string"},"catalog_version_id":{"oneOf":[{"type":"string","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.2.catalog_version_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own `catalog_version_id` takes precedence, and explicit `prices` always win over both.","example":"pcv_9x8v7u6t5s4r","uniqueKey":"oneOf.2.catalog_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.catalog_version_id","typeLabel":"string | null"},"comments":{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","uniqueKey":"oneOf.2.comments","typeLabel":"string"},"terms":{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","uniqueKey":"oneOf.2.terms","typeLabel":"string"},"amount":{"oneOf":[{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.2.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored — the amount is always derived from the linked invoice's `amount_excluding_tax`.","example":20000,"uniqueKey":"oneOf.2.amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.amount","typeLabel":"number | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.2.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes. When specified, overrides the computed value.","example":18000,"uniqueKey":"oneOf.2.contract_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.contract_value","typeLabel":"number | null"},"collect_payment_details":{"oneOf":[{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"uniqueKey":"oneOf.2.collect_payment_details.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Collect customer payment method mandate during signature flow or not.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.2.collect_payment_details.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.collect_payment_details","typeLabel":"boolean | enum\u003cstring>"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"uniqueKey":"oneOf.2.collect_custom_property_ids","typeLabel":"string[]"},"contract_clause_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.contract_clause_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the contract clauses used in the quote terms.","example":["ccl_QalW2vTAdkR6IY"],"uniqueKey":"oneOf.2.contract_clause_ids","typeLabel":"string[]"},"require_tax_id":{"oneOf":[{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"uniqueKey":"oneOf.2.require_tax_id.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Require the customer to provide a tax ID during the signature flow.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.require_tax_id.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.require_tax_id","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value":{"oneOf":[{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"uniqueKey":"oneOf.2.display_quote_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.2.display_quote_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_quote_value","typeLabel":"boolean | enum\u003cstring>"},"display_quote_value_with_tax":{"oneOf":[{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"uniqueKey":"oneOf.2.display_quote_value_with_tax.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_quote_value_with_tax.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_quote_value_with_tax","typeLabel":"boolean | enum\u003cstring>"},"display_taxes":{"oneOf":[{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"uniqueKey":"oneOf.2.display_taxes.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display tax breakdown on the quote.","enum":["true","false"],"example":true,"uniqueKey":"oneOf.2.display_taxes.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_taxes","typeLabel":"boolean | enum\u003cstring>"},"display_price_tiers":{"oneOf":[{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["all","matching","none"],"example":"matching","uniqueKey":"oneOf.2.display_price_tiers.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"boolean","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","uniqueKey":"oneOf.2.display_price_tiers.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","enum":["true","false"],"example":"matching","uniqueKey":"oneOf.2.display_price_tiers.oneOf.2","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_price_tiers","typeLabel":"enum\u003cstring> · boolean · enum\u003cstring>"},"display_phase_value":{"oneOf":[{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"uniqueKey":"oneOf.2.display_phase_value.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display per-phase value breakdown on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_phase_value.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_phase_value","typeLabel":"boolean | enum\u003cstring>"},"display_discounts_on_total":{"oneOf":[{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"uniqueKey":"oneOf.2.display_discounts_on_total.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_discounts_on_total.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_discounts_on_total","typeLabel":"boolean | enum\u003cstring>"},"display_first_invoice_amount":{"oneOf":[{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"uniqueKey":"oneOf.2.display_first_invoice_amount.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display the first invoice amount on the quote.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_first_invoice_amount.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_first_invoice_amount","typeLabel":"boolean | enum\u003cstring>"},"display_documents_in_preview":{"oneOf":[{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"uniqueKey":"oneOf.2.display_documents_in_preview.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Display attached documents in the quote preview.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.display_documents_in_preview.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_documents_in_preview","typeLabel":"boolean | enum\u003cstring>"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","uniqueKey":"oneOf.2.subscription_update_display","typeLabel":"enum\u003cstring>"},"display_subscription_on_update":{"oneOf":[{"type":"boolean","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","deprecated":true,"example":false,"uniqueKey":"oneOf.2.display_subscription_on_update.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","enum":["true","false"],"deprecated":true,"example":false,"uniqueKey":"oneOf.2.display_subscription_on_update.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.display_subscription_on_update","typeLabel":"boolean | enum\u003cstring>"},"generate_draft_invoices":{"oneOf":[{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"uniqueKey":"oneOf.2.generate_draft_invoices.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","enum":["true","false"],"example":false,"uniqueKey":"oneOf.2.generate_draft_invoices.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.generate_draft_invoices","typeLabel":"boolean | enum\u003cstring>"},"automatically_start_subscription":{"oneOf":[{"type":"boolean","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","deprecated":true,"example":true,"uniqueKey":"oneOf.2.automatically_start_subscription.oneOf.0","typeLabel":"boolean"},{"type":"string","description":"Deprecated field, please use the phase activation strategy `quote_signature` instead.","enum":["true","false"],"deprecated":true,"example":true,"uniqueKey":"oneOf.2.automatically_start_subscription.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.automatically_start_subscription","typeLabel":"boolean | enum\u003cstring>"}},"uniqueKey":"oneOf.2","typeLabel":"One-off · object"}],"uniqueKey":"","typeLabel":"From a template · object | Custom · object | One-off · object"},"examples":{"Example":{"title":"Example","value":{"customer_id":"cus_QalW2vTAdkR6IY","template_id":"quot_9hNWq4c84Z146W","status":"draft","owner_email":"joe@acme.com","invoicing_entity_id":"ive_47484fjdhy5","catalog_version_id":"pcv_9x8v7u6t5s4r","comments":"Please find the contract and subscription details we discussed.","terms":"By signing this quote, you accept our conditions of use for the use of our products and services.","amount":20000,"contract_value":18000,"collect_payment_details":true,"collect_custom_property_ids":[],"contract_clause_ids":["ccl_QalW2vTAdkR6IY"],"require_tax_id":false,"display_quote_value":true,"display_quote_value_with_tax":false,"display_taxes":true,"display_price_tiers":"matching","display_phase_value":false,"display_discounts_on_total":false,"display_first_invoice_amount":false,"display_documents_in_preview":false,"subscription_update_display":"quote_update_details","display_subscription_on_update":false,"generate_draft_invoices":false,"automatically_start_subscription":true,"expires_at":"2024-04-28T14:12:09.293Z","subscription":{"phases":[{"end_strategy":"duration","billing_date_setting":"phase_start","products":[{"id":"itm_FJKlqUb8COXw55","catalog_version_id":"pcv_9x8v7u6t5s4r","name":"Product name","description":"A description of the product.","description_display_interval_dates":false,"payment_interval":{"period":"once"},"payment_schedule":"start","price":{"type":"fee","amount":200},"prices":[{"type":"volume","from":0,"to":20,"amount":200,"unit_count":1,"on_tier_incomplete":null},{"type":"volume","from":20,"to":null,"amount":150,"unit_count":1,"on_tier_incomplete":null}],"count":2,"unit_name":"user","min_committed_count":2,"min_amount":123,"max_amount":123,"bill_usage_difference":false,"credits_expiration_in_days":123,"expire_credits_at_end_of_period":false,"credits_balance_auto_creation_enabled":true,"estimated_count":200}],"activation_strategy":"manual","name":"Initial term","type":"standard","status":"pending","order":0,"duration":{"count":1,"period":"years"},"initial_billing_at":"2024-12-20T16:04:11Z","starts_at":"2024-12-20T16:04:11Z","ends_at":"2024-12-20T16:04:11Z","billing_cycle_alignment":"anniversary","do_not_invoice_phase":false,"minimum_invoice_fee":10000,"minimum_invoice_fee_products":["itm_aaaaaaaaaaaaaa"],"transition_calculation_method":"prorata","transition_invoicing_schedule":"immediately","coupons":[{"id":"\u003cstring>","duration_count":123,"expires_at":"2024-12-20T16:04:11Z","apply_at":"2024-12-20T16:04:11Z","product_ids":["\u003cstring>"]}]}],"name":"\u003cstring>","purchase_order":"\u003cstring>","invoicing_entity_id":"ive_jerrb484RHn","crm_opportunity_id":"\u003cstring>","commitment_interval":{"period":"years","count":1},"renew_automatically":true,"renew_for":{"period":"years","count":1},"minimum_invoice_fee":250,"starts_at":"2024-12-20T16:04:11Z","contract_start":"2024-01-15T00:00:00Z","contract_end":"2025-01-15T00:00:00Z","initial_billing_at":"2024-12-20T16:04:11Z","shipping_address_id":"cad_abc123","display_shipping_details":true,"cancel_at":"2024-12-20T16:04:11Z","cancellation_amount":123,"properties":{},"custom_properties":{},"tax_only":true,"generate_draft_invoices":true,"generate_document":true,"document_name":"\u003cstring>","add_tax_to_document":true,"do_not_charge_subscription":true,"invoice_custom_note":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"93b131dd-af1d-4836-b17b-606e096b9727":{"description":"","content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"Draft","required":["id","type","status","amount","customer_id","invoicing_entity_id","configurations","template_id","crm_opportunity_id","contract_value","number","comments","terms","owner_email","collect_payment_details","collect_custom_property_ids","require_tax_id","display_quote_value","display_quote_value_with_tax","display_taxes","display_price_tiers","display_phase_value","display_discounts_on_total","display_first_invoice_amount","display_documents_in_preview","subscription_update_display","post_signature_activation_enabled","generate_draft_invoices","attachments","signed_file","url","created_at","updated_at","expires_at","subscription_id","display_subscription_on_update"],"properties":{"id":{"type":"string","description":"Quote ID.","example":"quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.0.id","typeLabel":"string"},"type":{"oneOf":[{"type":"string","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.0.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.0.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"enum\u003cstring> | null"},"status":{"type":"string","enum":["draft"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `pending_approval`: The quote is pending manager review and approval.\n- `changes_requested`: Some changes have been requested following manager review.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n- `signed`: The quote is signed and fully finalized.\n- `voided`: The quote is voided.\n","example":"draft","isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"enum\u003cstring>"},"amount":{"oneOf":[{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count.","example":200000,"isRequired":true,"uniqueKey":"oneOf.0.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count.","example":200000,"isRequired":true,"uniqueKey":"oneOf.0.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.amount","typeLabel":"number | null"},"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.0.customer_id","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","isRequired":true,"uniqueKey":"oneOf.0.invoicing_entity_id","typeLabel":"string"},"configurations":{"type":"array","items":{"oneOf":[{"type":"object","title":"Subscription or update","required":["id","customer_id","position","amount","applied_at","type","subscription_id","estimates"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["subscription","subscription_update"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"subscription_id":{"oneOf":[{"type":"string","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.subscription_id","typeLabel":"string | null"},"estimates":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","description":"ID of the estimated product in the catalog.","example":"itm_3kXODIM1sBwBbJ","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].product_id","typeLabel":"string"},"price_configuration_id":{"oneOf":[{"type":"string","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id","typeLabel":"string | null"},"phase_order":{"type":"integer","description":"Order of the quote phase holding the estimated line.","example":0,"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].phase_order","typeLabel":"integer"},"period_start":{"oneOf":[{"type":"string","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start","typeLabel":"string\u003cdate-time> | null"},"period_end":{"oneOf":[{"type":"string","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end","typeLabel":"string\u003cdate-time> | null"},"estimated_count":{"type":"number","description":"Estimated number of units per billing period.","example":200,"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_count","typeLabel":"number"},"estimated_amount":{"oneOf":[{"type":"number","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount","typeLabel":"number | null"},"estimated_total_amount":{"oneOf":[{"type":"number","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount","typeLabel":"number | null"}},"required":["product_id","price_configuration_id","phase_order","period_start","period_end","estimated_count","estimated_amount","estimated_total_amount"],"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX]","typeLabel":"object"},"description":"Estimated quantities declared on the quote for its usage-based and connected seat lines of the configuration. They price the quote value and are never billed. Once the quote is signed (a subscription update quote: once applied) they are frozen with their periods and amounts, as the record of what the quote sold.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0.estimates","typeLabel":"object[]"}},"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.0","typeLabel":"Subscription or update · object"},{"type":"object","title":"One-off invoice","required":["id","customer_id","position","amount","applied_at","type","invoice_id"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["one_off"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"invoice_id":{"oneOf":[{"type":"string","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1.invoice_id","typeLabel":"string | null"}},"uniqueKey":"oneOf.0.configurations.items.[INDEX].oneOf.1","typeLabel":"One-off invoice · object"}],"uniqueKey":"oneOf.0.configurations.items.[INDEX]","typeLabel":"Subscription or update · object | One-off invoice · object"},"description":"Ordered configurations included in the quote.","isRequired":true,"uniqueKey":"oneOf.0.configurations","typeLabel":"(Subscription or update · object | One-off invoice · object)[]"},"template_id":{"oneOf":[{"type":"string","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.0.template_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.0.template_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.template_id","typeLabel":"string | null"},"crm_opportunity_id":{"oneOf":[{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.0.crm_opportunity_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.0.crm_opportunity_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.crm_opportunity_id","typeLabel":"string | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.0.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.0.contract_value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.contract_value","typeLabel":"number | null"},"number":{"type":"string","description":"Quote sequential number.","example":"327","isRequired":true,"uniqueKey":"oneOf.0.number","typeLabel":"string"},"comments":{"oneOf":[{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.0.comments.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.0.comments.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.comments","typeLabel":"string | null"},"terms":{"oneOf":[{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.0.terms.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.0.terms.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.terms","typeLabel":"string | null"},"owner_email":{"oneOf":[{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.0.owner_email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.0.owner_email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.owner_email","typeLabel":"string\u003cemail> | null"},"collect_payment_details":{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"isRequired":true,"uniqueKey":"oneOf.0.collect_payment_details","typeLabel":"boolean"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"isRequired":true,"uniqueKey":"oneOf.0.collect_custom_property_ids","typeLabel":"string[]"},"require_tax_id":{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"isRequired":true,"uniqueKey":"oneOf.0.require_tax_id","typeLabel":"boolean"},"display_quote_value":{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.0.display_quote_value","typeLabel":"boolean"},"display_quote_value_with_tax":{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"isRequired":true,"uniqueKey":"oneOf.0.display_quote_value_with_tax","typeLabel":"boolean"},"display_taxes":{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.0.display_taxes","typeLabel":"boolean"},"display_price_tiers":{"type":"string","enum":["all","matching","none"],"description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","isRequired":true,"uniqueKey":"oneOf.0.display_price_tiers","typeLabel":"enum\u003cstring>"},"display_phase_value":{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.0.display_phase_value","typeLabel":"boolean"},"display_discounts_on_total":{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"isRequired":true,"uniqueKey":"oneOf.0.display_discounts_on_total","typeLabel":"boolean"},"display_first_invoice_amount":{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.0.display_first_invoice_amount","typeLabel":"boolean"},"display_documents_in_preview":{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"isRequired":true,"uniqueKey":"oneOf.0.display_documents_in_preview","typeLabel":"boolean"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","isRequired":true,"uniqueKey":"oneOf.0.subscription_update_display","typeLabel":"enum\u003cstring>"},"post_signature_activation_enabled":{"type":"boolean","description":"Whether the subscription is automatically orchestrated after the quote is signed. Only applies to the Hyperline CPQ-only product.","example":true,"isRequired":true,"uniqueKey":"oneOf.0.post_signature_activation_enabled","typeLabel":"boolean"},"generate_draft_invoices":{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"isRequired":true,"uniqueKey":"oneOf.0.generate_draft_invoices","typeLabel":"boolean"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.0.attachments.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.0.attachments.items.[INDEX].name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.0.attachments.items.[INDEX].mimetype","typeLabel":"string"}},"required":["id","name","mimetype"],"uniqueKey":"oneOf.0.attachments.items.[INDEX]","typeLabel":"object"},"description":"List of documents attached to the quote.","example":[{"id":"quof_5GYXy8P3QCdaXh","name":"General Conditions of Sale","mimetype":"application/pdf"}],"isRequired":true,"uniqueKey":"oneOf.0.attachments","typeLabel":"object[]"},"signed_file":{"type":"object","description":"Final signed quote (manually uploaded).","required":["id","name","mimetype"],"example":null,"properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.0.signed_file.id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.0.signed_file.name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.0.signed_file.mimetype","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.signed_file","typeLabel":"object"},"url":{"oneOf":[{"type":"string","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.0.url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.0.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.url","typeLabel":"string\u003curi> | null"},"created_at":{"type":"string","format":"date-time","description":"Quote creation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.0.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Quote update date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T10:22:08.100Z","isRequired":true,"uniqueKey":"oneOf.0.updated_at","typeLabel":"string\u003cdate-time>"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":null,"isRequired":true,"uniqueKey":"oneOf.0.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":null,"isRequired":true,"uniqueKey":"oneOf.0.expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.expires_at","typeLabel":"string\u003cdate-time> | null"},"subscription_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.0.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.0.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.subscription_id","typeLabel":"string | null"},"display_subscription_on_update":{"type":"boolean","deprecated":true,"description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","example":false,"isRequired":true,"uniqueKey":"oneOf.0.display_subscription_on_update","typeLabel":"boolean"},"invoice_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.0.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.0.invoice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.invoice_id","typeLabel":"string | null"},"child_subscription_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.child_subscription_ids.items.[INDEX]","typeLabel":"string"},"deprecated":true,"description":"Deprecated field, please use `GET /v2/subscriptions` with the `original_quote_id` filter.","uniqueKey":"oneOf.0.child_subscription_ids","typeLabel":"string[]"}},"uniqueKey":"oneOf.0","typeLabel":"Draft · object"},{"type":"object","title":"Awaiting approval","required":["id","type","status","amount","customer_id","invoicing_entity_id","configurations","template_id","crm_opportunity_id","contract_value","number","comments","terms","owner_email","collect_payment_details","collect_custom_property_ids","require_tax_id","display_quote_value","display_quote_value_with_tax","display_taxes","display_price_tiers","display_phase_value","display_discounts_on_total","display_first_invoice_amount","display_documents_in_preview","subscription_update_display","post_signature_activation_enabled","generate_draft_invoices","attachments","signed_file","url","created_at","updated_at","expires_at","subscription_id","display_subscription_on_update"],"properties":{"id":{"type":"string","description":"Quote ID.","example":"quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.1.id","typeLabel":"string"},"type":{"oneOf":[{"type":"string","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.1.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.1.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"enum\u003cstring> | null"},"status":{"type":"string","enum":["pending_approval","changes_requested"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `pending_approval`: The quote is pending manager review and approval.\n- `changes_requested`: Some changes have been requested following manager review.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n- `signed`: The quote is signed and fully finalized.\n- `voided`: The quote is voided.\n","example":"pending_approval","isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count.","example":20000,"isRequired":true,"uniqueKey":"oneOf.1.amount","typeLabel":"number"},"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.1.customer_id","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","isRequired":true,"uniqueKey":"oneOf.1.invoicing_entity_id","typeLabel":"string"},"configurations":{"type":"array","items":{"oneOf":[{"type":"object","title":"Subscription or update","required":["id","customer_id","position","amount","applied_at","type","subscription_id","estimates"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["subscription","subscription_update"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"subscription_id":{"oneOf":[{"type":"string","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.subscription_id","typeLabel":"string | null"},"estimates":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","description":"ID of the estimated product in the catalog.","example":"itm_3kXODIM1sBwBbJ","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].product_id","typeLabel":"string"},"price_configuration_id":{"oneOf":[{"type":"string","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id","typeLabel":"string | null"},"phase_order":{"type":"integer","description":"Order of the quote phase holding the estimated line.","example":0,"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].phase_order","typeLabel":"integer"},"period_start":{"oneOf":[{"type":"string","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start","typeLabel":"string\u003cdate-time> | null"},"period_end":{"oneOf":[{"type":"string","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end","typeLabel":"string\u003cdate-time> | null"},"estimated_count":{"type":"number","description":"Estimated number of units per billing period.","example":200,"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_count","typeLabel":"number"},"estimated_amount":{"oneOf":[{"type":"number","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount","typeLabel":"number | null"},"estimated_total_amount":{"oneOf":[{"type":"number","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount","typeLabel":"number | null"}},"required":["product_id","price_configuration_id","phase_order","period_start","period_end","estimated_count","estimated_amount","estimated_total_amount"],"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX]","typeLabel":"object"},"description":"Estimated quantities declared on the quote for its usage-based and connected seat lines of the configuration. They price the quote value and are never billed. Once the quote is signed (a subscription update quote: once applied) they are frozen with their periods and amounts, as the record of what the quote sold.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0.estimates","typeLabel":"object[]"}},"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.0","typeLabel":"Subscription or update · object"},{"type":"object","title":"One-off invoice","required":["id","customer_id","position","amount","applied_at","type","invoice_id"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["one_off"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"invoice_id":{"oneOf":[{"type":"string","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1.invoice_id","typeLabel":"string | null"}},"uniqueKey":"oneOf.1.configurations.items.[INDEX].oneOf.1","typeLabel":"One-off invoice · object"}],"uniqueKey":"oneOf.1.configurations.items.[INDEX]","typeLabel":"Subscription or update · object | One-off invoice · object"},"description":"Ordered configurations included in the quote.","isRequired":true,"uniqueKey":"oneOf.1.configurations","typeLabel":"(Subscription or update · object | One-off invoice · object)[]"},"template_id":{"oneOf":[{"type":"string","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.1.template_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.1.template_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.template_id","typeLabel":"string | null"},"crm_opportunity_id":{"oneOf":[{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.1.crm_opportunity_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.1.crm_opportunity_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.crm_opportunity_id","typeLabel":"string | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.1.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.1.contract_value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.contract_value","typeLabel":"number | null"},"number":{"type":"string","description":"Quote sequential number.","example":"327","isRequired":true,"uniqueKey":"oneOf.1.number","typeLabel":"string"},"comments":{"oneOf":[{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.1.comments.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.1.comments.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.comments","typeLabel":"string | null"},"terms":{"oneOf":[{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.1.terms.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.1.terms.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.terms","typeLabel":"string | null"},"owner_email":{"oneOf":[{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.1.owner_email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.1.owner_email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.owner_email","typeLabel":"string\u003cemail> | null"},"collect_payment_details":{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"isRequired":true,"uniqueKey":"oneOf.1.collect_payment_details","typeLabel":"boolean"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"isRequired":true,"uniqueKey":"oneOf.1.collect_custom_property_ids","typeLabel":"string[]"},"require_tax_id":{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.require_tax_id","typeLabel":"boolean"},"display_quote_value":{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.1.display_quote_value","typeLabel":"boolean"},"display_quote_value_with_tax":{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.display_quote_value_with_tax","typeLabel":"boolean"},"display_taxes":{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.1.display_taxes","typeLabel":"boolean"},"display_price_tiers":{"type":"string","enum":["all","matching","none"],"description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","isRequired":true,"uniqueKey":"oneOf.1.display_price_tiers","typeLabel":"enum\u003cstring>"},"display_phase_value":{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.display_phase_value","typeLabel":"boolean"},"display_discounts_on_total":{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.display_discounts_on_total","typeLabel":"boolean"},"display_first_invoice_amount":{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.display_first_invoice_amount","typeLabel":"boolean"},"display_documents_in_preview":{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.display_documents_in_preview","typeLabel":"boolean"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","isRequired":true,"uniqueKey":"oneOf.1.subscription_update_display","typeLabel":"enum\u003cstring>"},"post_signature_activation_enabled":{"type":"boolean","description":"Whether the subscription is automatically orchestrated after the quote is signed. Only applies to the Hyperline CPQ-only product.","example":true,"isRequired":true,"uniqueKey":"oneOf.1.post_signature_activation_enabled","typeLabel":"boolean"},"generate_draft_invoices":{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.generate_draft_invoices","typeLabel":"boolean"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.1.attachments.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.1.attachments.items.[INDEX].name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.1.attachments.items.[INDEX].mimetype","typeLabel":"string"}},"required":["id","name","mimetype"],"uniqueKey":"oneOf.1.attachments.items.[INDEX]","typeLabel":"object"},"description":"List of documents attached to the quote.","example":[{"id":"quof_5GYXy8P3QCdaXh","name":"General Conditions of Sale","mimetype":"application/pdf"}],"isRequired":true,"uniqueKey":"oneOf.1.attachments","typeLabel":"object[]"},"signed_file":{"type":"object","description":"Final signed quote (manually uploaded).","required":["id","name","mimetype"],"example":null,"properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.1.signed_file.id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.1.signed_file.name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.1.signed_file.mimetype","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.signed_file","typeLabel":"object"},"url":{"oneOf":[{"type":"string","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.1.url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.1.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.url","typeLabel":"string\u003curi> | null"},"created_at":{"type":"string","format":"date-time","description":"Quote creation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.1.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Quote update date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T10:22:08.100Z","isRequired":true,"uniqueKey":"oneOf.1.updated_at","typeLabel":"string\u003cdate-time>"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","isRequired":true,"uniqueKey":"oneOf.1.expires_at","typeLabel":"string\u003cdate-time>"},"subscription_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.1.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.1.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.subscription_id","typeLabel":"string | null"},"display_subscription_on_update":{"type":"boolean","deprecated":true,"description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.display_subscription_on_update","typeLabel":"boolean"},"invoice_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.1.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.1.invoice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.invoice_id","typeLabel":"string | null"},"child_subscription_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.child_subscription_ids.items.[INDEX]","typeLabel":"string"},"deprecated":true,"description":"Deprecated field, please use `GET /v2/subscriptions` with the `original_quote_id` filter.","uniqueKey":"oneOf.1.child_subscription_ids","typeLabel":"string[]"}},"uniqueKey":"oneOf.1","typeLabel":"Awaiting approval · object"},{"type":"object","title":"Ready for signature","required":["id","type","status","amount","customer_id","invoicing_entity_id","configurations","template_id","crm_opportunity_id","contract_value","number","comments","terms","owner_email","collect_payment_details","collect_custom_property_ids","require_tax_id","display_quote_value","display_quote_value_with_tax","display_taxes","display_price_tiers","display_phase_value","display_discounts_on_total","display_first_invoice_amount","display_documents_in_preview","subscription_update_display","post_signature_activation_enabled","generate_draft_invoices","attachments","signed_file","url","created_at","updated_at","expires_at","approved_at","subscription_id","display_subscription_on_update"],"properties":{"id":{"type":"string","description":"Quote ID.","example":"quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.2.id","typeLabel":"string"},"type":{"oneOf":[{"type":"string","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.2.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.2.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"enum\u003cstring> | null"},"status":{"type":"string","enum":["approved","pending_signature"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `pending_approval`: The quote is pending manager review and approval.\n- `changes_requested`: Some changes have been requested following manager review.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n- `signed`: The quote is signed and fully finalized.\n- `voided`: The quote is voided.\n","example":"pending_signature","isRequired":true,"uniqueKey":"oneOf.2.status","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count.","example":20000,"isRequired":true,"uniqueKey":"oneOf.2.amount","typeLabel":"number"},"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.2.customer_id","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","isRequired":true,"uniqueKey":"oneOf.2.invoicing_entity_id","typeLabel":"string"},"configurations":{"type":"array","items":{"oneOf":[{"type":"object","title":"Subscription or update","required":["id","customer_id","position","amount","applied_at","type","subscription_id","estimates"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["subscription","subscription_update"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"subscription_id":{"oneOf":[{"type":"string","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.subscription_id","typeLabel":"string | null"},"estimates":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","description":"ID of the estimated product in the catalog.","example":"itm_3kXODIM1sBwBbJ","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].product_id","typeLabel":"string"},"price_configuration_id":{"oneOf":[{"type":"string","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id","typeLabel":"string | null"},"phase_order":{"type":"integer","description":"Order of the quote phase holding the estimated line.","example":0,"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].phase_order","typeLabel":"integer"},"period_start":{"oneOf":[{"type":"string","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start","typeLabel":"string\u003cdate-time> | null"},"period_end":{"oneOf":[{"type":"string","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end","typeLabel":"string\u003cdate-time> | null"},"estimated_count":{"type":"number","description":"Estimated number of units per billing period.","example":200,"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_count","typeLabel":"number"},"estimated_amount":{"oneOf":[{"type":"number","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount","typeLabel":"number | null"},"estimated_total_amount":{"oneOf":[{"type":"number","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount","typeLabel":"number | null"}},"required":["product_id","price_configuration_id","phase_order","period_start","period_end","estimated_count","estimated_amount","estimated_total_amount"],"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX]","typeLabel":"object"},"description":"Estimated quantities declared on the quote for its usage-based and connected seat lines of the configuration. They price the quote value and are never billed. Once the quote is signed (a subscription update quote: once applied) they are frozen with their periods and amounts, as the record of what the quote sold.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0.estimates","typeLabel":"object[]"}},"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.0","typeLabel":"Subscription or update · object"},{"type":"object","title":"One-off invoice","required":["id","customer_id","position","amount","applied_at","type","invoice_id"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["one_off"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"invoice_id":{"oneOf":[{"type":"string","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1.invoice_id","typeLabel":"string | null"}},"uniqueKey":"oneOf.2.configurations.items.[INDEX].oneOf.1","typeLabel":"One-off invoice · object"}],"uniqueKey":"oneOf.2.configurations.items.[INDEX]","typeLabel":"Subscription or update · object | One-off invoice · object"},"description":"Ordered configurations included in the quote.","isRequired":true,"uniqueKey":"oneOf.2.configurations","typeLabel":"(Subscription or update · object | One-off invoice · object)[]"},"template_id":{"oneOf":[{"type":"string","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.2.template_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.2.template_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.template_id","typeLabel":"string | null"},"crm_opportunity_id":{"oneOf":[{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.2.crm_opportunity_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.2.crm_opportunity_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.crm_opportunity_id","typeLabel":"string | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.2.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.2.contract_value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.contract_value","typeLabel":"number | null"},"number":{"type":"string","description":"Quote sequential number.","example":"327","isRequired":true,"uniqueKey":"oneOf.2.number","typeLabel":"string"},"comments":{"oneOf":[{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.2.comments.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.2.comments.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.comments","typeLabel":"string | null"},"terms":{"oneOf":[{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.2.terms.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.2.terms.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.terms","typeLabel":"string | null"},"owner_email":{"oneOf":[{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.2.owner_email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.2.owner_email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.owner_email","typeLabel":"string\u003cemail> | null"},"collect_payment_details":{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"isRequired":true,"uniqueKey":"oneOf.2.collect_payment_details","typeLabel":"boolean"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"isRequired":true,"uniqueKey":"oneOf.2.collect_custom_property_ids","typeLabel":"string[]"},"require_tax_id":{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"isRequired":true,"uniqueKey":"oneOf.2.require_tax_id","typeLabel":"boolean"},"display_quote_value":{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.2.display_quote_value","typeLabel":"boolean"},"display_quote_value_with_tax":{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"isRequired":true,"uniqueKey":"oneOf.2.display_quote_value_with_tax","typeLabel":"boolean"},"display_taxes":{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.2.display_taxes","typeLabel":"boolean"},"display_price_tiers":{"type":"string","enum":["all","matching","none"],"description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","isRequired":true,"uniqueKey":"oneOf.2.display_price_tiers","typeLabel":"enum\u003cstring>"},"display_phase_value":{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.2.display_phase_value","typeLabel":"boolean"},"display_discounts_on_total":{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"isRequired":true,"uniqueKey":"oneOf.2.display_discounts_on_total","typeLabel":"boolean"},"display_first_invoice_amount":{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.2.display_first_invoice_amount","typeLabel":"boolean"},"display_documents_in_preview":{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"isRequired":true,"uniqueKey":"oneOf.2.display_documents_in_preview","typeLabel":"boolean"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","isRequired":true,"uniqueKey":"oneOf.2.subscription_update_display","typeLabel":"enum\u003cstring>"},"post_signature_activation_enabled":{"type":"boolean","description":"Whether the subscription is automatically orchestrated after the quote is signed. Only applies to the Hyperline CPQ-only product.","example":true,"isRequired":true,"uniqueKey":"oneOf.2.post_signature_activation_enabled","typeLabel":"boolean"},"generate_draft_invoices":{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"isRequired":true,"uniqueKey":"oneOf.2.generate_draft_invoices","typeLabel":"boolean"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.2.attachments.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.2.attachments.items.[INDEX].name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.2.attachments.items.[INDEX].mimetype","typeLabel":"string"}},"required":["id","name","mimetype"],"uniqueKey":"oneOf.2.attachments.items.[INDEX]","typeLabel":"object"},"description":"List of documents attached to the quote.","example":[{"id":"quof_5GYXy8P3QCdaXh","name":"General Conditions of Sale","mimetype":"application/pdf"}],"isRequired":true,"uniqueKey":"oneOf.2.attachments","typeLabel":"object[]"},"signed_file":{"type":"object","description":"Final signed quote (manually uploaded).","required":["id","name","mimetype"],"example":null,"properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.2.signed_file.id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.2.signed_file.name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.2.signed_file.mimetype","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.signed_file","typeLabel":"object"},"url":{"oneOf":[{"type":"string","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.2.url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.2.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.url","typeLabel":"string\u003curi> | null"},"created_at":{"type":"string","format":"date-time","description":"Quote creation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.2.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Quote update date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T10:22:08.100Z","isRequired":true,"uniqueKey":"oneOf.2.updated_at","typeLabel":"string\u003cdate-time>"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","isRequired":true,"uniqueKey":"oneOf.2.expires_at","typeLabel":"string\u003cdate-time>"},"approved_at":{"type":"string","format":"date-time","description":"Quote approbation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-24T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.2.approved_at","typeLabel":"string\u003cdate-time>"},"subscription_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.2.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.2.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.subscription_id","typeLabel":"string | null"},"display_subscription_on_update":{"type":"boolean","deprecated":true,"description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","example":false,"isRequired":true,"uniqueKey":"oneOf.2.display_subscription_on_update","typeLabel":"boolean"},"invoice_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.2.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.2.invoice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.invoice_id","typeLabel":"string | null"},"child_subscription_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.child_subscription_ids.items.[INDEX]","typeLabel":"string"},"deprecated":true,"description":"Deprecated field, please use `GET /v2/subscriptions` with the `original_quote_id` filter.","uniqueKey":"oneOf.2.child_subscription_ids","typeLabel":"string[]"}},"uniqueKey":"oneOf.2","typeLabel":"Ready for signature · object"},{"type":"object","title":"Signed","required":["id","type","status","amount","customer_id","invoicing_entity_id","configurations","template_id","crm_opportunity_id","contract_value","number","comments","terms","owner_email","collect_payment_details","collect_custom_property_ids","require_tax_id","display_quote_value","display_quote_value_with_tax","display_taxes","display_price_tiers","display_phase_value","display_discounts_on_total","display_first_invoice_amount","display_documents_in_preview","subscription_update_display","post_signature_activation_enabled","generate_draft_invoices","attachments","signed_file","url","created_at","updated_at","expires_at","approved_at","signature","signed_at","subscription_id","display_subscription_on_update"],"properties":{"id":{"type":"string","description":"Quote ID.","example":"quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.3.id","typeLabel":"string"},"type":{"oneOf":[{"type":"string","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.3.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.3.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.type","typeLabel":"enum\u003cstring> | null"},"status":{"type":"string","enum":["signed"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `pending_approval`: The quote is pending manager review and approval.\n- `changes_requested`: Some changes have been requested following manager review.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n- `signed`: The quote is signed and fully finalized.\n- `voided`: The quote is voided.\n","example":"signed","isRequired":true,"uniqueKey":"oneOf.3.status","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count.","example":20000,"isRequired":true,"uniqueKey":"oneOf.3.amount","typeLabel":"number"},"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.3.customer_id","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","isRequired":true,"uniqueKey":"oneOf.3.invoicing_entity_id","typeLabel":"string"},"configurations":{"type":"array","items":{"oneOf":[{"type":"object","title":"Subscription or update","required":["id","customer_id","position","amount","applied_at","type","subscription_id","estimates"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["subscription","subscription_update"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"subscription_id":{"oneOf":[{"type":"string","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.subscription_id","typeLabel":"string | null"},"estimates":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","description":"ID of the estimated product in the catalog.","example":"itm_3kXODIM1sBwBbJ","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].product_id","typeLabel":"string"},"price_configuration_id":{"oneOf":[{"type":"string","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id","typeLabel":"string | null"},"phase_order":{"type":"integer","description":"Order of the quote phase holding the estimated line.","example":0,"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].phase_order","typeLabel":"integer"},"period_start":{"oneOf":[{"type":"string","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start","typeLabel":"string\u003cdate-time> | null"},"period_end":{"oneOf":[{"type":"string","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end","typeLabel":"string\u003cdate-time> | null"},"estimated_count":{"type":"number","description":"Estimated number of units per billing period.","example":200,"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_count","typeLabel":"number"},"estimated_amount":{"oneOf":[{"type":"number","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount","typeLabel":"number | null"},"estimated_total_amount":{"oneOf":[{"type":"number","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount","typeLabel":"number | null"}},"required":["product_id","price_configuration_id","phase_order","period_start","period_end","estimated_count","estimated_amount","estimated_total_amount"],"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX]","typeLabel":"object"},"description":"Estimated quantities declared on the quote for its usage-based and connected seat lines of the configuration. They price the quote value and are never billed. Once the quote is signed (a subscription update quote: once applied) they are frozen with their periods and amounts, as the record of what the quote sold.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0.estimates","typeLabel":"object[]"}},"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.0","typeLabel":"Subscription or update · object"},{"type":"object","title":"One-off invoice","required":["id","customer_id","position","amount","applied_at","type","invoice_id"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["one_off"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"invoice_id":{"oneOf":[{"type":"string","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1.invoice_id","typeLabel":"string | null"}},"uniqueKey":"oneOf.3.configurations.items.[INDEX].oneOf.1","typeLabel":"One-off invoice · object"}],"uniqueKey":"oneOf.3.configurations.items.[INDEX]","typeLabel":"Subscription or update · object | One-off invoice · object"},"description":"Ordered configurations included in the quote.","isRequired":true,"uniqueKey":"oneOf.3.configurations","typeLabel":"(Subscription or update · object | One-off invoice · object)[]"},"template_id":{"oneOf":[{"type":"string","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.3.template_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.3.template_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.template_id","typeLabel":"string | null"},"crm_opportunity_id":{"oneOf":[{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.3.crm_opportunity_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.3.crm_opportunity_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.crm_opportunity_id","typeLabel":"string | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.3.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.3.contract_value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.contract_value","typeLabel":"number | null"},"number":{"type":"string","description":"Quote sequential number.","example":"327","isRequired":true,"uniqueKey":"oneOf.3.number","typeLabel":"string"},"comments":{"oneOf":[{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.3.comments.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.3.comments.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.comments","typeLabel":"string | null"},"terms":{"oneOf":[{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.3.terms.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.3.terms.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.terms","typeLabel":"string | null"},"owner_email":{"oneOf":[{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.3.owner_email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.3.owner_email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.owner_email","typeLabel":"string\u003cemail> | null"},"collect_payment_details":{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"isRequired":true,"uniqueKey":"oneOf.3.collect_payment_details","typeLabel":"boolean"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.3.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"isRequired":true,"uniqueKey":"oneOf.3.collect_custom_property_ids","typeLabel":"string[]"},"require_tax_id":{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"isRequired":true,"uniqueKey":"oneOf.3.require_tax_id","typeLabel":"boolean"},"display_quote_value":{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.3.display_quote_value","typeLabel":"boolean"},"display_quote_value_with_tax":{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"isRequired":true,"uniqueKey":"oneOf.3.display_quote_value_with_tax","typeLabel":"boolean"},"display_taxes":{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.3.display_taxes","typeLabel":"boolean"},"display_price_tiers":{"type":"string","enum":["all","matching","none"],"description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","isRequired":true,"uniqueKey":"oneOf.3.display_price_tiers","typeLabel":"enum\u003cstring>"},"display_phase_value":{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.3.display_phase_value","typeLabel":"boolean"},"display_discounts_on_total":{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"isRequired":true,"uniqueKey":"oneOf.3.display_discounts_on_total","typeLabel":"boolean"},"display_first_invoice_amount":{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.3.display_first_invoice_amount","typeLabel":"boolean"},"display_documents_in_preview":{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"isRequired":true,"uniqueKey":"oneOf.3.display_documents_in_preview","typeLabel":"boolean"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","isRequired":true,"uniqueKey":"oneOf.3.subscription_update_display","typeLabel":"enum\u003cstring>"},"post_signature_activation_enabled":{"type":"boolean","description":"Whether the subscription is automatically orchestrated after the quote is signed. Only applies to the Hyperline CPQ-only product.","example":true,"isRequired":true,"uniqueKey":"oneOf.3.post_signature_activation_enabled","typeLabel":"boolean"},"generate_draft_invoices":{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"isRequired":true,"uniqueKey":"oneOf.3.generate_draft_invoices","typeLabel":"boolean"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.3.attachments.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.3.attachments.items.[INDEX].name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.3.attachments.items.[INDEX].mimetype","typeLabel":"string"}},"required":["id","name","mimetype"],"uniqueKey":"oneOf.3.attachments.items.[INDEX]","typeLabel":"object"},"description":"List of documents attached to the quote.","example":[{"id":"quof_5GYXy8P3QCdaXh","name":"General Conditions of Sale","mimetype":"application/pdf"}],"isRequired":true,"uniqueKey":"oneOf.3.attachments","typeLabel":"object[]"},"signed_file":{"type":"object","description":"Final signed quote (manually uploaded).","required":["id","name","mimetype"],"example":null,"properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.3.signed_file.id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.3.signed_file.name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.3.signed_file.mimetype","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.signed_file","typeLabel":"object"},"url":{"oneOf":[{"type":"string","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.3.url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.3.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.url","typeLabel":"string\u003curi> | null"},"created_at":{"type":"string","format":"date-time","description":"Quote creation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.3.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Quote update date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T10:22:08.100Z","isRequired":true,"uniqueKey":"oneOf.3.updated_at","typeLabel":"string\u003cdate-time>"},"expires_at":{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-28T14:12:09.293Z","isRequired":true,"uniqueKey":"oneOf.3.expires_at","typeLabel":"string\u003cdate-time>"},"approved_at":{"type":"string","format":"date-time","description":"Quote approbation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-24T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.3.approved_at","typeLabel":"string\u003cdate-time>"},"signature":{"oneOf":[{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode","signerName"],"example":{"mode":"basic","signerName":"Acme"},"properties":{"mode":{"type":"string","enum":["basic"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"basic","isRequired":true,"uniqueKey":"oneOf.3.signature.oneOf.0.mode","typeLabel":"enum\u003cstring>"},"signerName":{"type":"string","description":"Signer name of the quote.","example":"Acme","isRequired":true,"uniqueKey":"oneOf.3.signature.oneOf.0.signerName","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.signature.oneOf.0","typeLabel":"object"},{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode","signerName"],"example":{"mode":"basic","signerName":"Acme"},"properties":{"mode":{"type":"string","enum":["electronic"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"electronic","isRequired":true,"uniqueKey":"oneOf.3.signature.oneOf.1.mode","typeLabel":"enum\u003cstring>"},"signerName":{"type":"string","description":"Signer name of the quote.","example":"Acme","isRequired":true,"uniqueKey":"oneOf.3.signature.oneOf.1.signerName","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.signature.oneOf.1","typeLabel":"object"},{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode"],"example":{"mode":"basic"},"properties":{"mode":{"type":"string","enum":["external"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"external","isRequired":true,"uniqueKey":"oneOf.3.signature.oneOf.2.mode","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.3.signature.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.signature","typeLabel":"object"},"signed_at":{"type":"string","format":"date-time","description":"Quote signature date. Only applies to the `signed` quote.","example":"2024-04-25T12:22:08.100Z","isRequired":true,"uniqueKey":"oneOf.3.signed_at","typeLabel":"string\u003cdate-time>"},"subscription_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.3.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.3.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.subscription_id","typeLabel":"string | null"},"display_subscription_on_update":{"type":"boolean","deprecated":true,"description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","example":false,"isRequired":true,"uniqueKey":"oneOf.3.display_subscription_on_update","typeLabel":"boolean"},"invoice_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.3.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.3.invoice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.3.invoice_id","typeLabel":"string | null"},"child_subscription_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.3.child_subscription_ids.items.[INDEX]","typeLabel":"string"},"deprecated":true,"description":"Deprecated field, please use `GET /v2/subscriptions` with the `original_quote_id` filter.","uniqueKey":"oneOf.3.child_subscription_ids","typeLabel":"string[]"}},"uniqueKey":"oneOf.3","typeLabel":"Signed · object"},{"type":"object","title":"Voided","required":["id","type","status","amount","customer_id","invoicing_entity_id","configurations","template_id","crm_opportunity_id","contract_value","number","comments","terms","owner_email","collect_payment_details","collect_custom_property_ids","require_tax_id","display_quote_value","display_quote_value_with_tax","display_taxes","display_price_tiers","display_phase_value","display_discounts_on_total","display_first_invoice_amount","display_documents_in_preview","subscription_update_display","post_signature_activation_enabled","generate_draft_invoices","attachments","signed_file","url","created_at","updated_at","void_reason","voided_at","expires_at","approved_at","signature","signed_at","subscription_id","display_subscription_on_update"],"properties":{"id":{"type":"string","description":"Quote ID.","example":"quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.4.id","typeLabel":"string"},"type":{"oneOf":[{"type":"string","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.4.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["subscription","subscription_update","one_off","mixed"],"description":"\nQuote type.\n\n- `subscription`: The quote will create one or more subscriptions.\n- `subscription_update`: The quote will update one or more existing subscriptions.\n- `one_off`: The quote will issue one or more one-off invoices.\n- `mixed`: Mixed configuration types.\n- `null`: Empty quote.\n","isRequired":true,"uniqueKey":"oneOf.4.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.type","typeLabel":"enum\u003cstring> | null"},"status":{"type":"string","enum":["voided"],"description":"\nQuote status.\n\n- `draft`: The quote is a draft.\n- `pending_approval`: The quote is pending manager review and approval.\n- `changes_requested`: Some changes have been requested following manager review.\n- `approved`: The quote is approved and ready to be sent to the customer.\n- `pending_signature`: The quote is awaiting the customer's signature.\n- `signed`: The quote is signed and fully finalized.\n- `voided`: The quote is voided.\n","example":"voided","isRequired":true,"uniqueKey":"oneOf.4.status","typeLabel":"enum\u003cstring>"},"amount":{"oneOf":[{"type":"number","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count.","example":20000,"isRequired":true,"uniqueKey":"oneOf.4.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count.","example":20000,"isRequired":true,"uniqueKey":"oneOf.4.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.amount","typeLabel":"number | null"},"customer_id":{"type":"string","description":"ID of the customer.","example":"cus_QalW2vTAdkR6IY","isRequired":true,"uniqueKey":"oneOf.4.customer_id","typeLabel":"string"},"invoicing_entity_id":{"type":"string","description":"ID of the invoicing entity attached to the quote.","example":"ive_47484fjdhy5","isRequired":true,"uniqueKey":"oneOf.4.invoicing_entity_id","typeLabel":"string"},"configurations":{"type":"array","items":{"oneOf":[{"type":"object","title":"Subscription or update","required":["id","customer_id","position","amount","applied_at","type","subscription_id","estimates"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["subscription","subscription_update"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"subscription_id":{"oneOf":[{"type":"string","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Subscription configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.subscription_id","typeLabel":"string | null"},"estimates":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","description":"ID of the estimated product in the catalog.","example":"itm_3kXODIM1sBwBbJ","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].product_id","typeLabel":"string"},"price_configuration_id":{"oneOf":[{"type":"string","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the catalog price configuration the line was priced from, if any.","example":"prc_8f3kXODIM1sBwB","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].price_configuration_id","typeLabel":"string | null"},"phase_order":{"type":"integer","description":"Order of the quote phase holding the estimated line.","example":0,"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].phase_order","typeLabel":"integer"},"period_start":{"oneOf":[{"type":"string","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Start of the period the estimate was sold for: its phase's start, or for a first phase starting only once the subscription does (signature, checkout, payment, a manual start) the contract's start, else the subscription's, else the signature date. For a subscription update quote, its first updated phase starts at the update's effective date. Null until the quote is signed, and for a phase starting after one that ends manually.","example":"2026-01-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_start","typeLabel":"string\u003cdate-time> | null"},"period_end":{"oneOf":[{"type":"string","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"End of the period the estimate was sold for: its phase's end (the contract's end for a phase ending with it), else, for an open-ended phase, the horizon the quote value counts: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is a convention, not an end date: an open-ended subscription can run past it. Null when `period_start` is.","example":"2026-12-31T23:59:59.999Z","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].period_end","typeLabel":"string\u003cdate-time> | null"},"estimated_count":{"type":"number","description":"Estimated number of units per billing period.","example":200,"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_count","typeLabel":"number"},"estimated_amount":{"oneOf":[{"type":"number","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Amount of one billing period of the line (its billing interval) priced at the estimate: the first one, excluding taxes, with its discounts applied. Null when the estimate doesn't raise the price, and until the quote is signed.","example":2000,"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_amount","typeLabel":"number | null"},"estimated_total_amount":{"oneOf":[{"type":"number","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the line bills at the estimate over every billing period between `period_start` and `period_end`, excluding taxes, each period with the discounts applying to it. It can differ from the quote value, which counts a phase without dates over its own horizon. Null when `estimated_amount` or `period_start` is. The frozen record never follows later changes to the subscription: when several update quotes cover the same line and period, the latest signed one is the current estimate, which `GET /v1/subscriptions/{id}/estimates` resolves.","example":24000,"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX].estimated_total_amount","typeLabel":"number | null"}},"required":["product_id","price_configuration_id","phase_order","period_start","period_end","estimated_count","estimated_amount","estimated_total_amount"],"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates.items.[INDEX]","typeLabel":"object"},"description":"Estimated quantities declared on the quote for its usage-based and connected seat lines of the configuration. They price the quote value and are never billed. Once the quote is signed (a subscription update quote: once applied) they are frozen with their periods and amounts, as the record of what the quote sold.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0.estimates","typeLabel":"object[]"}},"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.0","typeLabel":"Subscription or update · object"},{"type":"object","title":"One-off invoice","required":["id","customer_id","position","amount","applied_at","type","invoice_id"],"properties":{"id":{"type":"string","description":"Quote configuration ID.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"customer_id":{"oneOf":[{"type":"string","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Child customer ID, or null to use the quote customer.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.customer_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.customer_id","typeLabel":"string | null"},"position":{"type":"integer","description":"Configuration order within the quote, starting at zero.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.position","typeLabel":"integer"},"amount":{"oneOf":[{"type":"number","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.amount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Configuration amount excluding tax, in minor currency units.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.amount","typeLabel":"number | null"},"applied_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post-signature action completed, or null if not applied.","example":"2024-12-20T16:04:11Z","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.applied_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.applied_at","typeLabel":"string\u003cdate-time> | null"},"type":{"type":"string","enum":["one_off"],"description":"Configuration type.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"invoice_id":{"oneOf":[{"type":"string","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Draft invoice configuration ID, or null if not configured.","isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.invoice_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1.invoice_id","typeLabel":"string | null"}},"uniqueKey":"oneOf.4.configurations.items.[INDEX].oneOf.1","typeLabel":"One-off invoice · object"}],"uniqueKey":"oneOf.4.configurations.items.[INDEX]","typeLabel":"Subscription or update · object | One-off invoice · object"},"description":"Ordered configurations included in the quote.","isRequired":true,"uniqueKey":"oneOf.4.configurations","typeLabel":"(Subscription or update · object | One-off invoice · object)[]"},"template_id":{"oneOf":[{"type":"string","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.4.template_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the quote template.","example":"quot_9hNWq4c84Z146W","isRequired":true,"uniqueKey":"oneOf.4.template_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.template_id","typeLabel":"string | null"},"crm_opportunity_id":{"oneOf":[{"type":"string","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.4.crm_opportunity_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the related opportunity/deal in the connected CRM.","example":"opp_Z2oSqnBCUoo1bQ","isRequired":true,"uniqueKey":"oneOf.4.crm_opportunity_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.crm_opportunity_id","typeLabel":"string | null"},"contract_value":{"oneOf":[{"type":"number","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.4.contract_value.oneOf.0","typeLabel":"number"},{"type":"null","description":"What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for `subscription` and `subscription_update` quotes, unless set manually. Not set on `one_off` quotes.","example":18000,"isRequired":true,"uniqueKey":"oneOf.4.contract_value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.contract_value","typeLabel":"number | null"},"number":{"type":"string","description":"Quote sequential number.","example":"327","isRequired":true,"uniqueKey":"oneOf.4.number","typeLabel":"string"},"comments":{"oneOf":[{"type":"string","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.4.comments.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom comments displayed on the quote.","example":"Please find the contract and subscription details we discussed.","isRequired":true,"uniqueKey":"oneOf.4.comments.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.comments","typeLabel":"string | null"},"terms":{"oneOf":[{"type":"string","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.4.terms.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom quotation terms.","example":"By signing this quote, you accept our conditions of use for the use of our products and services.","isRequired":true,"uniqueKey":"oneOf.4.terms.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.terms","typeLabel":"string | null"},"owner_email":{"oneOf":[{"type":"string","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.4.owner_email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","description":"Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.","example":"joe@acme.com","isRequired":true,"uniqueKey":"oneOf.4.owner_email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.owner_email","typeLabel":"string\u003cemail> | null"},"collect_payment_details":{"type":"boolean","description":"Collect customer payment method mandate during signature flow or not.","example":true,"isRequired":true,"uniqueKey":"oneOf.4.collect_payment_details","typeLabel":"boolean"},"collect_custom_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.4.collect_custom_property_ids.items.[INDEX]","typeLabel":"string"},"description":"IDs of the customer custom properties required to be filled during the signature flow.","example":[],"isRequired":true,"uniqueKey":"oneOf.4.collect_custom_property_ids","typeLabel":"string[]"},"require_tax_id":{"type":"boolean","description":"Require the customer to provide a tax ID during the signature flow.","example":false,"isRequired":true,"uniqueKey":"oneOf.4.require_tax_id","typeLabel":"boolean"},"display_quote_value":{"type":"boolean","description":"Display the total quote value on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.4.display_quote_value","typeLabel":"boolean"},"display_quote_value_with_tax":{"type":"boolean","description":"Display the total quote value including tax on the quote. Only applies to `one_off` quotes.","example":false,"isRequired":true,"uniqueKey":"oneOf.4.display_quote_value_with_tax","typeLabel":"boolean"},"display_taxes":{"type":"boolean","description":"Display tax breakdown on the quote.","example":true,"isRequired":true,"uniqueKey":"oneOf.4.display_taxes","typeLabel":"boolean"},"display_price_tiers":{"type":"string","enum":["all","matching","none"],"description":"Controls which price tiers are displayed on the quote.\n\n- `all`: Display all pricing tiers.\n- `matching`: Only display the tiers used to compute the price based on quantity.\n- `none`: Hide all pricing tiers.\n","example":"matching","isRequired":true,"uniqueKey":"oneOf.4.display_price_tiers","typeLabel":"enum\u003cstring>"},"display_phase_value":{"type":"boolean","description":"Display per-phase value breakdown on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.4.display_phase_value","typeLabel":"boolean"},"display_discounts_on_total":{"type":"boolean","description":"Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.","example":false,"isRequired":true,"uniqueKey":"oneOf.4.display_discounts_on_total","typeLabel":"boolean"},"display_first_invoice_amount":{"type":"boolean","description":"Display the first invoice amount on the quote.","example":false,"isRequired":true,"uniqueKey":"oneOf.4.display_first_invoice_amount","typeLabel":"boolean"},"display_documents_in_preview":{"type":"boolean","description":"Display attached documents in the quote preview.","example":false,"isRequired":true,"uniqueKey":"oneOf.4.display_documents_in_preview","typeLabel":"boolean"},"subscription_update_display":{"type":"string","enum":["quote_update_details","subscription_details","both"],"description":"Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.","example":"quote_update_details","isRequired":true,"uniqueKey":"oneOf.4.subscription_update_display","typeLabel":"enum\u003cstring>"},"post_signature_activation_enabled":{"type":"boolean","description":"Whether the subscription is automatically orchestrated after the quote is signed. Only applies to the Hyperline CPQ-only product.","example":true,"isRequired":true,"uniqueKey":"oneOf.4.post_signature_activation_enabled","typeLabel":"boolean"},"generate_draft_invoices":{"type":"boolean","description":"When `true`, the invoice issued after signature stays in `draft` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to `false`.","example":false,"isRequired":true,"uniqueKey":"oneOf.4.generate_draft_invoices","typeLabel":"boolean"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.4.attachments.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.4.attachments.items.[INDEX].name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.4.attachments.items.[INDEX].mimetype","typeLabel":"string"}},"required":["id","name","mimetype"],"uniqueKey":"oneOf.4.attachments.items.[INDEX]","typeLabel":"object"},"description":"List of documents attached to the quote.","example":[{"id":"quof_5GYXy8P3QCdaXh","name":"General Conditions of Sale","mimetype":"application/pdf"}],"isRequired":true,"uniqueKey":"oneOf.4.attachments","typeLabel":"object[]"},"signed_file":{"type":"object","description":"Final signed quote (manually uploaded).","required":["id","name","mimetype"],"example":null,"properties":{"id":{"type":"string","description":"Quote file ID.","isRequired":true,"uniqueKey":"oneOf.4.signed_file.id","typeLabel":"string"},"name":{"type":"string","description":"Quote file name.","isRequired":true,"uniqueKey":"oneOf.4.signed_file.name","typeLabel":"string"},"mimetype":{"type":"string","description":"Quote file MIME type.","isRequired":true,"uniqueKey":"oneOf.4.signed_file.mimetype","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.signed_file","typeLabel":"object"},"url":{"oneOf":[{"type":"string","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.4.url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"URL to access the quote publicly. Only applies to the `pending_signature` or `signed` quote.","example":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","isRequired":true,"uniqueKey":"oneOf.4.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.url","typeLabel":"string\u003curi> | null"},"created_at":{"type":"string","format":"date-time","description":"Quote creation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.4.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Quote update date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-23T10:22:08.100Z","isRequired":true,"uniqueKey":"oneOf.4.updated_at","typeLabel":"string\u003cdate-time>"},"void_reason":{"type":"string","description":"Quote voiding reason. Only applies to the `voided` quote.","example":"The customer is ultimately not interested.","isRequired":true,"uniqueKey":"oneOf.4.void_reason","typeLabel":"string"},"voided_at":{"type":"string","format":"date-time","description":"Quote voiding date. Only applies to the `voided` quote.","example":"2024-04-26T12:00:01.320Z","isRequired":true,"uniqueKey":"oneOf.4.voided_at","typeLabel":"string\u003cdate-time>"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":null,"isRequired":true,"uniqueKey":"oneOf.4.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":null,"isRequired":true,"uniqueKey":"oneOf.4.expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.expires_at","typeLabel":"string\u003cdate-time> | null"},"approved_at":{"oneOf":[{"type":"string","format":"date-time","description":"Quote approbation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-24T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.4.approved_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Quote approbation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.","example":"2024-04-24T09:10:00.220Z","isRequired":true,"uniqueKey":"oneOf.4.approved_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.approved_at","typeLabel":"string\u003cdate-time> | null"},"signature":{"oneOf":[{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode"],"example":{"mode":"basic"},"properties":{"mode":{"type":"string","enum":["basic"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"basic","isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.0.mode","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.0","typeLabel":"object"},{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode"],"example":{"mode":"basic"},"properties":{"mode":{"type":"string","enum":["electronic"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"electronic","isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.1.mode","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.1","typeLabel":"object"},{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode"],"example":{"mode":"basic"},"properties":{"mode":{"type":"string","enum":["external"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"external","isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.2.mode","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.2","typeLabel":"object"},{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode","signerName"],"example":{"mode":"basic","signerName":"Acme"},"properties":{"mode":{"type":"string","enum":["basic"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"basic","isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.3.mode","typeLabel":"enum\u003cstring>"},"signerName":{"type":"string","description":"Signer name of the quote.","example":"Acme","isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.3.signerName","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.3","typeLabel":"object"},{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode","signerName"],"example":{"mode":"basic","signerName":"Acme"},"properties":{"mode":{"type":"string","enum":["electronic"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"electronic","isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.4.mode","typeLabel":"enum\u003cstring>"},"signerName":{"type":"string","description":"Signer name of the quote.","example":"Acme","isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.4.signerName","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.4","typeLabel":"object"},{"type":"object","description":"Quote signature. Only applies to the `signed` quote.","required":["mode"],"example":{"mode":"basic"},"properties":{"mode":{"type":"string","enum":["external"],"description":"\nSignature mode.\n\n- `basic`: Basic signature. The signer manually put his name. No legal value.\n- `electronic`: Certified electronic signature. Legally compliant.\n- `external`: Signed outside of Hyperline. A signed file has been uploaded.\n","example":"external","isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.5.mode","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.5","typeLabel":"object"},{"type":"null","description":"Quote signature. Only applies to the `signed` quote.","example":{"mode":"basic","signerName":"Acme"},"isRequired":true,"uniqueKey":"oneOf.4.signature.oneOf.6","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.signature","typeLabel":"object · object · object · object · object · object · null"},"signed_at":{"oneOf":[{"type":"string","format":"date-time","description":"Quote signature date. Only applies to the `signed` quote.","example":"2024-04-25T12:22:08.100Z","isRequired":true,"uniqueKey":"oneOf.4.signed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Quote signature date. Only applies to the `signed` quote.","example":"2024-04-25T12:22:08.100Z","isRequired":true,"uniqueKey":"oneOf.4.signed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.signed_at","typeLabel":"string\u003cdate-time> | null"},"subscription_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.4.subscription_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].subscription_id`.","isRequired":true,"uniqueKey":"oneOf.4.subscription_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.subscription_id","typeLabel":"string | null"},"display_subscription_on_update":{"type":"boolean","deprecated":true,"description":"Deprecated. Use subscription_update_display. False displays quote update details; true displays both sections.","example":false,"isRequired":true,"uniqueKey":"oneOf.4.display_subscription_on_update","typeLabel":"boolean"},"invoice_id":{"oneOf":[{"type":"string","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.4.invoice_id.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"description":"Deprecated field, please use `configurations[].invoice_id`.","uniqueKey":"oneOf.4.invoice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.4.invoice_id","typeLabel":"string | null"},"child_subscription_ids":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.4.child_subscription_ids.items.[INDEX]","typeLabel":"string"},"deprecated":true,"description":"Deprecated field, please use `GET /v2/subscriptions` with the `original_quote_id` filter.","uniqueKey":"oneOf.4.child_subscription_ids","typeLabel":"string[]"}},"uniqueKey":"oneOf.4","typeLabel":"Voided · object"}],"uniqueKey":"","typeLabel":"Draft · object | Awaiting approval · object | Ready for signature · object | Signed · object | Voided · object"},"examples":{"Example":{"title":"Example","value":{"id":"quo_hXQCd5y8P3GYXa","type":"subscription","status":"draft","amount":200000,"customer_id":"cus_QalW2vTAdkR6IY","invoicing_entity_id":"ive_47484fjdhy5","configurations":[{"id":"\u003cstring>","customer_id":"\u003cstring>","position":123,"amount":123,"applied_at":"2024-12-20T16:04:11Z","type":"subscription","subscription_id":"\u003cstring>","estimates":[{"product_id":"itm_3kXODIM1sBwBbJ","price_configuration_id":"prc_8f3kXODIM1sBwB","phase_order":0,"period_start":"2026-01-01T00:00:00.000Z","period_end":"2026-12-31T23:59:59.999Z","estimated_count":200,"estimated_amount":2000,"estimated_total_amount":24000}]}],"template_id":"quot_9hNWq4c84Z146W","crm_opportunity_id":"opp_Z2oSqnBCUoo1bQ","contract_value":18000,"number":"327","comments":"Please find the contract and subscription details we discussed.","terms":"By signing this quote, you accept our conditions of use for the use of our products and services.","owner_email":"joe@acme.com","collect_payment_details":true,"collect_custom_property_ids":[],"require_tax_id":false,"display_quote_value":true,"display_quote_value_with_tax":false,"display_taxes":true,"display_price_tiers":"matching","display_phase_value":false,"display_discounts_on_total":false,"display_first_invoice_amount":false,"display_documents_in_preview":false,"subscription_update_display":"quote_update_details","post_signature_activation_enabled":true,"generate_draft_invoices":false,"attachments":[{"id":"quof_5GYXy8P3QCdaXh","name":"General Conditions of Sale","mimetype":"application/pdf"}],"signed_file":null,"url":"https://billing.hyperline.co/quote/quo_hXQCd5y8P3GYXa","created_at":"2024-04-23T09:10:00.220Z","updated_at":"2024-04-23T10:22:08.100Z","expires_at":null,"subscription_id":"\u003cstring>","display_subscription_on_update":false,"invoice_id":"\u003cstring>","child_subscription_ids":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"9a419bdd-095d-43e4-a636-dca75d1f677d":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"bearer"}}},"servers":{"3d619cc0-773f-4fdf-a99f-5fa0eaf71fab":{"url":"https://api.hyperline.co"},"da09b2cf-93bc-4b78-bcda-af9ed3703762":{"url":"https://sandbox.api.hyperline.co"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"api-reference/openapi-main.json"},"subdomain":"hyperline","siteName":"Hyperline","title":"Create quote - Hyperline","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-05T16:12:48.575Z","originalFileLocation":"api-reference/endpoints/quotes/create-quote.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=\"light\"}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 new quote.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hyperline\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_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/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hyperline/XK0z6uK15Gv1fOA-/_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/hyperline/XK0z6uK15Gv1fOA-/_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/hyperline/XK0z6uK15Gv1fOA-/_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/hyperline/XK0z6uK15Gv1fOA-/_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/hyperline/XK0z6uK15Gv1fOA-/_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/hyperline/XK0z6uK15Gv1fOA-/_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/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create quote - Hyperline\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new quote.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hyperline\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://app.hyperline.co/auth/background.svg\">\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 quote - Hyperline\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new quote.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://app.hyperline.co/auth/background.svg\">\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/hyperline/XK0z6uK15Gv1fOA-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hyperline\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1A1A1A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoints/quotes/create-quote.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hyperline.co/#organization\",\"name\":\"Hyperline\",\"url\":\"https://docs.hyperline.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hyperline/G-7ZQgHUOVHWwtUN/layout/logo-dark.png?fit=max\u0026auto=format\u0026n=G-7ZQgHUOVHWwtUN\u0026q=85\u0026s=2521f5f5ce4977d387d12aa169a8ee55\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hyperline.co#website\",\"name\":\"Hyperline\",\"url\":\"https://docs.hyperline.co\",\"publisher\":{\"@id\":\"https://docs.hyperline.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote#webpage\",\"url\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote\",\"name\":\"Create quote\",\"description\":\"Create a new quote.\",\"dateModified\":\"2026-03-05T16:12:48.575Z\",\"isPartOf\":{\"@id\":\"https://docs.hyperline.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Quotes\",\"item\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/get-quote\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create quote\",\"item\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote#apireference\",\"headline\":\"Create quote\",\"name\":\"Create quote\",\"description\":\"Create a new quote.\",\"url\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hyperline.co/api-reference/endpoints/quotes/create-quote#webpage\"},\"image\":\"https://app.hyperline.co/auth/background.svg\",\"dateModified\":\"2026-03-05T16:12:48.575Z\",\"publisher\":{\"@id\":\"https://docs.hyperline.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hyperline.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hyperline\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hyperline","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/docs"}]},{"tab":"Developers","icon":"code","groups":[{"group":"Technical documentation","pages":[{"title":"Hyperline for developers","sidebarTitle":"Getting started","mode":"wide","href":"/developers/getting-started"},{"title":"Authentication","href":"/developers/authentication"}]},{"group":"API fundamentals","pages":[{"title":"Pagination and filtering","href":"/developers/pagination"},{"title":"Error handling","href":"/developers/error-handling"},{"title":"Rate limiting","href":"/developers/rate-limiting"},{"title":"Idempotent requests","href":"/developers/idempotent-requests"},{"title":"Currency amounts","href":"/developers/amount"},{"title":"Dates \u0026 timezones","href":"/developers/dates-and-timezones"},{"title":"API upgrades","href":"/developers/upgrades"}]},{"group":"AI / LLMs","pages":[{"title":"Build with LLMs","href":"/developers/ai/overview"},{"title":"Hyperline MCP","sidebarTitle":"MCP server","href":"/developers/ai/mcp"},{"title":"Hyperline CLI","sidebarTitle":"CLI","href":"/developers/ai/cli"}]},{"group":"Integrations","pages":[{"title":"React components","href":"/developers/react-components"},{"title":"Third-party app","href":"/developers/third-party-app"},{"title":"Webhooks","href":"/developers/webhooks"}]},{"group":"AI > Billing","pages":[{"openapi":"get /v1/ai/billing/plans/default","title":"Get default billing plan","href":"/api-reference/endpoints/ai->-billing/get-default-billing-plan"},{"openapi":"get /v1/ai/billing/plans/{id}","title":"Get billing plan","href":"/api-reference/endpoints/ai->-billing/get-billing-plan"},{"openapi":"get /v1/ai/billing/rate-cards/{id}","title":"Get rate card","href":"/api-reference/endpoints/ai->-billing/get-rate-card"},{"openapi":"get /v1/ai/billing/customers/{id}/policies/default","title":"Get default billing policy","href":"/api-reference/endpoints/ai->-billing/get-default-billing-policy"},{"openapi":"get /v1/ai/billing/customers/{id}/policies/agents/{agent_slug}","title":"Get billing policy","href":"/api-reference/endpoints/ai->-billing/get-billing-policy"},{"openapi":"get /v1/ai/billing/customers/{id}/balance","title":"Get billing balance","href":"/api-reference/endpoints/ai->-billing/get-billing-balance"},{"openapi":"get /v1/ai/billing/products/{id}/rate-card","title":"Get product AI rate card","href":"/api-reference/endpoints/ai->-billing/get-product-ai-rate-card"},{"openapi":"get /v1/ai/billing/plans","title":"List billing plans","href":"/api-reference/endpoints/ai->-billing/list-billing-plans"},{"openapi":"get /v1/ai/billing/rate-cards","title":"List rate cards","href":"/api-reference/endpoints/ai->-billing/list-rate-cards"},{"openapi":"get /v1/ai/billing/customers/{id}/policies","title":"List billing policies","href":"/api-reference/endpoints/ai->-billing/list-billing-policies"},{"openapi":"get /v1/ai/billing/customers/{id}/consumption","title":"List consumption","href":"/api-reference/endpoints/ai->-billing/list-consumption"},{"openapi":"post /v1/ai/billing/plans","title":"Create billing plan","href":"/api-reference/endpoints/ai->-billing/create-billing-plan"},{"openapi":"post /v1/ai/billing/rate-cards","title":"Create rate card","href":"/api-reference/endpoints/ai->-billing/create-rate-card"},{"openapi":"post /v1/ai/billing/customers/{id}/apply-default-plan","title":"Apply default billing plan","href":"/api-reference/endpoints/ai->-billing/apply-default-billing-plan"},{"openapi":"delete /v1/ai/billing/plans/default","title":"Clear default billing plan","href":"/api-reference/endpoints/ai->-billing/clear-default-billing-plan"},{"openapi":"delete /v1/ai/billing/products/{id}/rate-card","title":"Clear product AI rate card","href":"/api-reference/endpoints/ai->-billing/clear-product-ai-rate-card"},{"openapi":"put /v1/ai/billing/customers/{id}/policies/agents/{agent_slug}","title":"Configure billing policy","href":"/api-reference/endpoints/ai->-billing/configure-billing-policy"},{"openapi":"put /v1/ai/billing/customers/{id}/policies/default","title":"Configure default billing policy","href":"/api-reference/endpoints/ai->-billing/configure-default-billing-policy"},{"openapi":"delete /v1/ai/billing/customers/{id}/policies/agents/{agent_slug}","title":"Remove billing policy","href":"/api-reference/endpoints/ai->-billing/remove-billing-policy"},{"openapi":"delete /v1/ai/billing/customers/{id}/policies/default","title":"Remove default billing policy","href":"/api-reference/endpoints/ai->-billing/remove-default-billing-policy"},{"openapi":"put /v1/ai/billing/plans/{id}","title":"Replace billing plan","href":"/api-reference/endpoints/ai->-billing/replace-billing-plan"},{"openapi":"put /v1/ai/billing/rate-cards/{id}","title":"Replace rate card","href":"/api-reference/endpoints/ai->-billing/replace-rate-card"},{"openapi":"post /v1/ai/billing/customers/{id}/windows/reset","title":"Reset allowance windows","href":"/api-reference/endpoints/ai->-billing/reset-allowance-windows"},{"openapi":"put /v1/ai/billing/plans/default","title":"Set default billing plan","href":"/api-reference/endpoints/ai->-billing/set-default-billing-plan"},{"openapi":"put /v1/ai/billing/products/{id}/rate-card","title":"Set product AI rate card","href":"/api-reference/endpoints/ai->-billing/set-product-ai-rate-card"},{"openapi":"delete /v1/ai/billing/plans/{id}","title":"Delete billing plan","href":"/api-reference/endpoints/ai->-billing/delete-billing-plan"},{"openapi":"delete /v1/ai/billing/rate-cards/{id}","title":"Delete rate card","href":"/api-reference/endpoints/ai->-billing/delete-rate-card"}]},{"group":"AI > Costs","pages":[{"openapi":"get /v1/ai/billing/costs","title":"List cost catalog","href":"/api-reference/endpoints/ai->-costs/list-cost-catalog"},{"openapi":"post /v1/ai/billing/costs/items","title":"Create custom cost item","href":"/api-reference/endpoints/ai->-costs/create-custom-cost-item"},{"openapi":"delete /v1/ai/billing/costs/items/{id}","title":"Remove custom cost item","href":"/api-reference/endpoints/ai->-costs/remove-custom-cost-item"},{"openapi":"delete /v1/ai/billing/costs/overrides/{id}","title":"Remove provider cost override","href":"/api-reference/endpoints/ai->-costs/remove-provider-cost-override"},{"openapi":"put /v1/ai/billing/costs/items/{id}","title":"Replace custom cost item","href":"/api-reference/endpoints/ai->-costs/replace-custom-cost-item"},{"openapi":"put /v1/ai/billing/costs/overrides","title":"Set provider cost override","href":"/api-reference/endpoints/ai->-costs/set-provider-cost-override"}]},{"group":"AI > Ingest","pages":[{"openapi":"get /v1/ai/billing/snapshot","title":"Get AI billing snapshot","href":"/api-reference/endpoints/ai->-ingest/get-ai-billing-snapshot"},{"openapi":"post /v1/ai/billing/check","title":"Check AI spend allowance","href":"/api-reference/endpoints/ai->-ingest/check-ai-spend-allowance"},{"openapi":"post /v1/ai/billing/consume","title":"Consume AI usage","href":"/api-reference/endpoints/ai->-ingest/consume-ai-usage"},{"openapi":"post /v1/ai/calls","title":"Ingest AI calls","href":"/api-reference/endpoints/ai->-ingest/ingest-ai-calls"}]},{"group":"AI > Monitoring","pages":[{"openapi":"get /v1/agents/monitoring/analyses/{id}","title":"Get monitoring analysis","href":"/api-reference/endpoints/ai->-monitoring/get-monitoring-analysis"},{"openapi":"get /v1/agents/monitoring/analyses","title":"List monitoring analyses","href":"/api-reference/endpoints/ai->-monitoring/list-monitoring-analyses"}]},{"group":"Accounting > Accounts","pages":[{"openapi":"get /v1/accounting/accounts/{id}","title":"Get ledger account","href":"/api-reference/endpoints/accounting->-accounts/get-ledger-account"},{"openapi":"get /v1/accounting/accounts","title":"List ledger accounts","href":"/api-reference/endpoints/accounting->-accounts/list-ledger-accounts"},{"openapi":"get /v1/accounting/primary-ledger/accounts","title":"List primary accounts","href":"/api-reference/endpoints/accounting->-accounts/list-primary-accounts"},{"openapi":"post /v1/accounting/accounts","title":"Create ledger account","href":"/api-reference/endpoints/accounting->-accounts/create-ledger-account"},{"openapi":"put /v1/accounting/accounts/{id}","title":"Update ledger account","href":"/api-reference/endpoints/accounting->-accounts/update-ledger-account"},{"openapi":"delete /v1/accounting/accounts/{id}","title":"Delete ledger account","href":"/api-reference/endpoints/accounting->-accounts/delete-ledger-account"}]},{"group":"Accounting > Journal entries","pages":[{"openapi":"get /v1/accounting/journal-entries/{id}","title":"Get journal entry","href":"/api-reference/endpoints/accounting->-journal-entries/get-journal-entry"},{"openapi":"get /v1/accounting/journal-entries","title":"List journal entries","href":"/api-reference/endpoints/accounting->-journal-entries/list-journal-entries"},{"openapi":"get /v1/accounting/journal-entry-lines","title":"List journal entry lines","href":"/api-reference/endpoints/accounting->-journal-entries/list-journal-entry-lines"},{"openapi":"post /v1/accounting/journal-entries","title":"Create journal entry","href":"/api-reference/endpoints/accounting->-journal-entries/create-journal-entry"},{"openapi":"post /v1/accounting/journal-entries/recognition-preview","title":"Preview recognition schedule","href":"/api-reference/endpoints/accounting->-journal-entries/preview-recognition-schedule"}]},{"group":"Accounting > Ledgers","pages":[{"openapi":"get /v1/accounting/ledgers/{id}","title":"Get ledger","href":"/api-reference/endpoints/accounting->-ledgers/get-ledger"},{"openapi":"get /v1/accounting/ledgers","title":"List ledgers","href":"/api-reference/endpoints/accounting->-ledgers/list-ledgers"},{"openapi":"post /v1/accounting/ledgers","title":"Create ledger","href":"/api-reference/endpoints/accounting->-ledgers/create-ledger"},{"openapi":"put /v1/accounting/ledgers/{id}","title":"Update ledger","href":"/api-reference/endpoints/accounting->-ledgers/update-ledger"},{"openapi":"delete /v1/accounting/ledgers/{id}","title":"Delete ledger","href":"/api-reference/endpoints/accounting->-ledgers/delete-ledger"}]},{"group":"Accounting > Reports","pages":[{"openapi":"post /v1/accounting/general-ledger/export","title":"Export general ledger","href":"/api-reference/endpoints/accounting->-reports/export-general-ledger"},{"openapi":"post /v1/accounting/income-statement/export","title":"Export income statement","href":"/api-reference/endpoints/accounting->-reports/export-income-statement"}]},{"group":"Accounting > Revenue recognition","pages":[{"openapi":"get /v1/accounting/revrec/waterfall","title":"Get revenue recognition waterfall","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-revenue-recognition-waterfall"},{"openapi":"get /v1/accounting/revrec/waterfall/cell","title":"Get revenue recognition waterfall cell","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-revenue-recognition-waterfall-cell"},{"openapi":"get /v1/accounting/revrec/unbilled","title":"Get unbilled revenue","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-unbilled-revenue"},{"openapi":"get /v1/accounting/revrec/schedules/{id}","title":"Get revenue recognition schedule","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-revenue-recognition-schedule"},{"openapi":"get /v1/accounting/revrec/slices/{id}","title":"Get revenue recognition slice","href":"/api-reference/endpoints/accounting->-revenue-recognition/get-revenue-recognition-slice"},{"openapi":"get /v1/accounting/revrec/schedules","title":"List revenue recognition schedules","href":"/api-reference/endpoints/accounting->-revenue-recognition/list-revenue-recognition-schedules"},{"openapi":"get /v1/accounting/revrec/schedules/{schedule_id}/adjustments","title":"List revenue recognition adjustments","href":"/api-reference/endpoints/accounting->-revenue-recognition/list-revenue-recognition-adjustments"},{"openapi":"post /v1/accounting/revrec/recognized-summary/export","title":"Export recognized revenue summary","href":"/api-reference/endpoints/accounting->-revenue-recognition/export-recognized-revenue-summary"},{"openapi":"post /v1/accounting/revrec/waterfall/export","title":"Export revenue recognition waterfall","href":"/api-reference/endpoints/accounting->-revenue-recognition/export-revenue-recognition-waterfall"},{"openapi":"post /v1/accounting/revrec/schedules/{schedule_id}/reshape/preview","title":"Preview revenue recognition reshape","href":"/api-reference/endpoints/accounting->-revenue-recognition/preview-revenue-recognition-reshape"},{"openapi":"post /v1/accounting/revrec/schedules/{schedule_id}/reshape","title":"Reshape revenue recognition schedule","href":"/api-reference/endpoints/accounting->-revenue-recognition/reshape-revenue-recognition-schedule"}]},{"group":"Accounting > Rules","pages":[{"openapi":"get /v1/accounting/rules/tree","title":"Get accounting rule tree","href":"/api-reference/endpoints/accounting->-rules/get-accounting-rule-tree"},{"openapi":"post /v1/accounting/rules/defaults","title":"Get rule defaults","href":"/api-reference/endpoints/accounting->-rules/get-rule-defaults"},{"openapi":"get /v1/accounting/rules/{id}","title":"Get accounting rule","href":"/api-reference/endpoints/accounting->-rules/get-accounting-rule"},{"openapi":"get /v1/accounting/rules","title":"List accounting rules","href":"/api-reference/endpoints/accounting->-rules/list-accounting-rules"},{"openapi":"post /v1/accounting/rules","title":"Create accounting rule","href":"/api-reference/endpoints/accounting->-rules/create-accounting-rule"},{"openapi":"put /v1/accounting/rules/{id}","title":"Update accounting rule","href":"/api-reference/endpoints/accounting->-rules/update-accounting-rule"},{"openapi":"post /v1/accounting/rules/resolve","title":"Resolve accounting rule","href":"/api-reference/endpoints/accounting->-rules/resolve-accounting-rule"},{"openapi":"delete /v1/accounting/rules/{id}","title":"Delete accounting rule","href":"/api-reference/endpoints/accounting->-rules/delete-accounting-rule"}]},{"group":"Aggregators","pages":[{"openapi":"get /v1/aggregators/{id}","title":"Get aggregator","href":"/api-reference/endpoints/aggregators/get-aggregator"},{"openapi":"get /v1/aggregators","title":"List aggregators","href":"/api-reference/endpoints/aggregators/list-aggregators"},{"openapi":"post /v1/aggregators","title":"Create aggregator","href":"/api-reference/endpoints/aggregators/create-aggregator"},{"openapi":"put /v1/aggregators/{id}","title":"Update aggregator","href":"/api-reference/endpoints/aggregators/update-aggregator"},{"openapi":"delete /v1/aggregators/{id}","title":"Delete aggregator","href":"/api-reference/endpoints/aggregators/delete-aggregator"}]},{"group":"Aggregators > Usage","pages":[{"openapi":"get /v1/aggregators/{id}/usage","title":"Get aggregator usage","href":"/api-reference/endpoints/aggregators->-usage/get-aggregator-usage"},{"openapi":"get /v1/aggregators/{id}/usage/timeseries","title":"Get aggregator usage timeseries","href":"/api-reference/endpoints/aggregators->-usage/get-aggregator-usage-timeseries"},{"openapi":"get /v1/aggregators/{id}/usage/group-by-customer","title":"Get aggregator usage grouped by customer","href":"/api-reference/endpoints/aggregators->-usage/get-aggregator-usage-grouped-by-customer"},{"openapi":"get /v1/aggregators/{id}/usage/events","title":"Get aggregator usage events","href":"/api-reference/endpoints/aggregators->-usage/get-aggregator-usage-events"}]},{"group":"Analytics","pages":[{"openapi":"get /v1/analytics","title":"Get analytics","href":"/api-reference/endpoints/analytics/get-analytics"}]},{"group":"Approval workflows","pages":[{"openapi":"get /v1/approvals/workflows/{id}","title":"Get approval workflow","href":"/api-reference/endpoints/approval-workflows/get-approval-workflow"},{"openapi":"get /v1/approvals/workflows","title":"List approval workflows","href":"/api-reference/endpoints/approval-workflows/list-approval-workflows"},{"openapi":"post /v1/approvals/workflows","title":"Create approval workflow","href":"/api-reference/endpoints/approval-workflows/create-approval-workflow"},{"openapi":"put /v1/approvals/workflows/{id}","title":"Update approval workflow","href":"/api-reference/endpoints/approval-workflows/update-approval-workflow"},{"openapi":"delete /v1/approvals/workflows/{id}","title":"Delete approval workflow","href":"/api-reference/endpoints/approval-workflows/delete-approval-workflow"}]},{"group":"Audit logs","pages":[{"openapi":"get /v1/audit-logs","title":"List audit logs","href":"/api-reference/endpoints/audit-logs/list-audit-logs"}]},{"group":"Bank Accounts","pages":[{"openapi":"get /v1/bank-accounts/{id}","title":"Get bank account","href":"/api-reference/endpoints/bank-accounts/get-bank-account"},{"openapi":"get /v1/bank-accounts","title":"List bank accounts","href":"/api-reference/endpoints/bank-accounts/list-bank-accounts"},{"openapi":"get /v1/bank-accounts/{id}/transactions","title":"List bank transactions","href":"/api-reference/endpoints/bank-accounts/list-bank-transactions"}]},{"group":"Billable events","pages":[{"openapi":"get /v1/events","title":"Get events","href":"/api-reference/endpoints/billable-events/get-events"},{"openapi":"post /v1/events","title":"Ingest billable event","href":"/api-reference/endpoints/billable-events/ingest-billable-event"},{"openapi":"post /v1/events/batch","title":"Ingest billable events","href":"/api-reference/endpoints/billable-events/ingest-billable-events"},{"openapi":"delete /v1/events","title":"Delete billable events","href":"/api-reference/endpoints/billable-events/delete-billable-events"}]},{"group":"Catalog","pages":[{"openapi":"get /v1/catalog/versions/draft","title":"Get catalog draft","href":"/api-reference/endpoints/catalog/get-catalog-draft"},{"openapi":"get /v1/catalog/versions/{id}","title":"Get catalog version","href":"/api-reference/endpoints/catalog/get-catalog-version"},{"openapi":"get /v1/catalog/versions","title":"List catalog versions","href":"/api-reference/endpoints/catalog/list-catalog-versions"},{"openapi":"post /v1/catalog/versions/draft","title":"Create catalog draft","href":"/api-reference/endpoints/catalog/create-catalog-draft"},{"openapi":"delete /v1/catalog/versions/draft","title":"Discard catalog draft","href":"/api-reference/endpoints/catalog/discard-catalog-draft"},{"openapi":"get /v1/catalog/export","title":"Export catalog","href":"/api-reference/endpoints/catalog/export-catalog"},{"openapi":"post /v1/catalog/versions/draft/publish","title":"Publish catalog draft","href":"/api-reference/endpoints/catalog/publish-catalog-draft"},{"openapi":"post /v1/catalog/versions/{id}/revert","title":"Revert catalog version","href":"/api-reference/endpoints/catalog/revert-catalog-version"}]},{"group":"Companies","pages":[{"openapi":"get /v1/companies","title":"List companies","href":"/api-reference/endpoints/companies/list-companies"},{"openapi":"post /v1/companies","title":"Create company","href":"/api-reference/endpoints/companies/create-company"}]},{"group":"Coupons","pages":[{"openapi":"get /v1/coupons/{id}","title":"Get coupon","href":"/api-reference/endpoints/coupons/get-coupon"},{"openapi":"get /v1/coupons","title":"List coupons","href":"/api-reference/endpoints/coupons/list-coupons"},{"openapi":"post /v1/coupons","title":"Create coupon","href":"/api-reference/endpoints/coupons/create-coupon"},{"openapi":"put /v1/coupons/{id}","title":"Update coupon","href":"/api-reference/endpoints/coupons/update-coupon"},{"openapi":"delete /v1/coupons/{id}","title":"Delete coupon","href":"/api-reference/endpoints/coupons/delete-coupon"}]},{"group":"Coupons > Promotion codes","pages":[{"openapi":"get /v1/promotion-codes/{id}","title":"Get promotion code","href":"/api-reference/endpoints/coupons->-promotion-codes/get-promotion-code"},{"openapi":"get /v1/promotion-codes","title":"List promotion codes","href":"/api-reference/endpoints/coupons->-promotion-codes/list-promotion-codes"},{"openapi":"post /v1/promotion-codes","title":"Create promotion code","href":"/api-reference/endpoints/coupons->-promotion-codes/create-promotion-code"},{"openapi":"patch /v1/promotion-codes/{id}","title":"Update promotion code","href":"/api-reference/endpoints/coupons->-promotion-codes/update-promotion-code"},{"openapi":"delete /v1/promotion-codes/{id}","title":"Delete promotion code","href":"/api-reference/endpoints/coupons->-promotion-codes/delete-promotion-code"}]},{"group":"Custom properties","pages":[{"openapi":"get /v1/custom-properties","title":"List custom properties","href":"/api-reference/endpoints/custom-properties/list-custom-properties"},{"openapi":"post /v1/custom-properties","title":"Create custom property","href":"/api-reference/endpoints/custom-properties/create-custom-property"},{"openapi":"put /v1/custom-properties/{id}","title":"Update custom property","href":"/api-reference/endpoints/custom-properties/update-custom-property"},{"openapi":"delete /v1/custom-properties/{id}","title":"Delete custom property","href":"/api-reference/endpoints/custom-properties/delete-custom-property"}]},{"group":"Customers","pages":[{"openapi":"get /v2/customers/{id}","title":"Get customer","href":"/api-reference/endpoints/customers/get-customer"},{"openapi":"get /v1/customers/{id}/portal","title":"Get customer portal","href":"/api-reference/endpoints/customers/get-customer-portal"},{"openapi":"get /v1/customers/{id}/taxes/rates","title":"Get customer tax rates","href":"/api-reference/endpoints/customers/get-customer-tax-rates"},{"openapi":"get /v1/customers/{id}/arr-history","title":"Get customer ARR history","href":"/api-reference/endpoints/customers/get-customer-arr-history"},{"openapi":"get /v1/customers/{id}/valuation","title":"Get customer valuation","href":"/api-reference/endpoints/customers/get-customer-valuation"},{"openapi":"get /v2/customers","title":"List customers","href":"/api-reference/endpoints/customers/list-customers"},{"openapi":"post /v1/customers","title":"Create customer","href":"/api-reference/endpoints/customers/create-customer"},{"openapi":"post /v1/customers/batch","title":"Create customers batch","href":"/api-reference/endpoints/customers/create-customers-batch"},{"openapi":"put /v1/customers/{id}","title":"Update customer","href":"/api-reference/endpoints/customers/update-customer"},{"openapi":"put /v1/customers/{id}/archive","title":"Archive customer","href":"/api-reference/endpoints/customers/archive-customer"},{"openapi":"post /v1/customers/providers-bulk-update","title":"Bulk update providers/customers mapping","href":"/api-reference/endpoints/customers/bulk-update-providerscustomers-mapping"},{"openapi":"put /v1/customers/{id}/unarchive","title":"Unarchive customer","href":"/api-reference/endpoints/customers/unarchive-customer"},{"openapi":"delete /v1/customers/{id}","title":"Delete customer","href":"/api-reference/endpoints/customers/delete-customer"}]},{"group":"Customers > Address","pages":[{"openapi":"get /v1/customers/{customerId}/addresses","title":"List addresses","href":"/api-reference/endpoints/customers->-address/list-addresses"},{"openapi":"post /v1/customers/{customerId}/addresses","title":"Create address","href":"/api-reference/endpoints/customers->-address/create-address"},{"openapi":"patch /v1/customers/{customerId}/addresses/{addressId}","title":"Update address","href":"/api-reference/endpoints/customers->-address/update-address"},{"openapi":"delete /v1/customers/{customerId}/addresses/{addressId}","title":"Delete address","href":"/api-reference/endpoints/customers->-address/delete-address"}]},{"group":"Customers > Credits","pages":[{"openapi":"get /v1/customers/{id}/credits/{productId}","title":"Get credit product","href":"/api-reference/endpoints/customers->-credits/get-credit-product"},{"openapi":"get /v1/customers/{id}/credits/{productId}/portal-settings","title":"Get credit portal settings","href":"/api-reference/endpoints/customers->-credits/get-credit-portal-settings"},{"openapi":"get /v1/customers/credits","title":"List all credit products","href":"/api-reference/endpoints/customers->-credits/list-all-credit-products"},{"openapi":"get /v1/customers/{id}/credits","title":"List credit products","href":"/api-reference/endpoints/customers->-credits/list-credit-products"},{"openapi":"get /v1/customers/{id}/credits/{productId}/transactions","title":"List credit transactions","href":"/api-reference/endpoints/customers->-credits/list-credit-transactions"},{"openapi":"post /v1/customers/{id}/credits","title":"Create credit product","href":"/api-reference/endpoints/customers->-credits/create-credit-product"},{"openapi":"post /v1/customers/{id}/credits/{productId}/usage","title":"Create credits usage","href":"/api-reference/endpoints/customers->-credits/create-credits-usage"},{"openapi":"put /v1/customers/{id}/credits/{productId}","title":"Update credit product","href":"/api-reference/endpoints/customers->-credits/update-credit-product"},{"openapi":"patch /v1/customers/{id}/credits/{productId}/transactions/{transactionId}","title":"Update credit topup expiration","href":"/api-reference/endpoints/customers->-credits/update-credit-topup-expiration"},{"openapi":"put /v1/customers/{id}/credits/{productId}/portal-settings","title":"Update credit portal settings","href":"/api-reference/endpoints/customers->-credits/update-credit-portal-settings"},{"openapi":"post /v1/customers/{id}/credits/{productId}/purchase","title":"Purchase credits","href":"/api-reference/endpoints/customers->-credits/purchase-credits"},{"openapi":"post /v1/customers/{id}/credits/{productId}/topup","title":"Topup credits","href":"/api-reference/endpoints/customers->-credits/topup-credits"}]},{"group":"Customers > Features","pages":[{"openapi":"get /v1/customers/{id}/features","title":"Resolve customer features","href":"/api-reference/endpoints/customers->-features/resolve-customer-features"},{"openapi":"put /v1/customers/{id}/features/{code}","title":"Set customer feature","href":"/api-reference/endpoints/customers->-features/set-customer-feature"},{"openapi":"delete /v1/customers/{id}/features/{code}","title":"Delete customer feature","href":"/api-reference/endpoints/customers->-features/delete-customer-feature"}]},{"group":"Customers > Payment methods","pages":[{"openapi":"get /v1/customers/{id}/payment-methods/{paymentMethodId}","title":"Get payment method","href":"/api-reference/endpoints/customers->-payment-methods/get-payment-method"},{"openapi":"get /v1/customers/{id}/payment-methods","title":"List payment methods","href":"/api-reference/endpoints/customers->-payment-methods/list-payment-methods"},{"openapi":"post /v1/customers/{id}/payment-methods","title":"Create payment method","href":"/api-reference/endpoints/customers->-payment-methods/create-payment-method"},{"openapi":"delete /v1/customers/{id}/payment-methods/{paymentMethodId}","title":"Delete payment method","href":"/api-reference/endpoints/customers->-payment-methods/delete-payment-method"}]},{"group":"Customers > Segments","pages":[{"openapi":"get /v1/customers/segments/{id}","title":"Get segment","href":"/api-reference/endpoints/customers->-segments/get-segment"},{"openapi":"get /v1/customers/segments","title":"List segments","href":"/api-reference/endpoints/customers->-segments/list-segments"},{"openapi":"post /v1/customers/segments","title":"Create segment","href":"/api-reference/endpoints/customers->-segments/create-segment"},{"openapi":"patch /v1/customers/segments/{id}","title":"Update segment","href":"/api-reference/endpoints/customers->-segments/update-segment"},{"openapi":"delete /v1/customers/segments/{id}","title":"Delete segment","href":"/api-reference/endpoints/customers->-segments/delete-segment"}]},{"group":"Customers > Shipping","pages":[{"openapi":"get /v1/customers/{customerId}/shipping","title":"Get shipping destination","href":"/api-reference/endpoints/customers->-shipping/get-shipping-destination"},{"openapi":"put /v1/customers/{customerId}/shipping","title":"Set shipping destination","href":"/api-reference/endpoints/customers->-shipping/set-shipping-destination"}]},{"group":"Customers > Usage","pages":[{"openapi":"get /v1/customers/{id}/usage/{aggregator_id}","title":"Get customer usage for an aggregator","href":"/api-reference/endpoints/customers->-usage/get-customer-usage-for-an-aggregator"},{"openapi":"get /v1/customers/{id}/usage/{aggregator_id}/timeseries","title":"Get customer usage timeseries","href":"/api-reference/endpoints/customers->-usage/get-customer-usage-timeseries"},{"openapi":"get /v1/customers/{id}/usage/{aggregator_id}/events","title":"Get customer usage events","href":"/api-reference/endpoints/customers->-usage/get-customer-usage-events"},{"openapi":"get /v1/customers/{id}/usage","title":"List customer usage","href":"/api-reference/endpoints/customers->-usage/list-customer-usage"}]},{"group":"Exports","pages":[{"openapi":"get /v1/exports/{exportId}","title":"Get export","href":"/api-reference/endpoints/exports/get-export"},{"openapi":"get /v1/exports","title":"List exports","href":"/api-reference/endpoints/exports/list-exports"},{"openapi":"get /v2/exports/{exportId}/download","title":"Download export","href":"/api-reference/endpoints/exports/download-export"},{"openapi":"post /v1/exports","title":"Create export","href":"/api-reference/endpoints/exports/create-export"}]},{"group":"Features","pages":[{"openapi":"get /v1/features/{code}","title":"Get feature","href":"/api-reference/endpoints/features/get-feature"},{"openapi":"get /v1/features","title":"List features","href":"/api-reference/endpoints/features/list-features"},{"openapi":"post /v1/features","title":"Create feature","href":"/api-reference/endpoints/features/create-feature"},{"openapi":"put /v1/features/{code}","title":"Update feature","href":"/api-reference/endpoints/features/update-feature"},{"openapi":"put /v1/features/{code}/archive","title":"Archive feature","href":"/api-reference/endpoints/features/archive-feature"},{"openapi":"put /v1/features/{code}/unarchive","title":"Unarchive feature","href":"/api-reference/endpoints/features/unarchive-feature"},{"openapi":"delete /v1/features/{code}","title":"Delete feature","href":"/api-reference/endpoints/features/delete-feature"}]},{"group":"Files","pages":[{"openapi":"get /v1/files","title":"List files","href":"/api-reference/endpoints/files/list-files"},{"openapi":"get /v1/files/{id}/download","title":"Download file","href":"/api-reference/endpoints/files/download-file"},{"openapi":"post /v1/files","title":"Create file","href":"/api-reference/endpoints/files/create-file"},{"openapi":"delete /v1/files/{id}","title":"Delete file","href":"/api-reference/endpoints/files/delete-file"}]},{"group":"Integrations","pages":[{"openapi":"post /v1/integrations/components/token","title":"Create component token","href":"/api-reference/endpoints/integrations/create-component-token"}]},{"group":"Invoices","pages":[{"openapi":"get /v1/invoices/{id}","deprecated":true,"title":"Get invoice","href":"/api-reference/endpoints/invoices/get-invoice"},{"openapi":"get /v2/invoices/{id}","title":"Get invoice","href":"/api-reference/endpoints/invoices/get-invoice-1"},{"openapi":"get /v1/invoices","deprecated":true,"title":"List invoices","href":"/api-reference/endpoints/invoices/list-invoices"},{"openapi":"get /v2/invoices","title":"List invoices","href":"/api-reference/endpoints/invoices/list-invoices-1"},{"openapi":"get /v2/invoices/{id}/download","title":"Download invoice","href":"/api-reference/endpoints/invoices/download-invoice"},{"openapi":"post /v1/invoices","title":"Create invoice","href":"/api-reference/endpoints/invoices/create-invoice"},{"openapi":"post /v1/invoices/{id}/credit-notes","title":"Create credit note","href":"/api-reference/endpoints/invoices/create-credit-note"},{"openapi":"post /v2/invoices/batch","title":"Create invoices","href":"/api-reference/endpoints/invoices/create-invoices"},{"openapi":"patch /v1/invoices/{id}","title":"Update invoice","href":"/api-reference/endpoints/invoices/update-invoice"},{"openapi":"post /v1/invoices/{id}/charge","title":"Charge invoice","href":"/api-reference/endpoints/invoices/charge-invoice"},{"openapi":"post /v1/invoices/{id}/uncollectible","title":"Mark as uncollectible","href":"/api-reference/endpoints/invoices/mark-as-uncollectible"},{"openapi":"post /v1/invoices/send-email","title":"Send invoice emails","href":"/api-reference/endpoints/invoices/send-invoice-emails"},{"openapi":"post /v1/invoices/{id}/upload","title":"Upload PDF to invoice","href":"/api-reference/endpoints/invoices/upload-pdf-to-invoice"},{"openapi":"post /v1/invoices/{id}/validate","title":"Validate draft invoice","href":"/api-reference/endpoints/invoices/validate-draft-invoice"},{"openapi":"post /v1/invoices/{id}/void","title":"Void invoice","href":"/api-reference/endpoints/invoices/void-invoice"},{"openapi":"delete /v1/invoices/{id}","title":"Delete invoice","href":"/api-reference/endpoints/invoices/delete-invoice"}]},{"group":"Invoices > Events","pages":[{"openapi":"get /v1/invoices/{id}/events","title":"List invoice events","href":"/api-reference/endpoints/invoices->-events/list-invoice-events"}]},{"group":"Invoices > Transactions","pages":[{"openapi":"post /v1/invoices/{id}/transactions","title":"Create transaction","href":"/api-reference/endpoints/invoices->-transactions/create-transaction"},{"openapi":"delete /v1/invoices/{id}/transactions/{transactionId}","title":"Delete transaction","href":"/api-reference/endpoints/invoices->-transactions/delete-transaction"}]},{"group":"Invoicing entities","pages":[{"openapi":"get /v1/invoicing-entities/{id}","title":"Get invoicing entity","href":"/api-reference/endpoints/invoicing-entities/get-invoicing-entity"},{"openapi":"get /v1/invoicing-entities","title":"List invoicing entities","href":"/api-reference/endpoints/invoicing-entities/list-invoicing-entities"},{"openapi":"post /v1/invoicing-entities","title":"Create invoicing entity","href":"/api-reference/endpoints/invoicing-entities/create-invoicing-entity"},{"openapi":"put /v1/invoicing-entities/{id}","title":"Update invoicing entity","href":"/api-reference/endpoints/invoicing-entities/update-invoicing-entity"},{"openapi":"delete /v1/invoicing-entities/{id}","title":"Delete invoicing entity","href":"/api-reference/endpoints/invoicing-entities/delete-invoicing-entity"}]},{"group":"OAuth2","pages":[{"openapi":"get /oauth/userinfo","title":"Get user info","href":"/api-reference/endpoints/oauth2/get-user-info"},{"openapi":"get /oauth/authorize","title":"Authorize","href":"/api-reference/endpoints/oauth2/authorize"},{"openapi":"post /oauth/tokens","title":"Generate tokens","href":"/api-reference/endpoints/oauth2/generate-tokens"},{"openapi":"get /oauth/callback","title":"OAuth callback","href":"/api-reference/endpoints/oauth2/oauth-callback"},{"openapi":"post /oauth/register","title":"Register OAuth client","href":"/api-reference/endpoints/oauth2/register-oauth-client"},{"openapi":"post /oauth/revoke","title":"Revoke token","href":"/api-reference/endpoints/oauth2/revoke-token"}]},{"group":"Organisations","pages":[{"openapi":"get /v1/organisations/{id}","title":"Get organisation","href":"/api-reference/endpoints/organisations/get-organisation"},{"openapi":"get /v1/organisations","title":"List organisations","href":"/api-reference/endpoints/organisations/list-organisations"},{"openapi":"patch /v1/organisations/{id}","title":"Patch organisation","href":"/api-reference/endpoints/organisations/patch-organisation"}]},{"group":"Payments","pages":[{"openapi":"post /v1/payments","title":"Create payment","href":"/api-reference/endpoints/payments/create-payment"}]},{"group":"Price books","pages":[{"openapi":"get /v1/price-books/{id}","title":"Get price book","href":"/api-reference/endpoints/price-books/get-price-book"},{"openapi":"get /v1/price-books","title":"List price books","href":"/api-reference/endpoints/price-books/list-price-books"},{"openapi":"post /v1/price-books","title":"Create price book","href":"/api-reference/endpoints/price-books/create-price-book"},{"openapi":"put /v1/price-books/{id}","title":"Update price book","href":"/api-reference/endpoints/price-books/update-price-book"},{"openapi":"post /v1/price-books/{id}/products","title":"Add products to price book","href":"/api-reference/endpoints/price-books/add-products-to-price-book"},{"openapi":"delete /v1/price-books/{id}/products/{productId}","title":"Remove product from price book","href":"/api-reference/endpoints/price-books/remove-product-from-price-book"},{"openapi":"delete /v1/price-books/{id}","title":"Delete price book","href":"/api-reference/endpoints/price-books/delete-price-book"}]},{"group":"Price configurations","pages":[{"openapi":"get /v1/price-configurations/{id}","title":"Get price configuration","href":"/api-reference/endpoints/price-configurations/get-price-configuration"},{"openapi":"get /v1/price-configurations","title":"List price configurations","href":"/api-reference/endpoints/price-configurations/list-price-configurations"},{"openapi":"post /v1/price-configurations","title":"Create price configuration","href":"/api-reference/endpoints/price-configurations/create-price-configuration"},{"openapi":"put /v1/price-configurations/{id}/prices","title":"Update prices","href":"/api-reference/endpoints/price-configurations/update-prices"},{"openapi":"delete /v1/price-configurations/{id}","title":"Delete price configuration","href":"/api-reference/endpoints/price-configurations/delete-price-configuration"}]},{"group":"Products","pages":[{"openapi":"get /v1/products/{id}","title":"Get product","href":"/api-reference/endpoints/products/get-product"},{"openapi":"get /v1/products","title":"List products","href":"/api-reference/endpoints/products/list-products"},{"openapi":"post /v1/products","title":"Create product","href":"/api-reference/endpoints/products/create-product"},{"openapi":"put /v1/products/{id}","title":"Update product","href":"/api-reference/endpoints/products/update-product"},{"openapi":"put /v1/products/{id}/archive","title":"Archive product","href":"/api-reference/endpoints/products/archive-product"},{"openapi":"put /v1/products/{id}/unarchive","title":"Unarchive product","href":"/api-reference/endpoints/products/unarchive-product"},{"openapi":"delete /v1/products/{id}","title":"Delete product","href":"/api-reference/endpoints/products/delete-product"}]},{"group":"Products > Features","pages":[{"openapi":"get /v1/products/{id}/features","title":"List product features","href":"/api-reference/endpoints/products->-features/list-product-features"},{"openapi":"put /v1/products/{id}/features/{code}","title":"Set product feature","href":"/api-reference/endpoints/products->-features/set-product-feature"},{"openapi":"delete /v1/products/{id}/features/{code}","title":"Delete product feature","href":"/api-reference/endpoints/products->-features/delete-product-feature"}]},{"group":"Quotes","pages":[{"openapi":"get /v1/quotes/{id}","title":"Get quote","href":"/api-reference/endpoints/quotes/get-quote"},{"openapi":"get /v1/quotes/{id}/valuation","title":"Get quote valuation","href":"/api-reference/endpoints/quotes/get-quote-valuation"},{"openapi":"get /v1/quotes","title":"List quotes","href":"/api-reference/endpoints/quotes/list-quotes"},{"openapi":"get /v1/quotes/{id}/signers","title":"List quote signers","href":"/api-reference/endpoints/quotes/list-quote-signers"},{"openapi":"get /v1/quotes/{id}/download","title":"Download quote","href":"/api-reference/endpoints/quotes/download-quote"},{"openapi":"get /v1/quotes/{quoteId}/files/{id}/download","title":"Download quote file","description":"Download a file (attachment or manually signed file) attached to an existing quote.","href":"/api-reference/endpoints/quotes/download-quote-file"},{"openapi":"post /v1/quotes","title":"Create quote","href":"/api-reference/endpoints/quotes/create-quote"},{"openapi":"patch /v1/quotes/{id}","title":"Update quote","description":"Update an existing quote.","href":"/api-reference/endpoints/quotes/update-quote"},{"openapi":"post /v1/quotes/{id}/duplicate","title":"Duplicate quote","href":"/api-reference/endpoints/quotes/duplicate-quote"},{"openapi":"post /v1/quotes/{id}/finalize","title":"Finalize quote","href":"/api-reference/endpoints/quotes/finalize-quote"},{"openapi":"post /v1/quotes/{id}/redraft","title":"Redraft quote","href":"/api-reference/endpoints/quotes/redraft-quote"},{"openapi":"post /v1/quotes/{id}/send","title":"Send quote","href":"/api-reference/endpoints/quotes/send-quote"},{"openapi":"put /v1/quotes/{id}/signers","title":"Set quote signers","href":"/api-reference/endpoints/quotes/set-quote-signers"},{"openapi":"post /v1/quotes/{id}/sign","title":"Sign quote","href":"/api-reference/endpoints/quotes/sign-quote"},{"openapi":"post /v1/quotes/{id}/void","title":"Void quote","href":"/api-reference/endpoints/quotes/void-quote"}]},{"group":"Quotes > Approvals","pages":[{"openapi":"get /v1/quotes/{id}/approvals","title":"Get quote approvals","href":"/api-reference/endpoints/quotes->-approvals/get-quote-approvals"},{"openapi":"post /v1/quotes/{id}/approve","title":"Approve quote","href":"/api-reference/endpoints/quotes->-approvals/approve-quote"}]},{"group":"Quotes > Templates","pages":[{"openapi":"get /v1/quotes/templates/{id}","title":"Get quote template","href":"/api-reference/endpoints/quotes->-templates/get-quote-template"},{"openapi":"get /v1/quotes/templates","title":"List quote templates","href":"/api-reference/endpoints/quotes->-templates/list-quote-templates"}]},{"group":"Subscriptions","pages":[{"openapi":"get /v2/subscriptions/{id}","title":"Get subscription","href":"/api-reference/endpoints/subscriptions/get-subscription"},{"openapi":"get /v1/subscriptions/{id}/arr-history","title":"Get subscription ARR history","href":"/api-reference/endpoints/subscriptions/get-subscription-arr-history"},{"openapi":"get /v1/subscriptions/{id}/valuation","title":"Get subscription valuation","href":"/api-reference/endpoints/subscriptions/get-subscription-valuation"},{"openapi":"get /v1/subscriptions/{id}/estimates","title":"List subscription estimates","href":"/api-reference/endpoints/subscriptions/list-subscription-estimates"},{"openapi":"get /v2/subscriptions","title":"List subscriptions","href":"/api-reference/endpoints/subscriptions/list-subscriptions"},{"openapi":"post /v1/subscriptions/{id}/update","title":"Create subscription update","href":"/api-reference/endpoints/subscriptions/create-subscription-update"},{"openapi":"post /v1/subscriptions/{id}/update-many","title":"Create subscription updates","href":"/api-reference/endpoints/subscriptions/create-subscription-updates"},{"openapi":"post /v2/subscriptions","title":"Create subscription","href":"/api-reference/endpoints/subscriptions/create-subscription"},{"openapi":"put /v2/subscriptions/{id}","title":"Update subscription","href":"/api-reference/endpoints/subscriptions/update-subscription"},{"openapi":"post /v1/subscriptions/{id}/activate","title":"Activate subscription","href":"/api-reference/endpoints/subscriptions/activate-subscription"},{"openapi":"post /v1/subscriptions/{id}/cancel","title":"Cancel subscription","href":"/api-reference/endpoints/subscriptions/cancel-subscription"},{"openapi":"post /v1/subscriptions/{id}/pause","title":"Pause subscription","href":"/api-reference/endpoints/subscriptions/pause-subscription"},{"openapi":"get /v1/subscriptions/{id}/preview-timeline","title":"Preview subscription timeline","href":"/api-reference/endpoints/subscriptions/preview-subscription-timeline"},{"openapi":"post /v1/subscriptions/{id}/reactivate","title":"Reactivate subscription","href":"/api-reference/endpoints/subscriptions/reactivate-subscription"},{"openapi":"post /v2/subscriptions/{id}/refresh-seat-products","title":"Refresh seat products","href":"/api-reference/endpoints/subscriptions/refresh-seat-products"},{"openapi":"post /v1/subscriptions/refresh","title":"Refresh subscriptions","href":"/api-reference/endpoints/subscriptions/refresh-subscriptions"},{"openapi":"post /v1/subscriptions/{id}/reinstate","title":"Reinstate subscription","href":"/api-reference/endpoints/subscriptions/reinstate-subscription"},{"openapi":"post /v1/subscriptions/{id}/renew","title":"Renew subscription","href":"/api-reference/endpoints/subscriptions/renew-subscription"},{"openapi":"post /v1/subscriptions/{id}/simulate-updates","title":"Simulate subscription updates","href":"/api-reference/endpoints/subscriptions/simulate-subscription-updates"}]},{"group":"Subscriptions > Phases","pages":[{"openapi":"get /v2/subscriptions/{id}/phases/{phaseId}","title":"Get subscription phase","href":"/api-reference/endpoints/subscriptions->-phases/get-subscription-phase"},{"openapi":"get /v2/subscriptions/{id}/phases","title":"List subscription phases","href":"/api-reference/endpoints/subscriptions->-phases/list-subscription-phases"},{"openapi":"post /v2/subscriptions/{id}/next-phase","title":"Transition subscription to next phase","href":"/api-reference/endpoints/subscriptions->-phases/transition-subscription-to-next-phase"}]},{"group":"Subscriptions > Templates","pages":[{"openapi":"get /v1/subscriptions/templates/{id}","title":"Get subscription template","href":"/api-reference/endpoints/subscriptions->-templates/get-subscription-template"},{"openapi":"get /v1/subscriptions/templates","title":"List subscription templates","href":"/api-reference/endpoints/subscriptions->-templates/list-subscription-templates"},{"openapi":"post /v1/subscriptions/templates","title":"Create subscription template","href":"/api-reference/endpoints/subscriptions->-templates/create-subscription-template"},{"openapi":"post /v1/subscriptions/templates/{id}/configurations","title":"Create subscription template configuration","href":"/api-reference/endpoints/subscriptions->-templates/create-subscription-template-configuration"},{"openapi":"patch /v1/subscriptions/templates/{id}","title":"Update subscription template","href":"/api-reference/endpoints/subscriptions->-templates/update-subscription-template"},{"openapi":"put /v1/subscriptions/templates/{templateId}/configurations/{id}","title":"Update subscription template configuration","href":"/api-reference/endpoints/subscriptions->-templates/update-subscription-template-configuration"},{"openapi":"delete /v1/subscriptions/templates/{id}","title":"Delete subscription template","href":"/api-reference/endpoints/subscriptions->-templates/delete-subscription-template"},{"openapi":"delete /v1/subscriptions/templates/{templateId}/configurations/{id}","title":"Delete subscription template configuration","href":"/api-reference/endpoints/subscriptions->-templates/delete-subscription-template-configuration"}]},{"group":"Subscriptions > Transitions","pages":[{"openapi":"get /v2/subscriptions/transitions/{id}","title":"Get subscription transition","href":"/api-reference/endpoints/subscriptions->-transitions/get-subscription-transition"},{"openapi":"get /v2/subscriptions/transitions","title":"List subscription transitions","href":"/api-reference/endpoints/subscriptions->-transitions/list-subscription-transitions"},{"openapi":"post /v2/subscriptions/transitions","title":"Create subscription transition","href":"/api-reference/endpoints/subscriptions->-transitions/create-subscription-transition"},{"openapi":"post /v2/subscriptions/transitions/{id}/cancel","title":"Cancel subscription transition","href":"/api-reference/endpoints/subscriptions->-transitions/cancel-subscription-transition"},{"openapi":"post /v2/subscriptions/transitions/preview","title":"Preview subscription transition","href":"/api-reference/endpoints/subscriptions->-transitions/preview-subscription-transition"}]},{"group":"Taxes","pages":[{"openapi":"get /v1/taxes/rates/{id}","title":"Get tax rate","href":"/api-reference/endpoints/taxes/get-tax-rate"},{"openapi":"get /v1/taxes/rates","title":"List tax rates","href":"/api-reference/endpoints/taxes/list-tax-rates"},{"openapi":"post /v1/taxes/rates","title":"Create tax rate","href":"/api-reference/endpoints/taxes/create-tax-rate"},{"openapi":"patch /v1/taxes/rates/{id}","title":"Update tax rate","href":"/api-reference/endpoints/taxes/update-tax-rate"},{"openapi":"delete /v1/taxes/rates/{id}","title":"Delete tax rate","href":"/api-reference/endpoints/taxes/delete-tax-rate"}]},{"group":"Third-party apps","pages":[{"openapi":"get /v1/apps","title":"List apps","href":"/api-reference/endpoints/third-party-apps/list-apps"},{"openapi":"post /v1/apps","title":"Create app","href":"/api-reference/endpoints/third-party-apps/create-app"},{"openapi":"put /v1/apps/{id}","title":"Update app","href":"/api-reference/endpoints/third-party-apps/update-app"},{"openapi":"delete /v1/apps/{id}","title":"Delete app","href":"/api-reference/endpoints/third-party-apps/delete-app"}]},{"group":"Transactions","pages":[{"openapi":"get /v1/transactions/{id}","title":"Get transaction","href":"/api-reference/endpoints/transactions/get-transaction"},{"openapi":"get /v1/transactions","title":"List transactions","href":"/api-reference/endpoints/transactions/list-transactions"},{"openapi":"post /v1/transactions","title":"Create transaction","href":"/api-reference/endpoints/transactions/create-transaction"},{"openapi":"post /v1/transactions/{id}/refund","title":"Refund transaction","href":"/api-reference/endpoints/transactions/refund-transaction"},{"openapi":"delete /v1/transactions/{id}","title":"Delete transaction","href":"/api-reference/endpoints/transactions/delete-transaction"}]},{"group":"Users","pages":[{"openapi":"get /v1/users/{id}","title":"Get user","href":"/api-reference/endpoints/users/get-user"},{"openapi":"get /v1/users","title":"List users","href":"/api-reference/endpoints/users/list-users"}]},{"group":"Users > Roles","pages":[{"openapi":"get /v1/users/roles/{id}","title":"Get user role","href":"/api-reference/endpoints/users->-roles/get-user-role"},{"openapi":"get /v1/users/roles","title":"List user roles","href":"/api-reference/endpoints/users->-roles/list-user-roles"}]},{"group":"Wallets","pages":[{"openapi":"get /v1/wallets/settings","title":"Get wallet settings","href":"/api-reference/endpoints/wallets/get-wallet-settings"},{"openapi":"get /v1/wallets/{id}","title":"Get wallet","href":"/api-reference/endpoints/wallets/get-wallet"},{"openapi":"get /v2/wallets","title":"List wallets","href":"/api-reference/endpoints/wallets/list-wallets"},{"openapi":"get /v1/wallets/{id}/transactions","title":"List wallet transactions","href":"/api-reference/endpoints/wallets/list-wallet-transactions"},{"openapi":"post /v1/wallets","title":"Create wallet","href":"/api-reference/endpoints/wallets/create-wallet"},{"openapi":"patch /v1/wallets/settings","title":"Update wallet settings","href":"/api-reference/endpoints/wallets/update-wallet-settings"},{"openapi":"put /v1/wallets/{id}","title":"Update wallet","href":"/api-reference/endpoints/wallets/update-wallet"},{"openapi":"post /v1/wallets/{id}/load","title":"Load wallet","href":"/api-reference/endpoints/wallets/load-wallet"},{"openapi":"post /v1/wallets/{id}/transactions/{transactionId}/revert","title":"Revert wallet load","href":"/api-reference/endpoints/wallets/revert-wallet-load"}]},{"group":"Webhooks","pages":[{"openapi":"get /v1/webhooks/endpoints/{id}","title":"Get webhook endpoint","href":"/api-reference/endpoints/webhooks/get-webhook-endpoint"},{"openapi":"get /v1/webhooks/endpoints","title":"List webhook endpoints","href":"/api-reference/endpoints/webhooks/list-webhook-endpoints"},{"openapi":"get /v1/webhooks/messages","title":"List webhook messages","href":"/api-reference/endpoints/webhooks/list-webhook-messages"},{"openapi":"post /v1/webhooks/endpoints","title":"Create webhook endpoint","href":"/api-reference/endpoints/webhooks/create-webhook-endpoint"},{"openapi":"put /v1/webhooks/endpoints/{id}","title":"Update webhook endpoint","href":"/api-reference/endpoints/webhooks/update-webhook-endpoint"},{"openapi":"delete /v1/webhooks/endpoints/{id}","title":"Delete webhook endpoint","href":"/api-reference/endpoints/webhooks/delete-webhook-endpoint"}]}]},{"tab":"Guides","icon":"list-check","pages":[{"title":"Guides","href":"/guides/importing-historical-data"}]},{"tab":"Integrations","icon":"link","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"Changelog","icon":"bullhorn","pages":[{"title":"Changelog","href":"/changelog/2026-09"}]}]},"title":"Create quote - Hyperline","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}