Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/jsontext/html
The new Measurement resource
Measurements are used to define the amount of a unit that is used for the price calculation.
SaaS Product Examples
User: the amount of users that are allowed to use the software.
Member: the amount of members that are allowed to use the software.
Environment: the amount of environments that are allowed to use the software.
Hosting Examples
CPU: the amount of CPU cores that are used.
RAM: the amount of RAM that is used.
Storage: the amount of storage in GB that is used.
Traffic: the amount of traffic in GB that is used.
The aggregation type defines how the amount of units is calculated during a billing interval.
The unit defines what is measured.
The aggregation types are useful to be more flexible in the billing process.
Imagine you sell a product with user seats, but you want to bill the customer for the maximum amount of users that were active during the billing interval.
In this case you would use the aggregation type "max".
If you want to bill the customer for the sum of all users that were active during the billing interval, you would use the aggregation type "sum".
If you want to bill the customer for the average amount of users that were active during the billing interval, you would use the aggregation type "avg".
The aggregation type also depends how and when you push the measurements to the API. Feel free to contact us if you need help.
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.
Possible values:
count: The number of sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.
count_unique: The number of unique sent measurements in the billing interval, identified by the id given on event creation.
max: The maximum value of all sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.
sum: The sum of all sent measurements in the billing interval.
last_value: The last sent measurement.
average: The average of all sent measurements in the billing interval.
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.
The type of the measurement. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.
Possible values:
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".
metered: The measurement value is reset to 0 after each billing interval.
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".
Beispiel:
"recurring"
Antwort
Measurement resource created
Measurements are used to define the amount of a unit that is used for the price calculation.
SaaS Product Examples
User: the amount of users that are allowed to use the software.
Member: the amount of members that are allowed to use the software.
Environment: the amount of environments that are allowed to use the software.
Hosting Examples
CPU: the amount of CPU cores that are used.
RAM: the amount of RAM that is used.
Storage: the amount of storage in GB that is used.
Traffic: the amount of traffic in GB that is used.
The aggregation type defines how the amount of units is calculated during a billing interval.
The unit defines what is measured.
The aggregation types are useful to be more flexible in the billing process.
Imagine you sell a product with user seats, but you want to bill the customer for the maximum amount of users that were active during the billing interval.
In this case you would use the aggregation type "max".
If you want to bill the customer for the sum of all users that were active during the billing interval, you would use the aggregation type "sum".
If you want to bill the customer for the average amount of users that were active during the billing interval, you would use the aggregation type "avg".
The aggregation type also depends how and when you push the measurements to the API. Feel free to contact us if you need help.
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.
Possible values:
count: The number of sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.
count_unique: The number of unique sent measurements in the billing interval, identified by the id given on event creation.
max: The maximum value of all sent measurements in the billing interval. Metered usage, which resets to 0 after each billing interval.
sum: The sum of all sent measurements in the billing interval.
last_value: The last sent measurement.
average: The average of all sent measurements in the billing interval.
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.
The type of the measurement. This cannot be changed after creation, otherwise it would change the whole calculation for existing subscriptions.
Possible values:
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".
metered: The measurement value is reset to 0 after each billing interval.
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".
Beispiel:
"recurring"
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","assets/openapi-v2-finance.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":"6ae24404a0e599aece8ac8bd","collectionId":"dcd41a5d-afe1-4249-81bc-4c2de71bebe6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae24404a0e599aece8ac8bd"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"REMOVE_BRANDING":{"status":"ENABLED"}},"buildId":"6ae24404a0e599aece8ac8bd","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"de","tag":"API Referenz","count":249},{"language":"de","tag":"Dokumentation","count":93},{"language":"de","tag":"API V2","count":71},{"language":"en","tag":"Documentation","count":59},{"language":"de","tag":"API","count":46},{"language":"de","tag":"Catalogue","count":42},{"language":"de","tag":"Angebote","count":36},{"language":"de","tag":"Subscription","count":30},{"language":"de","tag":"Customer","count":30},{"language":"de","tag":"Finanzberichte","count":29},{"language":"de","tag":"Payment","count":26},{"language":"default","tag":"API V2","count":18},{"language":"default","tag":"Dokumentation","count":15},{"language":"default","tag":"Pläne","count":15},{"language":"en","tag":"Integrations","count":15},{"language":"default","tag":"API","count":11},{"language":"default","tag":"API Referenz","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-Verwaltung","count":6},{"language":"en","tag":"Payment Providers","count":6},{"language":"default","tag":"Nutzungsbasierte Abrechnung","count":5},{"language":"en","tag":"Accounting","count":5},{"language":"en","tag":"Developers","count":5},{"language":"en","tag":"Invoices","count":5},{"language":"default","tag":"KI-Assistent","count":4}]},"assistantConfig":{},"basePath":"","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":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"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/measurement/create-a-measurement","slug":"/api-reference/measurement/create-a-measurement","pageMetadata":{"openapi":"post /catalogue/measurements","title":"Create a measurement.","description":"Create a measurement.\n\n\u003csup>Required permissions: `measurement:write`\u003c/sup>","href":"/api-reference/measurement/create-a-measurement"},"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: \"Create a measurement.\"\n }), \"\\n\", _jsxs(\"sup\", {\n children: [\"Required permissions: \", _jsx(_components.code, {\n children: \"measurement: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":"post /catalogue/measurements","title":"Create a measurement.","description":"Create a measurement.\n\n\u003csup>Required permissions: `measurement:write`\u003c/sup>","href":"/api-reference/measurement/create-a-measurement"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/fynnsubscriptionbilling/086131e1768d5953/changelog-sidebar.js"],"openApiReferenceData":{"operation":{"operationId":"createMeasurement","tags":["Measurement"],"responses":{"201":"779a3d09-d367-473a-a15a-7a167dc12e1c","400":"4f1ee4ec-a440-476b-bd85-fab995498916","422":"23ef7495-44a1-4825-a987-dc8fd89bb1eb"},"summary":"Create a measurement.","description":"Create a measurement.\n\n\u003csup>Required permissions: `measurement:write`\u003c/sup>","parameters":[],"requestBody":"9c356922-ed47-4f02-86ec-fce0504e6257","deprecated":false,"security":["f446a5d9-6395-462c-a229-77fe62ce0323"],"x-codeSamples":[{"lang":"bash","label":"cURL","source":"curl -X POST \\\n /catalogue/measurements \\\n --header \"Content-Type: application/json\" \\\n --header \"Authorization: Bearer \u003ctoken>\" \\\n --data '{\n \"id\": \"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b\",\n \"unit\": \"https:\\/\\/example.com\\/\",\n \"code\": \"users\",\n \"description\": \"The number of users.\",\n \"fairBilling\": \"1\",\n \"metered\": \"\",\n \"tenantId\": \"\"\n}'"}],"method":"post","type":"path","servers":["987b4dcd-9d5f-4357-a99f-0dbd47556601","a53b6fbc-bcf4-4920-9f87-1223f86cceba"],"path":"/catalogue/measurements","baseUrlOptions":["https://coreapi.io","https://preview.coreapi.io"],"title":"Create a measurement.","codeSamples":[{"label":"cURL","lang":"bash","source":"curl -X POST \\\n /catalogue/measurements \\\n --header \"Content-Type: application/json\" \\\n --header \"Authorization: Bearer \u003ctoken>\" \\\n --data '{\n \"id\": \"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b\",\n \"unit\": \"https:\\/\\/example.com\\/\",\n \"code\": \"users\",\n \"description\": \"The number of users.\",\n \"fairBilling\": \"1\",\n \"metered\": \"\",\n \"tenantId\": \"\"\n}'"}],"requestExampleLanguages":["bash","python","javascript","php"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"description":"The new Measurement resource","content":{"application/json":{"schema":{"type":"object","description":"Measurements are used to define the *amount of a unit that is used* for the price calculation.\n*SaaS Product Examples*\n * User: the amount of users that are allowed to use the software.\n * Member: the amount of members that are allowed to use the software.\n * Environment: the amount of environments that are allowed to use the software.\n\n*Hosting Examples*\n * CPU: the amount of CPU cores that are used.\n * RAM: the amount of RAM that is used.\n * Storage: the amount of storage in GB that is used.\n * Traffic: the amount of traffic in GB that is used.\n\n * The aggregation type defines *how the amount of units is calculated* during a billing interval.\n * The unit defines *what is measured*.\n\nThe aggregation types are useful to be more flexible in the billing process.\nImagine you sell a product with user seats, but you want to bill the customer for the maximum amount of users that were active during the billing interval.\nIn this case you would use the aggregation type \"max\".\nIf you want to bill the customer for the sum of all users that were active during the billing interval, you would use the aggregation type \"sum\".\nIf you want to bill the customer for the average amount of users that were active during the billing interval, you would use the aggregation type \"avg\".\n\nThe aggregation type also depends how and when you push the measurements to the API. Feel free to contact us if you need help.\n","deprecated":false,"properties":{"unit":{"oneOf":[{"description":"The unit of the measurement.","type":"string","format":"uuid","example":"https://example.com/","isRequired":true,"uniqueKey":"unit.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"The unit of the measurement.","type":"null","format":"uuid","example":"https://example.com/","isRequired":true,"uniqueKey":"unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unit","typeLabel":"string\u003cuuid> | 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":"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":"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":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"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":"type","typeLabel":"any"}},"required":["unit","code"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"unit":"https://example.com/","code":"users","description":"The number of users.","aggregationType":"sum","fairBilling":true,"type":"recurring"}}},"exampleType":"generated"},"text/html":{"schema":{"type":"object","description":"Measurements are used to define the *amount of a unit that is used* for the price calculation.\n*SaaS Product Examples*\n * User: the amount of users that are allowed to use the software.\n * Member: the amount of members that are allowed to use the software.\n * Environment: the amount of environments that are allowed to use the software.\n\n*Hosting Examples*\n * CPU: the amount of CPU cores that are used.\n * RAM: the amount of RAM that is used.\n * Storage: the amount of storage in GB that is used.\n * Traffic: the amount of traffic in GB that is used.\n\n * The aggregation type defines *how the amount of units is calculated* during a billing interval.\n * The unit defines *what is measured*.\n\nThe aggregation types are useful to be more flexible in the billing process.\nImagine you sell a product with user seats, but you want to bill the customer for the maximum amount of users that were active during the billing interval.\nIn this case you would use the aggregation type \"max\".\nIf you want to bill the customer for the sum of all users that were active during the billing interval, you would use the aggregation type \"sum\".\nIf you want to bill the customer for the average amount of users that were active during the billing interval, you would use the aggregation type \"avg\".\n\nThe aggregation type also depends how and when you push the measurements to the API. Feel free to contact us if you need help.\n","deprecated":false,"properties":{"unit":{"oneOf":[{"description":"The unit of the measurement.","type":"string","format":"uuid","example":"https://example.com/","isRequired":true,"uniqueKey":"unit.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"The unit of the measurement.","type":"null","format":"uuid","example":"https://example.com/","isRequired":true,"uniqueKey":"unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unit","typeLabel":"string\u003cuuid> | 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":"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":"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":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"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":"type","typeLabel":"any"}},"required":["unit","code"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"unit":"https://example.com/","code":"users","description":"The number of users.","aggregationType":"sum","fairBilling":true,"type":"recurring"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"779a3d09-d367-473a-a15a-7a167dc12e1c":{"description":"Measurement resource created","content":{"application/json":{"schema":{"type":"object","description":"Measurements are used to define the *amount of a unit that is used* for the price calculation.\n*SaaS Product Examples*\n * User: the amount of users that are allowed to use the software.\n * Member: the amount of members that are allowed to use the software.\n * Environment: the amount of environments that are allowed to use the software.\n\n*Hosting Examples*\n * CPU: the amount of CPU cores that are used.\n * RAM: the amount of RAM that is used.\n * Storage: the amount of storage in GB that is used.\n * Traffic: the amount of traffic in GB that is used.\n\n * The aggregation type defines *how the amount of units is calculated* during a billing interval.\n * The unit defines *what is measured*.\n\nThe aggregation types are useful to be more flexible in the billing process.\nImagine you sell a product with user seats, but you want to bill the customer for the maximum amount of users that were active during the billing interval.\nIn this case you would use the aggregation type \"max\".\nIf you want to bill the customer for the sum of all users that were active during the billing interval, you would use the aggregation type \"sum\".\nIf you want to bill the customer for the average amount of users that were active during the billing interval, you would use the aggregation type \"avg\".\n\nThe aggregation type also depends how and when you push the measurements to the API. Feel free to contact us if you need help.\n","deprecated":false,"properties":{"unit":{"oneOf":[{"type":"object","description":"The unit of the measurement.","properties":{"id":{"type":"object","description":"","deprecated":false,"readOnly":true,"uniqueKey":"unit.oneOf.0.id","typeLabel":"object"},"name":{"example":"Stück","type":"string","uniqueKey":"unit.oneOf.0.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"unit.oneOf.0","typeLabel":"object"},{"type":"null","description":"The unit of the measurement.","isRequired":true,"uniqueKey":"unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"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":"code","typeLabel":"string"},"id":{"readOnly":true,"description":"A unique identifier for the measurement.","example":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","type":"string","uniqueKey":"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":"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":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"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":"type","typeLabel":"any"}},"required":["unit","code"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"unit":{"id":{},"name":"Stück"},"code":"users","id":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","description":"The number of users.","aggregationType":"sum","fairBilling":true,"type":"recurring"}}},"exampleType":"generated"},"text/html":{"schema":{"type":"object","description":"Measurements are used to define the *amount of a unit that is used* for the price calculation.\n*SaaS Product Examples*\n * User: the amount of users that are allowed to use the software.\n * Member: the amount of members that are allowed to use the software.\n * Environment: the amount of environments that are allowed to use the software.\n\n*Hosting Examples*\n * CPU: the amount of CPU cores that are used.\n * RAM: the amount of RAM that is used.\n * Storage: the amount of storage in GB that is used.\n * Traffic: the amount of traffic in GB that is used.\n\n * The aggregation type defines *how the amount of units is calculated* during a billing interval.\n * The unit defines *what is measured*.\n\nThe aggregation types are useful to be more flexible in the billing process.\nImagine you sell a product with user seats, but you want to bill the customer for the maximum amount of users that were active during the billing interval.\nIn this case you would use the aggregation type \"max\".\nIf you want to bill the customer for the sum of all users that were active during the billing interval, you would use the aggregation type \"sum\".\nIf you want to bill the customer for the average amount of users that were active during the billing interval, you would use the aggregation type \"avg\".\n\nThe aggregation type also depends how and when you push the measurements to the API. Feel free to contact us if you need help.\n","deprecated":false,"properties":{"unit":{"oneOf":[{"type":"object","description":"The unit of the measurement.","properties":{"id":{"type":"object","description":"","deprecated":false,"readOnly":true,"uniqueKey":"unit.oneOf.0.id","typeLabel":"object"},"name":{"example":"Stück","type":"string","uniqueKey":"unit.oneOf.0.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"unit.oneOf.0","typeLabel":"object"},{"type":"null","description":"The unit of the measurement.","isRequired":true,"uniqueKey":"unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"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":"code","typeLabel":"string"},"id":{"readOnly":true,"description":"A unique identifier for the measurement.","example":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","type":"string","uniqueKey":"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":"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":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"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":"type","typeLabel":"any"}},"required":["unit","code"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"unit":{"id":{},"name":"Stück"},"code":"users","id":"ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b","description":"The number of users.","aggregationType":"sum","fairBilling":true,"type":"recurring"}}},"exampleType":"generated"}},"links":{},"exampleType":"generated"},"4f1ee4ec-a440-476b-bd85-fab995498916":{"description":"Invalid input","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"23ef7495-44a1-4825-a987-dc8fd89bb1eb":{"description":"Unprocessable entity","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"f446a5d9-6395-462c-a229-77fe62ce0323":{"JWT":{"type":"http","scheme":"bearer","scopes":["measurement: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":["measurement: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":"Create a measurement. - Fynn Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/api-reference/measurement/create-a-measurement","matchLevel":0},"en":{"href":"/en/introduction","matchLevel":4}}},"lastModified":"2026-01-28T23:39:16.045Z","originalFileLocation":"api-reference/measurement/create-a-measurement.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=\"Create a measurement. Required permissions: measurement: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=\"Create a measurement. - Fynn Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a measurement. Required permissions: measurement: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/measurement/create-a-measurement\">\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=Measurement\u0026amp;title=Create+a+measurement.\u0026amp;description=Create+a+measurement.%0A%0A%3Csup%3ERequired+permissions%3A+%60measurement%3Awrite%60%3C%2Fsup%3E\u0026amp;theme=4b76c1a49202070b198dd6e7\u0026amp;signature=26e36313e32f770cffeb21fa94b6283d8b09dd1e2d9c65c8bed70c30bef4d54f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a measurement. - Fynn Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a measurement. Required permissions: measurement:write\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fynnsubscriptionbilling.mintlify.app/_mintlify/api/og/v2?division=Measurement\u0026amp;title=Create+a+measurement.\u0026amp;description=Create+a+measurement.%0A%0A%3Csup%3ERequired+permissions%3A+%60measurement%3Awrite%60%3C%2Fsup%3E\u0026amp;theme=4b76c1a49202070b198dd6e7\u0026amp;signature=26e36313e32f770cffeb21fa94b6283d8b09dd1e2d9c65c8bed70c30bef4d54f\">\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/measurement/create-a-measurement\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/measurement/create-a-measurement.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/measurement/create-a-measurement#webpage\",\"url\":\"https://docs.fynn.eu/api-reference/measurement/create-a-measurement\",\"name\":\"Create a measurement.\",\"description\":\"Create a measurement. Required permissions: measurement:write\",\"dateModified\":\"2026-01-28T23:39:16.045Z\",\"isPartOf\":{\"@id\":\"https://docs.fynn.eu#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fynn.eu/api-reference/measurement/create-a-measurement#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fynn.eu/api-reference/measurement/create-a-measurement#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Catalogue\",\"item\":\"https://docs.fynn.eu/api-reference/unit/get-all-units\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Measurement\",\"item\":\"https://docs.fynn.eu/api-reference/measurement/get-all-measurements\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a measurement.\",\"item\":\"https://docs.fynn.eu/api-reference/measurement/create-a-measurement\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fynn.eu/api-reference/measurement/create-a-measurement#apireference\",\"headline\":\"Create a measurement.\",\"name\":\"Create a measurement.\",\"description\":\"Create a measurement. Required permissions: measurement:write\",\"url\":\"https://docs.fynn.eu/api-reference/measurement/create-a-measurement\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fynn.eu/api-reference/measurement/create-a-measurement#webpage\"},\"dateModified\":\"2026-01-28T23:39:16.045Z\",\"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.","description":"Get all measurements.\n\n\u003csup>Required permissions: `measurement:read`\u003c/sup>","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.","description":"Get a measurement.\n\n\u003csup>Required permissions: `measurement:read`\u003c/sup>","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","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","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":"Create a measurement. - Fynn Docs","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}