Optional key (≤255 chars, e.g. a UUID v4) making this POST safe to retry · the response is cached 24h and a retry with the SAME key replays it instead of re-executing. The same key with a different body → 422 IDEMPOTENCY_KEY_CONFLICT; a retry while the first is in flight → 409.
onetime and subscription carry the price on the product · pay_as_you_go carries none (each charge names its own priceCents), only a currency. subscription requires recurringInterval, the others refuse it.
Minor units as a string of digits · "1999" = 19.99, at least "100" (1.00). Required with currency on an ACTIVE onetime / subscription; refused on pay_as_you_go.
MoR VAT · exclusive prices HT and adds VAT on top, inclusive prices TTC. The default for every charge on this product; a charge may override it. Inert when no VAT applies.
Per-product payment-method whitelist. null / [] / omitted = the product accepts every method enabled on the account. A non-empty list restricts checkout to these categories (always intersected with the account's enabled methods, so listing a disabled method is a harmless no-op).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Suby.fi","colors":{"primary":"#2F5BFF","light":"#6E8CFF","dark":"#1E3ECC"},"logo":{"light":"https://mintcdn.com/suby/78hmNhVo7Bl_AwU_/logo/dark.png?fit=max\u0026auto=format\u0026n=78hmNhVo7Bl_AwU_\u0026q=85\u0026s=5a8b457489b514aac7397c50d3db89fd","dark":"https://mintcdn.com/suby/78hmNhVo7Bl_AwU_/logo/white.png?fit=max\u0026auto=format\u0026n=78hmNhVo7Bl_AwU_\u0026q=85\u0026s=24b2f25a962d5405a87e21b992972103","href":"https://suby.fi"},"favicon":"https://mintcdn.com/suby/78hmNhVo7Bl_AwU_/logo/icon.png?fit=max\u0026auto=format\u0026n=78hmNhVo7Bl_AwU_\u0026q=85\u0026s=ca6a8614c28bf9d93ddfdea94f947bf2","navbar":{"links":[{"href":"https://app.suby.fi","label":"Dashboard v2"}],"primary":{"type":"button","label":"Get API key","href":"https://app.suby.fi/dashboard/settings"}},"footer":{"socials":{"website":"https://suby.fi","discord":"https://discord.com/invite/C8dxBm3hpj"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"suby","hasAudioNarration":false,"actualSubdomain":"suby","customDomains":["docs.suby.fi"],"gitSource":{"type":"github","owner":"subyhq","repo":"suby-monorepo","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ada11330d9ece1d40e85bba","collectionId":"8aa6702d-ba15-44c3-a3cf-bcd9d3875091","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ada11330d9ece1d40e85bba"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6adb382225425974785cb3c5","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":46},{"language":"default","tag":"Documentation","count":42},{"language":"default","tag":"Endpoints","count":39},{"language":"default","tag":"Platform","count":28},{"language":"default","tag":"Guides","count":15},{"language":"default","tag":"Features","count":14},{"language":"default","tag":"Bots","count":10},{"language":"default","tag":"Merchants","count":10},{"language":"default","tag":"Subscriptions","count":8},{"language":"default","tag":"Overview","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"v3-beta/api-reference/products/create-a-product","slug":"/v3-beta/api-reference/products/create-a-product","pageMetadata":{"title":"Create a product","description":null,"deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/products","href":"/v3-beta/api-reference/products/create-a-product","autogeneratedByOpenApi":true},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a product","description":null,"deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/products","href":"/v3-beta/api-reference/products/create-a-product","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Products"],"summary":"Create a product","operationId":"createProduct","parameters":["00c51014-61c5-41b2-b14a-5ba46d644a6a"],"requestBody":"1492db42-aa1a-4310-834c-cedbce010265","responses":{"201":"0aaebf26-13b9-46a6-ade9-d1c42f40f453","401":"32dfe8c8-3226-49ba-b0f2-89f50e37ab6f","422":"4eac8816-5cfb-46af-9245-7a9c6b8e9e4e"},"method":"post","type":"path","servers":["62375d65-62da-41e1-863d-c10b0af1f3b6"],"security":["164323c1-4b00-4c8f-85da-d2ba943b0a12"],"path":"/v3/products","baseUrlOptions":["https://api.beta.suby.fi"],"title":"Create a product","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"00c51014-61c5-41b2-b14a-5ba46d644a6a":{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional key (≤255 chars, e.g. a UUID v4) making this POST safe to retry · the response is cached 24h and a retry with the SAME key replays it instead of re-executing. The same key with a different body → `422 IDEMPOTENCY_KEY_CONFLICT`; a retry while the first is in flight → `409`.","schema":{"type":"string","maxLength":255,"example":"5f3b9c2e-1a4d-4f2b-9c31-7e2a1b6d8c04","isRequired":false,"description":"Optional key (≤255 chars, e.g. a UUID v4) making this POST safe to retry · the response is cached 24h and a retry with the SAME key replays it instead of re-executing. The same key with a different body → `422 IDEMPOTENCY_KEY_CONFLICT`; a retry while the first is in flight → `409`.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","maxLength":200,"description":"Shown at checkout, snapshotted onto every Payment.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"description":{"oneOf":[{"type":"string","maxLength":2000,"uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":2000,"uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"imageUrl":{"oneOf":[{"type":"string","format":"uri","description":"Public https URL.","uniqueKey":"imageUrl.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Public https URL.","uniqueKey":"imageUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"imageUrl","typeLabel":"string\u003curi> | null"},"status":{"type":"string","enum":["DRAFT","ACTIVE","ARCHIVED"],"default":"ACTIVE","description":"`ACTIVE` sellable · `DRAFT` hidden from checkout · `ARCHIVED` retired.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"billingMode":{"type":"string","enum":["onetime","subscription","pay_as_you_go"],"default":"onetime","description":"`onetime` and `subscription` carry the price on the product · `pay_as_you_go` carries none (each charge names its own `priceCents`), only a currency. `subscription` requires `recurringInterval`, the others refuse it.","uniqueKey":"billingMode","typeLabel":"enum\u003cstring>"},"priceCents":{"oneOf":[{"type":"string","pattern":"^\\d+$","description":"Minor units as a string of digits · `\"1999\"` = 19.99, at least `\"100\"` (1.00). Required with `currency` on an ACTIVE `onetime` / `subscription`; refused on `pay_as_you_go`.","uniqueKey":"priceCents.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^\\d+$","description":"Minor units as a string of digits · `\"1999\"` = 19.99, at least `\"100\"` (1.00). Required with `currency` on an ACTIVE `onetime` / `subscription`; refused on `pay_as_you_go`.","uniqueKey":"priceCents.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceCents","typeLabel":"string | null"},"currency":{"oneOf":[{"type":"string","enum":["EUR","USD"],"description":"Required with `priceCents`, and alone on `pay_as_you_go` · a product bills in exactly one currency.","uniqueKey":"currency.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["EUR","USD"],"description":"Required with `priceCents`, and alone on `pay_as_you_go` · a product bills in exactly one currency.","uniqueKey":"currency.oneOf.1","typeLabel":"null"}],"uniqueKey":"currency","typeLabel":"enum\u003cstring> | null"},"recurringInterval":{"oneOf":[{"type":"string","enum":["DAY","WEEK","MONTH","YEAR"],"description":"Cadence · required when `billingMode: subscription`, refused otherwise.","uniqueKey":"recurringInterval.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["DAY","WEEK","MONTH","YEAR"],"description":"Cadence · required when `billingMode: subscription`, refused otherwise.","uniqueKey":"recurringInterval.oneOf.1","typeLabel":"null"}],"uniqueKey":"recurringInterval","typeLabel":"enum\u003cstring> | null"},"recurringIntervalCount":{"oneOf":[{"type":"integer","minimum":1,"description":"Multiplies the interval (MONTH ×3 = quarterly).","uniqueKey":"recurringIntervalCount.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"description":"Multiplies the interval (MONTH ×3 = quarterly).","uniqueKey":"recurringIntervalCount.oneOf.1","typeLabel":"null"}],"uniqueKey":"recurringIntervalCount","typeLabel":"integer | null"},"recurringCycleCount":{"oneOf":[{"type":"integer","minimum":1,"description":"Auto-expire after N cycles. Null = renews indefinitely.","uniqueKey":"recurringCycleCount.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"description":"Auto-expire after N cycles. Null = renews indefinitely.","uniqueKey":"recurringCycleCount.oneOf.1","typeLabel":"null"}],"uniqueKey":"recurringCycleCount","typeLabel":"integer | null"},"quantity":{"oneOf":[{"type":"integer","minimum":0,"description":"Stock cap; null = unlimited.","uniqueKey":"quantity.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Stock cap; null = unlimited.","uniqueKey":"quantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"quantity","typeLabel":"integer | null"},"adjustableQuantity":{"type":"boolean","default":false,"description":"Let the buyer choose the quantity (checkout, manage page). `priceCents` is per unit; you can always set `quantity` via the API.","uniqueKey":"adjustableQuantity","typeLabel":"boolean"},"adjustableMin":{"oneOf":[{"type":"integer","minimum":1,"maximum":999,"description":"Default 1.","uniqueKey":"adjustableMin.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"maximum":999,"description":"Default 1.","uniqueKey":"adjustableMin.oneOf.1","typeLabel":"null"}],"uniqueKey":"adjustableMin","typeLabel":"integer | null"},"adjustableMax":{"oneOf":[{"type":"integer","minimum":1,"maximum":999,"description":"Default 99.","uniqueKey":"adjustableMax.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"maximum":999,"description":"Default 99.","uniqueKey":"adjustableMax.oneOf.1","typeLabel":"null"}],"uniqueKey":"adjustableMax","typeLabel":"integer | null"},"taxBehavior":{"type":"string","enum":["inclusive","exclusive"],"default":"exclusive","description":"MoR VAT · `exclusive` prices HT and adds VAT on top, `inclusive` prices TTC. The default for every charge on this product; a charge may override it. Inert when no VAT applies.","uniqueKey":"taxBehavior","typeLabel":"enum\u003cstring>"},"customFields":{"type":"array","maxItems":10,"description":"Extra fields collected on the hosted checkout page (max 10).","items":{"type":"object","required":["key","label","type"],"properties":{"key":{"type":"string","maxLength":50,"pattern":"^[a-z0-9_]+$","description":"Response-map key.","isRequired":true,"uniqueKey":"customFields.items.[INDEX].key","typeLabel":"string"},"label":{"type":"string","maxLength":100,"isRequired":true,"uniqueKey":"customFields.items.[INDEX].label","typeLabel":"string"},"type":{"type":"string","enum":["input","select","checkbox"],"isRequired":true,"uniqueKey":"customFields.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"required":{"type":"boolean","uniqueKey":"customFields.items.[INDEX].required","typeLabel":"boolean"},"placeholder":{"type":"string","maxLength":200,"uniqueKey":"customFields.items.[INDEX].placeholder","typeLabel":"string"},"options":{"type":"array","description":"Required (≥1) when `type=select`.","items":{"type":"object","required":["value","label"],"properties":{"value":{"type":"string","maxLength":100,"isRequired":true,"uniqueKey":"customFields.items.[INDEX].options.items.[INDEX].value","typeLabel":"string"},"label":{"type":"string","maxLength":100,"isRequired":true,"uniqueKey":"customFields.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"}},"uniqueKey":"customFields.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"uniqueKey":"customFields.items.[INDEX].options","typeLabel":"object[]"},"validation":{"type":"object","description":"`type=input` only · client-side regex.","properties":{"regex":{"type":"string","maxLength":500,"uniqueKey":"customFields.items.[INDEX].validation.regex","typeLabel":"string"},"errorMessage":{"type":"string","maxLength":200,"uniqueKey":"customFields.items.[INDEX].validation.errorMessage","typeLabel":"string"}},"uniqueKey":"customFields.items.[INDEX].validation","typeLabel":"object"},"defaultValue":{"type":"string","maxLength":500,"description":"Merchant pre-fill (editable).","uniqueKey":"customFields.items.[INDEX].defaultValue","typeLabel":"string"}},"uniqueKey":"customFields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"customFields","typeLabel":"object[]"},"paymentMethods":{"oneOf":[{"type":"array","description":"Per-product payment-method whitelist. `null` / `[]` / omitted = the product accepts every method enabled on the account. A non-empty list restricts checkout to these categories (always intersected with the account's enabled methods, so listing a disabled method is a harmless no-op).","items":{"type":"string","enum":["CARD","APPLE_PAY","GOOGLE_PAY","KLARNA","IDEAL","BANCONTACT","TWINT","BLIK","AFFIRM","ALMA","BILLIE","SCALAPAY","MULTIBANCO","PAYPAL","SEPA_DIRECT_DEBIT","ACH_DIRECT_DEBIT","STABLECOIN","VOLATILE_CRYPTO"],"uniqueKey":"paymentMethods.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"paymentMethods.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","description":"Per-product payment-method whitelist. `null` / `[]` / omitted = the product accepts every method enabled on the account. A non-empty list restricts checkout to these categories (always intersected with the account's enabled methods, so listing a disabled method is a harmless no-op).","items":{"type":"string","enum":["CARD","APPLE_PAY","GOOGLE_PAY","KLARNA","IDEAL","BANCONTACT","TWINT","BLIK","AFFIRM","ALMA","BILLIE","SCALAPAY","MULTIBANCO","PAYPAL","SEPA_DIRECT_DEBIT","ACH_DIRECT_DEBIT","STABLECOIN","VOLATILE_CRYPTO"]},"uniqueKey":"paymentMethods.oneOf.1","typeLabel":"null"}],"uniqueKey":"paymentMethods","typeLabel":"enum\u003cstring>[] | null"},"successUrl":{"oneOf":[{"type":"string","format":"uri","description":"Redirect after payment. Null → Suby's confirmation page.","uniqueKey":"successUrl.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Redirect after payment. Null → Suby's confirmation page.","uniqueKey":"successUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"successUrl","typeLabel":"string\u003curi> | null"},"cancelUrl":{"oneOf":[{"type":"string","format":"uri","description":"Back-button target on the hosted checkout.","uniqueKey":"cancelUrl.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Back-button target on the hosted checkout.","uniqueKey":"cancelUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"cancelUrl","typeLabel":"string\u003curi> | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","description":"\u003cstring>","imageUrl":"\u003cstring>","status":"ACTIVE","billingMode":"onetime","priceCents":"\u003cstring>","recurringIntervalCount":2,"recurringCycleCount":2,"quantity":1,"adjustableQuantity":false,"adjustableMin":500,"adjustableMax":500,"taxBehavior":"exclusive","customFields":[{"key":"\u003cstring>","label":"\u003cstring>","required":true,"placeholder":"\u003cstring>","options":[{"value":"\u003cstring>","label":"\u003cstring>"}],"validation":{"regex":"\u003cstring>","errorMessage":"\u003cstring>"},"defaultValue":"\u003cstring>"}],"paymentMethods":[],"successUrl":"\u003cstring>","cancelUrl":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"0aaebf26-13b9-46a6-ade9-d1c42f40f453":{"description":"Product created","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","example":true,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"data":{"type":"object","description":"Endpoint-specific payload.","properties":{"id":{"type":"string","example":"pro_abc123","uniqueKey":"data.id","typeLabel":"string"},"organizationId":{"type":"string","uniqueKey":"data.organizationId","typeLabel":"string"},"name":{"type":"string","uniqueKey":"data.name","typeLabel":"string"},"description":{"oneOf":[{"type":"string","uniqueKey":"data.description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.description","typeLabel":"string | null"},"imageUrl":{"oneOf":[{"type":"string","uniqueKey":"data.imageUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.imageUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.imageUrl","typeLabel":"string | null"},"status":{"type":"string","enum":["DRAFT","ACTIVE","ARCHIVED"],"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"billingMode":{"type":"string","enum":["onetime","subscription","pay_as_you_go"],"description":"`onetime` / `subscription` = the product carries the price · `pay_as_you_go` = each charge names its own amount.","uniqueKey":"data.billingMode","typeLabel":"enum\u003cstring>"},"priceCents":{"oneOf":[{"type":"string","description":"Price in cents as a string of digits.","uniqueKey":"data.priceCents.oneOf.0","typeLabel":"string"},{"type":"null","description":"Price in cents as a string of digits.","uniqueKey":"data.priceCents.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.priceCents","typeLabel":"string | null"},"currency":{"oneOf":[{"type":"string","enum":["EUR","USD"],"uniqueKey":"data.currency.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["EUR","USD"],"uniqueKey":"data.currency.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.currency","typeLabel":"enum\u003cstring> | null"},"recurringInterval":{"oneOf":[{"type":"string","enum":["DAY","WEEK","MONTH","YEAR"],"description":"The cadence of a subscription · non-null exactly when `billingMode` is `subscription`. Read the mode, not this field, to know what kind of product it is.","uniqueKey":"data.recurringInterval.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["DAY","WEEK","MONTH","YEAR"],"description":"The cadence of a subscription · non-null exactly when `billingMode` is `subscription`. Read the mode, not this field, to know what kind of product it is.","uniqueKey":"data.recurringInterval.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.recurringInterval","typeLabel":"enum\u003cstring> | null"},"recurringIntervalCount":{"oneOf":[{"type":"integer","uniqueKey":"data.recurringIntervalCount.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.recurringIntervalCount.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.recurringIntervalCount","typeLabel":"integer | null"},"recurringCycleCount":{"oneOf":[{"type":"integer","description":"Cycle cap; null = open-ended.","uniqueKey":"data.recurringCycleCount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Cycle cap; null = open-ended.","uniqueKey":"data.recurringCycleCount.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.recurringCycleCount","typeLabel":"integer | null"},"quantity":{"oneOf":[{"type":"integer","uniqueKey":"data.quantity.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.quantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.quantity","typeLabel":"integer | null"},"consumedQuantity":{"type":"integer","uniqueKey":"data.consumedQuantity","typeLabel":"integer"},"taxInclusive":{"type":"boolean","description":"`true` = the price is TTC (VAT extracted from it), `false` = HT (VAT added on top). Written through the `taxBehavior` field of create/update.","uniqueKey":"data.taxInclusive","typeLabel":"boolean"},"adjustableQuantity":{"type":"boolean","description":"Whether the buyer may choose the quantity. `priceCents` is per unit.","uniqueKey":"data.adjustableQuantity","typeLabel":"boolean"},"adjustableMin":{"oneOf":[{"type":"integer","description":"Default 1.","uniqueKey":"data.adjustableMin.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Default 1.","uniqueKey":"data.adjustableMin.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.adjustableMin","typeLabel":"integer | null"},"adjustableMax":{"oneOf":[{"type":"integer","description":"Default 99.","uniqueKey":"data.adjustableMax.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Default 99.","uniqueKey":"data.adjustableMax.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.adjustableMax","typeLabel":"integer | null"},"customFields":{"oneOf":[{"type":"array","items":{"type":"object","required":["key","label","type"],"properties":{"key":{"type":"string","maxLength":50,"pattern":"^[a-z0-9_]+$","description":"Response-map key.","isRequired":true,"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].key","typeLabel":"string"},"label":{"type":"string","maxLength":100,"isRequired":true,"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].label","typeLabel":"string"},"type":{"type":"string","enum":["input","select","checkbox"],"isRequired":true,"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"required":{"type":"boolean","uniqueKey":"data.customFields.oneOf.0.items.[INDEX].required","typeLabel":"boolean"},"placeholder":{"type":"string","maxLength":200,"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].placeholder","typeLabel":"string"},"options":{"type":"array","description":"Required (≥1) when `type=select`.","items":{"type":"object","required":["value","label"],"properties":{"value":{"type":"string","maxLength":100,"isRequired":true,"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].options.items.[INDEX].value","typeLabel":"string"},"label":{"type":"string","maxLength":100,"isRequired":true,"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"}},"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].options","typeLabel":"object[]"},"validation":{"type":"object","description":"`type=input` only · client-side regex.","properties":{"regex":{"type":"string","maxLength":500,"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].validation.regex","typeLabel":"string"},"errorMessage":{"type":"string","maxLength":200,"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].validation.errorMessage","typeLabel":"string"}},"uniqueKey":"data.customFields.oneOf.0.items.[INDEX].validation","typeLabel":"object"},"defaultValue":{"type":"string","maxLength":500,"description":"Merchant pre-fill (editable).","uniqueKey":"data.customFields.oneOf.0.items.[INDEX].defaultValue","typeLabel":"string"}},"uniqueKey":"data.customFields.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.customFields.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","required":["key","label","type"],"properties":{"key":{"type":"string","maxLength":50,"pattern":"^[a-z0-9_]+$","description":"Response-map key."},"label":{"type":"string","maxLength":100},"type":{"type":"string","enum":["input","select","checkbox"]},"required":{"type":"boolean"},"placeholder":{"type":"string","maxLength":200},"options":{"type":"array","description":"Required (≥1) when `type=select`.","items":{"type":"object","required":["value","label"],"properties":{"value":{"type":"string","maxLength":100},"label":{"type":"string","maxLength":100}}}},"validation":{"type":"object","description":"`type=input` only · client-side regex.","properties":{"regex":{"type":"string","maxLength":500},"errorMessage":{"type":"string","maxLength":200}}},"defaultValue":{"type":"string","maxLength":500,"description":"Merchant pre-fill (editable)."}}},"uniqueKey":"data.customFields.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.customFields","typeLabel":"object[] | null"},"paymentMethods":{"oneOf":[{"type":"array","description":"Per-product payment-method whitelist. `null` / `[]` / omitted = the product accepts every method enabled on the account. A non-empty list restricts checkout to these categories (always intersected with the account's enabled methods, so listing a disabled method is a harmless no-op).","items":{"type":"string","enum":["CARD","APPLE_PAY","GOOGLE_PAY","KLARNA","IDEAL","BANCONTACT","TWINT","BLIK","AFFIRM","ALMA","BILLIE","SCALAPAY","MULTIBANCO","PAYPAL","SEPA_DIRECT_DEBIT","ACH_DIRECT_DEBIT","STABLECOIN","VOLATILE_CRYPTO"],"uniqueKey":"data.paymentMethods.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"data.paymentMethods.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","description":"Per-product payment-method whitelist. `null` / `[]` / omitted = the product accepts every method enabled on the account. A non-empty list restricts checkout to these categories (always intersected with the account's enabled methods, so listing a disabled method is a harmless no-op).","items":{"type":"string","enum":["CARD","APPLE_PAY","GOOGLE_PAY","KLARNA","IDEAL","BANCONTACT","TWINT","BLIK","AFFIRM","ALMA","BILLIE","SCALAPAY","MULTIBANCO","PAYPAL","SEPA_DIRECT_DEBIT","ACH_DIRECT_DEBIT","STABLECOIN","VOLATILE_CRYPTO"]},"uniqueKey":"data.paymentMethods.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.paymentMethods","typeLabel":"enum\u003cstring>[] | null"},"successUrl":{"oneOf":[{"type":"string","format":"uri","uniqueKey":"data.successUrl.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","uniqueKey":"data.successUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.successUrl","typeLabel":"string\u003curi> | null"},"cancelUrl":{"oneOf":[{"type":"string","format":"uri","uniqueKey":"data.cancelUrl.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","uniqueKey":"data.cancelUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.cancelUrl","typeLabel":"string\u003curi> | null"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"data.updatedAt","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"id":"pro_abc123","organizationId":"\u003cstring>","name":"\u003cstring>","description":"\u003cstring>","imageUrl":"\u003cstring>","status":"DRAFT","billingMode":"onetime","priceCents":"\u003cstring>","currency":"EUR","recurringInterval":"DAY","recurringIntervalCount":123,"recurringCycleCount":123,"quantity":123,"consumedQuantity":123,"taxInclusive":true,"adjustableQuantity":true,"adjustableMin":123,"adjustableMax":123,"customFields":[{"key":"\u003cstring>","label":"\u003cstring>","type":"input","required":true,"placeholder":"\u003cstring>","options":[{"value":"\u003cstring>","label":"\u003cstring>"}],"validation":{"regex":"\u003cstring>","errorMessage":"\u003cstring>"},"defaultValue":"\u003cstring>"}],"paymentMethods":["CARD"],"successUrl":"\u003cstring>","cancelUrl":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z"},"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"32dfe8c8-3226-49ba-b0f2-89f50e37ab6f":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"error":{"type":"string","description":"Machine-readable error code.","example":"NOT_FOUND","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Resource not found","uniqueKey":"message","typeLabel":"string"},"data":{"description":"Optional error detail.","uniqueKey":"data","typeLabel":"any"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":"UNAUTHORIZED","message":"Invalid or missing API key"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":"UNAUTHORIZED","message":"Invalid or missing API key"}}},"exampleType":"examples"}},"exampleType":"examples"},"4eac8816-5cfb-46af-9245-7a9c6b8e9e4e":{"description":"Request failed schema validation","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"error":{"type":"string","description":"Machine-readable error code.","example":"NOT_FOUND","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Resource not found","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","description":"Optional error detail.","properties":{"fieldErrors":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"data.fieldErrors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","uniqueKey":"data.fieldErrors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"data.fieldErrors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.fieldErrors","typeLabel":"object[]"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":"VALIDATION_ERROR","message":"Validation failed","data":{"fieldErrors":[{"field":"method","message":"method is a required field"}]}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":"VALIDATION_ERROR","message":"Validation failed","data":{"fieldErrors":[{"field":"method","message":"method is a required field"}]}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"164323c1-4b00-4c8f-85da-d2ba943b0a12":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-Suby-Api-Key","description":"Secret API key. `sk_live_…` (production) or `sk_sandbox_…` (sandbox).","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"62375d65-62da-41e1-863d-c10b0af1f3b6":{"url":"https://api.beta.suby.fi","description":"Production + sandbox (environment selected by API key prefix)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Suby-Api-Key","description":"Secret API key. `sk_live_…` (production) or `sk_sandbox_…` (sandbox).","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"X-Suby-Api-Key","type":"string","description":"Secret API key. `sk_live_…` (production) or `sk_sandbox_…` (sandbox).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-Suby-Api-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"v3-beta/api-reference/openapi.yaml"},"subdomain":"suby","siteName":"Suby.fi","title":"Create a product - Suby.fi","navMaps":{"firstHrefInVersion":{"v3-beta":{"href":"/v3-beta/api-reference/products/create-a-product","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T10:34:16.128Z","originalFileLocation":"v3-beta/api-reference/products/create-a-product.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Suby.fi\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_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/suby/K5zAxKZCvFlEOxIM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_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/suby/K5zAxKZCvFlEOxIM/_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/suby/K5zAxKZCvFlEOxIM/_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/suby/K5zAxKZCvFlEOxIM/_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/suby/K5zAxKZCvFlEOxIM/_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/suby/K5zAxKZCvFlEOxIM/_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/suby/K5zAxKZCvFlEOxIM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a product - Suby.fi\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Suby.fi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://suby.mintlify.app/_mintlify/api/og/v2?division=Products\u0026amp;title=Create+a+product\u0026amp;theme=69a80b99b04499f8ba92403e\u0026amp;signature=118451fb18268a54fc3608e5eabc8b6949969b7e5268e5bf312eb93dca7ddb4e\">\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 product - Suby.fi\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://suby.mintlify.app/_mintlify/api/og/v2?division=Products\u0026amp;title=Create+a+product\u0026amp;theme=69a80b99b04499f8ba92403e\u0026amp;signature=118451fb18268a54fc3608e5eabc8b6949969b7e5268e5bf312eb93dca7ddb4e\">\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/suby/K5zAxKZCvFlEOxIM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Suby.fi\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2F5BFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v3-beta/api-reference/products/create-a-product.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.suby.fi/#organization\",\"name\":\"Suby.fi\",\"url\":\"https://docs.suby.fi\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/suby/78hmNhVo7Bl_AwU_/logo/dark.png?fit=max\u0026auto=format\u0026n=78hmNhVo7Bl_AwU_\u0026q=85\u0026s=5a8b457489b514aac7397c50d3db89fd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.suby.fi#website\",\"name\":\"Suby.fi\",\"url\":\"https://docs.suby.fi\",\"publisher\":{\"@id\":\"https://docs.suby.fi/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product#webpage\",\"url\":\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product\",\"name\":\"Create a product\",\"dateModified\":\"2026-10-23T10:34:16.128Z\",\"isPartOf\":{\"@id\":\"https://docs.suby.fi#website\"},\"breadcrumb\":{\"@id\":\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.suby.fi/v3-beta/api-reference/products/list-products\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Products\",\"item\":\"https://docs.suby.fi/v3-beta/api-reference/products/list-products\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a product\",\"item\":\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product#apireference\",\"headline\":\"Create a product\",\"name\":\"Create a product\",\"url\":\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product\",\"mainEntityOfPage\":{\"@id\":\"https://docs.suby.fi/v3-beta/api-reference/products/create-a-product#webpage\"},\"dateModified\":\"2026-10-23T10:34:16.128Z\",\"publisher\":{\"@id\":\"https://docs.suby.fi/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.suby.fi#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Suby.fi\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Suby.fi","nav":{"global":null,"versions":[{"version":"v3-beta","default":true,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/v3-beta/docs/introduction/AI"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/v3-beta/docs/guides/discord/overview"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Reference","href":"/v3-beta/api-reference/overview"},{"group":"Get started","pages":[{"title":"Introduction","href":"/v3-beta/introduction"},{"title":"Authentication","href":"/v3-beta/authentication"},{"title":"Quickstart","href":"/v3-beta/quickstart"}]},{"group":"Core concepts","pages":[{"title":"Idempotency","href":"/v3-beta/idempotency"},{"title":"Webhooks","href":"/v3-beta/webhooks"},{"title":"Errors \u0026 responses","href":"/v3-beta/errors"}]}]},{"group":"Endpoints","pages":[{"group":"Products","pages":[{"title":"List products","description":null,"deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/products","href":"/v3-beta/api-reference/products/list-products"},{"title":"Create a product","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/products","href":"/v3-beta/api-reference/products/create-a-product"},{"title":"Retrieve a product","description":null,"deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/products/{id}","href":"/v3-beta/api-reference/products/retrieve-a-product"},{"title":"Update a product","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml patch /v3/products/{id}","href":"/v3-beta/api-reference/products/update-a-product"},{"title":"Take a product off sale","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/products/{id}/archive","href":"/v3-beta/api-reference/products/take-a-product-off-sale"},{"title":"Put a product back on sale","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/products/{id}/unarchive","href":"/v3-beta/api-reference/products/put-a-product-back-on-sale"}]},{"group":"Checkout","pages":[{"title":"Create a checkout session","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/checkout/sessions","href":"/v3-beta/api-reference/checkout/create-a-checkout-session"},{"title":"Retrieve a checkout session","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/checkout/sessions/{token}","href":"/v3-beta/api-reference/checkout/retrieve-a-checkout-session"}]},{"group":"Payments","pages":[{"title":"List payments","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/payments","href":"/v3-beta/api-reference/payments/list-payments"},{"title":"Retrieve a payment","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/payments/{id}","href":"/v3-beta/api-reference/payments/retrieve-a-payment"},{"title":"Get the receipt (JSON)","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/payments/{id}/receipt","href":"/v3-beta/api-reference/payments/get-the-receipt-json"},{"title":"Get the receipt (PDF)","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/payments/{id}/receipt.pdf","href":"/v3-beta/api-reference/payments/get-the-receipt-pdf"},{"title":"Debit a stored card, off-session","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/payments/off-session","href":"/v3-beta/api-reference/payments/debit-a-stored-card-off-session"},{"title":"Refund a captured payment","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/payments/{id}/refund","href":"/v3-beta/api-reference/payments/refund-a-captured-payment"}]},{"group":"Subscriptions","pages":[{"title":"List subscriptions","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/subscriptions","href":"/v3-beta/api-reference/subscriptions/list-subscriptions"},{"title":"Retrieve a subscription","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/subscriptions/{id}","href":"/v3-beta/api-reference/subscriptions/retrieve-a-subscription"},{"title":"Cancel a subscription","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/subscriptions/{id}/cancel","href":"/v3-beta/api-reference/subscriptions/cancel-a-subscription"},{"title":"Change the plan or the quantity","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/subscriptions/{id}/change-plan","href":"/v3-beta/api-reference/subscriptions/change-the-plan-or-the-quantity"},{"title":"Price a plan or quantity change","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/subscriptions/{id}/change-plan/preview","href":"/v3-beta/api-reference/subscriptions/price-a-plan-or-quantity-change"},{"title":"Call off a scheduled plan change","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/subscriptions/{id}/cancel-plan-change","href":"/v3-beta/api-reference/subscriptions/call-off-a-scheduled-plan-change"},{"title":"Retry a failing renewal now","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/subscriptions/{id}/retry-renewal","href":"/v3-beta/api-reference/subscriptions/retry-a-failing-renewal-now"},{"title":"Change the expiration date","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/subscriptions/{id}/period-end","href":"/v3-beta/api-reference/subscriptions/change-the-expiration-date"}]},{"group":"Discount Codes","pages":[{"title":"List discount codes","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/discount-codes","href":"/v3-beta/api-reference/discount-codes/list-discount-codes"},{"title":"Create a discount code","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/discount-codes","href":"/v3-beta/api-reference/discount-codes/create-a-discount-code"},{"title":"Retrieve a discount code","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/discount-codes/{id}","href":"/v3-beta/api-reference/discount-codes/retrieve-a-discount-code"},{"title":"Delete a discount code","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml delete /v3/discount-codes/{id}","href":"/v3-beta/api-reference/discount-codes/delete-a-discount-code"},{"title":"Update a discount code","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml patch /v3/discount-codes/{id}","href":"/v3-beta/api-reference/discount-codes/update-a-discount-code"}]},{"group":"Crypto","pages":[{"title":"Chains and tokens this account accepts","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/crypto/assets","href":"/v3-beta/api-reference/crypto/chains-and-tokens-this-account-accepts"},{"title":"Price a fiat amount in a token","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/crypto/quote","href":"/v3-beta/api-reference/crypto/price-a-fiat-amount-in-a-token"},{"title":"Create a crypto charge","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/crypto/charges","href":"/v3-beta/api-reference/crypto/create-a-crypto-charge"}]},{"group":"Customers","pages":[{"title":"List customers","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/customers","href":"/v3-beta/api-reference/customers/list-customers"},{"title":"Create (or get) a customer","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/customers","href":"/v3-beta/api-reference/customers/create-or-get-a-customer"},{"title":"Retrieve a customer","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/customers/{id}","href":"/v3-beta/api-reference/customers/retrieve-a-customer"},{"title":"Update a customer","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml patch /v3/customers/{id}","href":"/v3-beta/api-reference/customers/update-a-customer"}]},{"group":"Payment Methods","pages":[{"title":"List saved payment methods","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml get /v3/customers/{id}/payment-methods","href":"/v3-beta/api-reference/payment-methods/list-saved-payment-methods"},{"title":"Revoke a saved payment method","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml delete /v3/customers/{id}/payment-methods/{pmId}","href":"/v3-beta/api-reference/payment-methods/revoke-a-saved-payment-method"}]},{"group":"Licence Key","pages":[{"title":"Is this licence key still valid","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/licenses/validate","href":"/v3-beta/api-reference/licence-key/is-this-licence-key-still-valid"},{"title":"Take a seat for one machine","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/licenses/activate","href":"/v3-beta/api-reference/licence-key/take-a-seat-for-one-machine"},{"title":"Free a machine's seat","deprecated":null,"version":null,"openapi":"/v3-beta/api-reference/openapi.yaml post /v3/licenses/deactivate","href":"/v3-beta/api-reference/licence-key/free-a-machines-seat"}]}]}]}]}]},"title":"Create a product - Suby.fi","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}