From nothing to a payable URL in one call. The product is identified by its key: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised.
Every call creates a new link, so you can have one URL per campaign. The response carries the url to send the payer; you do not need to pass your account slug.
The product version this link sells, fixed at creation. Publishing a new version does not reprice a link already issued. When null, the link sells the latest published version at payment time.
Offered to the payer as "back to the store" while the checkout is open; also the ?status=error destination when the charge expires in the embedded checkout.
{"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":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/api-reference/catalog/create-a-link-with-a-product","slug":"/en/api-reference/catalog/create-a-link-with-a-product","pageMetadata":{"title":"Create a link with a product","description":"From nothing to a payable URL in one call. The product is identified by its `key`: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised.\n\nEvery call creates a new link, so you can have one URL per campaign. The response carries the `url` to send the payer; you do not need to pass your account slug.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /payment-links","href":"/en/api-reference/catalog/create-a-link-with-a-product","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: [\"From nothing to a payable URL in one call. The product is identified by its \", _jsx(_components.code, {\n children: \"key\"\n }), \": a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Every call creates a new link, so you can have one URL per campaign. The response carries the \", _jsx(_components.code, {\n children: \"url\"\n }), \" to send the payer; you do not need to pass your account slug.\"]\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":"Create a link with a product","description":"From nothing to a payable URL in one call. The product is identified by its `key`: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised.\n\nEvery call creates a new link, so you can have one URL per campaign. The response carries the `url` to send the payer; you do not need to pass your account slug.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /payment-links","href":"/en/api-reference/catalog/create-a-link-with-a-product","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Catalog"],"operationId":"createPaymentLinkWithProduct","security":["6dcbca4e-3862-4a93-927b-2e62359d9dc3"],"requestBody":"ec02ce18-5226-4ab3-9904-bfdee829f008","responses":{"201":"5aaf8daf-a29b-491c-9172-5001767c316c","401":"b23a97a2-4493-4d9e-815d-efab8752523c","422":"c946cbdb-7a6e-4c84-8228-fe33d2d90846"},"summary":"Create a link with a product","description":"From nothing to a payable URL in one call. The product is identified by its `key`: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised.\n\nEvery call creates a new link, so you can have one URL per campaign. The response carries the `url` to send the payer; you do not need to pass your account slug.\n","method":"post","type":"path","servers":["32764daa-a0ab-4e11-9cce-071a6d157f12","8926f6ec-3b25-4b18-916e-1427c5952655"],"path":"/payment-links","baseUrlOptions":["https://api-sandbox.beinfi.com","https://api.beinfi.com"],"title":"Create a link with a product","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["product"],"properties":{"product":{"type":"object","required":["key","pricingModel"],"properties":{"key":{"type":"string","description":"Stable product key, unique in your account. Required: it is what makes two calls for the same product resolve to one product.","isRequired":true,"uniqueKey":"product.key","typeLabel":"string"},"pricingModel":{"type":"string","enum":["subscription","one_time","usage","prepaid"],"description":"`subscription`, `one_time`, `usage` or `prepaid`.","isRequired":true,"uniqueKey":"product.pricingModel","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Display name. Defaults to `key`.","uniqueKey":"product.name","typeLabel":"string"},"type":{"type":"string","enum":["agent","item"],"description":"`item` (default) or `agent`.","uniqueKey":"product.type","typeLabel":"enum\u003cstring>"},"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"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"3-letter ISO 4217 code. Default: `BRL`.","uniqueKey":"product.currency","typeLabel":"string"},"billingCycle":{"oneOf":[{"type":"string","enum":["weekly","monthly","annual",null],"description":"Required for `subscription` and `prepaid`; omit it for other models.","uniqueKey":"product.billingCycle.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["weekly","monthly","annual",null],"description":"Required for `subscription` and `prepaid`; omit it for other models.","uniqueKey":"product.billingCycle.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.billingCycle","typeLabel":"enum\u003cstring> | null"},"basePrice":{"oneOf":[{"type":"string","description":"Base price as a decimal string (`\"49.90\"`).","uniqueKey":"product.basePrice.oneOf.0","typeLabel":"string"},{"type":"null","description":"Base price as a decimal string (`\"49.90\"`).","uniqueKey":"product.basePrice.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.basePrice","typeLabel":"string | null"},"meters":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"The key you send in `track()`. Cannot change after creation.","isRequired":true,"uniqueKey":"product.meters.items.[INDEX].name","typeLabel":"string"},"displayName":{"type":"string","uniqueKey":"product.meters.items.[INDEX].displayName","typeLabel":"string"},"unit":{"type":"string","enum":["token","request","unit"],"description":"`token`, `request` or `unit`.","uniqueKey":"product.meters.items.[INDEX].unit","typeLabel":"enum\u003cstring>"},"aggregation":{"type":"string","enum":["sum","count"],"default":"sum","description":"`sum`, `count`, `unique_count`, `max` or `last`.","uniqueKey":"product.meters.items.[INDEX].aggregation","typeLabel":"enum\u003cstring>"},"valueProperty":{"oneOf":[{"type":"string","description":"Event field carrying the numeric value. Unused with `count`.","uniqueKey":"product.meters.items.[INDEX].valueProperty.oneOf.0","typeLabel":"string"},{"type":"null","description":"Event field carrying the numeric value. Unused with `count`.","uniqueKey":"product.meters.items.[INDEX].valueProperty.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.meters.items.[INDEX].valueProperty","typeLabel":"string | null"}},"uniqueKey":"product.meters.items.[INDEX]","typeLabel":"object"},"description":"The product's meters, created once by `name`. A meter that already exists is not changed by this call.","uniqueKey":"product.meters","typeLabel":"object[]"},"prices":{"type":"array","items":{"type":"object","required":["meter","model"],"properties":{"meter":{"type":"string","description":"The `name` of the meter this price rates. Required: an amount with no meter is the product's `basePrice`.","isRequired":true,"uniqueKey":"product.prices.items.[INDEX].meter","typeLabel":"string"},"model":{"type":"string","enum":["flat","per_unit","tiered","volume","package"],"description":"`flat`, `per_unit`, `tiered`, `volume` or `package`.","isRequired":true,"uniqueKey":"product.prices.items.[INDEX].model","typeLabel":"enum\u003cstring>"},"unitAmount":{"oneOf":[{"type":"string","description":"Amount per unit as a decimal string.","uniqueKey":"product.prices.items.[INDEX].unitAmount.oneOf.0","typeLabel":"string"},{"type":"null","description":"Amount per unit as a decimal string.","uniqueKey":"product.prices.items.[INDEX].unitAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.prices.items.[INDEX].unitAmount","typeLabel":"string | null"},"tiers":{"type":"array","items":{"type":"object","required":["unitAmount"],"properties":{"unitAmount":{"type":"string","isRequired":true,"uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].unitAmount","typeLabel":"string"},"upTo":{"oneOf":[{"type":"string","uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].upTo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].upTo.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].upTo","typeLabel":"string | null"},"flatAmount":{"oneOf":[{"type":"string","uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].flatAmount.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].flatAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].flatAmount","typeLabel":"string | null"},"size":{"oneOf":[{"type":"string","uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].size.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].size.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX].size","typeLabel":"string | null"}},"uniqueKey":"product.prices.items.[INDEX].tiers.items.[INDEX]","typeLabel":"object"},"description":"Price tiers for `tiered`, `volume` and `package`.","uniqueKey":"product.prices.items.[INDEX].tiers","typeLabel":"object[]"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Optional; defaults to the product's currency.","uniqueKey":"product.prices.items.[INDEX].currency","typeLabel":"string"}},"uniqueKey":"product.prices.items.[INDEX]","typeLabel":"object"},"description":"The version's complete price list. A list that differs from the current version publishes a new version. Omit the field to leave prices alone; an empty array means \"no prices\".","uniqueKey":"product.prices","typeLabel":"object[]"}},"description":"The product, defined inline and identified by its `key`.","isRequired":true,"uniqueKey":"product","typeLabel":"object"},"successUrl":{"oneOf":[{"type":"string","maxLength":2048,"description":"Where the payer goes after paying, with `?status=success\u0026invoice=…` appended. Absolute `http(s)` URL.","uniqueKey":"successUrl.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":2048,"description":"Where the payer goes after paying, with `?status=success\u0026invoice=…` appended. Absolute `http(s)` URL.","uniqueKey":"successUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"successUrl","typeLabel":"string | null"},"cancelUrl":{"oneOf":[{"type":"string","maxLength":2048,"description":"Offered to the payer as \"back to the store\" while the checkout is open. Absolute `http(s)` URL.","uniqueKey":"cancelUrl.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":2048,"description":"Offered to the payer as \"back to the store\" while the checkout is open. Absolute `http(s)` URL.","uniqueKey":"cancelUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"cancelUrl","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"product":{"key":"\u003cstring>","name":"\u003cstring>","description":"\u003cstring>","currency":"\u003cstring>","basePrice":"\u003cstring>","meters":[{"name":"\u003cstring>","displayName":"\u003cstring>","aggregation":"sum","valueProperty":"\u003cstring>"}],"prices":[{"meter":"\u003cstring>","unitAmount":"\u003cstring>","tiers":[{"unitAmount":"\u003cstring>","upTo":"\u003cstring>","flatAmount":"\u003cstring>","size":"\u003cstring>"}],"currency":"\u003cstring>"}]},"successUrl":"\u003cstring>","cancelUrl":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"5aaf8daf-a29b-491c-9172-5001767c316c":{"content":{"application/json":{"schema":{"type":"object","required":["id","productId","token","active","appearance","createdAt"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"productId":{"type":"string","pattern":"^prod_[0-9A-Za-z]{22}$","example":"prod_1d4YogBuw00jAySh5mbUpk","isRequired":true,"uniqueKey":"productId","typeLabel":"string"},"token":{"type":"string","description":"The link's public token, part of the `url`.","isRequired":true,"uniqueKey":"token","typeLabel":"string"},"active":{"type":"boolean","description":"`false` once revoked.","isRequired":true,"uniqueKey":"active","typeLabel":"boolean"},"appearance":{"type":"object","properties":{"accentColor":{"oneOf":[{"type":"string","example":"#DC2626","uniqueKey":"appearance.accentColor.oneOf.0","typeLabel":"string"},{"type":"null","example":"#DC2626","uniqueKey":"appearance.accentColor.oneOf.1","typeLabel":"null"}],"uniqueKey":"appearance.accentColor","typeLabel":"string | null"},"backgroundColor":{"oneOf":[{"type":"string","example":"#111827","uniqueKey":"appearance.backgroundColor.oneOf.0","typeLabel":"string"},{"type":"null","example":"#111827","uniqueKey":"appearance.backgroundColor.oneOf.1","typeLabel":"null"}],"uniqueKey":"appearance.backgroundColor","typeLabel":"string | null"},"font":{"oneOf":[{"type":"string","enum":["system","inter","geist","roboto","poppins","lora","",null],"uniqueKey":"appearance.font.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["system","inter","geist","roboto","poppins","lora","",null],"uniqueKey":"appearance.font.oneOf.1","typeLabel":"null"}],"uniqueKey":"appearance.font","typeLabel":"enum\u003cstring> | null"}},"isRequired":true,"uniqueKey":"appearance","typeLabel":"object"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"url":{"type":"string","description":"The address to send the payer. Use this value instead of building the URL yourself.","uniqueKey":"url","typeLabel":"string"},"productVersionId":{"oneOf":[{"type":"string","format":"uuid","description":"The product version this link sells, fixed at creation. Publishing a new version does not reprice a link already issued. When `null`, the link sells the latest published version at payment time.","uniqueKey":"productVersionId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"The product version this link sells, fixed at creation. Publishing a new version does not reprice a link already issued. When `null`, the link sells the latest published version at payment time.","uniqueKey":"productVersionId.oneOf.1","typeLabel":"null"}],"uniqueKey":"productVersionId","typeLabel":"string\u003cuuid> | null"},"revokedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the link was revoked.","uniqueKey":"revokedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the link was revoked.","uniqueKey":"revokedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"revokedAt","typeLabel":"string\u003cdate-time> | null"},"successUrl":{"oneOf":[{"type":"string","description":"Where the payer goes after paying, with `?status=success\u0026invoice=…` appended.","uniqueKey":"successUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Where the payer goes after paying, with `?status=success\u0026invoice=…` appended.","uniqueKey":"successUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"successUrl","typeLabel":"string | null"},"cancelUrl":{"oneOf":[{"type":"string","description":"Offered to the payer as \"back to the store\" while the checkout is open; also the `?status=error` destination when the charge expires in the embedded checkout.","uniqueKey":"cancelUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Offered to the payer as \"back to the store\" while the checkout is open; also the `?status=error` destination when the charge expires in the embedded checkout.","uniqueKey":"cancelUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"cancelUrl","typeLabel":"string | null"}},"description":"A reusable, revocable payment link bound to a product. Anyone holding it can open the checkout; it is meant to be copied and shared.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","productId":"prod_1d4YogBuw00jAySh5mbUpk","token":"\u003cstring>","active":true,"appearance":{"accentColor":"#DC2626","backgroundColor":"#111827","font":"system"},"createdAt":"2023-11-07T05:31:56Z","url":"\u003cstring>","productVersionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","revokedAt":"2023-11-07T05:31:56Z","successUrl":"\u003cstring>","cancelUrl":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Link created.","exampleType":"generated"},"b23a97a2-4493-4d9e-815d-efab8752523c":{"content":{"application/json":{"schema":{"type":"object","required":["message","error_code","tracer_id"],"properties":{"message":{"type":"string","description":"Human-readable sentence.","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":"Stable error code. Branch on it.","isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"tracer_id":{"type":"string","description":"Request id. Include it when contacting support.","isRequired":true,"uniqueKey":"tracer_id","typeLabel":"string"}},"description":"The standard error body. It is flat (no `error` wrapper) and the trace id is `tracer_id`.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","error_code":"internal_error","tracer_id":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Missing or invalid API key.","exampleType":"generated"},"c946cbdb-7a6e-4c84-8228-fe33d2d90846":{"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":"Stable error code. The list is open: besides the generic codes, each area defines its own (`coupon_expired`, `insufficient_balance`, `version_not_draft`, `idempotency_key_reused`…). Handle a code you do not recognize by its HTTP status and show `message`; do not fail parsing the response.","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":"Per-field detail (`field`, `description`). Always present on a `422`; may be empty.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"description":"Body of a `422`. Same shape as `Error`, plus `errors[]` with per-field detail. That is where the sentence telling you what to fix lives (for example, \"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":"Invalid product definition: a missing `key`, a `billingCycle` that contradicts the `pricingModel`, or a price the model requires is missing.","exampleType":"generated"}},"security":{"6dcbca4e-3862-4a93-927b-2e62359d9dc3":{"BearerAuth":{"$ref":"ae27d3e9-03bf-4171-a6f3-5937b830f500","scopes":[]}}},"servers":{"32764daa-a0ab-4e11-9cce-071a6d157f12":{"url":"https://api-sandbox.beinfi.com","description":"Sandbox"},"8926f6ec-3b25-4b18-916e-1427c5952655":{"url":"https://api.beinfi.com","description":"Production"}}},"originalFileLocation":"api-reference/openapi.en.json"},"subdomain":"beinfi","siteName":"Infi","title":"Create a link with a product - Infi","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"pt-BR":{"href":"/introducao","matchLevel":4},"en":{"href":"/en/api-reference/catalog/create-a-link-with-a-product","matchLevel":0}}},"lastModified":"2026-11-02T23:19:07.035Z","originalFileLocation":"en/api-reference/catalog/create-a-link-with-a-product.mdx","locale":"en"},"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=\"From nothing to a payable URL in one call. The product is identified by its key: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised. Every call creates a new link, so you can have one URL per campaign. The response carries the url to send the payer; you do not need to pass your account slug.\">\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=\"Create a link with a product - Infi\">\u003cmeta data-mint-head property=\"og:description\" content=\"From nothing to a payable URL in one call. The product is identified by its key: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised. Every call creates a new link, so you can have one URL per campaign. The response carries the url to send the payer; you do not need to pass your account slug.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Infi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.beinfi.com/en/api-reference/catalog/create-a-link-with-a-product\">\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=Catalog\u0026amp;title=Create+a+link+with+a+product\u0026amp;description=From+nothing+to+a+payable+URL+in+one+call.+The+product+is+identified+by+its+%60key%60%3A+a+new+key+creates+it%2C+a+known+one+reuses+it%2C+and+pricing+that+differs+from+th\u0026amp;theme=0f1e10ebee4743982aba108c\u0026amp;signature=7a198cb7e20f2d731963eaf76e224f9004a37956b44667e7b3799ede71ae74ea\">\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 link with a product - Infi\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"From nothing to a payable URL in one call. The product is identified by its key: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised. Every call creates a new link, so you can have one URL per campaign. The response carries the url to send the payer; you do not need to pass your account slug.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://beinfi.mintlify.site/_mintlify/api/og/v2?division=Catalog\u0026amp;title=Create+a+link+with+a+product\u0026amp;description=From+nothing+to+a+payable+URL+in+one+call.+The+product+is+identified+by+its+%60key%60%3A+a+new+key+creates+it%2C+a+known+one+reuses+it%2C+and+pricing+that+differs+from+th\u0026amp;theme=0f1e10ebee4743982aba108c\u0026amp;signature=7a198cb7e20f2d731963eaf76e224f9004a37956b44667e7b3799ede71ae74ea\">\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/en/api-reference/catalog/create-a-link-with-a-product\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/api-reference/catalog/create-a-link-with-a-product.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/en/api-reference/catalog/create-a-link-with-a-product#webpage\",\"url\":\"https://docs.beinfi.com/en/api-reference/catalog/create-a-link-with-a-product\",\"name\":\"Create a link with a product\",\"description\":\"From nothing to a payable URL in one call. The product is identified by its key: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised. Every call creates a new link, so you can have one URL per campaign. The response carries the url to send the payer; you do not need to pass your account slug.\",\"dateModified\":\"2026-11-02T23:19:07.035Z\",\"isPartOf\":{\"@id\":\"https://docs.beinfi.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.beinfi.com/en/api-reference/catalog/create-a-link-with-a-product#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.beinfi.com/en/api-reference/catalog/create-a-link-with-a-product#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Catalog\",\"item\":\"https://docs.beinfi.com/en/api-reference/catalog/prepare-an-image-upload\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a link with a product\",\"item\":\"https://docs.beinfi.com/en/api-reference/catalog/create-a-link-with-a-product\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.beinfi.com/en/api-reference/catalog/create-a-link-with-a-product#apireference\",\"headline\":\"Create a link with a product\",\"name\":\"Create a link with a product\",\"description\":\"From nothing to a payable URL in one call. The product is identified by its key: a new key creates it, a known one reuses it, and pricing that differs from the current one publishes a new version. Links already shared keep selling the price they advertised. Every call creates a new link, so you can have one URL per campaign. The response carries the url to send the payer; you do not need to pass your account slug.\",\"url\":\"https://docs.beinfi.com/en/api-reference/catalog/create-a-link-with-a-product\",\"mainEntityOfPage\":{\"@id\":\"https://docs.beinfi.com/en/api-reference/catalog/create-a-link-with-a-product#webpage\"},\"dateModified\":\"2026-11-02T23:19:07.035Z\",\"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,"pages":[{"title":"pt-BR","href":"/introducao"}]},{"language":"en","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/en/introducao"}]},{"tab":"API reference","groups":[{"group":"Checkout","pages":[{"title":"Read an invoice at checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /pay/{slug}/invoices/{invoiceID}","href":"/en/api-reference/checkout/read-an-invoice-at-checkout"},{"title":"Pay an invoice at checkout","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /pay/{slug}/invoices/{invoiceID}/charge","href":"/en/api-reference/checkout/pay-an-invoice-at-checkout"},{"title":"Apply a coupon to an invoice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /pay/{slug}/invoices/{invoiceID}/coupon","href":"/en/api-reference/checkout/apply-a-coupon-to-an-invoice"},{"title":"Download a digital product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /pay/{slug}/download/{token}","href":"/en/api-reference/checkout/download-a-digital-product"}]},{"group":"Test account","pages":[{"title":"Create a test account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /public/v1/claimables","href":"/en/api-reference/test-account/create-a-test-account"},{"title":"Get a test account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /public/v1/claimables/{claimableID}","href":"/en/api-reference/test-account/get-a-test-account"}]},{"group":"Catalog","pages":[{"title":"Prepare an image upload","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /catalog/images/presign","href":"/en/api-reference/catalog/prepare-an-image-upload"},{"title":"List products","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /products","href":"/en/api-reference/catalog/list-products"},{"title":"Create a product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /products","href":"/en/api-reference/catalog/create-a-product"},{"title":"Get a product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /products/{productID}","href":"/en/api-reference/catalog/get-a-product"},{"title":"Update a product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json patch /products/{productID}","href":"/en/api-reference/catalog/update-a-product"},{"title":"List product versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /products/{productID}/versions","href":"/en/api-reference/catalog/list-product-versions"},{"title":"Create a new version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /products/{productID}/versions","href":"/en/api-reference/catalog/create-a-new-version"},{"title":"Publish a version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /products/{productID}/versions/{versionID}/publish","href":"/en/api-reference/catalog/publish-a-version"},{"title":"List a version's prices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /products/{productID}/versions/{versionID}/prices","href":"/en/api-reference/catalog/list-a-versions-prices"},{"title":"Add a price to a version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /products/{productID}/versions/{versionID}/prices","href":"/en/api-reference/catalog/add-a-price-to-a-version"},{"title":"List a product's meters","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /products/{productID}/meters","href":"/en/api-reference/catalog/list-a-products-meters"},{"title":"Create a meter","description":"Creates a meter: what you record with `track()` and how events add up to a quantity. You only need one when you charge for usage. The `name` is the event key and cannot change after creation.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /products/{productID}/meters","href":"/en/api-reference/catalog/create-a-meter"},{"title":"Create a link with a product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /payment-links","href":"/en/api-reference/catalog/create-a-link-with-a-product"},{"title":"List a product's links","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /products/{productID}/payment-links","href":"/en/api-reference/catalog/list-a-products-links"},{"title":"Create a payment link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /products/{productID}/payment-links","href":"/en/api-reference/catalog/create-a-payment-link"},{"title":"Revoke a payment link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json delete /products/{productID}/payment-links/{linkID}","href":"/en/api-reference/catalog/revoke-a-payment-link"},{"title":"Update a meter","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json patch /products/{productID}/meters/{meterID}","href":"/en/api-reference/catalog/update-a-meter"},{"title":"Get a file upload URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /products/{productID}/deliverable/presign","href":"/en/api-reference/catalog/get-a-file-upload-url"},{"title":"Get the deliverable","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /products/{productID}/deliverable","href":"/en/api-reference/catalog/get-the-deliverable"},{"title":"Save the deliverable","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json put /products/{productID}/deliverable","href":"/en/api-reference/catalog/save-the-deliverable"},{"title":"Delete the deliverable","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json delete /products/{productID}/deliverable","href":"/en/api-reference/catalog/delete-the-deliverable"}]},{"group":"Customers","pages":[{"title":"Create a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /customers","href":"/en/api-reference/customers/create-a-customer"},{"title":"Enroll a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /products/{productID}/customers","href":"/en/api-reference/customers/enroll-a-customer"},{"title":"Get a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /customers/{customerID}","href":"/en/api-reference/customers/get-a-customer"},{"title":"Get customer state","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /customers/{customerID}/state","href":"/en/api-reference/customers/get-customer-state"},{"title":"Get balances","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /customers/{customerID}/wallet","href":"/en/api-reference/customers/get-balances"},{"title":"List customer rate cards","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /customers/{customerID}/rate-cards","href":"/en/api-reference/customers/list-customer-rate-cards"},{"title":"Set a customer rate card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /customers/{customerID}/rate-cards","href":"/en/api-reference/customers/set-a-customer-rate-card"},{"title":"Delete a customer rate card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json delete /customers/{customerID}/rate-cards/{rateCardID}","href":"/en/api-reference/customers/delete-a-customer-rate-card"}]},{"group":"Metering","pages":[{"title":"Record a usage event","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /metering/events","href":"/en/api-reference/metering/record-a-usage-event"},{"title":"Record usage events in batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /metering/events/batch","href":"/en/api-reference/metering/record-usage-events-in-batch"},{"title":"Get customer usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /metering/usage","href":"/en/api-reference/metering/get-customer-usage"}]},{"group":"Invoices","pages":[{"title":"List invoices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/invoices","href":"/en/api-reference/invoices/list-invoices"},{"title":"Create a one-off invoice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/invoices","href":"/en/api-reference/invoices/create-a-one-off-invoice"},{"title":"Invoice accrued usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/invoices/from-usage","href":"/en/api-reference/invoices/invoice-accrued-usage"},{"title":"Sell a product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/products/{productID}/invoices","href":"/en/api-reference/invoices/sell-a-product"},{"title":"Invoice the current period","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/subscriptions/{subscriptionID}/invoices","href":"/en/api-reference/invoices/invoice-the-current-period"},{"title":"Get an invoice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/invoices/{invoiceID}","href":"/en/api-reference/invoices/get-an-invoice"},{"title":"Email an invoice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/invoices/{invoiceID}/send","href":"/en/api-reference/invoices/email-an-invoice"},{"title":"Void an invoice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/invoices/{invoiceID}/void","href":"/en/api-reference/invoices/void-an-invoice"}]},{"group":"Payments","pages":[{"title":"List payments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/payments","href":"/en/api-reference/payments/list-payments"},{"title":"List an invoice's payments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/invoices/{invoiceID}/payments","href":"/en/api-reference/payments/list-an-invoices-payments"},{"title":"Get a payment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/payments/{paymentID}","href":"/en/api-reference/payments/get-a-payment"},{"title":"Refund a payment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/payments/{paymentID}/refund","href":"/en/api-reference/payments/refund-a-payment"},{"title":"List a payment's refunds","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/payments/{paymentID}/refunds","href":"/en/api-reference/payments/list-a-payments-refunds"}]},{"group":"Subscriptions","pages":[{"title":"Create a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/products/{productID}/subscriptions","href":"/en/api-reference/subscriptions/create-a-subscription"},{"title":"List an enrollment's subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/customers/{customerID}/subscriptions","href":"/en/api-reference/subscriptions/list-an-enrollments-subscriptions"},{"title":"Get a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/subscriptions/{subscriptionID}","href":"/en/api-reference/subscriptions/get-a-subscription"}]},{"group":"Billing","pages":[{"title":"List invoice download links","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/invoices/{invoiceID}/deliverable","href":"/en/api-reference/billing/list-invoice-download-links"}]},{"group":"Coupons","pages":[{"title":"List coupons","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/coupons","href":"/en/api-reference/coupons/list-coupons"},{"title":"Create a coupon","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /billing/coupons","href":"/en/api-reference/coupons/create-a-coupon"},{"title":"Get a coupon","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /billing/coupons/{couponID}","href":"/en/api-reference/coupons/get-a-coupon"},{"title":"Delete a coupon","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json delete /billing/coupons/{couponID}","href":"/en/api-reference/coupons/delete-a-coupon"},{"title":"Activate or archive a coupon","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json patch /billing/coupons/{couponID}","href":"/en/api-reference/coupons/activate-or-archive-a-coupon"}]},{"group":"Account","pages":[{"title":"Get your account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /account/tenant","href":"/en/api-reference/account/get-your-account"},{"title":"Update your account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json patch /account/tenant","href":"/en/api-reference/account/update-your-account"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /account/api-keys","href":"/en/api-reference/account/list-api-keys"},{"title":"Create an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /account/api-keys","href":"/en/api-reference/account/create-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json delete /account/api-keys/{keyID}","href":"/en/api-reference/account/revoke-an-api-key"}]},{"group":"Webhooks","pages":[{"title":"List webhook endpoints","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /account/webhooks","href":"/en/api-reference/webhooks/list-webhook-endpoints"},{"title":"Create a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /account/webhooks","href":"/en/api-reference/webhooks/create-a-webhook-endpoint"},{"title":"List webhook deliveries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /account/webhooks/deliveries","href":"/en/api-reference/webhooks/list-webhook-deliveries"},{"title":"Get a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json get /account/webhooks/{endpointID}","href":"/en/api-reference/webhooks/get-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json delete /account/webhooks/{endpointID}","href":"/en/api-reference/webhooks/delete-a-webhook-endpoint"},{"title":"Update a webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json patch /account/webhooks/{endpointID}","href":"/en/api-reference/webhooks/update-a-webhook"},{"title":"Rotate a webhook secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.json post /account/webhooks/{endpointID}/rotate-secret","href":"/en/api-reference/webhooks/rotate-a-webhook-secret"}]}]}]}]},"basePath":"","title":"Create a link with a product - 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"]}