Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under "/custom-fields" in the API documentation. The input is validated against the configuration. For more details see Custom Fields Guide
Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under "/custom-fields" in the API documentation. The input is validated against the configuration. For more details see Custom Fields Guide
Show child attributes
Beispiel:
{ "field1": "value1", "field2": "value2" }
War diese Seite hilfreich?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Fynn Docs","colors":{"primary":"#000","light":"#fff","dark":"#000"},"logo":{"light":"https://mintcdn.com/fynnsubscriptionbilling/kPbBeWVEZfmEic9q/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=kPbBeWVEZfmEic9q\u0026q=85\u0026s=83e4b30a53d77c3809e0f22afa29335d","dark":"https://mintcdn.com/fynnsubscriptionbilling/kPbBeWVEZfmEic9q/logo/dark.svg?fit=max\u0026auto=format\u0026n=kPbBeWVEZfmEic9q\u0026q=85\u0026s=5798319f6c8632d79fe789f72eaa94e2"},"favicon":"https://mintcdn.com/fynnsubscriptionbilling/zDQkHT5wBBQ3jA-O/favicon.svg?fit=max\u0026auto=format\u0026n=zDQkHT5wBBQ3jA-O\u0026q=85\u0026s=410ff1f698a399faed9fbb877457bb43","api":{"openapi":["assets/openapi.json","assets/openapi-v2-plans.json","assets/openapi-v2-offers.json","assets/openapi-v2-commission.json","assets/openapi-v2-payment-plans.json"],"playground":{"display":"interactive"},"examples":{"languages":["curl","python","javascript","php"]}},"navbar":{"links":[{"href":"https://cal.com/team/fynn/fynn-documentation","label":"Termin buchen"},{"href":"mailto:hi@fynn.eu","label":"Support"}],"primary":{"type":"button","label":"App Login","href":"https://app.fynn.eu"}},"footer":{"socials":{"x":"https://twitter.com/wearefynn","github":"https://github.com/fynn-digital","linkedin":"https://www.linkedin.com/company/wearefynn"}},"integrations":{"gtm":{"tagId":"GTM-NKGQ4TQ9"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"de","default":true,"href":"introduction"},{"language":"en","href":"en/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fynnsubscriptionbilling","hasAudioNarration":false,"actualSubdomain":"fynnsubscriptionbilling","customDomains":["docs.fynn.eu"],"gitSource":{"type":"gitlab","owner":"fynn/core","repo":"core-api23","deployBranch":"main","contentDirectory":"public-docs","isPrivate":true,"projectId":396,"hostUrl":"https://git.netzfabrik.com","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aabaae60fec4ce441783248","collectionId":"b124a5cd-b259-49bb-8cc1-79bf7640fad6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aabaae60fec4ce441783248"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"REMOVE_BRANDING":{"status":"ENABLED"}},"buildId":"6aabaae60fec4ce441783248","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"de","tag":"API Referenz","count":249},{"language":"de","tag":"Dokumentation","count":83},{"language":"en","tag":"Documentation","count":59},{"language":"de","tag":"Catalogue","count":42},{"language":"de","tag":"API V2","count":42},{"language":"de","tag":"Angebote","count":36},{"language":"de","tag":"Subscription","count":30},{"language":"de","tag":"Customer","count":30},{"language":"de","tag":"Payment","count":26},{"language":"de","tag":"Invoice","count":25},{"language":"de","tag":"Settings","count":24},{"language":"default","tag":"API V2","count":18},{"language":"default","tag":"Documentation","count":15},{"language":"default","tag":"Plans","count":15},{"language":"en","tag":"Integrations","count":15},{"language":"default","tag":"API","count":11},{"language":"default","tag":"API Reference","count":10},{"language":"default","tag":"API documentation","count":10},{"language":"en","tag":"Products","count":9},{"language":"en","tag":"Settings","count":9},{"language":"en","tag":"Customers","count":7},{"language":"en","tag":"Subscriptions","count":7},{"language":"default","tag":"Guides","count":6},{"language":"default","tag":"Plan management","count":6},{"language":"en","tag":"Payment Providers","count":6},{"language":"default","tag":"Usage-Based Billing","count":5},{"language":"en","tag":"Accounting","count":5},{"language":"en","tag":"Developers","count":5},{"language":"en","tag":"Invoices","count":5},{"language":"default","tag":"AI Assistant","count":4}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".update-container{display:flex}.update-container>div{position:unset!important}@media (min-width:1024px){.update-container{flex-direction:column!important}}[data-component-part=update-label]{background:0 0}[data-component-part=update-tag]{-webkit-text-size-adjust:100%;tab-size:4;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-feature-settings:\"cv02\",\"cv03\",\"cv04\",\"cv11\";--scroll-mt:9.5rem;--font-inter:'__Inter_86cd50', '__Inter_Fallback_86cd50';--font-jetbrains-mono:'__JetBrains_Mono_3c557b', '__JetBrains_Mono_Fallback_3c557b';--primary:39 19 64;--primary-light:255 255 255;--primary-dark:0 0 0;--background-light:255 255 255;--background-dark:0 0 0;--gray-50:244 243 244;--gray-100:239 238 239;--gray-200:223 223 224;--gray-300:207 206 207;--gray-400:159 159 160;--gray-500:113 112 113;--gray-600:81 80 81;--gray-700:63 63 64;--gray-800:38 37 39;--gray-900:23 23 24;--gray-950:11 10 12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";-webkit-font-smoothing:antialiased;--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;-webkit-user-modify:read-only;box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--gray-200));--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;display:flex;flex-grow:0;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--rounded-lg,.5rem);background-color:rgb(var(--primary)/.1);padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(var(--primary)/var(--tw-text-opacity))}"}],"page":{"pagePath":"api-reference/product/update-a-product","slug":"/api-reference/product/update-a-product","pageMetadata":{"openapi":"put /catalogue/products/{id}","title":"Update a product","description":"Update a product\n\n\u003csup>Required permissions: `product:write`\u003c/sup>","href":"/api-reference/product/update-a-product"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Update a product\"\n }), \"\\n\", _jsxs(\"sup\", {\n children: [\"Required permissions: \", _jsx(_components.code, {\n children: \"product:write\"\n })]\n })]\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":"put /catalogue/products/{id}","title":"Update a product","description":"Update a product\n\n\u003csup>Required permissions: `product:write`\u003c/sup>","href":"/api-reference/product/update-a-product"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/fynnsubscriptionbilling/086131e1768d5953/changelog-sidebar.js"],"openApiReferenceData":{"operation":{"operationId":"updateProduct","tags":["Product"],"responses":{"200":"d7e69be4-f52f-4741-b801-df49b0636ae8","400":"988e5aa5-0562-4d46-8e9d-dafff3b3677f","404":"5a718e24-60dd-4a92-976c-9ab917f81b79","422":"2abefeae-547f-4972-b593-fcd76a80aac0"},"summary":"Update a product","description":"Update a product\n\n\u003csup>Required permissions: `product:write`\u003c/sup>","parameters":["4bbe375f-f885-4eb0-b46b-c2c7e6e76941"],"requestBody":"53f03309-40a6-400f-853f-3eed28d8f0ca","deprecated":false,"security":["273a9e95-0ebe-4153-ac68-ae1c54a813ee"],"x-codeSamples":[{"lang":"bash","label":"cURL","source":"curl -X PUT \\\n /catalogue/products/{id} \\\n --header \"Content-Type: application/json\" \\\n --header \"Authorization: Bearer \u003ctoken>\" \\\n --data '{\n \"id\": \"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b\",\n \"productFamilies\": [\n []\n ],\n \"name\": \"Basic\",\n \"description\": \"For small teams.\",\n \"internalName\": \"Basic (Weekly)\",\n \"number\": \"M-1234\",\n \"translations\": [],\n \"type\": \"\",\n \"measurement\": {\n \"id\": \"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b\",\n \"code\": \"users\",\n \"description\": \"The number of users.\",\n \"fairBilling\": \"1\"\n },\n \"invoiceVisibility\": \"\",\n \"createdAt\": \"\",\n \"updatedAt\": \"\",\n \"taxGroup\": {\n \"id\": \"00000000-0000-0000-0000-000000000000\",\n \"internalDescription\": \"19%\"\n },\n \"isArchived\": \"\",\n \"customFields\": {\n \"field1\": \"value1\",\n \"field2\": \"value2\"\n }\n}'"}],"method":"put","type":"path","servers":["987b4dcd-9d5f-4357-a99f-0dbd47556601","a53b6fbc-bcf4-4920-9f87-1223f86cceba"],"path":"/catalogue/products/{id}","baseUrlOptions":["https://coreapi.io","https://preview.coreapi.io"],"title":"Update a product","codeSamples":[{"label":"cURL","lang":"bash","source":"curl -X PUT \\\n /catalogue/products/{id} \\\n --header \"Content-Type: application/json\" \\\n --header \"Authorization: Bearer \u003ctoken>\" \\\n --data '{\n \"id\": \"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b\",\n \"productFamilies\": [\n []\n ],\n \"name\": \"Basic\",\n \"description\": \"For small teams.\",\n \"internalName\": \"Basic (Weekly)\",\n \"number\": \"M-1234\",\n \"translations\": [],\n \"type\": \"\",\n \"measurement\": {\n \"id\": \"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b\",\n \"code\": \"users\",\n \"description\": \"The number of users.\",\n \"fairBilling\": \"1\"\n },\n \"invoiceVisibility\": \"\",\n \"createdAt\": \"\",\n \"updatedAt\": \"\",\n \"taxGroup\": {\n \"id\": \"00000000-0000-0000-0000-000000000000\",\n \"internalDescription\": \"19%\"\n },\n \"isArchived\": \"\",\n \"customFields\": {\n \"field1\": \"value1\",\n \"field2\": \"value2\"\n }\n}'"}],"requestExampleLanguages":["bash","python","javascript","php"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"4bbe375f-f885-4eb0-b46b-c2c7e6e76941":{"name":"id","in":"path","description":"Product identifier","required":true,"deprecated":false,"schema":{"type":"string","isRequired":true,"description":"Product identifier","uniqueKey":"","typeLabel":"string"},"style":"simple","explode":false}},"requestBody":{"description":"The updated Product resource","content":{"application/json":{"schema":{"type":"object","description":"","deprecated":false,"properties":{"productFamilies":{"description":"A product family groups multiple products together.","type":"array","items":{"type":"object","description":"","deprecated":false,"properties":{"name":{"maxLength":255,"example":"Team Packages","type":"string","isRequired":true,"uniqueKey":"productFamilies.items.[INDEX].name","typeLabel":"string"}},"required":["name"],"uniqueKey":"productFamilies.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"productFamilies","typeLabel":"object[]"},"translations":{"minItems":1,"description":"The translations of the product. The locale is used as key.","type":"object","additionalProperties":{"type":"object","description":"","deprecated":false,"properties":{"name":{"minLength":2,"maxLength":255,"example":"Basic","type":"string","isRequired":true,"uniqueKey":"translations.additionalProperties.name","typeLabel":"string"},"locale":{"minLength":2,"maxLength":2,"example":"en","type":"string","uniqueKey":"translations.additionalProperties.locale","typeLabel":"string"},"description":{"oneOf":[{"maxLength":10000,"example":"For small teams","type":"string","uniqueKey":"translations.additionalProperties.description.oneOf.0","typeLabel":"string"},{"maxLength":10000,"example":"For small teams","type":"null","uniqueKey":"translations.additionalProperties.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"translations.additionalProperties.description","typeLabel":"string | null"}},"required":["name"],"uniqueKey":"translations.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"translations","typeLabel":"object"},"type":{"description":"The type of the product.\n - `product`: recurring billed product\n - `charge`: one-time billing\n - `plan`: plan specific product, which cannot be used as a normal product. Will be filtered out in any product lists.\n","type":"string","enum":["product","charge","plan"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"measurement":{"type":"object","description":"The measurement that is used for the price plan. This could define the quantity or a metered usage.","deprecated":false,"properties":{"unit":{"oneOf":[{"type":"object","description":"The unit of the measurement.","properties":{"name":{"example":"Stück","type":"string","uniqueKey":"measurement.unit.oneOf.0.name","typeLabel":"string"},"translations":{"type":"object","additionalProperties":{"type":"object","description":"","deprecated":false,"required":["name","locale"],"properties":{"name":{"maxLength":255,"example":"Stück","type":"string","isRequired":true,"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties.name","typeLabel":"string"},"locale":{"example":"de","type":"string","isRequired":true,"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties.locale","typeLabel":"string"}},"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties","typeLabel":"object"},"uniqueKey":"measurement.unit.oneOf.0.translations","typeLabel":"object"}},"isRequired":true,"uniqueKey":"measurement.unit.oneOf.0","typeLabel":"object"},{"type":"null","description":"The unit of the measurement.","isRequired":true,"uniqueKey":"measurement.unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"measurement.unit","typeLabel":"object | null"},"code":{"minLength":1,"maxLength":255,"description":"A unique code which can be used to identify the measurement.","example":"users","type":"string","isRequired":true,"uniqueKey":"measurement.code","typeLabel":"string"},"description":{"oneOf":[{"maxLength":255,"description":"A description of the measurement, which is shown in the summary of the usage data in the invoice.","example":"The number of users.","type":"string","uniqueKey":"measurement.description.oneOf.0","typeLabel":"string"},{"maxLength":255,"description":"A description of the measurement, which is shown in the summary of the usage data in the invoice.","example":"The number of users.","type":"null","uniqueKey":"measurement.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"measurement.description","typeLabel":"string | null"},"aggregationType":{"description":"The aggregation type of the measurement. Describes how the quantity is calculated. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.\n\nPossible values:\n * `count`: The number of sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.\n * `count_unique`: The number of unique sent measurements in the billing interval, identified by the id given on event creation.\n * `max`: The maximum value of all sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.\n * `sum`: The sum of all sent measurements in the billing interval.\n * `last_value`: The last sent measurement.\n * `average`: The average of all sent measurements in the billing interval.","default":"last_value","example":"sum","uniqueKey":"measurement.aggregationType","typeLabel":"any"},"fairBilling":{"description":"If set to false, the measurement will be billed for the whole billing interval, even if the quantity changes, or the item is cancelled / terminated during the billing interval.","default":true,"example":true,"type":"boolean","uniqueKey":"measurement.fairBilling","typeLabel":"boolean"},"type":{"description":"The type of the measurement. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.\n\nPossible values:\n * `instant_metered`: The measurement value is reset to 0 after each push. The measurement gets billed immediately and an invoice is created. The aggregation type must be \"last_value\".\n * `metered`: The measurement value is reset to 0 after each billing interval.\n * `recurring`: The measurement value is not reset to 0 after each billing interval and the last value is used for all following billing intervals. The aggregation type must be \"last_value\".","default":"recurring","example":"recurring","uniqueKey":"measurement.type","typeLabel":"any"}},"required":["unit","code"],"isRequired":true,"uniqueKey":"measurement","typeLabel":"object"},"taxGroup":{"type":"object","description":"The tax group that is used for the product.","deprecated":false,"properties":{"internalDescription":{"maxLength":255,"description":"The name of the tax group which will be displayed only in the UI","example":"19%","type":"string","isRequired":true,"uniqueKey":"taxGroup.internalDescription","typeLabel":"string"},"reverseChargeType":{"description":"Defines if reverse charge will be applicated or not","default":"REVERSE_CHARGE","example":"REVERSE_CHARGE","enum":["REVERSE_CHARGE_DEACTIVATED","REVERSE_CHARGE","REVERSE_CHARGE_INTRA_EU_SUPPLY"],"type":"string","isRequired":true,"uniqueKey":"taxGroup.reverseChargeType","typeLabel":"enum\u003cstring>"},"type":{"default":"standard","example":"standard","enum":["standard","reduced"],"type":"string","isRequired":true,"uniqueKey":"taxGroup.type","typeLabel":"enum\u003cstring>"}},"required":["internalDescription","reverseChargeType","type"],"isRequired":true,"uniqueKey":"taxGroup","typeLabel":"object"},"name":{"description":"The name of the product based on the current tenant language. This will be displayed on customer communication.","example":"Basic","type":"string","uniqueKey":"name","typeLabel":"string"},"description":{"oneOf":[{"description":"The description of the product based on the current tenant language.","example":"For small teams.","type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"description":"The description of the product based on the current tenant language.","example":"For small teams.","type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"internalName":{"oneOf":[{"description":"Internal name of the product, to differentiate between products with the same name. This will shown in web-app lists, selections and reports.","example":"Basic (Weekly)","type":"string","uniqueKey":"internalName.oneOf.0","typeLabel":"string"},{"description":"Internal name of the product, to differentiate between products with the same name. This will shown in web-app lists, selections and reports.","example":"Basic (Weekly)","type":"null","uniqueKey":"internalName.oneOf.1","typeLabel":"null"}],"uniqueKey":"internalName","typeLabel":"string | null"},"number":{"oneOf":[{"minLength":2,"maxLength":255,"description":"Internal product number","example":"M-1234","type":"string","uniqueKey":"number.oneOf.0","typeLabel":"string"},{"minLength":2,"maxLength":255,"description":"Internal product number","example":"M-1234","type":"null","uniqueKey":"number.oneOf.1","typeLabel":"null"}],"uniqueKey":"number","typeLabel":"string | null"},"invoiceVisibility":{"description":"Defines when the product should be displayed in the invoice.\n - `always`: The product is always displayed in the invoice.\n - `only_if_charged`: The product is only displayed in the invoice if it is charged.\n","type":"string","enum":["always","only_if_charged"],"uniqueKey":"invoiceVisibility","typeLabel":"enum\u003cstring>"},"costCentre":{"oneOf":[{"type":"object","description":"The cost centre is used for accounting exports.","required":["name","type"],"properties":{"name":{"maxLength":255,"description":"The name of the cost centre, which is displayed in the UI","example":"Cost Centre","type":"string","isRequired":true,"uniqueKey":"costCentre.oneOf.0.name","typeLabel":"string"},"type":{"description":"The type of the cost centre, which is used for exports","example":"KOST1","type":"string","enum":["KOST1","KOST2"],"isRequired":true,"uniqueKey":"costCentre.oneOf.0.type","typeLabel":"enum\u003cstring>"},"code":{"description":"The code of the cost centre, which is used for exports","example":"CC","type":"string","uniqueKey":"costCentre.oneOf.0.code","typeLabel":"string"}},"uniqueKey":"costCentre.oneOf.0","typeLabel":"object"},{"type":"null","description":"The cost centre is used for accounting exports.","uniqueKey":"costCentre.oneOf.1","typeLabel":"null"}],"uniqueKey":"costCentre","typeLabel":"object | null"},"costCentre2":{"oneOf":[{"type":"object","description":"The KOST2 cost centre is used for accounting exports (DATEV axis KOST2).","required":["name","type"],"properties":{"name":{"maxLength":255,"description":"The name of the cost centre, which is displayed in the UI","example":"Cost Centre","type":"string","isRequired":true,"uniqueKey":"costCentre2.oneOf.0.name","typeLabel":"string"},"type":{"description":"The type of the cost centre, which is used for exports","example":"KOST1","type":"string","enum":["KOST1","KOST2"],"isRequired":true,"uniqueKey":"costCentre2.oneOf.0.type","typeLabel":"enum\u003cstring>"},"code":{"description":"The code of the cost centre, which is used for exports","example":"CC","type":"string","uniqueKey":"costCentre2.oneOf.0.code","typeLabel":"string"}},"uniqueKey":"costCentre2.oneOf.0","typeLabel":"object"},{"type":"null","description":"The KOST2 cost centre is used for accounting exports (DATEV axis KOST2).","uniqueKey":"costCentre2.oneOf.1","typeLabel":"null"}],"uniqueKey":"costCentre2","typeLabel":"object | null"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"isArchived":{"description":"Defines if the product is archived and should not be used anymore.","type":"boolean","uniqueKey":"isArchived","typeLabel":"boolean"},"customFields":{"oneOf":[{"additionalProperties":{"type":"string","uniqueKey":"customFields.oneOf.0.additionalProperties","typeLabel":"string"},"type":"object","example":{"field1":"value1","field2":"value2"},"description":"Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under \\\"/custom-fields\\\" in the API documentation. The input is validated against the configuration. For more details see [Custom Fields Guide](/guide/tenant/custom-fields)","uniqueKey":"customFields.oneOf.0","typeLabel":"object"},{"additionalProperties":{"type":"string","uniqueKey":"customFields.oneOf.1.additionalProperties","typeLabel":"string"},"type":"null","example":{"field1":"value1","field2":"value2"},"description":"Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under \\\"/custom-fields\\\" in the API documentation. The input is validated against the configuration. For more details see [Custom Fields Guide](/guide/tenant/custom-fields)","uniqueKey":"customFields.oneOf.1","typeLabel":"null"}],"uniqueKey":"customFields","typeLabel":"object | null"}},"required":["productFamilies","translations","type","measurement","taxGroup"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"productFamilies":[{"name":"Team Packages"}],"translations":{},"measurement":{"unit":{"name":"Stück","translations":{}},"code":"users","description":"The number of users.","aggregationType":"sum","fairBilling":true,"type":"recurring"},"taxGroup":{"internalDescription":"19%","reverseChargeType":"REVERSE_CHARGE","type":"standard"},"name":"Basic","description":"For small teams.","internalName":"Basic (Weekly)","number":"M-1234","costCentre":{"name":"Cost Centre","type":"KOST1","code":"CC"},"costCentre2":{"name":"Cost Centre","type":"KOST1","code":"CC"},"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","isArchived":true,"customFields":{"field1":"value1","field2":"value2"}}}},"exampleType":"generated"},"text/html":{"schema":{"type":"object","description":"","deprecated":false,"properties":{"productFamilies":{"description":"A product family groups multiple products together.","type":"array","items":{"type":"object","description":"","deprecated":false,"properties":{"name":{"maxLength":255,"example":"Team Packages","type":"string","isRequired":true,"uniqueKey":"productFamilies.items.[INDEX].name","typeLabel":"string"}},"required":["name"],"uniqueKey":"productFamilies.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"productFamilies","typeLabel":"object[]"},"translations":{"minItems":1,"description":"The translations of the product. The locale is used as key.","type":"object","additionalProperties":{"type":"object","description":"","deprecated":false,"properties":{"name":{"minLength":2,"maxLength":255,"example":"Basic","type":"string","isRequired":true,"uniqueKey":"translations.additionalProperties.name","typeLabel":"string"},"locale":{"minLength":2,"maxLength":2,"example":"en","type":"string","uniqueKey":"translations.additionalProperties.locale","typeLabel":"string"},"description":{"oneOf":[{"maxLength":10000,"example":"For small teams","type":"string","uniqueKey":"translations.additionalProperties.description.oneOf.0","typeLabel":"string"},{"maxLength":10000,"example":"For small teams","type":"null","uniqueKey":"translations.additionalProperties.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"translations.additionalProperties.description","typeLabel":"string | null"}},"required":["name"],"uniqueKey":"translations.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"translations","typeLabel":"object"},"type":{"description":"The type of the product.\n - `product`: recurring billed product\n - `charge`: one-time billing\n - `plan`: plan specific product, which cannot be used as a normal product. Will be filtered out in any product lists.\n","type":"string","enum":["product","charge","plan"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"measurement":{"type":"object","description":"The measurement that is used for the price plan. This could define the quantity or a metered usage.","deprecated":false,"properties":{"unit":{"oneOf":[{"type":"object","description":"The unit of the measurement.","properties":{"name":{"example":"Stück","type":"string","uniqueKey":"measurement.unit.oneOf.0.name","typeLabel":"string"},"translations":{"type":"object","additionalProperties":{"type":"object","description":"","deprecated":false,"required":["name","locale"],"properties":{"name":{"maxLength":255,"example":"Stück","type":"string","isRequired":true,"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties.name","typeLabel":"string"},"locale":{"example":"de","type":"string","isRequired":true,"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties.locale","typeLabel":"string"}},"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties","typeLabel":"object"},"uniqueKey":"measurement.unit.oneOf.0.translations","typeLabel":"object"}},"isRequired":true,"uniqueKey":"measurement.unit.oneOf.0","typeLabel":"object"},{"type":"null","description":"The unit of the measurement.","isRequired":true,"uniqueKey":"measurement.unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"measurement.unit","typeLabel":"object | null"},"code":{"minLength":1,"maxLength":255,"description":"A unique code which can be used to identify the measurement.","example":"users","type":"string","isRequired":true,"uniqueKey":"measurement.code","typeLabel":"string"},"description":{"oneOf":[{"maxLength":255,"description":"A description of the measurement, which is shown in the summary of the usage data in the invoice.","example":"The number of users.","type":"string","uniqueKey":"measurement.description.oneOf.0","typeLabel":"string"},{"maxLength":255,"description":"A description of the measurement, which is shown in the summary of the usage data in the invoice.","example":"The number of users.","type":"null","uniqueKey":"measurement.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"measurement.description","typeLabel":"string | null"},"aggregationType":{"description":"The aggregation type of the measurement. Describes how the quantity is calculated. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.\n\nPossible values:\n * `count`: The number of sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.\n * `count_unique`: The number of unique sent measurements in the billing interval, identified by the id given on event creation.\n * `max`: The maximum value of all sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.\n * `sum`: The sum of all sent measurements in the billing interval.\n * `last_value`: The last sent measurement.\n * `average`: The average of all sent measurements in the billing interval.","default":"last_value","example":"sum","uniqueKey":"measurement.aggregationType","typeLabel":"any"},"fairBilling":{"description":"If set to false, the measurement will be billed for the whole billing interval, even if the quantity changes, or the item is cancelled / terminated during the billing interval.","default":true,"example":true,"type":"boolean","uniqueKey":"measurement.fairBilling","typeLabel":"boolean"},"type":{"description":"The type of the measurement. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.\n\nPossible values:\n * `instant_metered`: The measurement value is reset to 0 after each push. The measurement gets billed immediately and an invoice is created. The aggregation type must be \"last_value\".\n * `metered`: The measurement value is reset to 0 after each billing interval.\n * `recurring`: The measurement value is not reset to 0 after each billing interval and the last value is used for all following billing intervals. The aggregation type must be \"last_value\".","default":"recurring","example":"recurring","uniqueKey":"measurement.type","typeLabel":"any"}},"required":["unit","code"],"isRequired":true,"uniqueKey":"measurement","typeLabel":"object"},"taxGroup":{"type":"object","description":"The tax group that is used for the product.","deprecated":false,"properties":{"internalDescription":{"maxLength":255,"description":"The name of the tax group which will be displayed only in the UI","example":"19%","type":"string","isRequired":true,"uniqueKey":"taxGroup.internalDescription","typeLabel":"string"},"reverseChargeType":{"description":"Defines if reverse charge will be applicated or not","default":"REVERSE_CHARGE","example":"REVERSE_CHARGE","enum":["REVERSE_CHARGE_DEACTIVATED","REVERSE_CHARGE","REVERSE_CHARGE_INTRA_EU_SUPPLY"],"type":"string","isRequired":true,"uniqueKey":"taxGroup.reverseChargeType","typeLabel":"enum\u003cstring>"},"type":{"default":"standard","example":"standard","enum":["standard","reduced"],"type":"string","isRequired":true,"uniqueKey":"taxGroup.type","typeLabel":"enum\u003cstring>"}},"required":["internalDescription","reverseChargeType","type"],"isRequired":true,"uniqueKey":"taxGroup","typeLabel":"object"},"name":{"description":"The name of the product based on the current tenant language. This will be displayed on customer communication.","example":"Basic","type":"string","uniqueKey":"name","typeLabel":"string"},"description":{"oneOf":[{"description":"The description of the product based on the current tenant language.","example":"For small teams.","type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"description":"The description of the product based on the current tenant language.","example":"For small teams.","type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"internalName":{"oneOf":[{"description":"Internal name of the product, to differentiate between products with the same name. This will shown in web-app lists, selections and reports.","example":"Basic (Weekly)","type":"string","uniqueKey":"internalName.oneOf.0","typeLabel":"string"},{"description":"Internal name of the product, to differentiate between products with the same name. This will shown in web-app lists, selections and reports.","example":"Basic (Weekly)","type":"null","uniqueKey":"internalName.oneOf.1","typeLabel":"null"}],"uniqueKey":"internalName","typeLabel":"string | null"},"number":{"oneOf":[{"minLength":2,"maxLength":255,"description":"Internal product number","example":"M-1234","type":"string","uniqueKey":"number.oneOf.0","typeLabel":"string"},{"minLength":2,"maxLength":255,"description":"Internal product number","example":"M-1234","type":"null","uniqueKey":"number.oneOf.1","typeLabel":"null"}],"uniqueKey":"number","typeLabel":"string | null"},"invoiceVisibility":{"description":"Defines when the product should be displayed in the invoice.\n - `always`: The product is always displayed in the invoice.\n - `only_if_charged`: The product is only displayed in the invoice if it is charged.\n","type":"string","enum":["always","only_if_charged"],"uniqueKey":"invoiceVisibility","typeLabel":"enum\u003cstring>"},"costCentre":{"oneOf":[{"type":"object","description":"The cost centre is used for accounting exports.","required":["name","type"],"properties":{"name":{"maxLength":255,"description":"The name of the cost centre, which is displayed in the UI","example":"Cost Centre","type":"string","isRequired":true,"uniqueKey":"costCentre.oneOf.0.name","typeLabel":"string"},"type":{"description":"The type of the cost centre, which is used for exports","example":"KOST1","type":"string","enum":["KOST1","KOST2"],"isRequired":true,"uniqueKey":"costCentre.oneOf.0.type","typeLabel":"enum\u003cstring>"},"code":{"description":"The code of the cost centre, which is used for exports","example":"CC","type":"string","uniqueKey":"costCentre.oneOf.0.code","typeLabel":"string"}},"uniqueKey":"costCentre.oneOf.0","typeLabel":"object"},{"type":"null","description":"The cost centre is used for accounting exports.","uniqueKey":"costCentre.oneOf.1","typeLabel":"null"}],"uniqueKey":"costCentre","typeLabel":"object | null"},"costCentre2":{"oneOf":[{"type":"object","description":"The KOST2 cost centre is used for accounting exports (DATEV axis KOST2).","required":["name","type"],"properties":{"name":{"maxLength":255,"description":"The name of the cost centre, which is displayed in the UI","example":"Cost Centre","type":"string","isRequired":true,"uniqueKey":"costCentre2.oneOf.0.name","typeLabel":"string"},"type":{"description":"The type of the cost centre, which is used for exports","example":"KOST1","type":"string","enum":["KOST1","KOST2"],"isRequired":true,"uniqueKey":"costCentre2.oneOf.0.type","typeLabel":"enum\u003cstring>"},"code":{"description":"The code of the cost centre, which is used for exports","example":"CC","type":"string","uniqueKey":"costCentre2.oneOf.0.code","typeLabel":"string"}},"uniqueKey":"costCentre2.oneOf.0","typeLabel":"object"},{"type":"null","description":"The KOST2 cost centre is used for accounting exports (DATEV axis KOST2).","uniqueKey":"costCentre2.oneOf.1","typeLabel":"null"}],"uniqueKey":"costCentre2","typeLabel":"object | null"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"isArchived":{"description":"Defines if the product is archived and should not be used anymore.","type":"boolean","uniqueKey":"isArchived","typeLabel":"boolean"},"customFields":{"oneOf":[{"additionalProperties":{"type":"string","uniqueKey":"customFields.oneOf.0.additionalProperties","typeLabel":"string"},"type":"object","example":{"field1":"value1","field2":"value2"},"description":"Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under \\\"/custom-fields\\\" in the API documentation. The input is validated against the configuration. For more details see [Custom Fields Guide](/guide/tenant/custom-fields)","uniqueKey":"customFields.oneOf.0","typeLabel":"object"},{"additionalProperties":{"type":"string","uniqueKey":"customFields.oneOf.1.additionalProperties","typeLabel":"string"},"type":"null","example":{"field1":"value1","field2":"value2"},"description":"Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under \\\"/custom-fields\\\" in the API documentation. The input is validated against the configuration. For more details see [Custom Fields Guide](/guide/tenant/custom-fields)","uniqueKey":"customFields.oneOf.1","typeLabel":"null"}],"uniqueKey":"customFields","typeLabel":"object | null"}},"required":["productFamilies","translations","type","measurement","taxGroup"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"productFamilies":[{"name":"Team Packages"}],"translations":{},"measurement":{"unit":{"name":"Stück","translations":{}},"code":"users","description":"The number of users.","aggregationType":"sum","fairBilling":true,"type":"recurring"},"taxGroup":{"internalDescription":"19%","reverseChargeType":"REVERSE_CHARGE","type":"standard"},"name":"Basic","description":"For small teams.","internalName":"Basic (Weekly)","number":"M-1234","costCentre":{"name":"Cost Centre","type":"KOST1","code":"CC"},"costCentre2":{"name":"Cost Centre","type":"KOST1","code":"CC"},"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","isArchived":true,"customFields":{"field1":"value1","field2":"value2"}}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"d7e69be4-f52f-4741-b801-df49b0636ae8":{"description":"Product resource updated","content":{"application/json":{"schema":{"type":"object","description":"","deprecated":false,"properties":{"productFamilies":{"description":"A product family groups multiple products together.","type":"array","items":{"type":"object","description":"","deprecated":false,"properties":{"name":{"maxLength":255,"example":"Team Packages","type":"string","isRequired":true,"uniqueKey":"productFamilies.items.[INDEX].name","typeLabel":"string"},"id":{"readOnly":true,"example":"ad8b3b9e-5b0a-4e1a-8b0a-4e1a8b0a4e1a","type":"string","uniqueKey":"productFamilies.items.[INDEX].id","typeLabel":"string"}},"required":["name"],"uniqueKey":"productFamilies.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"productFamilies","typeLabel":"object[]"},"translations":{"minItems":1,"description":"The translations of the product. The locale is used as key.","type":"object","additionalProperties":{"type":"object","description":"","deprecated":false,"properties":{"name":{"minLength":2,"maxLength":255,"example":"Basic","type":"string","isRequired":true,"uniqueKey":"translations.additionalProperties.name","typeLabel":"string"},"locale":{"minLength":2,"maxLength":2,"example":"en","type":"string","uniqueKey":"translations.additionalProperties.locale","typeLabel":"string"},"description":{"oneOf":[{"maxLength":10000,"example":"For small teams","type":"string","uniqueKey":"translations.additionalProperties.description.oneOf.0","typeLabel":"string"},{"maxLength":10000,"example":"For small teams","type":"null","uniqueKey":"translations.additionalProperties.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"translations.additionalProperties.description","typeLabel":"string | null"}},"required":["name"],"uniqueKey":"translations.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"translations","typeLabel":"object"},"type":{"description":"The type of the product.\n - `product`: recurring billed product\n - `charge`: one-time billing\n - `plan`: plan specific product, which cannot be used as a normal product. Will be filtered out in any product lists.\n","type":"string","enum":["product","charge","plan"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"measurement":{"type":"object","description":"The measurement that is used for the price plan. This could define the quantity or a metered usage.","deprecated":false,"properties":{"unit":{"oneOf":[{"type":"object","description":"The unit of the measurement.","properties":{"id":{"type":"object","description":"","deprecated":false,"readOnly":true,"uniqueKey":"measurement.unit.oneOf.0.id","typeLabel":"object"},"name":{"example":"Stück","type":"string","uniqueKey":"measurement.unit.oneOf.0.name","typeLabel":"string"},"translations":{"type":"object","additionalProperties":{"type":"object","description":"","deprecated":false,"required":["name","locale"],"properties":{"name":{"maxLength":255,"example":"Stück","type":"string","isRequired":true,"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties.name","typeLabel":"string"},"locale":{"example":"de","type":"string","isRequired":true,"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties.locale","typeLabel":"string"}},"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties","typeLabel":"object"},"uniqueKey":"measurement.unit.oneOf.0.translations","typeLabel":"object"}},"isRequired":true,"uniqueKey":"measurement.unit.oneOf.0","typeLabel":"object"},{"type":"null","description":"The unit of the measurement.","isRequired":true,"uniqueKey":"measurement.unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"measurement.unit","typeLabel":"object | null"},"code":{"minLength":1,"maxLength":255,"description":"A unique code which can be used to identify the measurement.","example":"users","type":"string","isRequired":true,"uniqueKey":"measurement.code","typeLabel":"string"},"id":{"readOnly":true,"description":"A unique identifier for the measurement.","example":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","type":"string","uniqueKey":"measurement.id","typeLabel":"string"},"description":{"oneOf":[{"maxLength":255,"description":"A description of the measurement, which is shown in the summary of the usage data in the invoice.","example":"The number of users.","type":"string","uniqueKey":"measurement.description.oneOf.0","typeLabel":"string"},{"maxLength":255,"description":"A description of the measurement, which is shown in the summary of the usage data in the invoice.","example":"The number of users.","type":"null","uniqueKey":"measurement.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"measurement.description","typeLabel":"string | null"},"aggregationType":{"description":"The aggregation type of the measurement. Describes how the quantity is calculated. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.\n\nPossible values:\n * `count`: The number of sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.\n * `count_unique`: The number of unique sent measurements in the billing interval, identified by the id given on event creation.\n * `max`: The maximum value of all sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.\n * `sum`: The sum of all sent measurements in the billing interval.\n * `last_value`: The last sent measurement.\n * `average`: The average of all sent measurements in the billing interval.","default":"last_value","example":"sum","uniqueKey":"measurement.aggregationType","typeLabel":"any"},"fairBilling":{"description":"If set to false, the measurement will be billed for the whole billing interval, even if the quantity changes, or the item is cancelled / terminated during the billing interval.","default":true,"example":true,"type":"boolean","uniqueKey":"measurement.fairBilling","typeLabel":"boolean"},"type":{"description":"The type of the measurement. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.\n\nPossible values:\n * `instant_metered`: The measurement value is reset to 0 after each push. The measurement gets billed immediately and an invoice is created. The aggregation type must be \"last_value\".\n * `metered`: The measurement value is reset to 0 after each billing interval.\n * `recurring`: The measurement value is not reset to 0 after each billing interval and the last value is used for all following billing intervals. The aggregation type must be \"last_value\".","default":"recurring","example":"recurring","uniqueKey":"measurement.type","typeLabel":"any"}},"required":["unit","code"],"isRequired":true,"uniqueKey":"measurement","typeLabel":"object"},"taxGroup":{"type":"object","description":"The tax group that is used for the product.","deprecated":false,"properties":{"internalDescription":{"maxLength":255,"description":"The name of the tax group which will be displayed only in the UI","example":"19%","type":"string","isRequired":true,"uniqueKey":"taxGroup.internalDescription","typeLabel":"string"},"reverseChargeType":{"description":"Defines if reverse charge will be applicated or not","default":"REVERSE_CHARGE","example":"REVERSE_CHARGE","enum":["REVERSE_CHARGE_DEACTIVATED","REVERSE_CHARGE","REVERSE_CHARGE_INTRA_EU_SUPPLY"],"type":"string","isRequired":true,"uniqueKey":"taxGroup.reverseChargeType","typeLabel":"enum\u003cstring>"},"type":{"default":"standard","example":"standard","enum":["standard","reduced"],"type":"string","isRequired":true,"uniqueKey":"taxGroup.type","typeLabel":"enum\u003cstring>"},"id":{"readOnly":true,"example":"00000000-0000-0000-0000-000000000000","type":"string","uniqueKey":"taxGroup.id","typeLabel":"string"}},"required":["internalDescription","reverseChargeType","type"],"isRequired":true,"uniqueKey":"taxGroup","typeLabel":"object"},"id":{"readOnly":true,"description":"The unique identifier of the product.","example":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","type":"string","uniqueKey":"id","typeLabel":"string"},"name":{"description":"The name of the product based on the current tenant language. This will be displayed on customer communication.","example":"Basic","type":"string","uniqueKey":"name","typeLabel":"string"},"description":{"oneOf":[{"description":"The description of the product based on the current tenant language.","example":"For small teams.","type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"description":"The description of the product based on the current tenant language.","example":"For small teams.","type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"internalName":{"oneOf":[{"description":"Internal name of the product, to differentiate between products with the same name. This will shown in web-app lists, selections and reports.","example":"Basic (Weekly)","type":"string","uniqueKey":"internalName.oneOf.0","typeLabel":"string"},{"description":"Internal name of the product, to differentiate between products with the same name. This will shown in web-app lists, selections and reports.","example":"Basic (Weekly)","type":"null","uniqueKey":"internalName.oneOf.1","typeLabel":"null"}],"uniqueKey":"internalName","typeLabel":"string | null"},"number":{"oneOf":[{"minLength":2,"maxLength":255,"description":"Internal product number","example":"M-1234","type":"string","uniqueKey":"number.oneOf.0","typeLabel":"string"},{"minLength":2,"maxLength":255,"description":"Internal product number","example":"M-1234","type":"null","uniqueKey":"number.oneOf.1","typeLabel":"null"}],"uniqueKey":"number","typeLabel":"string | null"},"invoiceVisibility":{"description":"Defines when the product should be displayed in the invoice.\n - `always`: The product is always displayed in the invoice.\n - `only_if_charged`: The product is only displayed in the invoice if it is charged.\n","type":"string","enum":["always","only_if_charged"],"uniqueKey":"invoiceVisibility","typeLabel":"enum\u003cstring>"},"costCentre":{"oneOf":[{"type":"object","description":"The cost centre is used for accounting exports.","required":["name","type"],"properties":{"name":{"maxLength":255,"description":"The name of the cost centre, which is displayed in the UI","example":"Cost Centre","type":"string","isRequired":true,"uniqueKey":"costCentre.oneOf.0.name","typeLabel":"string"},"type":{"description":"The type of the cost centre, which is used for exports","example":"KOST1","type":"string","enum":["KOST1","KOST2"],"isRequired":true,"uniqueKey":"costCentre.oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"readOnly":true,"example":"ad8f1c9c-4f0a-4e1a-8b1a-9c4d9c4d9c4d","type":"string","uniqueKey":"costCentre.oneOf.0.id","typeLabel":"string"},"code":{"description":"The code of the cost centre, which is used for exports","example":"CC","type":"string","uniqueKey":"costCentre.oneOf.0.code","typeLabel":"string"},"createdAt":{"readOnly":true,"description":"The date and time when the cost centre was created","example":"2021-01-01T00:00:00+00:00","type":"string","format":"date-time","uniqueKey":"costCentre.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"readOnly":true,"description":"The date and time when the cost centre was last updated","example":"2021-01-01T00:00:00+00:00","type":"string","format":"date-time","uniqueKey":"costCentre.oneOf.0.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"costCentre.oneOf.0","typeLabel":"object"},{"type":"null","description":"The cost centre is used for accounting exports.","uniqueKey":"costCentre.oneOf.1","typeLabel":"null"}],"uniqueKey":"costCentre","typeLabel":"object | null"},"costCentre2":{"oneOf":[{"type":"object","description":"The KOST2 cost centre is used for accounting exports (DATEV axis KOST2).","required":["name","type"],"properties":{"name":{"maxLength":255,"description":"The name of the cost centre, which is displayed in the UI","example":"Cost Centre","type":"string","isRequired":true,"uniqueKey":"costCentre2.oneOf.0.name","typeLabel":"string"},"type":{"description":"The type of the cost centre, which is used for exports","example":"KOST1","type":"string","enum":["KOST1","KOST2"],"isRequired":true,"uniqueKey":"costCentre2.oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"readOnly":true,"example":"ad8f1c9c-4f0a-4e1a-8b1a-9c4d9c4d9c4d","type":"string","uniqueKey":"costCentre2.oneOf.0.id","typeLabel":"string"},"code":{"description":"The code of the cost centre, which is used for exports","example":"CC","type":"string","uniqueKey":"costCentre2.oneOf.0.code","typeLabel":"string"},"createdAt":{"readOnly":true,"description":"The date and time when the cost centre was created","example":"2021-01-01T00:00:00+00:00","type":"string","format":"date-time","uniqueKey":"costCentre2.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"readOnly":true,"description":"The date and time when the cost centre was last updated","example":"2021-01-01T00:00:00+00:00","type":"string","format":"date-time","uniqueKey":"costCentre2.oneOf.0.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"costCentre2.oneOf.0","typeLabel":"object"},{"type":"null","description":"The KOST2 cost centre is used for accounting exports (DATEV axis KOST2).","uniqueKey":"costCentre2.oneOf.1","typeLabel":"null"}],"uniqueKey":"costCentre2","typeLabel":"object | null"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"isArchived":{"description":"Defines if the product is archived and should not be used anymore.","type":"boolean","uniqueKey":"isArchived","typeLabel":"boolean"},"customFields":{"oneOf":[{"additionalProperties":{"type":"string","uniqueKey":"customFields.oneOf.0.additionalProperties","typeLabel":"string"},"type":"object","example":{"field1":"value1","field2":"value2"},"description":"Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under \\\"/custom-fields\\\" in the API documentation. The input is validated against the configuration. For more details see [Custom Fields Guide](/guide/tenant/custom-fields)","uniqueKey":"customFields.oneOf.0","typeLabel":"object"},{"additionalProperties":{"type":"string","uniqueKey":"customFields.oneOf.1.additionalProperties","typeLabel":"string"},"type":"null","example":{"field1":"value1","field2":"value2"},"description":"Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under \\\"/custom-fields\\\" in the API documentation. The input is validated against the configuration. For more details see [Custom Fields Guide](/guide/tenant/custom-fields)","uniqueKey":"customFields.oneOf.1","typeLabel":"null"}],"uniqueKey":"customFields","typeLabel":"object | null"}},"required":["productFamilies","translations","type","measurement","taxGroup"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"productFamilies":[{"name":"Team Packages","id":"ad8b3b9e-5b0a-4e1a-8b0a-4e1a8b0a4e1a"}],"translations":{},"type":"product","measurement":{"unit":{"id":{},"name":"Stück","translations":{}},"code":"users","id":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","description":"The number of users.","aggregationType":"sum","fairBilling":true,"type":"recurring"},"taxGroup":{"internalDescription":"19%","reverseChargeType":"REVERSE_CHARGE","type":"standard","id":"00000000-0000-0000-0000-000000000000"},"id":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","name":"Basic","description":"For small teams.","internalName":"Basic (Weekly)","number":"M-1234","invoiceVisibility":"always","costCentre":{"name":"Cost Centre","type":"KOST1","id":"ad8f1c9c-4f0a-4e1a-8b1a-9c4d9c4d9c4d","code":"CC","createdAt":"2021-01-01T00:00:00+00:00","updatedAt":"2021-01-01T00:00:00+00:00"},"costCentre2":{"name":"Cost Centre","type":"KOST1","id":"ad8f1c9c-4f0a-4e1a-8b1a-9c4d9c4d9c4d","code":"CC","createdAt":"2021-01-01T00:00:00+00:00","updatedAt":"2021-01-01T00:00:00+00:00"},"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","isArchived":true,"customFields":{"field1":"value1","field2":"value2"}}}},"exampleType":"generated"},"text/html":{"schema":{"type":"object","description":"","deprecated":false,"properties":{"productFamilies":{"description":"A product family groups multiple products together.","type":"array","items":{"type":"object","description":"","deprecated":false,"properties":{"name":{"maxLength":255,"example":"Team Packages","type":"string","isRequired":true,"uniqueKey":"productFamilies.items.[INDEX].name","typeLabel":"string"},"id":{"readOnly":true,"example":"ad8b3b9e-5b0a-4e1a-8b0a-4e1a8b0a4e1a","type":"string","uniqueKey":"productFamilies.items.[INDEX].id","typeLabel":"string"}},"required":["name"],"uniqueKey":"productFamilies.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"productFamilies","typeLabel":"object[]"},"translations":{"minItems":1,"description":"The translations of the product. The locale is used as key.","type":"object","additionalProperties":{"type":"object","description":"","deprecated":false,"properties":{"name":{"minLength":2,"maxLength":255,"example":"Basic","type":"string","isRequired":true,"uniqueKey":"translations.additionalProperties.name","typeLabel":"string"},"locale":{"minLength":2,"maxLength":2,"example":"en","type":"string","uniqueKey":"translations.additionalProperties.locale","typeLabel":"string"},"description":{"oneOf":[{"maxLength":10000,"example":"For small teams","type":"string","uniqueKey":"translations.additionalProperties.description.oneOf.0","typeLabel":"string"},{"maxLength":10000,"example":"For small teams","type":"null","uniqueKey":"translations.additionalProperties.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"translations.additionalProperties.description","typeLabel":"string | null"}},"required":["name"],"uniqueKey":"translations.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"translations","typeLabel":"object"},"type":{"description":"The type of the product.\n - `product`: recurring billed product\n - `charge`: one-time billing\n - `plan`: plan specific product, which cannot be used as a normal product. Will be filtered out in any product lists.\n","type":"string","enum":["product","charge","plan"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"measurement":{"type":"object","description":"The measurement that is used for the price plan. This could define the quantity or a metered usage.","deprecated":false,"properties":{"unit":{"oneOf":[{"type":"object","description":"The unit of the measurement.","properties":{"id":{"type":"object","description":"","deprecated":false,"readOnly":true,"uniqueKey":"measurement.unit.oneOf.0.id","typeLabel":"object"},"name":{"example":"Stück","type":"string","uniqueKey":"measurement.unit.oneOf.0.name","typeLabel":"string"},"translations":{"type":"object","additionalProperties":{"type":"object","description":"","deprecated":false,"required":["name","locale"],"properties":{"name":{"maxLength":255,"example":"Stück","type":"string","isRequired":true,"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties.name","typeLabel":"string"},"locale":{"example":"de","type":"string","isRequired":true,"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties.locale","typeLabel":"string"}},"uniqueKey":"measurement.unit.oneOf.0.translations.additionalProperties","typeLabel":"object"},"uniqueKey":"measurement.unit.oneOf.0.translations","typeLabel":"object"}},"isRequired":true,"uniqueKey":"measurement.unit.oneOf.0","typeLabel":"object"},{"type":"null","description":"The unit of the measurement.","isRequired":true,"uniqueKey":"measurement.unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"measurement.unit","typeLabel":"object | null"},"code":{"minLength":1,"maxLength":255,"description":"A unique code which can be used to identify the measurement.","example":"users","type":"string","isRequired":true,"uniqueKey":"measurement.code","typeLabel":"string"},"id":{"readOnly":true,"description":"A unique identifier for the measurement.","example":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","type":"string","uniqueKey":"measurement.id","typeLabel":"string"},"description":{"oneOf":[{"maxLength":255,"description":"A description of the measurement, which is shown in the summary of the usage data in the invoice.","example":"The number of users.","type":"string","uniqueKey":"measurement.description.oneOf.0","typeLabel":"string"},{"maxLength":255,"description":"A description of the measurement, which is shown in the summary of the usage data in the invoice.","example":"The number of users.","type":"null","uniqueKey":"measurement.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"measurement.description","typeLabel":"string | null"},"aggregationType":{"description":"The aggregation type of the measurement. Describes how the quantity is calculated. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.\n\nPossible values:\n * `count`: The number of sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.\n * `count_unique`: The number of unique sent measurements in the billing interval, identified by the id given on event creation.\n * `max`: The maximum value of all sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.\n * `sum`: The sum of all sent measurements in the billing interval.\n * `last_value`: The last sent measurement.\n * `average`: The average of all sent measurements in the billing interval.","default":"last_value","example":"sum","uniqueKey":"measurement.aggregationType","typeLabel":"any"},"fairBilling":{"description":"If set to false, the measurement will be billed for the whole billing interval, even if the quantity changes, or the item is cancelled / terminated during the billing interval.","default":true,"example":true,"type":"boolean","uniqueKey":"measurement.fairBilling","typeLabel":"boolean"},"type":{"description":"The type of the measurement. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.\n\nPossible values:\n * `instant_metered`: The measurement value is reset to 0 after each push. The measurement gets billed immediately and an invoice is created. The aggregation type must be \"last_value\".\n * `metered`: The measurement value is reset to 0 after each billing interval.\n * `recurring`: The measurement value is not reset to 0 after each billing interval and the last value is used for all following billing intervals. The aggregation type must be \"last_value\".","default":"recurring","example":"recurring","uniqueKey":"measurement.type","typeLabel":"any"}},"required":["unit","code"],"isRequired":true,"uniqueKey":"measurement","typeLabel":"object"},"taxGroup":{"type":"object","description":"The tax group that is used for the product.","deprecated":false,"properties":{"internalDescription":{"maxLength":255,"description":"The name of the tax group which will be displayed only in the UI","example":"19%","type":"string","isRequired":true,"uniqueKey":"taxGroup.internalDescription","typeLabel":"string"},"reverseChargeType":{"description":"Defines if reverse charge will be applicated or not","default":"REVERSE_CHARGE","example":"REVERSE_CHARGE","enum":["REVERSE_CHARGE_DEACTIVATED","REVERSE_CHARGE","REVERSE_CHARGE_INTRA_EU_SUPPLY"],"type":"string","isRequired":true,"uniqueKey":"taxGroup.reverseChargeType","typeLabel":"enum\u003cstring>"},"type":{"default":"standard","example":"standard","enum":["standard","reduced"],"type":"string","isRequired":true,"uniqueKey":"taxGroup.type","typeLabel":"enum\u003cstring>"},"id":{"readOnly":true,"example":"00000000-0000-0000-0000-000000000000","type":"string","uniqueKey":"taxGroup.id","typeLabel":"string"}},"required":["internalDescription","reverseChargeType","type"],"isRequired":true,"uniqueKey":"taxGroup","typeLabel":"object"},"id":{"readOnly":true,"description":"The unique identifier of the product.","example":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","type":"string","uniqueKey":"id","typeLabel":"string"},"name":{"description":"The name of the product based on the current tenant language. This will be displayed on customer communication.","example":"Basic","type":"string","uniqueKey":"name","typeLabel":"string"},"description":{"oneOf":[{"description":"The description of the product based on the current tenant language.","example":"For small teams.","type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"description":"The description of the product based on the current tenant language.","example":"For small teams.","type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"internalName":{"oneOf":[{"description":"Internal name of the product, to differentiate between products with the same name. This will shown in web-app lists, selections and reports.","example":"Basic (Weekly)","type":"string","uniqueKey":"internalName.oneOf.0","typeLabel":"string"},{"description":"Internal name of the product, to differentiate between products with the same name. This will shown in web-app lists, selections and reports.","example":"Basic (Weekly)","type":"null","uniqueKey":"internalName.oneOf.1","typeLabel":"null"}],"uniqueKey":"internalName","typeLabel":"string | null"},"number":{"oneOf":[{"minLength":2,"maxLength":255,"description":"Internal product number","example":"M-1234","type":"string","uniqueKey":"number.oneOf.0","typeLabel":"string"},{"minLength":2,"maxLength":255,"description":"Internal product number","example":"M-1234","type":"null","uniqueKey":"number.oneOf.1","typeLabel":"null"}],"uniqueKey":"number","typeLabel":"string | null"},"invoiceVisibility":{"description":"Defines when the product should be displayed in the invoice.\n - `always`: The product is always displayed in the invoice.\n - `only_if_charged`: The product is only displayed in the invoice if it is charged.\n","type":"string","enum":["always","only_if_charged"],"uniqueKey":"invoiceVisibility","typeLabel":"enum\u003cstring>"},"costCentre":{"oneOf":[{"type":"object","description":"The cost centre is used for accounting exports.","required":["name","type"],"properties":{"name":{"maxLength":255,"description":"The name of the cost centre, which is displayed in the UI","example":"Cost Centre","type":"string","isRequired":true,"uniqueKey":"costCentre.oneOf.0.name","typeLabel":"string"},"type":{"description":"The type of the cost centre, which is used for exports","example":"KOST1","type":"string","enum":["KOST1","KOST2"],"isRequired":true,"uniqueKey":"costCentre.oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"readOnly":true,"example":"ad8f1c9c-4f0a-4e1a-8b1a-9c4d9c4d9c4d","type":"string","uniqueKey":"costCentre.oneOf.0.id","typeLabel":"string"},"code":{"description":"The code of the cost centre, which is used for exports","example":"CC","type":"string","uniqueKey":"costCentre.oneOf.0.code","typeLabel":"string"},"createdAt":{"readOnly":true,"description":"The date and time when the cost centre was created","example":"2021-01-01T00:00:00+00:00","type":"string","format":"date-time","uniqueKey":"costCentre.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"readOnly":true,"description":"The date and time when the cost centre was last updated","example":"2021-01-01T00:00:00+00:00","type":"string","format":"date-time","uniqueKey":"costCentre.oneOf.0.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"costCentre.oneOf.0","typeLabel":"object"},{"type":"null","description":"The cost centre is used for accounting exports.","uniqueKey":"costCentre.oneOf.1","typeLabel":"null"}],"uniqueKey":"costCentre","typeLabel":"object | null"},"costCentre2":{"oneOf":[{"type":"object","description":"The KOST2 cost centre is used for accounting exports (DATEV axis KOST2).","required":["name","type"],"properties":{"name":{"maxLength":255,"description":"The name of the cost centre, which is displayed in the UI","example":"Cost Centre","type":"string","isRequired":true,"uniqueKey":"costCentre2.oneOf.0.name","typeLabel":"string"},"type":{"description":"The type of the cost centre, which is used for exports","example":"KOST1","type":"string","enum":["KOST1","KOST2"],"isRequired":true,"uniqueKey":"costCentre2.oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"readOnly":true,"example":"ad8f1c9c-4f0a-4e1a-8b1a-9c4d9c4d9c4d","type":"string","uniqueKey":"costCentre2.oneOf.0.id","typeLabel":"string"},"code":{"description":"The code of the cost centre, which is used for exports","example":"CC","type":"string","uniqueKey":"costCentre2.oneOf.0.code","typeLabel":"string"},"createdAt":{"readOnly":true,"description":"The date and time when the cost centre was created","example":"2021-01-01T00:00:00+00:00","type":"string","format":"date-time","uniqueKey":"costCentre2.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"readOnly":true,"description":"The date and time when the cost centre was last updated","example":"2021-01-01T00:00:00+00:00","type":"string","format":"date-time","uniqueKey":"costCentre2.oneOf.0.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"costCentre2.oneOf.0","typeLabel":"object"},{"type":"null","description":"The KOST2 cost centre is used for accounting exports (DATEV axis KOST2).","uniqueKey":"costCentre2.oneOf.1","typeLabel":"null"}],"uniqueKey":"costCentre2","typeLabel":"object | null"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"isArchived":{"description":"Defines if the product is archived and should not be used anymore.","type":"boolean","uniqueKey":"isArchived","typeLabel":"boolean"},"customFields":{"oneOf":[{"additionalProperties":{"type":"string","uniqueKey":"customFields.oneOf.0.additionalProperties","typeLabel":"string"},"type":"object","example":{"field1":"value1","field2":"value2"},"description":"Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under \\\"/custom-fields\\\" in the API documentation. The input is validated against the configuration. For more details see [Custom Fields Guide](/guide/tenant/custom-fields)","uniqueKey":"customFields.oneOf.0","typeLabel":"object"},{"additionalProperties":{"type":"string","uniqueKey":"customFields.oneOf.1.additionalProperties","typeLabel":"string"},"type":"null","example":{"field1":"value1","field2":"value2"},"description":"Custom fields for the entity. The keys are the field names and the values are the field values. They need to be configured under \\\"/custom-fields\\\" in the API documentation. The input is validated against the configuration. For more details see [Custom Fields Guide](/guide/tenant/custom-fields)","uniqueKey":"customFields.oneOf.1","typeLabel":"null"}],"uniqueKey":"customFields","typeLabel":"object | null"}},"required":["productFamilies","translations","type","measurement","taxGroup"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"productFamilies":[{"name":"Team Packages","id":"ad8b3b9e-5b0a-4e1a-8b0a-4e1a8b0a4e1a"}],"translations":{},"type":"product","measurement":{"unit":{"id":{},"name":"Stück","translations":{}},"code":"users","id":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","description":"The number of users.","aggregationType":"sum","fairBilling":true,"type":"recurring"},"taxGroup":{"internalDescription":"19%","reverseChargeType":"REVERSE_CHARGE","type":"standard","id":"00000000-0000-0000-0000-000000000000"},"id":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","name":"Basic","description":"For small teams.","internalName":"Basic (Weekly)","number":"M-1234","invoiceVisibility":"always","costCentre":{"name":"Cost Centre","type":"KOST1","id":"ad8f1c9c-4f0a-4e1a-8b1a-9c4d9c4d9c4d","code":"CC","createdAt":"2021-01-01T00:00:00+00:00","updatedAt":"2021-01-01T00:00:00+00:00"},"costCentre2":{"name":"Cost Centre","type":"KOST1","id":"ad8f1c9c-4f0a-4e1a-8b1a-9c4d9c4d9c4d","code":"CC","createdAt":"2021-01-01T00:00:00+00:00","updatedAt":"2021-01-01T00:00:00+00:00"},"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","isArchived":true,"customFields":{"field1":"value1","field2":"value2"}}}},"exampleType":"generated"}},"links":{},"exampleType":"generated"},"988e5aa5-0562-4d46-8e9d-dafff3b3677f":{"description":"Invalid input","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"5a718e24-60dd-4a92-976c-9ab917f81b79":{"description":"Resource not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"2abefeae-547f-4972-b593-fcd76a80aac0":{"description":"Unprocessable entity","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"273a9e95-0ebe-4153-ac68-ae1c54a813ee":{"JWT":{"type":"http","scheme":"bearer","scopes":["product:write"]}}},"servers":{"987b4dcd-9d5f-4357-a99f-0dbd47556601":{"url":"https://coreapi.io","description":"Production"},"a53b6fbc-bcf4-4920-9f87-1223f86cceba":{"url":"https://preview.coreapi.io","description":"Sandbox"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":["product:write"]},"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":"JWT","name":"Authorization"}],"title":"JWT"}]},"originalFileLocation":"assets/openapi.json"},"subdomain":"fynnsubscriptionbilling","siteName":"Fynn Docs","title":"Update a product - Fynn Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/api-reference/product/update-a-product","matchLevel":0},"en":{"href":"/en/introduction","matchLevel":4}}},"lastModified":"2026-01-28T23:39:16.343Z","originalFileLocation":"api-reference/product/update-a-product.mdx","locale":"de"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Update a product Required permissions: product:write\">\u003cmeta data-mint-head name=\"application-name\" content=\"Fynn Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_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/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_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/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_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/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_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/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_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/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_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/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_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/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update a product - Fynn Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update a product Required permissions: product:write\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Fynn Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fynn.eu/api-reference/product/update-a-product\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fynnsubscriptionbilling.mintlify.app/_mintlify/api/og/v2?division=Product\u0026amp;title=Update+a+product\u0026amp;description=Update+a+product%0A%0A%3Csup%3ERequired+permissions%3A+%60product%3Awrite%60%3C%2Fsup%3E\u0026amp;theme=4b76c1a49202070b198dd6e7\u0026amp;signature=85869cff9dca1aa8c133fba25c03aa759e0a57c52df19f382807c1b9122777d9\">\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=\"Update a product - Fynn Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update a product Required permissions: product:write\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fynnsubscriptionbilling.mintlify.app/_mintlify/api/og/v2?division=Product\u0026amp;title=Update+a+product\u0026amp;description=Update+a+product%0A%0A%3Csup%3ERequired+permissions%3A+%60product%3Awrite%60%3C%2Fsup%3E\u0026amp;theme=4b76c1a49202070b198dd6e7\u0026amp;signature=85869cff9dca1aa8c133fba25c03aa759e0a57c52df19f382807c1b9122777d9\">\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/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Fynn Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fynn.eu/api-reference/product/update-a-product\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/product/update-a-product.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fynn.eu/#organization\",\"name\":\"Fynn Docs\",\"url\":\"https://docs.fynn.eu\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fynnsubscriptionbilling/kPbBeWVEZfmEic9q/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=kPbBeWVEZfmEic9q\u0026q=85\u0026s=83e4b30a53d77c3809e0f22afa29335d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fynn.eu#website\",\"name\":\"Fynn Docs\",\"url\":\"https://docs.fynn.eu\",\"publisher\":{\"@id\":\"https://docs.fynn.eu/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fynn.eu/api-reference/product/update-a-product#webpage\",\"url\":\"https://docs.fynn.eu/api-reference/product/update-a-product\",\"name\":\"Update a product\",\"description\":\"Update a product Required permissions: product:write\",\"dateModified\":\"2026-01-28T23:39:16.343Z\",\"isPartOf\":{\"@id\":\"https://docs.fynn.eu#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fynn.eu/api-reference/product/update-a-product#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fynn.eu/api-reference/product/update-a-product#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Catalogue\",\"item\":\"https://docs.fynn.eu/api-reference/unit/get-all-units\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product\",\"item\":\"https://docs.fynn.eu/api-reference/product/get-products\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update a product\",\"item\":\"https://docs.fynn.eu/api-reference/product/update-a-product\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fynn.eu/api-reference/product/update-a-product#apireference\",\"headline\":\"Update a product\",\"name\":\"Update a product\",\"description\":\"Update a product Required permissions: product:write\",\"url\":\"https://docs.fynn.eu/api-reference/product/update-a-product\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fynn.eu/api-reference/product/update-a-product#webpage\"},\"dateModified\":\"2026-01-28T23:39:16.343Z\",\"publisher\":{\"@id\":\"https://docs.fynn.eu/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fynn.eu#website\"}}]}\u003c/script>","siteName":"Fynn Docs","nav":{"global":null,"languages":[{"language":"de","default":true,"tabs":[{"tab":"Dokumentation","pages":[{"title":"Dokumentation","href":"/introduction"}]},{"tab":"Integrationen","pages":[{"title":"Integrationen","href":"/integrations/overview"}]},{"tab":"API Referenz","groups":[{"group":"API documentation","pages":[{"title":"Getting started","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"},{"group":"Guides","pages":[{"title":"Manage payment methods on your own payment page","href":"/api-reference/guides/add-payment-method"},{"title":"Collect Usage Data","href":"/api-reference/guides/collect-usage-data"},{"title":"Wallet Top-Up","href":"/api-reference/guides/wallet-top-up"},{"title":"Wallet Payout","href":"/api-reference/guides/wallet-payout"},{"title":"Enable manual invoice checks","href":"/api-reference/guides/enable-manual-invoice-check"},{"title":"Implement Self-Service Upgrades","sidebarTitle":"Upgrades \u0026 Downgrades","href":"/api-reference/guides/implement-upgrades"}]},{"group":"Migrations","pages":[{"title":"Migration: Measurements → Nutzungsmetriken","sidebarTitle":"Measurements Deprecation","href":"/api-reference/migrations/measurements-deprecation"}]},{"group":"Usage Events","pages":[{"title":"Usage Events API","href":"/api-reference/usage-events/overview"}]}]},{"group":"User","pages":[{"openapi":"post /auth/register","title":"Register a new user","href":"/api-reference/user/register-a-new-user"},{"openapi":"post /user/complete","title":"Complete the user registration","href":"/api-reference/user/complete-the-user-registration"},{"openapi":"get /user/accounts","title":"Get the current user's accounts","href":"/api-reference/user/get-the-current-users-accounts"},{"openapi":"post /user/default-tenant","title":"Set the default tenant of the current user","href":"/api-reference/user/set-the-default-tenant-of-the-current-user"},{"openapi":"get /user/login-activities","title":"Get all login activities","href":"/api-reference/user/get-all-login-activities"},{"openapi":"get /user/me","title":"Get the current user","href":"/api-reference/user/get-the-current-user"},{"group":"Api Tokens","pages":[{"openapi":"get /user/api-tokens","title":"Get all api tokens","href":"/api-reference/userapitoken/get-all-api-tokens"},{"openapi":"post /user/api-tokens","title":"Create api token","href":"/api-reference/userapitoken/create-api-token"},{"openapi":"delete /user/api-tokens/{id}","title":"Delete api token","href":"/api-reference/userapitoken/delete-api-token"}]}]},{"group":"Tenant","pages":[{"openapi":"post /tenants","title":"Create a new tenant","href":"/api-reference/tenant/create-a-new-tenant"},{"openapi":"get /tenants/{id}","title":"Get a tenant","href":"/api-reference/tenant/get-a-tenant"},{"openapi":"patch /tenants/{id}","title":"Update a tenant","href":"/api-reference/tenant/update-a-tenant"},{"openapi":"get /user/tenants","title":"Get the tenants of the current user","href":"/api-reference/tenant/get-the-tenants-of-the-current-user"}]},{"group":"Customer","pages":[{"openapi":"get /customers","title":"Get customers","href":"/api-reference/customer/get-customers"},{"openapi":"post /customers","title":"Create customer","href":"/api-reference/customer/create-customer"},{"openapi":"get /customers/{id}","title":"Get customer","href":"/api-reference/customer/get-customer"},{"openapi":"put /customers/{id}","title":"Update customer","href":"/api-reference/customer/update-customer"},{"openapi":"put /customers/{id}/archive","title":"Archive customer","href":"/api-reference/customer/archive-customer"},{"openapi":"delete /customers/{id}","title":"Delete customer","href":"/api-reference/customer/delete-customer"},{"openapi":"post /customers/{id}/comment","title":"Add comment","href":"/api-reference/customer/add-comment"},{"group":"Hierarchy","pages":[{"openapi":"put /customers/{customerId}/set-parent","title":"Set parent customer","href":"/api-reference/customer/set-parent-customer"},{"openapi":"put /customers/{customerId}/remove-parent","title":"Remove parent customer","href":"/api-reference/customer/remove-parent-customer"},{"openapi":"get /customers/{customerId}/children","title":"Get customer children","href":"/api-reference/customer/get-customer-children"},{"openapi":"get /customers/{customerId}/hierarchy","title":"Get customer hierarchy","href":"/api-reference/customer/get-customer-hierarchy"}]},{"group":"Address","pages":[{"openapi":"get /customers/{customerId}/addresses","title":"Get all customer addresses","href":"/api-reference/customeraddress/get-all-customer-addresses"},{"openapi":"post /customers/{customerId}/addresses","title":"Add a customer address","href":"/api-reference/customeraddress/add-a-customer-address"},{"openapi":"get /customer-addresses/{id}","title":"Get a customer address","href":"/api-reference/customeraddress/get-a-customer-address"},{"openapi":"put /customer-addresses/{id}","title":"Update a customer address","href":"/api-reference/customeraddress/update-a-customer-address"},{"openapi":"delete /customer-addresses/{id}","title":"Delete a customer address","href":"/api-reference/customeraddress/delete-a-customer-address"},{"openapi":"post /customer-addresses/{id}/default","title":"Set a customer address as default","href":"/api-reference/customeraddress/set-a-customer-address-as-default"},{"openapi":"put /customer-addresses/{id}/unset-default","title":"Unset a customer address as default","href":"/api-reference/customeraddress/unset-a-customer-address-as-default"}]},{"group":"Email","pages":[{"openapi":"get /customers/{customerId}/email-addresses","title":"Get customer email addresses","href":"/api-reference/customeremail/get-customer-email-addresses"},{"openapi":"post /customers/{customerId}/email-addresses","title":"Create customer email address","href":"/api-reference/customeremail/create-customer-email-address"},{"openapi":"get /customer-email-addresses/{id}","title":"Get customer email address","href":"/api-reference/customeremail/get-customer-email-address"},{"openapi":"patch /customer-email-addresses/{id}","title":"Update customer email address","href":"/api-reference/customeremail/update-customer-email-address"},{"openapi":"delete /customer-email-addresses/{id}","title":"Delete customer email address","href":"/api-reference/customeremail/delete-customer-email-address"},{"openapi":"post /customer-email-addresses/{id}/default","title":"Set default customer email address","href":"/api-reference/customeremail/set-default-customer-email-address"}]},{"group":"Settings","pages":[{"openapi":"get /customers/{id}/settings/{context}","title":"Get settings","href":"/api-reference/customersettings/get-settings"},{"openapi":"patch /customers/{id}/settings/{context}","title":"Update settings","href":"/api-reference/customersettings/update-settings"}]},{"group":"Authentication","pages":[{"openapi":"post /customers/{id}/authenticate","title":"Generate customer authentication","href":"/api-reference/customer/authenticate-customer"},{"openapi":"post /customers/{id}/send-login-email","title":"Send login email to customer","href":"/api-reference/customer/send-login-email"},{"openapi":"post /public/customer/request-login-link","title":"Request a login link for the customer portal","href":"/api-reference/customerotp/request-login-link"},{"openapi":"post /public/customer/request-otp","title":"Request a one time token for a customer","href":"/api-reference/customerotp/request-a-one-time-token-for-a-customer"}]}]},{"group":"Catalogue","pages":[{"group":"Unit","pages":[{"openapi":"get /units","title":"Get all units","href":"/api-reference/unit/get-all-units"},{"openapi":"post /units","title":"Create a unit","href":"/api-reference/unit/create-a-unit"},{"openapi":"get /units/{id}","title":"Get a unit","href":"/api-reference/unit/get-a-unit"},{"openapi":"put /units/{id}","title":"Update a unit","href":"/api-reference/unit/update-a-unit"}]},{"group":"Measurement","pages":[{"openapi":"get /catalogue/measurements","title":"Get all measurements.","href":"/api-reference/measurement/get-all-measurements"},{"openapi":"post /catalogue/measurements","title":"Create a measurement.","href":"/api-reference/measurement/create-a-measurement"},{"openapi":"get /catalogue/measurements/{id}","title":"Get a measurement.","href":"/api-reference/measurement/get-a-measurement"},{"openapi":"put /catalogue/measurements/{id}","title":"Update a measurement.","href":"/api-reference/measurement/update-a-measurement"},{"openapi":"delete /catalogue/measurements/{id}","title":"Delete a measurement.","href":"/api-reference/measurement/delete-a-measurement"}]},{"group":"Product","pages":[{"openapi":"get /catalogue/products","title":"Get products","href":"/api-reference/product/get-products"},{"openapi":"post /catalogue/products","title":"Create a product","href":"/api-reference/product/create-a-product"},{"openapi":"get /catalogue/products/{id}","title":"Get a product","description":"Get a product\n\n\u003csup>Required permissions: `product:read`\u003c/sup>","href":"/api-reference/product/get-a-product"},{"openapi":"put /catalogue/products/{id}","title":"Update a product","href":"/api-reference/product/update-a-product"},{"openapi":"delete /catalogue/products/{id}","title":"Delete a product","description":"Delete a product\n\n\u003csup>Required permissions: `product:write`\u003c/sup>","href":"/api-reference/product/delete-a-product"},{"openapi":"put /catalogue/products/{id}/archive","title":"Archive a product","href":"/api-reference/product/archive-a-product"}]},{"group":"Product Family","pages":[{"openapi":"get /product-families","title":"Get a collection of product families","href":"/api-reference/productfamily/get-a-collection-of-product-families"},{"openapi":"post /product-families","title":"Create a product family","href":"/api-reference/productfamily/create-a-product-family"},{"openapi":"get /product-families/{id}","title":"Get a product family","href":"/api-reference/productfamily/get-a-product-family"},{"openapi":"put /product-families/{id}","title":"Update a product family","href":"/api-reference/productfamily/update-a-product-family"},{"openapi":"delete /product-families/{id}","title":"Delete a product family","href":"/api-reference/productfamily/delete-a-product-family"},{"openapi":"put /product-families/{id}/products","title":"Add products to a product family","href":"/api-reference/productfamily/add-products-to-a-product-family"},{"openapi":"get /product-family-tree","title":"Get a product family tree","href":"/api-reference/productfamily/get-a-product-family-tree"}]},{"group":"Product Group","pages":[{"openapi":"get /catalogue/product-groups","title":"Get product groups","href":"/api-reference/productgroup/get-product-groups"},{"openapi":"post /catalogue/product-groups","title":"Create a product group","href":"/api-reference/productgroup/create-product-group"},{"openapi":"get /catalogue/product-groups/{id}","title":"Get a product group","href":"/api-reference/productgroup/get-product-group"},{"openapi":"put /catalogue/product-groups/{id}","title":"Update a product group","href":"/api-reference/productgroup/update-product-group"},{"openapi":"delete /catalogue/product-groups/{id}","title":"Delete a product group","href":"/api-reference/productgroup/delete-product-group"},{"openapi":"put /subscription-items/{id}/product-group","title":"Enable Up- \u0026 Downgrades","sidebarTitle":"Enable Up- \u0026 Downgrades","href":"/api-reference/productgroup/assign-product-group"},{"openapi":"get /subscription-items/{id}/change-options","title":"Get change options","href":"/api-reference/productgroup/get-change-options"},{"openapi":"post /product-group-memberships/{id}/apply","title":"Change Tier","sidebarTitle":"Change Tier","href":"/api-reference/productgroup/apply-membership"}]},{"group":"Price Plan","pages":[{"openapi":"get /price-plans","title":"Get all prices.","href":"/api-reference/priceplan/get-all-prices"},{"openapi":"post /price-plans","title":"Create a new price plan.","href":"/api-reference/priceplan/create-a-new-price-plan"},{"openapi":"get /price-plans/{id}","title":"Get a price.","href":"/api-reference/priceplan/get-a-price"},{"openapi":"put /price-plans/{id}","title":"Update a price plan.","href":"/api-reference/priceplan/update-a-price-plan"},{"openapi":"put /price-plans/{id}/archive","title":"Archive a price plan.","href":"/api-reference/priceplan/archive-a-price-plan"}]},{"group":"Coupon","pages":[{"openapi":"get /coupons","title":"Get all coupons","href":"/api-reference/coupon/get-all-coupons"},{"openapi":"post /coupons","title":"Create a coupon","href":"/api-reference/coupon/create-a-coupon"},{"openapi":"get /coupons/{couponId}/redeemptions","title":"Get all redeemptions for a coupon","href":"/api-reference/coupon/get-all-redeemptions-for-a-coupon"},{"openapi":"get /coupons/{id}","title":"Get a coupon","href":"/api-reference/coupon/get-a-coupon"},{"openapi":"put /coupons/{id}","title":"Update a coupon","href":"/api-reference/coupon/update-a-coupon"},{"openapi":"delete /coupons/{id}","title":"Delete a coupon","href":"/api-reference/coupon/delete-a-coupon"},{"openapi":"put /coupons/{id}/toggle","title":"Toggle a coupon","href":"/api-reference/coupon/toggle-a-coupon"}]}]},{"group":"Subscription","pages":[{"openapi":"get /subscriptions","title":"Get all subscriptions","href":"/api-reference/subscription/get-all-subscriptions"},{"openapi":"post /subscriptions","title":"Create subscription","href":"/api-reference/subscription/create-subscription"},{"openapi":"post /subscriptions/from-plan","title":"Create subscription from plan","href":"/api-reference/subscription/create-subscription-from-plan"},{"openapi":"get /subscriptions/{id}","title":"Get subscription","href":"/api-reference/subscription/get-subscription"},{"openapi":"put /subscriptions/{id}","title":"Update subscription","href":"/api-reference/subscription/update-subscription"},{"openapi":"delete /subscriptions/{id}","title":"Delete subscription","href":"/api-reference/subscription/delete-subscription"},{"openapi":"put /subscriptions/{id}/activate","title":"Activate subscription","href":"/api-reference/subscription/activate-subscription"},{"openapi":"get /subscriptions/{id}/estimated-amount","title":"Get estimated amount","href":"/api-reference/subscription/get-estimated-amount"},{"openapi":"get /subscriptions/{id}/estimated-invoice","title":"Get estimated invoice","href":"/api-reference/subscription/get-estimated-invoice"},{"openapi":"put /subscriptions/{id}/extend-trial","title":"Extend trial","href":"/api-reference/subscription/extend-trial"},{"openapi":"put /subscriptions/{id}/invoice-address","title":"Update invoice address","href":"/api-reference/subscription/update-invoice-address"},{"openapi":"put /subscriptions/{id}/pause","title":"Pause subscription","href":"/api-reference/subscription/pause-subscription"},{"openapi":"put /subscriptions/{id}/payment-method","title":"Update payment method","href":"/api-reference/subscription/update-payment-method"},{"openapi":"post /subscriptions/{id}/products","title":"Order products","href":"/api-reference/subscription/order-products"},{"openapi":"put /subscriptions/{id}/resume","title":"Resume subscription","href":"/api-reference/subscription/resume-subscription"},{"openapi":"put /subscriptions/{id}/revoke-trial","title":"Revoke trial","href":"/api-reference/subscription/revoke-trial"},{"openapi":"put /subscriptions/{id}/cancel","title":"Cancel subscription","href":"/api-reference/subscription/cancel-subscription"},{"title":"Subscription Transition","href":"/api-reference/subscription/transition"},{"openapi":"post /subscriptions/{id}/comment","title":"Add comment","href":"/api-reference/subscription/add-comment"},{"group":"Item","pages":[{"openapi":"get /subscription-items/{id}","title":"Get a subscription item.","href":"/api-reference/subscriptionitem/get-a-subscription-item"},{"openapi":"patch /subscription-items/{id}","title":"Update a subscription item.","href":"/api-reference/subscriptionitem/update-a-subscription-item"},{"openapi":"delete /subscription-items/{id}","title":"Remove a subscription item.","href":"/api-reference/subscriptionitem/remove-a-subscription-item"},{"openapi":"get /subscription-item-applied-discounts/{id}","title":"Get a subscription item applied discount.","href":"/api-reference/subscriptionitem/get-a-subscription-item-applied-discount"},{"openapi":"get /subscription-items/{id}/estimated-amount","title":"Get estimated amount","href":"/api-reference/subscriptionitem/get-estimated-amount"}]},{"group":"Measurement","pages":[{"openapi":"post /subscription-measurements","title":"Add a subscription measurement.","href":"/api-reference/subscription-measurement/add-a-subscription-measurement"},{"openapi":"post /subscription-measurements/batch","title":"Add a batch of subscription measurement.","href":"/api-reference/subscription-measurement/add-a-batch-of-subscription-measurement"},{"openapi":"get /subscription-measurements/{id}","title":"Get a subscription measurement.","href":"/api-reference/subscription-measurement/get-a-subscription-measurement"}]},{"group":"Billing Group","pages":[{"openapi":"get /customers/{customerId}/billing-groups","title":"Get a collection of billing groups","href":"/api-reference/billinggroup/get-a-collection-of-billing-groups"},{"openapi":"post /billing-groups","title":"Create a billing group","href":"/api-reference/billinggroup/create-a-billing-group"},{"openapi":"get /billing-groups/{id}","title":"Get a billing group","href":"/api-reference/billinggroup/get-a-billing-group"}]}]},{"group":"Invoice","pages":[{"openapi":"get /invoices","title":"Get invoices","href":"/api-reference/invoice/get-invoices"},{"openapi":"post /invoices","title":"Create draft invoice","href":"/api-reference/invoice/create-draft-invoice"},{"openapi":"get /invoices/{id}","title":"Get invoice","href":"/api-reference/invoice/get-invoice"},{"openapi":"put /invoices/{id}","title":"Update draft invoice","href":"/api-reference/invoice/update-draft-invoice"},{"openapi":"delete /invoices/{id}","title":"Delete invoice","href":"/api-reference/invoice/delete-invoice"},{"openapi":"post /invoices/{id}/finalize","title":"Finalize invoice","href":"/api-reference/invoice/finalize-invoice"},{"openapi":"post /invoices/{id}/pdf","title":"Upload custom invoice PDF","href":"/api-reference/invoice/upload-invoice-pdf"},{"openapi":"post /invoices/{id}/cancel","title":"Cancel invoice","href":"/api-reference/invoice/cancel-invoice"},{"openapi":"post /invoices/{id}/credit","title":"Credit invoice","href":"/api-reference/invoice/credit-invoice"},{"openapi":"post /invoices/{id}/duplicate","title":"Duplicate invoice","href":"/api-reference/invoice/duplicate-invoice"},{"openapi":"put /invoices/{id}/resend","title":"Resend invoice","href":"/api-reference/invoice/resend-invoice"},{"openapi":"put /invoices/{id}/download-link","title":"Get invoice download link","href":"/api-reference/invoice/get-invoice-download-link"},{"openapi":"get /invoices/{id}/preview","title":"Get invoice preview","href":"/api-reference/invoice/get-invoice-preview"},{"openapi":"put /invoices/{id}/close","title":"Close invoice","href":"/api-reference/invoice/close-invoice"},{"openapi":"post /invoices/{id}/payments","title":"Add invoice payment","href":"/api-reference/invoice/add-invoice-payment"},{"openapi":"post /invoices/{id}/customer-address","title":"Set invoice customer address","href":"/api-reference/invoice/set-invoice-customer-address"},{"openapi":"post /invoices/{id}/payment-method","title":"Set invoice payment method","href":"/api-reference/invoice/set-invoice-payment-method"},{"openapi":"put /invoices/{id}/internal-note","title":"Set invoice note","href":"/api-reference/invoice/set-invoice-note"},{"openapi":"put /invoices/{id}/dunning","title":"Toggle dunning","href":"/api-reference/invoice/toggle-dunning"},{"openapi":"post /invoices/{id}/position-items","title":"Add invoice position items","href":"/api-reference/invoice/add-invoice-position-items"},{"openapi":"post /invoices/{id}/comment","title":"Add comment","href":"/api-reference/invoice/add-comment"},{"group":"Position Item","pages":[{"openapi":"get /invoice-position-items/{id}","title":"Get an invoice position item","href":"/api-reference/invoicepositionitem/get-an-invoice-position-item"},{"openapi":"put /invoice-position-items/{id}","title":"Update an invoice position item","href":"/api-reference/invoicepositionitem/update-an-invoice-position-item"},{"openapi":"delete /invoice-position-items/{id}","title":"Delete an invoice position item","href":"/api-reference/invoicepositionitem/delete-an-invoice-position-item"}]},{"group":"Billing Run","pages":[{"openapi":"get /invoices/{invoiceId}/billing-run","title":"Get billing run details for an invoice","href":"/api-reference/billingrun/get-billing-run-details-for-an-invoice"}]}]},{"group":"Payment","pages":[{"group":"Payment Method","pages":[{"openapi":"get /customers/{customerId}/payment-methods","title":"Get customer's payment methods","href":"/api-reference/paymentmethod/get-customers-payment-methods"},{"openapi":"post /payment-methods","title":"Create payment method","href":"/api-reference/paymentmethod/create-payment-method"},{"openapi":"post /payment-methods/link","title":"Create payment method link","href":"/api-reference/paymentmethod/create-payment-method-link"},{"openapi":"post /payment-methods/migrate/stripe","title":"Migrate stripe payment methods","href":"/api-reference/paymentmethod/migrate-stripe-payment-methods"},{"openapi":"post /payment-methods/{id}/document","title":"Upload a document for a payment method","href":"/api-reference/paymentmethod/upload-a-document-for-a-payment-method"}]},{"group":"Transaction","pages":[{"openapi":"get /payment/transactions","title":"Get transactions","href":"/api-reference/payment-transaction/get-transactions"},{"openapi":"get /payment/transactions/{id}","title":"Get transaction","href":"/api-reference/payment-transaction/get-transaction"}]},{"group":"SEPA XML","pages":[{"openapi":"get /sepa-xml-files","title":"Get a list of SEPA XML files","href":"/api-reference/sepaxmlstatement/get-a-list-of-sepa-xml-files"},{"openapi":"post /sepa-xml-files/generate","title":"Generate a SEPA XML file","href":"/api-reference/sepaxmlstatement/generate-a-sepa-xml-file"},{"openapi":"get /sepa-xml-files/{id}","title":"Get a SEPA XML file","href":"/api-reference/sepaxmlstatement/get-a-sepa-xml-file"},{"openapi":"delete /sepa-xml-files/{id}","title":"Delete a SEPA XML file","href":"/api-reference/sepaxmlstatement/delete-a-sepa-xml-file"},{"openapi":"put /sepa-xml-files/{id}/uploaded","title":"Mark a SEPA XML file as uploaded","href":"/api-reference/sepaxmlstatement/mark-a-sepa-xml-file-as-uploaded"},{"openapi":"get /sepa-xml-payments/{id}","title":"Get a Sepa XML payment","href":"/api-reference/sepa-xml-payments/get-a-sepa-xml-payment"}]},{"group":"Open Banking","pages":[{"openapi":"post /klarna/connect","title":"Connect Klarna","href":"/api-reference/open-banking/connect-klarna"},{"openapi":"get /open-banking-accounts","title":"Get connected open banking accounts","href":"/api-reference/open-banking/get-connected-open-banking-accounts"},{"openapi":"get /open-banking-accounts/{id}","title":"Get open banking account","href":"/api-reference/open-banking/get-open-banking-account"},{"openapi":"put /open-banking-accounts/{id}/disconnect","title":"Disconnect open banking account","href":"/api-reference/open-banking/disconnect-open-banking-account"},{"openapi":"post /api/open-banking-accounts/{id}/fetch-transactions","title":"Trigger a transaction fetch for an open banking account","href":"/api-reference/open-banking/fetch-open-banking-account-transactions"}]},{"group":"Bank Transaction","pages":[{"openapi":"get /payment/bank-account-transactions","title":"Get bank account transactions","href":"/api-reference/bankaccounttransaction/get-bank-account-transactions"},{"openapi":"get /payment/bank-account-transactions/{id}","title":"Get bank account transaction details","href":"/api-reference/bankaccounttransaction/get-bank-account-transaction-details"},{"openapi":"get /payment/bank-account-transaction-assignments/{id}","title":"Get a bank account transaction assignment","href":"/api-reference/bankaccounttransaction/get-a-bank-account-transaction-assignment"},{"openapi":"put /payment/bank-account-transactions/{id}/assign-invoices","title":"Assign invoices to the bank account transaction.","href":"/api-reference/bankaccounttransaction/assign-invoices-to-the-bank-account-transaction"},{"title":"Assign Invoices and Book the Remainder","sidebarTitle":"Assign with Disposition","href":"/api-reference/bankaccounttransaction/assign-with-disposition"},{"openapi":"put /payment/bank-account-transactions/accept-suggestions","title":"Accept the suggestions","href":"/api-reference/bankaccounttransaction/accept-the-suggestions"},{"openapi":"put /payment/bank-account-transactions/ignore","title":"Ignore bank account transactions.","href":"/api-reference/bankaccounttransaction/ignore-bank-account-transactions"},{"openapi":"get /payment/bank-account-transactions/status-count","title":"Get the status count of the bank account transactions","href":"/api-reference/bankaccounttransaction/get-the-status-count-of-the-bank-account-transactions"}]}]},{"group":"Dunning","pages":[{"openapi":"get /dunning/documents","title":"Get dunning documents","href":"/api-reference/dunningdocument/get-dunning-documents"},{"openapi":"get /dunning/documents/{id}","title":"Get dunning document","href":"/api-reference/dunningdocument/get-dunning-document"},{"openapi":"put /dunning/documents/{id}/cancel","title":"Cancel dunning document","href":"/api-reference/dunningdocument/cancel-dunning-document"},{"group":"Rules","pages":[{"openapi":"get /dunning/overdue-rules","title":"Get overdue rules","href":"/api-reference/overduerule/get-overdue-rules"},{"openapi":"put /dunning/overdue-rules/{id}","title":"Update overdue rule","href":"/api-reference/overduerule/update-overdue-rule"}]}]},{"group":"Offer","pages":[{"openapi":"get /offers","title":"Get offers","href":"/api-reference/offer/get-offers"},{"openapi":"post /subscriptions/{id}/offers","title":"[Deprecated, removed 2026-08-01] Create an offer","href":"/api-reference/offer/create-an-offer"},{"openapi":"get /offers/{id}","title":"[Deprecated, removed 2026-08-01] Get an offer","href":"/api-reference/offer/get-an-offer"},{"openapi":"put /offers/{id}","title":"Update an offer","href":"/api-reference/offer/update-an-offer"},{"openapi":"get /offers/{id}/document","title":"[Deprecated, removed 2026-08-01] Get a offer document","href":"/api-reference/offer/get-a-offer-document"},{"openapi":"get /public/offers/{id}","title":"[Deprecated, removed 2026-08-01] Get a public offer","href":"/api-reference/offer/get-a-public-offer"},{"openapi":"get /public/offers/{id}/document","title":"[Deprecated, removed 2026-08-01] Get a public offer document","href":"/api-reference/offer/get-a-public-offer-document"},{"openapi":"post /offers/{id}/recipients","title":"Add a recipient to an offer","href":"/api-reference/offer/add-a-recipient-to-an-offer"},{"openapi":"get /public/offers/{id}/sign","title":"[Deprecated, removed 2026-08-01] Start signing an offer","href":"/api-reference/offer/start-signing-an-offer"},{"group":"Recipient","pages":[{"openapi":"delete /offer-recipients/{id}","title":"Remove an offer recipient","href":"/api-reference/offerrecipient/remove-an-offer-recipient"},{"openapi":"put /offer-recipients/{id}/role","title":"Change the role of an offer recipient","href":"/api-reference/offerrecipient/change-the-role-of-an-offer-recipient"}]},{"group":"Template","pages":[{"openapi":"get /offer-templates","title":"Get offer templates","href":"/api-reference/offertemplate/get-offer-templates"},{"openapi":"post /offer-templates","title":"Create an offer template","href":"/api-reference/offertemplate/create-an-offer-template"},{"openapi":"get /offer-templates/{id}","title":"Get an offer template","href":"/api-reference/offertemplate/get-an-offer-template"},{"openapi":"put /offer-templates/{id}","title":"Update an offer template","href":"/api-reference/offertemplate/update-an-offer-template"}]}]},{"group":"Checkout","pages":[{"group":"Checkout Link","pages":[{"openapi":"post /checkout-links","title":"Create a checkout link","href":"/api-reference/checkoutlink/create-a-checkout-link"},{"openapi":"get /checkout-links/{id}","title":"Get a checkout link","href":"/api-reference/checkoutlink/get-a-checkout-link"},{"openapi":"put /checkout-links/{id}","title":"Update a checkout link","href":"/api-reference/checkoutlink/update-a-checkout-link"},{"openapi":"get /checkout-link-items/{id}","title":"Get a checkout link item","href":"/api-reference/checkoutlinkitem/get-a-checkout-link-item"},{"openapi":"post /checkout-links/{id}/cart","title":"Create a cart from a checkout link","href":"/api-reference/checkoutlink/create-a-cart-from-a-checkout-link"}]},{"group":"Cart","pages":[{"openapi":"get /checkout/carts","title":"Retrieves completed carts of the current tenant.","href":"/api-reference/cart/retrieves-completed-carts-of-the-current-tenant"},{"openapi":"get /checkout/carts/{id}","title":"Retrieves a cart by its ID.","href":"/api-reference/cart/retrieves-a-cart-by-its-id"},{"openapi":"get /public/checkout/cart/{id}","title":"Retrieves a cart by its ID.","href":"/api-reference/cart/retrieves-a-cart-by-its-id-1"},{"openapi":"put /public/checkout/cart/{id}/change-quantity","title":"Changes the quantity of a cart item.","href":"/api-reference/cart/changes-the-quantity-of-a-cart-item"},{"openapi":"put /public/checkout/cart/{id}/confirm","title":"Confirms a cart.","href":"/api-reference/cart/confirms-a-cart"},{"openapi":"put /public/checkout/cart/{id}/confirm-otp","title":"Confirms the OTP of a cart.","href":"/api-reference/cart/confirms-the-otp-of-a-cart"},{"openapi":"get /public/checkout/cart/{id}/invoice-addresses","title":"Retrieves the invoice addresses of a cart.","href":"/api-reference/cart/retrieves-the-invoice-addresses-of-a-cart"},{"openapi":"get /public/checkout/cart/{id}/payment-methods","title":"Retrieves the payment methods of a cart.","href":"/api-reference/cart/retrieves-the-payment-methods-of-a-cart"},{"openapi":"put /public/checkout/cart/{id}/prepare-stripe","title":"Prepares a cart for stripe.","href":"/api-reference/cart/prepares-a-cart-for-stripe"}]}]},{"group":"Feature \u0026 Entitlement","pages":[{"openapi":"get /entitlement/features","title":"Get features","href":"/api-reference/feature/get-features"},{"openapi":"post /entitlement/features","title":"Create feature","href":"/api-reference/feature/create-feature"},{"openapi":"get /entitlement/features/{id}","title":"Get feature","href":"/api-reference/feature/get-feature"},{"openapi":"put /entitlement/features/{id}","title":"Update feature","href":"/api-reference/feature/update-feature"},{"openapi":"put /entitlement/features/{id}/status","title":"Update feature status","href":"/api-reference/feature/update-feature-status"},{"openapi":"post /entitlement/feature-assignments","title":"Assign feature","href":"/api-reference/feature/assign-feature"},{"openapi":"delete /entitlement/feature-assignments/{id}","title":"Unassign feature","href":"/api-reference/feature/unassign-feature"},{"openapi":"get /entitlement/feature-assignments","title":"Get feature assignments","href":"/api-reference/feature/get-feature-assignments"},{"group":"Entitlement","pages":[{"openapi":"get /subscriptions/{id}/available-features","title":"Get available features","href":"/api-reference/entitlement/get-available-features"},{"openapi":"post /subscriptions/{subscriptionId}/entitlements","title":"Add subscription entitlement","href":"/api-reference/entitlement/add-subscription-entitlement"},{"openapi":"get /subscriptions/{subscriptionId}/entitlements","title":"Get subscription entitlements","href":"/api-reference/entitlement/get-subscription-entitlements"},{"openapi":"post /subscription-items/{subscriptionItemId}/entitlements","title":"Add subscription item entitlement","href":"/api-reference/entitlement/add-subscription-item-entitlement"},{"openapi":"get /subscription-items/{subscriptionItemId}/entitlements","title":"Get subscription item entitlements","href":"/api-reference/entitlement/get-subscription-item-entitlements"},{"openapi":"put /entitlements/{id}/status","title":"Update entitlement status","href":"/api-reference/entitlement/update-entitlement-status"},{"openapi":"delete /entitlements/{id}","title":"Delete entitlement","href":"/api-reference/entitlement/delete-entitlement"}]}]},{"group":"Analytics","pages":[{"openapi":"get /analytics/series/{type}","title":"Get series data","href":"/api-reference/analytics/get-series-data"},{"openapi":"get /analytics/subscription-revenue","title":"Get series data for subscription","href":"/api-reference/analytics/get-series-data-for-subscription"}]},{"group":"Accounting","pages":[{"openapi":"get /accounting/accounts","title":"Get accounts","href":"/api-reference/accounting/get-accounts"},{"openapi":"put /accounting/accounts/{id}","title":"Update account","href":"/api-reference/accounting/update-account"},{"openapi":"get /accounting/postings","title":"Get postings","href":"/api-reference/accounting/get-postings"},{"group":"Cost Centre","pages":[{"openapi":"get /accounting/cost-centres","title":"Get all cost centres","href":"/api-reference/costcentre/get-all-cost-centres"},{"openapi":"post /accounting/cost-centres","title":"Add a cost centre","href":"/api-reference/costcentre/add-a-cost-centre"},{"openapi":"post /accounting/cost-centres/import","title":"Import cost centres","href":"/api-reference/costcentre/import-cost-centres"},{"openapi":"get /accounting/cost-centres/{id}","title":"Get a cost centre","href":"/api-reference/costcentre/get-a-cost-centre"},{"openapi":"patch /accounting/cost-centres/{id}","title":"Update a cost centre","href":"/api-reference/costcentre/update-a-cost-centre"}]},{"group":"Tax","pages":[{"openapi":"get /tax-groups","title":"Get tax groups","href":"/api-reference/tax/get-tax-groups"},{"openapi":"get /tax-groups/{id}","title":"Get tax group","href":"/api-reference/tax/get-tax-group"}]}]},{"group":"Settings","pages":[{"openapi":"get /settings/{context}","title":"Get settings","href":"/api-reference/settings/get-settings"},{"openapi":"patch /settings/{context}","title":"Update settings key","href":"/api-reference/settings/update-settings-key"},{"group":"User \u0026 Permissions","pages":[{"openapi":"get /tenant/accounts","title":"Get all accounts of the current tenant.","href":"/api-reference/account/get-all-accounts-of-the-current-tenant"},{"openapi":"put /accounts/{id}/deactivate","title":"Deactivate account","href":"/api-reference/account/deactivate-account"},{"openapi":"put /accounts/{id}/reactivate","title":"Reactivate account","href":"/api-reference/account/reactivate-account"},{"openapi":"put /accounts/{id}/role","title":"Update account role","href":"/api-reference/account/update-account-role"}]},{"group":"Media","pages":[{"openapi":"get /media","title":"Get all medias","href":"/api-reference/media/get-all-medias"},{"openapi":"post /media","title":"Upload a file","href":"/api-reference/media/upload-a-file"},{"openapi":"get /media-folders","title":"Get media folders","href":"/api-reference/media/get-media-folders"},{"openapi":"get /media/{id}","title":"Get a media","href":"/api-reference/media/get-a-media"},{"openapi":"post /media/{id}/download-token","title":"Create download token","href":"/api-reference/media/create-download-token"},{"openapi":"get /media/{id}/download/{token}","title":"Download by token","href":"/api-reference/media/download-by-token"}]},{"group":"Webhook","pages":[{"openapi":"get /available-webhook-events","title":"Get available webhook events","href":"/api-reference/webhook/get-available-webhook-events"},{"openapi":"get /webhooks","title":"Get webhooks","href":"/api-reference/webhook/get-webhooks"},{"openapi":"post /webhooks","title":"Add webhook","href":"/api-reference/webhook/add-webhook"},{"openapi":"get /webhooks/{id}","title":"Get webhook","href":"/api-reference/webhook/get-webhook"},{"openapi":"patch /webhooks/{id}","title":"Update webhook","href":"/api-reference/webhook/update-webhook"},{"openapi":"delete /webhooks/{id}","title":"Delete webhook","href":"/api-reference/webhook/delete-webhook"},{"openapi":"get /webhook-results","title":"Get webhook results","href":"/api-reference/webhook/get-webhook-results"},{"openapi":"get /webhook-results/{id}","title":"Get webhook result","href":"/api-reference/webhook/get-webhook-result"}]},{"group":"Notification","pages":[{"openapi":"get /notifications","title":"Get notifications","href":"/api-reference/sentnotification/get-notifications"},{"openapi":"get /notifications/{id}","title":"Get a notification","href":"/api-reference/sentnotification/get-a-notification"}]}]}]},{"tab":"API V2","pages":[{"title":"API V2","href":"/v2-plans-api/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/2026-07"}]}]},{"language":"en","pages":[{"title":"en","href":"/en/introduction"}]}]},"title":"Update a product - Fynn Docs","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-BRm_l__d.js","utils-f1l1Oc-G.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BlhqDhJO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DHCB7rsC.js","snippetPresets-CYXLx6Hv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-B78P2dEq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C4YLPVAh.js","shallow-vlLnTDkQ.js","getApiPlaygroundDisplay-D_98hhvf.js","CodeSnippet-DtnZHGqq.js","CodeSnippets-CLFb8KJt.js","Page-kQh739Uz.js","getPastedJson-Cq-zlbnU.js","icon-sN3t983t.js","MethodPill-P_YQ2s09.js","DuplicateIcon-BVzyNsGJ.js","createIcon-B3jqgqC6.js","DynamicMarkdown-Crwq6WG_.js","SectionHeading-C7pGS2Bb.js","axios-vUo_bRtp.js","Markdown-BuPH8yuW.js","clsx-CCOYKgaU.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BnkC_6oA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BM4S31-f.js"]}