Cria o produto junto com a versão 1 em draft. Para vender, publique essa versão com POST /products/{productID}/versions/{versionID}/publish.
Com key, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com name e description atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se basePrice ou billingCycle diferirem da versão atual, a resposta é 422 pricing_immutable. Para mudar o preço, crie uma nova versão com POST /products/{productID}/versions. Uma requisição sem preço não mexe no preço.
Chave estável do produto, única na sua conta. Criar duas vezes com a mesma chave devolve o mesmo produto; um preço diferente do da versão atual é recusado com 422 pricing_immutable.
Uma versão do produto: o retrato do preço. Uma versão publicada nunca muda; para mudar o preço, crie outra.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Infi","colors":{"primary":"#0A1430","light":"#E2B13C","dark":"#0A1430"},"logo":{"light":"https://mintcdn.com/beinfi/owBheEE6vXSyqXTj/logo/logo.svg?fit=max\u0026auto=format\u0026n=owBheEE6vXSyqXTj\u0026q=85\u0026s=b1b9ce09a8814e42032ef2bf2c08fb54","dark":"https://mintcdn.com/beinfi/owBheEE6vXSyqXTj/logo/logo.svg?fit=max\u0026auto=format\u0026n=owBheEE6vXSyqXTj\u0026q=85\u0026s=b1b9ce09a8814e42032ef2bf2c08fb54","href":"https://beinfi.com"},"favicon":"https://mintcdn.com/beinfi/owBheEE6vXSyqXTj/favicon.svg?fit=max\u0026auto=format\u0026n=owBheEE6vXSyqXTj\u0026q=85\u0026s=cbb3280c14965b007e9662521134e88c","api":{"playground":{"display":"interactive"}},"navbar":{"links":[{"href":"https://app-sandbox.beinfi.com","label":"Sandbox"}],"primary":{"type":"button","label":"Começar","href":"https://app.beinfi.com"}},"footer":{"socials":{"website":"https://beinfi.com"}},"styling":{"latex":true},"navigation":{"languages":[{"language":"pt-BR","default":true,"href":"introducao"},{"language":"en","href":"en/introducao"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"beinfi","hasAudioNarration":false,"actualSubdomain":"beinfi","customDomains":["docs.beinfi.com"],"gitSource":{"type":"github","owner":"be-infinitum","repo":"infi","deployBranch":"main","contentDirectory":"infi-docs","isPrivate":true,"mountPath":"","label":"","_id":"6adfafa06d56e5c194b62908"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae91a58c27bfbde36d8601a","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"pt-BR","tag":"Referência da API","count":72},{"language":"en","tag":"API reference","count":72},{"language":"pt-BR","tag":"Catálogo","count":21},{"language":"en","tag":"Catalog","count":21},{"language":"pt-BR","tag":"Guias","count":17},{"language":"en","tag":"Guides","count":17},{"language":"pt-BR","tag":"Começar","count":13},{"language":"en","tag":"Get started","count":13},{"language":"pt-BR","tag":"Clientes","count":8},{"language":"pt-BR","tag":"Faturas","count":8},{"language":"en","tag":"Customers","count":8},{"language":"en","tag":"Invoices","count":8},{"language":"pt-BR","tag":"Webhooks","count":7},{"language":"en","tag":"Webhooks","count":7},{"language":"pt-BR","tag":"Conta","count":5},{"language":"pt-BR","tag":"Cupons","count":5},{"language":"pt-BR","tag":"Pagamentos","count":5},{"language":"en","tag":"Account","count":5},{"language":"en","tag":"Coupons","count":5},{"language":"en","tag":"Payments","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/catálogo/criar-produto","slug":"/api-reference/catálogo/criar-produto","pageMetadata":{"title":"Criar produto","description":"Cria o produto junto com a versão 1 em `draft`. Para vender, publique essa versão com `POST /products/{productID}/versions/{versionID}/publish`.\n\nCom `key`, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com `name` e `description` atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se `basePrice` ou `billingCycle` diferirem da versão atual, a resposta é `422 pricing_immutable`. Para mudar o preço, crie uma nova versão com `POST /products/{productID}/versions`. Uma requisição sem preço não mexe no preço.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products","href":"/api-reference/catálogo/criar-produto","autogeneratedByOpenApi":true},"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: [_jsxs(_components.p, {\n children: [\"Cria o produto junto com a versão 1 em \", _jsx(_components.code, {\n children: \"draft\"\n }), \". Para vender, publique essa versão com \", _jsx(_components.code, {\n children: \"POST /products/{productID}/versions/{versionID}/publish\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Com \", _jsx(_components.code, {\n children: \"key\"\n }), \", a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com \", _jsx(_components.code, {\n children: \"name\"\n }), \" e \", _jsx(_components.code, {\n children: \"description\"\n }), \" atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se \", _jsx(_components.code, {\n children: \"basePrice\"\n }), \" ou \", _jsx(_components.code, {\n children: \"billingCycle\"\n }), \" diferirem da versão atual, a resposta é \", _jsx(_components.code, {\n children: \"422 pricing_immutable\"\n }), \". Para mudar o preço, crie uma nova versão com \", _jsx(_components.code, {\n children: \"POST /products/{productID}/versions\"\n }), \". Uma requisição sem preço não mexe no preço.\"]\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":{"title":"Criar produto","description":"Cria o produto junto com a versão 1 em `draft`. Para vender, publique essa versão com `POST /products/{productID}/versions/{versionID}/publish`.\n\nCom `key`, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com `name` e `description` atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se `basePrice` ou `billingCycle` diferirem da versão atual, a resposta é `422 pricing_immutable`. Para mudar o preço, crie uma nova versão com `POST /products/{productID}/versions`. Uma requisição sem preço não mexe no preço.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products","href":"/api-reference/catálogo/criar-produto","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Catálogo"],"operationId":"createProduct","parameters":["f74542c7-2cdd-4817-ae2b-fade8d8cf849"],"requestBody":"ee7c88e4-1a8c-4357-aafb-e5fdd91ae0aa","responses":{"201":"2a2a97ea-c9e7-4cef-9d55-aef65ddeb320","401":"911c8f7a-53bb-4e43-8787-b33692ff033a","409":"2b9a5c8e-d115-4bff-b2f7-4919e7377154","422":"f47c15df-d194-4c41-9c22-74fd61f0b1f5"},"summary":"Criar produto","description":"Cria o produto junto com a versão 1 em `draft`. Para vender, publique essa versão com `POST /products/{productID}/versions/{versionID}/publish`.\n\nCom `key`, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com `name` e `description` atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se `basePrice` ou `billingCycle` diferirem da versão atual, a resposta é `422 pricing_immutable`. Para mudar o preço, crie uma nova versão com `POST /products/{productID}/versions`. Uma requisição sem preço não mexe no preço.\n","method":"post","type":"path","servers":["9905c4d0-fcf0-4e80-9c22-501ee865364e","9b95f906-d9e1-4d9b-a04a-d3024008b68c"],"security":["0ac7feb9-6f99-460a-8a7b-dd0f6d2a1f37"],"path":"/products","baseUrlOptions":["https://api-sandbox.beinfi.com","https://api.beinfi.com"],"title":"Criar produto","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"f74542c7-2cdd-4817-ae2b-fade8d8cf849":{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","isRequired":false,"description":"Chave única por operação (um UUID serve). Repetir com a mesma chave devolve a resposta original.","uniqueKey":"","typeLabel":"string"},"description":"Chave única por operação (um UUID serve). Repetir com a mesma chave devolve a resposta original."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","pricingModel"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"pricingModel":{"type":"string","enum":["subscription","one_time","usage","prepaid"],"description":"`subscription`, `one_time`, `usage` ou `prepaid`.","isRequired":true,"uniqueKey":"pricingModel","typeLabel":"enum\u003cstring>"},"guaranteeDays":{"type":"integer","minimum":7,"maximum":30,"uniqueKey":"guaranteeDays","typeLabel":"integer"},"key":{"oneOf":[{"type":"string","description":"Chave estável do produto, única na sua conta. Criar duas vezes com a mesma chave devolve o mesmo produto; um preço diferente do da versão atual é recusado com `422 pricing_immutable`.","uniqueKey":"key.oneOf.0","typeLabel":"string"},{"type":"null","description":"Chave estável do produto, única na sua conta. Criar duas vezes com a mesma chave devolve o mesmo produto; um preço diferente do da versão atual é recusado com `422 pricing_immutable`.","uniqueKey":"key.oneOf.1","typeLabel":"null"}],"uniqueKey":"key","typeLabel":"string | null"},"type":{"type":"string","enum":["agent","item"],"description":"`item` (padrão) ou `agent`.","uniqueKey":"type","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"currency":{"type":"string","example":"BRL","description":"Código ISO 4217 de 3 letras. Padrão: `BRL`.","uniqueKey":"currency","typeLabel":"string"},"billingCycle":{"oneOf":[{"type":"string","enum":["weekly","monthly","annual",null],"description":"`weekly`, `monthly` ou `annual`. Obrigatório para `subscription` e `prepaid`; não envie nos outros modelos.","uniqueKey":"billingCycle.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["weekly","monthly","annual",null],"description":"`weekly`, `monthly` ou `annual`. Obrigatório para `subscription` e `prepaid`; não envie nos outros modelos.","uniqueKey":"billingCycle.oneOf.1","typeLabel":"null"}],"uniqueKey":"billingCycle","typeLabel":"enum\u003cstring> | null"},"basePrice":{"oneOf":[{"type":"string","description":"Preço base da versão 1, em texto decimal (`\"49.90\"`).","uniqueKey":"basePrice.oneOf.0","typeLabel":"string"},{"type":"null","description":"Preço base da versão 1, em texto decimal (`\"49.90\"`).","uniqueKey":"basePrice.oneOf.1","typeLabel":"null"}],"uniqueKey":"basePrice","typeLabel":"string | null"},"accentColor":{"oneOf":[{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","uniqueKey":"accentColor.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^#[0-9A-Fa-f]{6}$","uniqueKey":"accentColor.oneOf.1","typeLabel":"null"}],"uniqueKey":"accentColor","typeLabel":"string | null"},"media":{"type":"array","maxItems":10,"items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["image","video"],"isRequired":true,"uniqueKey":"media.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"objectKey":{"type":"string","uniqueKey":"media.items.[INDEX].objectKey","typeLabel":"string"},"url":{"type":"string","uniqueKey":"media.items.[INDEX].url","typeLabel":"string"},"alt":{"type":"string","maxLength":200,"uniqueKey":"media.items.[INDEX].alt","typeLabel":"string"}},"uniqueKey":"media.items.[INDEX]","typeLabel":"object"},"uniqueKey":"media","typeLabel":"object[]"},"faq":{"type":"array","maxItems":20,"items":{"type":"object","required":["question","answer"],"properties":{"question":{"type":"string","maxLength":200,"isRequired":true,"uniqueKey":"faq.items.[INDEX].question","typeLabel":"string"},"answer":{"type":"string","maxLength":2000,"isRequired":true,"uniqueKey":"faq.items.[INDEX].answer","typeLabel":"string"}},"uniqueKey":"faq.items.[INDEX]","typeLabel":"object"},"uniqueKey":"faq","typeLabel":"object[]"},"purchaseButtonText":{"oneOf":[{"type":"string","maxLength":40,"uniqueKey":"purchaseButtonText.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":40,"uniqueKey":"purchaseButtonText.oneOf.1","typeLabel":"null"}],"uniqueKey":"purchaseButtonText","typeLabel":"string | null"},"postPurchaseRedirectUrl":{"oneOf":[{"type":"string","uniqueKey":"postPurchaseRedirectUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"postPurchaseRedirectUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"postPurchaseRedirectUrl","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","guaranteeDays":18,"key":"\u003cstring>","description":"\u003cstring>","currency":"BRL","basePrice":"\u003cstring>","accentColor":"\u003cstring>","media":[{"objectKey":"\u003cstring>","url":"\u003cstring>","alt":"\u003cstring>"}],"faq":[{"question":"\u003cstring>","answer":"\u003cstring>"}],"purchaseButtonText":"\u003cstring>","postPurchaseRedirectUrl":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"2a2a97ea-c9e7-4cef-9d55-aef65ddeb320":{"content":{"application/json":{"schema":{"type":"object","required":["product","version"],"properties":{"product":{"type":"object","required":["id","name","type","pricingModel","currency","status","guaranteeDays","accentColor","media","faq","purchaseButtonText","postPurchaseRedirectUrl","draftSavedAt","createdAt","updatedAt"],"properties":{"id":{"type":"string","pattern":"^prod_[0-9A-Za-z]{22}$","example":"prod_1d4YogBuw00jAySh5mbUpk","isRequired":true,"uniqueKey":"product.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"product.name","typeLabel":"string"},"type":{"type":"string","enum":["agent","item"],"description":"`item` (padrão) ou `agent`.","isRequired":true,"uniqueKey":"product.type","typeLabel":"enum\u003cstring>"},"pricingModel":{"type":"string","enum":["subscription","one_time","usage","prepaid"],"description":"Como o produto é cobrado: `subscription`, `one_time`, `usage` ou `prepaid`.","isRequired":true,"uniqueKey":"product.pricingModel","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","example":"BRL","description":"Código ISO 4217 de 3 letras, como `BRL`.","isRequired":true,"uniqueKey":"product.currency","typeLabel":"string"},"status":{"type":"string","example":"active","description":"`active` ou `archived`.","isRequired":true,"uniqueKey":"product.status","typeLabel":"string"},"guaranteeDays":{"type":"integer","minimum":7,"maximum":30,"isRequired":true,"uniqueKey":"product.guaranteeDays","typeLabel":"integer"},"accentColor":{"oneOf":[{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","isRequired":true,"uniqueKey":"product.accentColor.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^#[0-9A-Fa-f]{6}$","isRequired":true,"uniqueKey":"product.accentColor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"product.accentColor","typeLabel":"string | null"},"media":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["image","video"],"isRequired":true,"uniqueKey":"product.media.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"objectKey":{"type":"string","uniqueKey":"product.media.items.[INDEX].objectKey","typeLabel":"string"},"url":{"type":"string","uniqueKey":"product.media.items.[INDEX].url","typeLabel":"string"},"alt":{"type":"string","maxLength":200,"uniqueKey":"product.media.items.[INDEX].alt","typeLabel":"string"}},"uniqueKey":"product.media.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"product.media","typeLabel":"object[]"},"faq":{"type":"array","items":{"type":"object","required":["question","answer"],"properties":{"question":{"type":"string","maxLength":200,"isRequired":true,"uniqueKey":"product.faq.items.[INDEX].question","typeLabel":"string"},"answer":{"type":"string","maxLength":2000,"isRequired":true,"uniqueKey":"product.faq.items.[INDEX].answer","typeLabel":"string"}},"uniqueKey":"product.faq.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"product.faq","typeLabel":"object[]"},"purchaseButtonText":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"product.purchaseButtonText.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"product.purchaseButtonText.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"product.purchaseButtonText","typeLabel":"string | null"},"postPurchaseRedirectUrl":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"product.postPurchaseRedirectUrl.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"product.postPurchaseRedirectUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"product.postPurchaseRedirectUrl","typeLabel":"string | null"},"draftSavedAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"product.draftSavedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"product.draftSavedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"product.draftSavedAt","typeLabel":"string\u003cdate-time> | null"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"product.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"product.updatedAt","typeLabel":"string\u003cdate-time>"},"key":{"oneOf":[{"type":"string","description":"Chave estável que você escolhe para o produto, única na sua conta. Permite criar o mesmo produto de novo sem duplicar.","uniqueKey":"product.key.oneOf.0","typeLabel":"string"},{"type":"null","description":"Chave estável que você escolhe para o produto, única na sua conta. Permite criar o mesmo produto de novo sem duplicar.","uniqueKey":"product.key.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.key","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","uniqueKey":"product.description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"product.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.description","typeLabel":"string | null"},"imageUrl":{"oneOf":[{"type":"string","description":"Endereço público da foto do produto.","uniqueKey":"product.imageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Endereço público da foto do produto.","uniqueKey":"product.imageUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.imageUrl","typeLabel":"string | null"}},"description":"Um item do catálogo. O preço fica nas versões do produto.","isRequired":true,"uniqueKey":"product","typeLabel":"object"},"version":{"type":"object","required":["id","productId","version","status","isDefault","commitmentResets"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"version.id","typeLabel":"string\u003cuuid>"},"productId":{"type":"string","pattern":"^prod_[0-9A-Za-z]{22}$","example":"prod_1d4YogBuw00jAySh5mbUpk","isRequired":true,"uniqueKey":"version.productId","typeLabel":"string"},"version":{"type":"integer","description":"Número sequencial da versão (1, 2, 3…).","isRequired":true,"uniqueKey":"version.version","typeLabel":"integer"},"status":{"type":"string","enum":["draft","published","archived"],"description":"`draft` (editável), `published` (vendável, preço fixo) ou `archived`.","isRequired":true,"uniqueKey":"version.status","typeLabel":"enum\u003cstring>"},"isDefault":{"type":"boolean","description":"Se esta é a versão que o comprador recebe quando nada indica outra. Uma versão publicada com `isDefault: false` é uma oferta: só é vendida por um link de pagamento criado com `productVersionId`.","isRequired":true,"uniqueKey":"version.isDefault","typeLabel":"boolean"},"commitmentResets":{"type":"boolean","description":"`true`: o mínimo não usado se perde no fim do ciclo. `false`: passa para o seguinte.","isRequired":true,"uniqueKey":"version.commitmentResets","typeLabel":"boolean"},"billingCycle":{"oneOf":[{"type":"string","enum":["weekly","monthly","annual",null],"description":"`weekly`, `monthly` ou `annual`; `null` em produtos sem recorrência.","uniqueKey":"version.billingCycle.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["weekly","monthly","annual",null],"description":"`weekly`, `monthly` ou `annual`; `null` em produtos sem recorrência.","uniqueKey":"version.billingCycle.oneOf.1","typeLabel":"null"}],"uniqueKey":"version.billingCycle","typeLabel":"enum\u003cstring> | null"},"basePrice":{"oneOf":[{"type":"string","description":"Preço base em texto decimal; `null` em produto só de uso.","uniqueKey":"version.basePrice.oneOf.0","typeLabel":"string"},{"type":"null","description":"Preço base em texto decimal; `null` em produto só de uso.","uniqueKey":"version.basePrice.oneOf.1","typeLabel":"null"}],"uniqueKey":"version.basePrice","typeLabel":"string | null"},"publishedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"version.publishedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"version.publishedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"version.publishedAt","typeLabel":"string\u003cdate-time> | null"},"commitmentAmount":{"oneOf":[{"type":"string","description":"Mínimo cobrado por ciclo, em texto decimal; `null` sem mínimo.","uniqueKey":"version.commitmentAmount.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mínimo cobrado por ciclo, em texto decimal; `null` sem mínimo.","uniqueKey":"version.commitmentAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"version.commitmentAmount","typeLabel":"string | null"},"consumptionFloor":{"oneOf":[{"type":"string","description":"Limite de créditos abaixo do qual o registro de uso é recusado. Veja `VersionConsumption.floor`.","uniqueKey":"version.consumptionFloor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Limite de créditos abaixo do qual o registro de uso é recusado. Veja `VersionConsumption.floor`.","uniqueKey":"version.consumptionFloor.oneOf.1","typeLabel":"null"}],"uniqueKey":"version.consumptionFloor","typeLabel":"string | null"},"grants":{"type":"array","items":{"type":"object","required":["meter","amount","on"],"properties":{"meter":{"type":"string","description":"O `name` do medidor que recebe o crédito (por exemplo, `tokens`). `credits` são os créditos gerais.","isRequired":true,"uniqueKey":"version.grants.items.[INDEX].meter","typeLabel":"string"},"amount":{"type":"string","description":"Quantidade a creditar, em texto decimal.","isRequired":true,"uniqueKey":"version.grants.items.[INDEX].amount","typeLabel":"string"},"on":{"type":"string","enum":["cycle","payment"],"description":"`cycle`: a cada novo período da assinatura. `payment`: quando o pagamento confirma.","isRequired":true,"uniqueKey":"version.grants.items.[INDEX].on","typeLabel":"enum\u003cstring>"}},"description":"Um crédito de uso concedido pela versão.","uniqueKey":"version.grants.items.[INDEX]","typeLabel":"object"},"description":"Créditos de uso que a versão concede.","uniqueKey":"version.grants","typeLabel":"object[]"}},"description":"Uma versão do produto: o retrato do preço. Uma versão publicada nunca muda; para mudar o preço, crie outra.","isRequired":true,"uniqueKey":"version","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"product":{"id":"prod_1d4YogBuw00jAySh5mbUpk","name":"\u003cstring>","type":"agent","pricingModel":"subscription","currency":"BRL","status":"active","guaranteeDays":18,"accentColor":"\u003cstring>","media":[{"type":"image","objectKey":"\u003cstring>","url":"\u003cstring>","alt":"\u003cstring>"}],"faq":[{"question":"\u003cstring>","answer":"\u003cstring>"}],"purchaseButtonText":"\u003cstring>","postPurchaseRedirectUrl":"\u003cstring>","draftSavedAt":"2023-11-07T05:31:56Z","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","key":"\u003cstring>","description":"\u003cstring>","imageUrl":"\u003cstring>"},"version":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","productId":"prod_1d4YogBuw00jAySh5mbUpk","version":123,"status":"draft","isDefault":true,"commitmentResets":true,"billingCycle":"weekly","basePrice":"\u003cstring>","publishedAt":"2023-11-07T05:31:56Z","commitmentAmount":"\u003cstring>","consumptionFloor":"\u003cstring>","grants":[{"meter":"\u003cstring>","amount":"\u003cstring>","on":"cycle"}]}}}},"exampleType":"generated"}},"description":"Produto criado (ou o produto existente com a mesma `key`).","exampleType":"generated"},"911c8f7a-53bb-4e43-8787-b33692ff033a":{"content":{"application/json":{"schema":{"type":"object","required":["message","error_code","tracer_id"],"properties":{"message":{"type":"string","description":"Frase legível para pessoas.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","examples":["internal_error","validation_failed","bad_request","unauthorized","forbidden","not_found","conflict","rate_limited"],"description":"Código estável do erro. Use-o para decidir o que fazer.","isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"tracer_id":{"type":"string","description":"Identificador da requisição. Informe-o ao falar com o suporte.","isRequired":true,"uniqueKey":"tracer_id","typeLabel":"string"}},"description":"O corpo de erro padrão. É plano (sem o envelope `error`) e o identificador de rastreio é `tracer_id`.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","error_code":"internal_error","tracer_id":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Chave ausente ou inválida.","exampleType":"generated"},"2b9a5c8e-d115-4bff-b2f7-4919e7377154":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Corpo de um erro 409: o recurso está num estado que não permite a operação.","required":["message","error_code","tracer_id","resource","metadata"],"properties":{"message":{"type":"string","description":"Explicação para pessoas.","isRequired":true,"uniqueKey":"oneOf.0.message","typeLabel":"string"},"error_code":{"type":"string","examples":["internal_error","validation_failed","bad_request","unauthorized","forbidden","not_found","conflict","rate_limited"],"description":"Código estável do erro. Use este campo para decidir o que fazer.","isRequired":true,"uniqueKey":"oneOf.0.error_code","typeLabel":"string"},"tracer_id":{"type":"string","description":"Identificador da requisição. Envie ao suporte.","isRequired":true,"uniqueKey":"oneOf.0.tracer_id","typeLabel":"string"},"resource":{"type":"string","description":"O tipo de recurso em conflito. Texto vazio quando não se aplica.","isRequired":true,"uniqueKey":"oneOf.0.resource","typeLabel":"string"},"metadata":{"oneOf":[{"type":"object","additionalProperties":{"type":"string","uniqueKey":"oneOf.0.metadata.oneOf.0.additionalProperties","typeLabel":"string"},"description":"Detalhes do conflito, em pares chave-valor. `null` quando não há.","isRequired":true,"uniqueKey":"oneOf.0.metadata.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"type":"string","uniqueKey":"oneOf.0.metadata.oneOf.1.additionalProperties","typeLabel":"string"},"description":"Detalhes do conflito, em pares chave-valor. `null` quando não há.","isRequired":true,"uniqueKey":"oneOf.0.metadata.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metadata","typeLabel":"object | null"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","examples":["internal_error","validation_failed","bad_request","unauthorized","forbidden","not_found","conflict","rate_limited"],"description":"Código estável do erro. A lista não é fechada: além dos códigos genéricos, cada área tem os seus (`coupon_expired`, `insufficient_balance`, `version_not_draft`, `idempotency_key_reused`…). Um código que você não conhece deve ser tratado pelo status HTTP, mostrando `message`; não falhe ao ler a resposta.","isRequired":true,"uniqueKey":"oneOf.1.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.request_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","error_code":"internal_error","tracer_id":"\u003cstring>","resource":"\u003cstring>","metadata":{}}}},"exampleType":"generated"}},"description":"O recurso está num estado que não permite a operação, ou a `Idempotency-Key` já foi usada com outro corpo.","exampleType":"generated"},"f47c15df-d194-4c41-9c22-74fd61f0b1f5":{"content":{"application/json":{"schema":{"type":"object","required":["message","error_code","tracer_id","errors"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","examples":["internal_error","validation_failed","bad_request","unauthorized","forbidden","not_found","conflict","rate_limited"],"description":"Código estável do erro. A lista não é fechada: além dos códigos genéricos, cada área tem os seus (`coupon_expired`, `insufficient_balance`, `version_not_draft`, `idempotency_key_reused`…). Um código que você não conhece deve ser tratado pelo status HTTP, mostrando `message`; não falhe ao ler a resposta.","isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"tracer_id":{"type":"string","isRequired":true,"uniqueKey":"tracer_id","typeLabel":"string"},"errors":{"type":"array","items":{"type":"object","required":["field","value","constraint","description"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].value","typeLabel":"string"},"constraint":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].constraint","typeLabel":"string"},"description":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"Detalhe por campo (`field`, `description`). Sempre presente num `422`; pode vir vazio.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"description":"Corpo de um `422`. Mesmo formato de `Error`, mais `errors[]` com o detalhe por campo. É ali que está a frase que diz o que corrigir (por exemplo, \"product has no published version\").","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","error_code":"internal_error","tracer_id":"\u003cstring>","errors":[{"field":"\u003cstring>","value":"\u003cstring>","constraint":"\u003cstring>","description":"\u003cstring>"}]}}},"exampleType":"generated"}},"description":"Um ou mais campos são inválidos. O detalhe de cada campo está em `errors[]`.","exampleType":"generated"}},"security":{"0ac7feb9-6f99-460a-8a7b-dd0f6d2a1f37":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Chave secreta da conta: `Authorization: Bearer sk_test_…` ou `sk_live_…`. Use só no servidor.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"9905c4d0-fcf0-4e80-9c22-501ee865364e":{"url":"https://api-sandbox.beinfi.com","description":"Sandbox"},"9b95f906-d9e1-4d9b-a04a-d3024008b68c":{"url":"https://api.beinfi.com","description":"Produção"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Chave secreta da conta: `Authorization: Bearer sk_test_…` ou `sk_live_…`. Use só no servidor.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Chave secreta da conta: `Authorization: Bearer sk_test_…` ou `sk_live_…`. Use só no servidor.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.pt-BR.json"},"subdomain":"beinfi","siteName":"Infi","title":"Criar produto - Infi","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"pt-BR":{"href":"/api-reference/catálogo/criar-produto","matchLevel":0},"en":{"href":"/en/introducao","matchLevel":4}}},"lastModified":"2026-11-02T23:19:06.069Z","originalFileLocation":"api-reference/catálogo/criar-produto.mdx","locale":"pt-BR"},"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=\"Cria o produto junto com a versão 1 em draft. Para vender, publique essa versão com POST /products/{productID}/versions/{versionID}/publish. Com key, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com name e description atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se basePrice ou billingCycle diferirem da versão atual, a resposta é 422 pricing_immutable. Para mudar o preço, crie uma nova versão com POST /products/{productID}/versions. Uma requisição sem preço não mexe no preço.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Infi\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/beinfi/6L9ijlDVcq5aSfgL/_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/beinfi/6L9ijlDVcq5aSfgL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/beinfi/6L9ijlDVcq5aSfgL/_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/beinfi/6L9ijlDVcq5aSfgL/_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/beinfi/6L9ijlDVcq5aSfgL/_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/beinfi/6L9ijlDVcq5aSfgL/_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/beinfi/6L9ijlDVcq5aSfgL/_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/beinfi/6L9ijlDVcq5aSfgL/_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/beinfi/6L9ijlDVcq5aSfgL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Criar produto - Infi\">\u003cmeta data-mint-head property=\"og:description\" content=\"Cria o produto junto com a versão 1 em draft. Para vender, publique essa versão com POST /products/{productID}/versions/{versionID}/publish. Com key, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com name e description atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se basePrice ou billingCycle diferirem da versão atual, a resposta é 422 pricing_immutable. Para mudar o preço, crie uma nova versão com POST /products/{productID}/versions. Uma requisição sem preço não mexe no preço.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Infi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.beinfi.com/api-reference/catálogo/criar-produto\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://beinfi.mintlify.site/_mintlify/api/og/v2?division=Cat%C3%A1logo\u0026amp;title=Criar+produto\u0026amp;description=Cria+o+produto+junto+com+a+vers%C3%A3o+1+em+%60draft%60.+Para+vender%2C+publique+essa+vers%C3%A3o+com+%60POST+%2Fproducts%2F%7BproductID%7D%2Fversions%2F%7BversionID%7D%2Fpublish%60.%0A%0ACom+%60key%60%2C+a+c\u0026amp;theme=0f1e10ebee4743982aba108c\u0026amp;signature=e557ecbb8eac28bf444777c372f479952dea4fc627e61835deb0f4040d447cf5\">\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=\"Criar produto - Infi\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Cria o produto junto com a versão 1 em draft. Para vender, publique essa versão com POST /products/{productID}/versions/{versionID}/publish. Com key, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com name e description atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se basePrice ou billingCycle diferirem da versão atual, a resposta é 422 pricing_immutable. Para mudar o preço, crie uma nova versão com POST /products/{productID}/versions. Uma requisição sem preço não mexe no preço.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://beinfi.mintlify.site/_mintlify/api/og/v2?division=Cat%C3%A1logo\u0026amp;title=Criar+produto\u0026amp;description=Cria+o+produto+junto+com+a+vers%C3%A3o+1+em+%60draft%60.+Para+vender%2C+publique+essa+vers%C3%A3o+com+%60POST+%2Fproducts%2F%7BproductID%7D%2Fversions%2F%7BversionID%7D%2Fpublish%60.%0A%0ACom+%60key%60%2C+a+c\u0026amp;theme=0f1e10ebee4743982aba108c\u0026amp;signature=e557ecbb8eac28bf444777c372f479952dea4fc627e61835deb0f4040d447cf5\">\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/beinfi/6L9ijlDVcq5aSfgL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Infi\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A1430\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.beinfi.com/api-reference/catálogo/criar-produto\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/cat%C3%A1logo/criar-produto.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.beinfi.com/#organization\",\"name\":\"Infi\",\"url\":\"https://docs.beinfi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/beinfi/owBheEE6vXSyqXTj/logo/logo.svg?fit=max\u0026auto=format\u0026n=owBheEE6vXSyqXTj\u0026q=85\u0026s=b1b9ce09a8814e42032ef2bf2c08fb54\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.beinfi.com#website\",\"name\":\"Infi\",\"url\":\"https://docs.beinfi.com\",\"publisher\":{\"@id\":\"https://docs.beinfi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/criar-produto#webpage\",\"url\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/criar-produto\",\"name\":\"Criar produto\",\"description\":\"Cria o produto junto com a versão 1 em draft. Para vender, publique essa versão com POST /products/{productID}/versions/{versionID}/publish. Com key, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com name e description atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se basePrice ou billingCycle diferirem da versão atual, a resposta é 422 pricing_immutable. Para mudar o preço, crie uma nova versão com POST /products/{productID}/versions. Uma requisição sem preço não mexe no preço.\",\"dateModified\":\"2026-11-02T23:19:06.069Z\",\"isPartOf\":{\"@id\":\"https://docs.beinfi.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/criar-produto#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/criar-produto#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Catálogo\",\"item\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/preparar-envio-de-imagem\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Criar produto\",\"item\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/criar-produto\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/criar-produto#apireference\",\"headline\":\"Criar produto\",\"name\":\"Criar produto\",\"description\":\"Cria o produto junto com a versão 1 em draft. Para vender, publique essa versão com POST /products/{productID}/versions/{versionID}/publish. Com key, a chamada é idempotente: se a chave já existe, você recebe o produto que ela identifica (com name e description atualizados para o que enviou) em vez de um erro. O preço não entra nessa atualização: se basePrice ou billingCycle diferirem da versão atual, a resposta é 422 pricing_immutable. Para mudar o preço, crie uma nova versão com POST /products/{productID}/versions. Uma requisição sem preço não mexe no preço.\",\"url\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/criar-produto\",\"mainEntityOfPage\":{\"@id\":\"https://docs.beinfi.com/api-reference/cat%C3%A1logo/criar-produto#webpage\"},\"dateModified\":\"2026-11-02T23:19:06.069Z\",\"publisher\":{\"@id\":\"https://docs.beinfi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.beinfi.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Infi\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Infi","nav":{"global":null,"languages":[{"language":"pt-BR","default":true,"tabs":[{"tab":"Guias","pages":[{"title":"Guias","href":"/introducao"}]},{"tab":"Referência da API","groups":[{"group":"Checkout","pages":[{"title":"Ler fatura no checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /pay/{slug}/invoices/{invoiceID}","href":"/api-reference/checkout/ler-fatura-no-checkout"},{"title":"Pagar fatura no checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /pay/{slug}/invoices/{invoiceID}/charge","href":"/api-reference/checkout/pagar-fatura-no-checkout"},{"title":"Aplicar cupom na fatura","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /pay/{slug}/invoices/{invoiceID}/coupon","href":"/api-reference/checkout/aplicar-cupom-na-fatura"},{"title":"Baixar produto digital","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /pay/{slug}/download/{token}","href":"/api-reference/checkout/baixar-produto-digital"}]},{"group":"Conta de teste","pages":[{"title":"Criar conta de teste","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /public/v1/claimables","href":"/api-reference/conta-de-teste/criar-conta-de-teste"},{"title":"Consultar conta de teste","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /public/v1/claimables/{claimableID}","href":"/api-reference/conta-de-teste/consultar-conta-de-teste"}]},{"group":"Catálogo","pages":[{"title":"Preparar envio de imagem","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /catalog/images/presign","href":"/api-reference/catálogo/preparar-envio-de-imagem"},{"title":"Listar produtos","description":"Devolve os produtos do catálogo da sua conta.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /products","href":"/api-reference/catálogo/listar-produtos"},{"title":"Criar produto","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products","href":"/api-reference/catálogo/criar-produto"},{"title":"Consultar produto","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /products/{productID}","href":"/api-reference/catálogo/consultar-produto"},{"title":"Atualizar produto","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json patch /products/{productID}","href":"/api-reference/catálogo/atualizar-produto"},{"title":"Listar versões do produto","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /products/{productID}/versions","href":"/api-reference/catálogo/listar-versões-do-produto"},{"title":"Criar nova versão","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products/{productID}/versions","href":"/api-reference/catálogo/criar-nova-versão"},{"title":"Publicar versão","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products/{productID}/versions/{versionID}/publish","href":"/api-reference/catálogo/publicar-versão"},{"title":"Listar preços da versão","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /products/{productID}/versions/{versionID}/prices","href":"/api-reference/catálogo/listar-preços-da-versão"},{"title":"Adicionar preço à versão","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products/{productID}/versions/{versionID}/prices","href":"/api-reference/catálogo/adicionar-preço-à-versão"},{"title":"Listar medidores do produto","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /products/{productID}/meters","href":"/api-reference/catálogo/listar-medidores-do-produto"},{"title":"Criar medidor","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products/{productID}/meters","href":"/api-reference/catálogo/criar-medidor"},{"title":"Criar link com produto","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /payment-links","href":"/api-reference/catálogo/criar-link-com-produto"},{"title":"Listar links do produto","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /products/{productID}/payment-links","href":"/api-reference/catálogo/listar-links-do-produto"},{"title":"Criar link de pagamento","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products/{productID}/payment-links","href":"/api-reference/catálogo/criar-link-de-pagamento"},{"title":"Revogar link de pagamento","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json delete /products/{productID}/payment-links/{linkID}","href":"/api-reference/catálogo/revogar-link-de-pagamento"},{"title":"Atualizar medidor","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json patch /products/{productID}/meters/{meterID}","href":"/api-reference/catálogo/atualizar-medidor"},{"title":"Gerar URL de upload do arquivo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products/{productID}/deliverable/presign","href":"/api-reference/catálogo/gerar-url-de-upload-do-arquivo"},{"title":"Consultar entregável","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /products/{productID}/deliverable","href":"/api-reference/catálogo/consultar-entregável"},{"title":"Salvar entregável","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json put /products/{productID}/deliverable","href":"/api-reference/catálogo/salvar-entregável"},{"title":"Remover entregável","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json delete /products/{productID}/deliverable","href":"/api-reference/catálogo/remover-entregável"}]},{"group":"Clientes","pages":[{"title":"Criar cliente","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /customers","href":"/api-reference/clientes/criar-cliente"},{"title":"Inscrever cliente no produto","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /products/{productID}/customers","href":"/api-reference/clientes/inscrever-cliente-no-produto"},{"title":"Buscar cliente","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /customers/{customerID}","href":"/api-reference/clientes/buscar-cliente"},{"title":"Consultar estado do cliente","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /customers/{customerID}/state","href":"/api-reference/clientes/consultar-estado-do-cliente"},{"title":"Consultar créditos","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /customers/{customerID}/wallet","href":"/api-reference/clientes/consultar-créditos"},{"title":"Listar preços do cliente","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /customers/{customerID}/rate-cards","href":"/api-reference/clientes/listar-preços-do-cliente"},{"title":"Definir preço do cliente","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /customers/{customerID}/rate-cards","href":"/api-reference/clientes/definir-preço-do-cliente"},{"title":"Remover preço do cliente","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json delete /customers/{customerID}/rate-cards/{rateCardID}","href":"/api-reference/clientes/remover-preço-do-cliente"}]},{"group":"Medição de uso","pages":[{"title":"Registrar evento de uso","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /metering/events","href":"/api-reference/medição-de-uso/registrar-evento-de-uso"},{"title":"Registrar eventos em lote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /metering/events/batch","href":"/api-reference/medição-de-uso/registrar-eventos-em-lote"},{"title":"Consultar uso do cliente","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /metering/usage","href":"/api-reference/medição-de-uso/consultar-uso-do-cliente"}]},{"group":"Faturas","pages":[{"title":"Listar faturas","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/invoices","href":"/api-reference/faturas/listar-faturas"},{"title":"Criar fatura avulsa","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/invoices","href":"/api-reference/faturas/criar-fatura-avulsa"},{"title":"Faturar uso acumulado","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/invoices/from-usage","href":"/api-reference/faturas/faturar-uso-acumulado"},{"title":"Vender um produto","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/products/{productID}/invoices","href":"/api-reference/faturas/vender-um-produto"},{"title":"Faturar período da assinatura","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/subscriptions/{subscriptionID}/invoices","href":"/api-reference/faturas/faturar-período-da-assinatura"},{"title":"Consultar fatura","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/invoices/{invoiceID}","href":"/api-reference/faturas/consultar-fatura"},{"title":"Enviar fatura por e-mail","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/invoices/{invoiceID}/send","href":"/api-reference/faturas/enviar-fatura-por-e-mail"},{"title":"Cancelar fatura","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/invoices/{invoiceID}/void","href":"/api-reference/faturas/cancelar-fatura"}]},{"group":"Pagamentos","pages":[{"title":"Listar pagamentos","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/payments","href":"/api-reference/pagamentos/listar-pagamentos"},{"title":"Listar pagamentos da fatura","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/invoices/{invoiceID}/payments","href":"/api-reference/pagamentos/listar-pagamentos-da-fatura"},{"title":"Consultar pagamento","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/payments/{paymentID}","href":"/api-reference/pagamentos/consultar-pagamento"},{"title":"Reembolsar pagamento","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/payments/{paymentID}/refund","href":"/api-reference/pagamentos/reembolsar-pagamento"},{"title":"Listar reembolsos do pagamento","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/payments/{paymentID}/refunds","href":"/api-reference/pagamentos/listar-reembolsos-do-pagamento"}]},{"group":"Assinaturas","pages":[{"title":"Criar assinatura","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/products/{productID}/subscriptions","href":"/api-reference/assinaturas/criar-assinatura"},{"title":"Listar assinaturas de uma inscrição","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/customers/{customerID}/subscriptions","href":"/api-reference/assinaturas/listar-assinaturas-de-uma-inscrição"},{"title":"Consultar assinatura","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/subscriptions/{subscriptionID}","href":"/api-reference/assinaturas/consultar-assinatura"}]},{"group":"Cobrança","pages":[{"title":"Listar links de download da fatura","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/invoices/{invoiceID}/deliverable","href":"/api-reference/cobrança/listar-links-de-download-da-fatura"}]},{"group":"Cupons","pages":[{"title":"Listar cupons","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/coupons","href":"/api-reference/cupons/listar-cupons"},{"title":"Criar cupom","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /billing/coupons","href":"/api-reference/cupons/criar-cupom"},{"title":"Consultar cupom","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /billing/coupons/{couponID}","href":"/api-reference/cupons/consultar-cupom"},{"title":"Excluir cupom","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json delete /billing/coupons/{couponID}","href":"/api-reference/cupons/excluir-cupom"},{"title":"Ativar ou arquivar cupom","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json patch /billing/coupons/{couponID}","href":"/api-reference/cupons/ativar-ou-arquivar-cupom"}]},{"group":"Conta","pages":[{"title":"Consultar a conta","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /account/tenant","href":"/api-reference/conta/consultar-a-conta"},{"title":"Atualizar a conta","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json patch /account/tenant","href":"/api-reference/conta/atualizar-a-conta"},{"title":"Listar chaves de API","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /account/api-keys","href":"/api-reference/conta/listar-chaves-de-api"},{"title":"Criar chave de API","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /account/api-keys","href":"/api-reference/conta/criar-chave-de-api"},{"title":"Revogar chave de API","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json delete /account/api-keys/{keyID}","href":"/api-reference/conta/revogar-chave-de-api"}]},{"group":"Webhooks","pages":[{"title":"Listar webhooks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /account/webhooks","href":"/api-reference/webhooks/listar-webhooks"},{"title":"Criar webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /account/webhooks","href":"/api-reference/webhooks/criar-webhook"},{"title":"Listar entregas de webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /account/webhooks/deliveries","href":"/api-reference/webhooks/listar-entregas-de-webhook"},{"title":"Consultar webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json get /account/webhooks/{endpointID}","href":"/api-reference/webhooks/consultar-webhook"},{"title":"Excluir webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json delete /account/webhooks/{endpointID}","href":"/api-reference/webhooks/excluir-webhook"},{"title":"Atualizar webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json patch /account/webhooks/{endpointID}","href":"/api-reference/webhooks/atualizar-webhook"},{"title":"Trocar segredo do webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.pt-BR.json post /account/webhooks/{endpointID}/rotate-secret","href":"/api-reference/webhooks/trocar-segredo-do-webhook"}]}]}]},{"language":"en","pages":[{"title":"en","href":"/en/introducao"}]}]},"basePath":"","title":"Criar produto - Infi","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}