Responses are generated using AI and may contain mistakes.
Nova release: Agenda de recebíveis no Dashboard — Veja no Dashboard quanto você tem a receber em cada dia dos próximos 90 dias, com a nova Agenda de recebíveis em Financeiro e no detalhe do recebedor. Ver release notes
O corpo aceita um array de regras ou um objeto com a lista em rules. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto.
Não existe regra genérica: paymentMethod: default é recusado com 400 e PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com 422 e platform_fee_rule_not_configured.
No cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra:
Forma
Campos
Uso
Regra avulsa
installment, com percentage e/ou fixedAmount
Uma parcela por objeto
Tabela
installmentRates (curta) ou installments (longa)
A tabela inteira num objeto só
Fórmula
maxInstallments, base, growth, surcharges, overrides e cap
A Malga gera a tabela a partir de uma regra de crescimento
Qualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o GET trazem a tabela gerada.
O mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna 409; para alterar uma tabela existente, use PUT /v1/merchants/{merchantId}/platform-fee.
Em pix e boleto, informe percentage, fixedAmount ou os dois.
Em credit, use uma destas formas, sem combinar formas no mesmo objeto:
Regra avulsa: installment com percentage e/ou fixedAmount.
Tabela curta: installmentRates.
Tabela longa: installments.
Fórmula: maxInstallments e base, com growth, surcharges, overrides e cap opcionais.
Nas três formas de tabela e fórmula, a regra aceita só as chaves da forma escolhida mais paymentMethod. Uma chave desconhecida, como capp no lugar de cap, recusa a configuração inteira com 400, em vez de ser ignorada.
Na fórmula, o percentual e o valor fixo de cada parcela n, de 1 até maxInstallments, são calculados nesta ordem:
Parte de base.percentage e base.fixedAmount.
Aplica growth quando n é maior ou igual a growth.from.
Soma as surcharges com fromInstallment menor ou igual a n.
Limita ao cap.
Substitui pelo overrides da parcela, quando houver.
Arredonda o percentual para 2 casas decimais, com meio para cima.
Se alguma parcela calculada passar de 100%, a configuração inteira é recusada.
Método de pagamento ao qual a regra se aplica. A regra genérica default foi descontinuada: paymentMethod: default é recusado com 400 e PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED.
Percentual da taxa (0-100) com até 2 casas decimais. Ao menos um entre percentage e fixedAmount deve ser informado. Não pode ser combinado com installmentRates, installments ou fórmula.
Valor fixo da taxa em centavos, de 0 a 2147483647. Ao menos um entre percentage e fixedAmount deve ser informado. Não pode ser combinado com installmentRates, installments ou fórmula.
Número exato de parcelas ao qual a regra se aplica, de 1 a 24. Obrigatório na regra avulsa de credit; proibido nos demais métodos. Cada parcela tem a própria regra: installment: 3 vale só para vendas em 3x, e 2x e 3x podem ter taxas diferentes.
Somente credit. Tabela curta: lista de percentuais em que a posição é o número de parcelas. O primeiro item vale para 1x, o segundo para 2x, e assim por diante. Cada item vai de 0 a 100, com até 2 casas decimais. Grava uma regra por parcela, só com percentual: as parcelas gravadas por esta lista ficam sem valor fixo. Para valor fixo por parcela, use installments.
Somente credit. Tabela longa: uma entrada por parcela, com percentual, valor fixo ou os dois. Aceita parcelas salteadas, e cada parcela pode aparecer uma vez só. Cada entrada aceita apenas installment, percentage e fixedAmount: qualquer outra chave, inclusive uma dessas com grafia diferente, recusa a requisição com 400.
Somente credit, na fórmula. Teto do percentual e do valor fixo calculados. A parcela que passa do teto fica com o valor do teto. cap.percentage é obrigatório quando growth.mode é exponential.
Show child attributes
Response
Regras criadas com sucesso. A resposta traz as regras como ficaram gravadas, com uma regra por parcela no crédito.
Número exato de parcelas da regra, de 1 a 24. Presente apenas em regras de credit. Cada parcela tem no máximo uma regra ativa. Uma regra de credit sem installment vem da conversão da antiga regra default e vale para toda parcela sem regra própria.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Malga","description":"Documentação da Malga: API REST, SDKs, métodos de pagamento, provedores e referência OpenAPI para orquestração de pagamentos.","colors":{"primary":"#2FAC9B","light":"#39BFAD","dark":"#257C70"},"logo":{"light":"https://mintcdn.com/malga/vYWnjE_PEfqgCqeH/logo/light.svg?fit=max\u0026auto=format\u0026n=vYWnjE_PEfqgCqeH\u0026q=85\u0026s=60c63b525307d9a355741f58c18f3420","dark":"https://mintcdn.com/malga/Hsm6lJPRMWAJPkG-/logo/wordmark-white.svg?fit=max\u0026auto=format\u0026n=Hsm6lJPRMWAJPkG-\u0026q=85\u0026s=ea50ce46c10489c67470715f235e1bf0","href":"https://docs.malga.io"},"favicon":"https://mintcdn.com/malga/vYWnjE_PEfqgCqeH/logo/malga.svg?fit=max\u0026auto=format\u0026n=vYWnjE_PEfqgCqeH\u0026q=85\u0026s=d532b4d127383a206703b91b519fd67a","api":{"openapi":["api-reference/api-spec.yaml"],"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","go"],"prefill":true}},"navbar":{"primary":{"type":"button","label":"Quero testar","href":"https://malga.io/contato"}},"footer":{"socials":{"youtube":"https://www.youtube.com/@gomalga","linkedin":"https://www.linkedin.com/company/gomalga","instagram":"https://www.instagram.com/gomalga"},"links":[{"header":"Produto","items":[{"label":"Dashboard","href":"https://dashboard.malga.io/"},{"label":"Status","href":"https://status.malga.io/"}]},{"header":"Documentação","items":[{"label":"Introdução","href":"/documentations/welcome/introduction"},{"label":"Primeiros passos","href":"/documentations/welcome/primeiros-passos"},{"label":"Referência da API","href":"/api-reference/about-apis"},{"label":"SDKs","href":"/sdks/intro-sdk"},{"label":"Release Notes","href":"/release-notes/releases"}]},{"header":"Empresa","items":[{"label":"Site Malga","href":"https://malga.io"},{"label":"Contato","href":"https://malga.io/contato"}]}]},"search":{"prompt":"Pesquise ou pergunte algo..."},"seo":{"metatags":{"og:site_name":"Malga Docs","og:locale":"pt_BR"},"organization":{"name":"Malga","url":"https://malga.io","logo":"https://docs.malga.io/logo/light.svg","sameAs":["https://www.youtube.com/@gomalga","https://www.linkedin.com/company/gomalga/","https://www.instagram.com/gomalga"]},"indexing":"navigable"},"fonts":{"family":"Inter"},"integrations":{"amplitude":{"apiKey":"f26848c73ccd2e9606c95dac0cf0e765"},"ga4":{"measurementId":"G-RBZL7T96QN"},"hotjar":{"hjid":"2305294","hjsv":"6"}},"banner":{"content":"Nova release: **Agenda de recebíveis no Dashboard** — Veja no Dashboard quanto você tem a receber em cada dia dos próximos 90 dias, com a nova Agenda de recebíveis em Financeiro e no detalhe do recebedor. [Ver release notes](/release-notes/2026-10-29-Release-Notes)","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/malga/Hsm6lJPRMWAJPkG-/images/og-background.png?fit=max\u0026auto=format\u0026n=Hsm6lJPRMWAJPkG-\u0026q=85\u0026s=0acfaa17c5dd44e8c7d07b15292eed66","fonts":{"family":"Inter"}},"markdown":{"instructions":["Responda em português brasileiro, na segunda pessoa (\"você\"), com base na documentação Malga.","Não invente endpoints, parâmetros, status codes ou comportamentos de API. Se não estiver na docs, diga que não encontrou e indique a página mais próxima.","Use os headers X-Client-Id e X-Api-Key nos exemplos de autenticação.","Motor de Assinaturas refere-se a /v1/subscriptions* (cycles, trial, retentativas, webhooks subscription.*). Não chame de \"motor de recorrência\".","Recorrência (provedor) é paymentMethod.recurrence em POST /v1/charges (initial / subsequent / unscheduled), distinto do Motor de Assinaturas.","Sandbox é ambiente de testes e não afeta produção."]},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"table-layout","href":"https://dashboard.malga.io/"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@gomalga"},{"anchor":"Status Page","icon":"signal-strong","href":"https://status.malga.io/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"malga","hasAudioNarration":false,"actualSubdomain":"malga","customDomains":["docs.malga.io"],"gitSource":{"type":"github","owner":"plughacker","repo":"malga-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeba86a63b9909d288df39a","collectionId":"2239eec7-89de-4e1f-9bdc-e1225af63faa","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeba86a63b9909d288df39a"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee17dbc4d3884ebadf32e7","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Documentação","count":190},{"language":"default","tag":"Release Notes","count":176},{"language":"default","tag":"Referência da API","count":107},{"language":"default","tag":"SDKs","count":66},{"language":"default","tag":"Conexões","count":53},{"language":"default","tag":"Guias","count":47},{"language":"default","tag":"API SDKs","count":46},{"language":"default","tag":"Analytics","count":39},{"language":"default","tag":"Analytics API","count":39},{"language":"default","tag":"Serviços adicionais","count":38}]},"assistantConfig":{"enableStarterQuestions":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"vite-origin","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":"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":".card a:not(.card){border-bottom:1.5px solid #C3F4EF;;font-weight:600}.card a:not(.card):hover{border-bottom:2px solid #C3F4EF;;}html:not(.dark) .card a:not(.card){color:var(--tw-prose-links);min-width:1em!important}:root{--malgreen-200: #BAE7C9;--malgreen-300: #38BFAD;--malgreen-400: #2FAC9B;--malblack-100: #666666;--malblack-200: #4D4D4D;--malblack-300: #333333;--malblack-400: #1A1A1A;--malwhite-100: #FFFFFF;--malwhite-200: #F9F9F9;--malwhite-300: #F1F1F1;--malwhite-500: #CBCBCB;--malred-200: #FFA4B3;--malinfo-100: #E1EEF4;--malinfo-300: #3C8DDD;--malinfo-400: #1e61b6;--malsuccess-100: #e4f2e8;--malsuccess-200: #bae7c9;--malsuccess-300: #00ae42;--malsuccess-400: #009033;--malsuccess-500: #00601B;--malwarning-100: #FFF8E6;--malwarning-200: #F9DF8D;--malwarning-300: #FFA400;--malwarning-400: #F0941A;--malwarning-500: #D47129;--malerror-100: #ffd2dc;--post-bg: #3C8DDD;--get-bg: #009033;--patch-bg: #F0941B;--delete-bg: #D12E2d}html:not(.dark) .text-gray-900,html:not(.dark) .text-gray-800,html:not(.dark) .text-gray-700{color:var(--malblack-400)}.text-primary{color:var(--malgreen-400)}.prose :where(h1,h2,h3,h4,h5,h6):not(:where([class~=not-prose] *)){color:var(--malblack-400)}.prose :where(h1,h2,h3,h4,h5,h6):where([class=dark] *):not(:where([class~=not-prose] *)){color:var(--malwhite-200)}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--malblack-100)}:is(.dark .prose :where(thead th):not(:where([class~=not-prose] *))){color:var(--malwhite-500)}:is(.dark .prose :is(h1,h2,h3,h4,h5,h6)){color:var(--malwhite-200)}html:not(.dark) .text-gray-600{color:var(--malblack-200)}html:not(.dark) .text-gray-500{color:var(--malblack-100)}.text-gray-200{color:var(--malwhite-200)}.text-gray-400{color:var(--malwhite-500)}.z-10{color:var(--malgreen-300)}.prose{color:var(--malblack-100)}:is(.dark .prose){color:var(--malwhite-500)}:is(.dark .dark\\:text-gray-200){color:var(--malwhite-200)}:is(.dark .dark\\:text-gray-400){color:var(--malwhite-500)}:is(.dark .dark\\:text-primary-light){--tw-text-opacity: 1;color:var(--malgreen-300)}:is(.dark #topbar-cta-button .dark\\:bg-primary-light\\/10){background-color:var(--malgreen-400)}#navbar .text-gray-600{color:var(--malblack-100)}#sidebar li .text-gray-600{color:var(--malblack-100)}#sidebar li .text-gray-700{color:var(--malblack-100)}#sidebar li .bg-primary\\/10{background-color:rgba(47, 172, 155, 0.1);color:var(--malgreen-400)}:is(.dark #sidebar li .text-gray-600){color:var(--malwhite-500)!important}:is(.dark #sidebar .dark\\:text-gray-200){color:var(--malwhite-300)}:is(.dark #sidebar li .text-gray-700){color:var(--malwhite-500)!important}:is(.dark #navbar .dark\\:text-gray-400){color:var(--malwhite-500)!important}:is(.dark #navbar .dark\\:text-primary-light){color:var(--malwhite-100)}:is(.dark #table-of-contents .text-primary){color:var(--malgreen-400)}.card .text-gray-600{color:var(--malblack-100)}:is(.dark .card .dark\\:text-gray-400){color:var(--malwhite-500)}:is(.dark .card h2){color:var(--malwhite-200)}.method-nav-pill{width:2.5rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.method-nav-pill>span{display:inline-flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;text-align:center}.bg-\\[\\#3064E3\\]{background-color:var(--malinfo-400);color:var(--malwhite-100)}:is(.dark .bg-\\[\\#3064E3\\]){background-color:var(--malinfo-300)}.text-white{color:var(--malwhite-100)}:is(.dark .dark\\:bg-blue-400\\/20){color:var(--malinfo-300)}html:not(.dark) .bg-blue-400\\/20{background-color:var(--malinfo-100);color:var(--malinfo-400)}html:not(.dark) .bg-green-400\\/20{background-color:var(--malsuccess-100);color:var(--get-bg)}:is(.dark .dark\\:text-green-400){color:var(--malsuccess-300)}html:not(.dark) .bg-orange-400\\/20{background-color:var(--malwarning-100);color:var(--patch-bg)}:is(.dark .dark\\:text-orange-400){color:var(--malwarning-300)}html:not(.dark) .bg-red-400\\/20{background-color:var(--malerror-100);color:var(--delete-bg)}:is(.dark .dark\\:text-red-400){color:var(--malred-200)}:is(.dark .dark\\:bg-primary-light){background-color:var(--malgreen-400)}.stroke-gray-400{stroke:var(--malgreen-400)}:is(.dark svg.text-emerald-600){color:var(--malsuccess-200)}:is(.dark .dark\\:text-emerald-200){color:var(--malsuccess-200)}:is(.dark .dark\\:text-amber-200){color:var(--malwarning-200)}:is(.dark svg.text-amber-400){stroke:var(--malwarning-300)}.malga-icon-box .malga-icon[id=\"sodexo\"],.malga-icon-box .malga-icon[id=\"visa\"],.malga-icon-box .malga-icon[id=\"master\"],.malga-icon-box .malga-icon[id=\"amex\"],.malga-icon-box .malga-icon[id=\"dinners\"],.malga-icon-box .malga-icon[id=\"discover\"],.malga-icon-box .malga-icon[id=\"jcb\"],.malga-icon-box .malga-icon[id=\"vr\"],.malga-icon-box .malga-icon[id=\"elo\"]{width:55px!important;height:55px!important}.prose tbody tr:nth-child(odd){background-color:var(--malwhite-200)}:is(.dark .prose tbody tr:nth-child(odd)){background-color:var(--malblack-400)}td:is(:first-child){padding-left:8px}td:is(:last-child){padding-right:8px}td{vertical-align:middle!important}td[align=\"center\"]{text-align:center;vertical-align:middle!important}td[align=\"left\"]{text-align:left;vertical-align:middle!important}td[align=\"right\"]{text-align:right;vertical-align:middle!important}td>span{height:36px!important}th{white-space:nowrap}:is(.dark .prose :where(.malga-check-badge):not(:where([class~=not-prose] *))){background-color:var(--malblack-300)}.malga-check-badge{height:fit-content;white-space:nowrap}.check-icon>p{margin:0!important}.table-legend>p{font-size:12px;margin:0}.mx-1{margin:0 1em}.prose :where(img.table-flow-view){margin-top:0em;margin-bottom:0em;margin-inline:auto}.providers-matrix{--providers-matrix-sticky-bg: rgb(var(--background-light, 255 255 255));--providers-matrix-fade: rgb(var(--background-light, 255 255 255));--providers-matrix-sticky-shadow: rgb(0 0 0 / 0.06);margin-bottom:1.5rem;max-width:100%;min-width:0;box-sizing:border-box}:is(.dark .providers-matrix){--providers-matrix-sticky-bg: rgb(var(--background-dark, 10 13 14));--providers-matrix-fade: rgb(var(--background-dark, 10 13 14));--providers-matrix-sticky-shadow: rgb(0 0 0 / 0.45)}.providers-matrix-top-scroll{position:sticky;top:7.5rem;z-index:5;overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin-top:0.25rem;margin-bottom:1rem;min-height:12px;background:transparent;border:0;border-radius:0;scrollbar-width:thin;scrollbar-color:var(--malblack-100) transparent}.providers-matrix-top-scroll[data-overflow-x=\"false\"]{display:none}:is(.dark .providers-matrix-top-scroll){scrollbar-color:var(--malblack-100) transparent}.providers-matrix-top-scroll-inner{height:1px;pointer-events:none}.providers-matrix-viewport{position:relative;width:100%;max-width:100%;min-width:0}.providers-matrix-viewport::after{content:\"\";position:absolute;top:0;bottom:8px;right:0;width:1.25rem;z-index:4;pointer-events:none;opacity:0;transition:opacity 120ms ease;background:linear-gradient(to left, var(--providers-matrix-fade), transparent)}.providers-matrix-viewport[data-overflow-right=\"true\"]::after{opacity:1}.providers-matrix-scroll{overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:0;border-radius:0;background:transparent;scrollbar-width:thin;scrollbar-color:var(--malblack-100) transparent}.providers-matrix-top-scroll::-webkit-scrollbar,.providers-matrix-scroll::-webkit-scrollbar{height:8px}.providers-matrix-top-scroll::-webkit-scrollbar-track,.providers-matrix-scroll::-webkit-scrollbar-track{background:transparent}.providers-matrix-top-scroll::-webkit-scrollbar-thumb,.providers-matrix-scroll::-webkit-scrollbar-thumb{background:var(--malblack-100);border-radius:999px}.providers-matrix-top-scroll::-webkit-scrollbar-thumb:hover,.providers-matrix-scroll::-webkit-scrollbar-thumb:hover{background:var(--malgreen-300)}.providers-matrix-scroll table{margin-top:0!important;margin-bottom:0!important;width:max-content!important;min-width:0!important;max-width:none!important;background:transparent;display:table!important;overflow:visible!important}.providers-matrix-scroll th,.providers-matrix-scroll td{min-width:0!important}.providers-matrix-scroll[data-overflow-x=\"true\"]{overflow-x:scroll}.providers-matrix-scroll th:first-child,.providers-matrix-scroll td:first-child{position:sticky;left:0;z-index:2;min-width:11rem!important;background-color:var(--providers-matrix-sticky-bg);box-shadow:4px 0 8px -6px var(--providers-matrix-sticky-shadow)}.providers-matrix-scroll tbody tr:nth-child(odd) td:first-child{background-color:var(--malwhite-200)}:is(.dark .providers-matrix-scroll tbody tr:nth-child(odd) td:first-child){background-color:var(--malblack-400)}.providers-matrix-scroll thead th:first-child{z-index:3}"}],"page":{"pagePath":"api-reference/merchants/criar-regras-de-platform-fee","slug":"/api-reference/merchants/criar-regras-de-platform-fee","pageMetadata":{"openapi":"post /v1/merchants/{merchantId}/platform-fee","title":"Criar regras de platform fee","description":"Cria as regras de platform fee da subconta.\n\nO corpo aceita um array de regras ou um objeto com a lista em `rules`. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto.\n\nNão existe regra genérica: `paymentMethod: default` é recusado com `400` e `PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED`. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com `422` e `platform_fee_rule_not_configured`.\n\nNo cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra:\n\n| Forma | Campos | Uso |\n|---|---|---|\n| Regra avulsa | `installment`, com `percentage` e/ou `fixedAmount` | Uma parcela por objeto |\n| Tabela | `installmentRates` (curta) ou `installments` (longa) | A tabela inteira num objeto só |\n| Fórmula | `maxInstallments`, `base`, `growth`, `surcharges`, `overrides` e `cap` | A Malga gera a tabela a partir de uma regra de crescimento |\n\nQualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o `GET` trazem a tabela gerada.\n\nO mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna `409`; para alterar uma tabela existente, use `PUT /v1/merchants/{merchantId}/platform-fee`.\n","href":"/api-reference/merchants/criar-regras-de-platform-fee"},"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 table: \"table\",\n tbody: \"tbody\",\n td: \"td\",\n th: \"th\",\n thead: \"thead\",\n tr: \"tr\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Cria as regras de platform fee da subconta.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"O corpo aceita um array de regras ou um objeto com a lista em \", _jsx(_components.code, {\n children: \"rules\"\n }), \". As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Não existe regra genérica: \", _jsx(_components.code, {\n children: \"paymentMethod: default\"\n }), \" é recusado com \", _jsx(_components.code, {\n children: \"400\"\n }), \" e \", _jsx(_components.code, {\n children: \"PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED\"\n }), \". Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com \", _jsx(_components.code, {\n children: \"422\"\n }), \" e \", _jsx(_components.code, {\n children: \"platform_fee_rule_not_configured\"\n }), \".\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"No cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra:\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Forma\"\n }), _jsx(_components.th, {\n children: \"Campos\"\n }), _jsx(_components.th, {\n children: \"Uso\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"Regra avulsa\"\n }), _jsxs(_components.td, {\n children: [_jsx(_components.code, {\n children: \"installment\"\n }), \", com \", _jsx(_components.code, {\n children: \"percentage\"\n }), \" e/ou \", _jsx(_components.code, {\n children: \"fixedAmount\"\n })]\n }), _jsx(_components.td, {\n children: \"Uma parcela por objeto\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"Tabela\"\n }), _jsxs(_components.td, {\n children: [_jsx(_components.code, {\n children: \"installmentRates\"\n }), \" (curta) ou \", _jsx(_components.code, {\n children: \"installments\"\n }), \" (longa)\"]\n }), _jsx(_components.td, {\n children: \"A tabela inteira num objeto só\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"Fórmula\"\n }), _jsxs(_components.td, {\n children: [_jsx(_components.code, {\n children: \"maxInstallments\"\n }), \", \", _jsx(_components.code, {\n children: \"base\"\n }), \", \", _jsx(_components.code, {\n children: \"growth\"\n }), \", \", _jsx(_components.code, {\n children: \"surcharges\"\n }), \", \", _jsx(_components.code, {\n children: \"overrides\"\n }), \" e \", _jsx(_components.code, {\n children: \"cap\"\n })]\n }), _jsx(_components.td, {\n children: \"A Malga gera a tabela a partir de uma regra de crescimento\"\n })]\n })]\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Qualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o \", _jsx(_components.code, {\n children: \"GET\"\n }), \" trazem a tabela gerada.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"O mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna \", _jsx(_components.code, {\n children: \"409\"\n }), \"; para alterar uma tabela existente, use \", _jsx(_components.code, {\n children: \"PUT /v1/merchants/{merchantId}/platform-fee\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /v1/merchants/{merchantId}/platform-fee","title":"Criar regras de platform fee","description":"Cria as regras de platform fee da subconta.\n\nO corpo aceita um array de regras ou um objeto com a lista em `rules`. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto.\n\nNão existe regra genérica: `paymentMethod: default` é recusado com `400` e `PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED`. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com `422` e `platform_fee_rule_not_configured`.\n\nNo cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra:\n\n| Forma | Campos | Uso |\n|---|---|---|\n| Regra avulsa | `installment`, com `percentage` e/ou `fixedAmount` | Uma parcela por objeto |\n| Tabela | `installmentRates` (curta) ou `installments` (longa) | A tabela inteira num objeto só |\n| Fórmula | `maxInstallments`, `base`, `growth`, `surcharges`, `overrides` e `cap` | A Malga gera a tabela a partir de uma regra de crescimento |\n\nQualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o `GET` trazem a tabela gerada.\n\nO mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna `409`; para alterar uma tabela existente, use `PUT /v1/merchants/{merchantId}/platform-fee`.\n","href":"/api-reference/merchants/criar-regras-de-platform-fee"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/malga/e062f6bdf470a4a7/scripts/generate-providers/generate-providers-docs.js","/_mintlify/custom/malga/1d6eb6c3defb1781/scripts/generate-providers/generate-providers-table.js","/_mintlify/custom/malga/511878d47a4717b9/scripts/generate-providers/index.js","/_mintlify/custom/malga/07cc1cd1c4f6158b/scripts/generate-providers/update-mint-file.js","/_mintlify/custom/malga/4789795b14062ad2/scripts/generate-providers/utils.js","/_mintlify/custom/malga/f193bde54c02ce17/script.js"],"openApiReferenceData":{"operation":{"operationId":"createPlatformFeeRules","summary":"Criar regras de platform fee","description":"Cria as regras de platform fee da subconta.\n\nO corpo aceita um array de regras ou um objeto com a lista em `rules`. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto.\n\nNão existe regra genérica: `paymentMethod: default` é recusado com `400` e `PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED`. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com `422` e `platform_fee_rule_not_configured`.\n\nNo cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra:\n\n| Forma | Campos | Uso |\n|---|---|---|\n| Regra avulsa | `installment`, com `percentage` e/ou `fixedAmount` | Uma parcela por objeto |\n| Tabela | `installmentRates` (curta) ou `installments` (longa) | A tabela inteira num objeto só |\n| Fórmula | `maxInstallments`, `base`, `growth`, `surcharges`, `overrides` e `cap` | A Malga gera a tabela a partir de uma regra de crescimento |\n\nQualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o `GET` trazem a tabela gerada.\n\nO mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna `409`; para alterar uma tabela existente, use `PUT /v1/merchants/{merchantId}/platform-fee`.\n","parameters":["136ec14c-2125-4453-ae90-7eda87c127ca"],"requestBody":"5fbed231-bcae-4adc-b3f3-3f6913588278","responses":{"201":"d1992ed2-8aff-4e00-847e-27d453506715","400":"93d726e6-d49e-43dd-8787-b890d6b989f2","404":"29abe97c-9ae8-4bd8-8b27-92e45dcdf918","409":"8d2254a4-d25d-4032-91d8-0a832b68994b"},"tags":["Merchants"],"method":"post","type":"path","servers":["0676cd94-979e-48df-aa0c-bd30e3ec97a0"],"security":["7dd845ab-8a55-4088-a4c9-7ec907c7e310"],"path":"/v1/merchants/{merchantId}/platform-fee","baseUrlOptions":["https://api.malga.io"],"title":"Criar regras de platform fee","codeSamples":[],"requestExampleLanguages":["bash","javascript","go"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.oneOf.1.rules.items.0.paymentMethod":"pix","body.oneOf.1.rules.items.0.percentage":1.09,"body.oneOf.1.rules.items.0.fixedAmount":30,"body.oneOf.1.rules.items.1.paymentMethod":"boleto","body.oneOf.1.rules.items.1.fixedAmount":109,"body.oneOf.1.rules.items.2.paymentMethod":"credit","body.oneOf.1.rules.items.2.installmentRates.items.0":2.99,"body.oneOf.1.rules.items.2.installmentRates.items.1":5.11,"body.oneOf.1.rules.items.2.installmentRates.items.2":6.86,"body.oneOf.1.rules.items.2.installmentRates.items.3":8.64,"body.oneOf.1.rules.items.2.installmentRates.items.4":10.45,"body.oneOf.1.rules.items.2.installmentRates.items.5":12.29,"body.oneOf.1.rules.items.2.installmentRates.items.6":14.45,"body.oneOf.1.rules.items.2.installmentRates.items.7":16.35,"body.oneOf.1.rules.items.2.installmentRates.items.8":18.29,"body.oneOf.1.rules.items.2.installmentRates.items.9":20.26,"body.oneOf.1.rules.items.2.installmentRates.items.10":22.26,"body.oneOf.1.rules.items.2.installmentRates.items.11":24.3},{"body.oneOf.1.rules.items.0.paymentMethod":"credit","body.oneOf.1.rules.items.0.installments.items.0.installment":1,"body.oneOf.1.rules.items.0.installments.items.0.percentage":2.99,"body.oneOf.1.rules.items.0.installments.items.1.installment":2,"body.oneOf.1.rules.items.0.installments.items.1.percentage":5.11,"body.oneOf.1.rules.items.0.installments.items.1.fixedAmount":50,"body.oneOf.1.rules.items.0.installments.items.2.installment":3,"body.oneOf.1.rules.items.0.installments.items.2.percentage":6.86,"body.oneOf.1.rules.items.0.installments.items.2.fixedAmount":50},{"body.oneOf.1.rules.items.0.paymentMethod":"credit","body.oneOf.1.rules.items.0.maxInstallments":8,"body.oneOf.1.rules.items.0.base.percentage":2.79,"body.oneOf.1.rules.items.0.growth.mode":"linear","body.oneOf.1.rules.items.0.growth.step":0.2,"body.oneOf.1.rules.items.0.growth.from":2,"body.oneOf.1.rules.items.0.surcharges.items.0.fromInstallment":7,"body.oneOf.1.rules.items.0.surcharges.items.0.percentage":0.5,"body.oneOf.1.rules.items.0.cap.percentage":4.6},{"body.oneOf.0.items.0.paymentMethod":"credit","body.oneOf.0.items.0.percentage":2.99,"body.oneOf.0.items.0.installment":1,"body.oneOf.0.items.1.paymentMethod":"credit","body.oneOf.0.items.1.percentage":5.11,"body.oneOf.0.items.1.installment":2,"body.oneOf.0.items.2.paymentMethod":"credit","body.oneOf.0.items.2.percentage":6.86,"body.oneOf.0.items.2.fixedAmount":50,"body.oneOf.0.items.2.installment":3,"body.oneOf.0.items.3.paymentMethod":"pix","body.oneOf.0.items.3.fixedAmount":50,"body.oneOf.0.items.4.paymentMethod":"boleto","body.oneOf.0.items.4.percentage":1,"body.oneOf.0.items.4.fixedAmount":100}]},"dependencies":{"parameters":{"136ec14c-2125-4453-ae90-7eda87c127ca":{"name":"merchantId","required":true,"in":"path","description":"Identificador do merchant","schema":{"type":"string","format":"uuid","isRequired":true,"description":"Identificador do merchant","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"array","items":{"type":"object","description":"Uma regra de platform fee.\n\nEm `pix` e `boleto`, informe `percentage`, `fixedAmount` ou os dois.\n\nEm `credit`, use uma destas formas, sem combinar formas no mesmo objeto:\n\n- **Regra avulsa**: `installment` com `percentage` e/ou `fixedAmount`.\n- **Tabela curta**: `installmentRates`.\n- **Tabela longa**: `installments`.\n- **Fórmula**: `maxInstallments` e `base`, com `growth`, `surcharges`, `overrides` e `cap` opcionais.\n\nNas três formas de tabela e fórmula, a regra aceita só as chaves da forma escolhida mais `paymentMethod`. Uma chave desconhecida, como `capp` no lugar de `cap`, recusa a configuração inteira com `400`, em vez de ser ignorada.\n\nNa fórmula, o percentual e o valor fixo de cada parcela `n`, de 1 até `maxInstallments`, são calculados nesta ordem:\n\n1. Parte de `base.percentage` e `base.fixedAmount`.\n2. Aplica `growth` quando `n` é maior ou igual a `growth.from`.\n3. Soma as `surcharges` com `fromInstallment` menor ou igual a `n`.\n4. Limita ao `cap`.\n5. Substitui pelo `overrides` da parcela, quando houver.\n6. Arredonda o percentual para 2 casas decimais, com meio para cima.\n\nSe alguma parcela calculada passar de 100%, a configuração inteira é recusada.\n","required":["paymentMethod"],"properties":{"paymentMethod":{"type":"string","enum":["credit","pix","boleto"],"description":"Método de pagamento ao qual a regra se aplica. A regra genérica `default` foi descontinuada: `paymentMethod: default` é recusado com `400` e `PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED`.\n","example":"credit","isRequired":true,"uniqueKey":"oneOf.0.items.[INDEX].paymentMethod","typeLabel":"enum\u003cstring>"},"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Percentual da taxa (0-100) com até 2 casas decimais. Ao menos um entre `percentage` e `fixedAmount` deve ser informado. Não pode ser combinado com `installmentRates`, `installments` ou fórmula.","example":2.5,"uniqueKey":"oneOf.0.items.[INDEX].percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo da taxa em centavos, de 0 a 2147483647. Ao menos um entre `percentage` e `fixedAmount` deve ser informado. Não pode ser combinado com `installmentRates`, `installments` ou fórmula.","example":50,"uniqueKey":"oneOf.0.items.[INDEX].fixedAmount","typeLabel":"integer"},"installment":{"type":"integer","minimum":1,"maximum":24,"description":"Número exato de parcelas ao qual a regra se aplica, de 1 a 24. **Obrigatório** na regra avulsa de `credit`; **proibido** nos demais métodos. Cada parcela tem a própria regra: `installment: 3` vale só para vendas em 3x, e 2x e 3x podem ter taxas diferentes.\n","example":3,"uniqueKey":"oneOf.0.items.[INDEX].installment","typeLabel":"integer"},"installmentRates":{"type":"array","minItems":1,"maxItems":24,"items":{"type":"number","format":"float","minimum":0,"maximum":100,"uniqueKey":"oneOf.0.items.[INDEX].installmentRates.items.[INDEX]","typeLabel":"number\u003cfloat>"},"description":"Somente `credit`. Tabela curta: lista de percentuais em que a posição é o número de parcelas. O primeiro item vale para 1x, o segundo para 2x, e assim por diante. Cada item vai de 0 a 100, com até 2 casas decimais. Grava uma regra por parcela, só com percentual: as parcelas gravadas por esta lista ficam sem valor fixo. Para valor fixo por parcela, use `installments`.\n","example":[2.99,5.11,6.86,8.64,10.45,12.29,14.45,16.35,18.29,20.26,22.26,24.3],"uniqueKey":"oneOf.0.items.[INDEX].installmentRates","typeLabel":"number\u003cfloat>[]"},"installments":{"type":"array","minItems":1,"maxItems":24,"description":"Somente `credit`. Tabela longa: uma entrada por parcela, com percentual, valor fixo ou os dois. Aceita parcelas salteadas, e cada parcela pode aparecer uma vez só. Cada entrada aceita apenas `installment`, `percentage` e `fixedAmount`: qualquer outra chave, inclusive uma dessas com grafia diferente, recusa a requisição com `400`.\n","items":{"type":"object","additionalProperties":false,"description":"Uma parcela da tabela longa. Ao menos um entre `percentage` e `fixedAmount` deve ser informado. Chaves além destas três são recusadas.","required":["installment"],"properties":{"installment":{"type":"integer","minimum":1,"maximum":24,"description":"Número exato de parcelas","example":2,"isRequired":true,"uniqueKey":"oneOf.0.items.[INDEX].installments.items.[INDEX].installment","typeLabel":"integer"},"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Percentual da taxa da parcela (0-100), com até 2 casas decimais","example":5.11,"uniqueKey":"oneOf.0.items.[INDEX].installments.items.[INDEX].percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo da taxa da parcela em centavos, de 0 a 2147483647","example":50,"uniqueKey":"oneOf.0.items.[INDEX].installments.items.[INDEX].fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.0.items.[INDEX].installments.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.items.[INDEX].installments","typeLabel":"object[]"},"maxInstallments":{"type":"integer","minimum":1,"maximum":24,"description":"Somente `credit`. **Obrigatório** na fórmula. Última parcela gerada pela fórmula, que grava regras de 1x até `maxInstallments`.","example":8,"uniqueKey":"oneOf.0.items.[INDEX].maxInstallments","typeLabel":"integer"},"base":{"type":"object","description":"Somente `credit`. **Obrigatório** na fórmula. Taxa de partida de todas as parcelas, sobre a qual o crescimento e as sobretaxas são aplicados.","required":["percentage"],"properties":{"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Percentual de partida (0-100), com até 2 casas decimais","example":2.79,"isRequired":true,"uniqueKey":"oneOf.0.items.[INDEX].base.percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo de partida em centavos. Quando omitido, é 0.","example":0,"uniqueKey":"oneOf.0.items.[INDEX].base.fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.0.items.[INDEX].base","typeLabel":"object"},"growth":{"type":"object","description":"Somente `credit`, na fórmula. Define como o percentual cresce a partir de uma parcela. O crescimento não altera o valor fixo.\n","properties":{"mode":{"type":"string","enum":["none","linear","exponential"],"default":"none","description":"`none` repete o percentual da base em todas as parcelas e não aceita `step`, `rate` nem `from`. `linear` soma `step` pontos percentuais a cada parcela. `exponential` multiplica o percentual da base por `1 + rate` a cada parcela e exige `cap.percentage`.\n","example":"linear","uniqueKey":"oneOf.0.items.[INDEX].growth.mode","typeLabel":"enum\u003cstring>"},"step":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"**Obrigatório** em `linear` e aceito só nesse modo. Pontos percentuais somados a cada parcela a partir de `from`. Com base de 2.79 e `step` de 0.20 a partir de 2x, 2x fica com 2.99 e 3x com 3.19.\n","example":0.2,"uniqueKey":"oneOf.0.items.[INDEX].growth.step","typeLabel":"number\u003cfloat>"},"rate":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"**Obrigatório** em `exponential` e aceito só nesse modo. Crescimento composto por parcela, em fração, e não em percentual: `0.06` aumenta o percentual em 6% a cada parcela a partir de `from`, e `10` aumenta em 1000%.\n","example":0.06,"uniqueKey":"oneOf.0.items.[INDEX].growth.rate","typeLabel":"number\u003cfloat>"},"from":{"type":"integer","minimum":2,"maximum":24,"default":2,"description":"Primeira parcela que cresce, de 2 até `maxInstallments`. As parcelas anteriores ficam com o percentual da base.","example":2,"uniqueKey":"oneOf.0.items.[INDEX].growth.from","typeLabel":"integer"}},"uniqueKey":"oneOf.0.items.[INDEX].growth","typeLabel":"object"},"surcharges":{"type":"array","maxItems":24,"description":"Somente `credit`, na fórmula. Sobretaxas que entram a partir de uma parcela e valem dali em diante. Sobretaxas diferentes se acumulam.","items":{"type":"object","description":"Sobretaxa somada a partir de uma parcela. Ao menos um entre `percentage` e `fixedAmount` deve ser informado, e cada `fromInstallment` pode aparecer uma vez só.","required":["fromInstallment"],"properties":{"fromInstallment":{"type":"integer","minimum":1,"maximum":24,"description":"Primeira parcela que recebe a sobretaxa, de 1 até `maxInstallments`","example":7,"isRequired":true,"uniqueKey":"oneOf.0.items.[INDEX].surcharges.items.[INDEX].fromInstallment","typeLabel":"integer"},"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Pontos percentuais somados, com até 2 casas decimais","example":0.5,"uniqueKey":"oneOf.0.items.[INDEX].surcharges.items.[INDEX].percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo somado, em centavos","example":50,"uniqueKey":"oneOf.0.items.[INDEX].surcharges.items.[INDEX].fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.0.items.[INDEX].surcharges.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.items.[INDEX].surcharges","typeLabel":"object[]"},"overrides":{"type":"array","maxItems":24,"description":"Somente `credit`, na fórmula. Valor final de parcelas específicas, que substitui o valor calculado.","items":{"type":"object","description":"Valor final de uma parcela. Substitui o percentual e o valor fixo calculados para ela. Cada parcela pode aparecer uma vez só, e o valor não pode passar do `cap`.\n","required":["installment","percentage"],"properties":{"installment":{"type":"integer","minimum":1,"maximum":24,"description":"Parcela substituída, de 1 até `maxInstallments`","example":10,"isRequired":true,"uniqueKey":"oneOf.0.items.[INDEX].overrides.items.[INDEX].installment","typeLabel":"integer"},"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Percentual final da parcela (0-100), com até 2 casas decimais","example":4,"isRequired":true,"uniqueKey":"oneOf.0.items.[INDEX].overrides.items.[INDEX].percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo final da parcela em centavos. Quando omitido, é 0.","example":0,"uniqueKey":"oneOf.0.items.[INDEX].overrides.items.[INDEX].fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.0.items.[INDEX].overrides.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.items.[INDEX].overrides","typeLabel":"object[]"},"cap":{"type":"object","description":"Somente `credit`, na fórmula. Teto do percentual e do valor fixo calculados. A parcela que passa do teto fica com o valor do teto. `cap.percentage` é obrigatório quando `growth.mode` é `exponential`.\n","properties":{"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Teto do percentual (0-100), com até 2 casas decimais","example":4.6,"uniqueKey":"oneOf.0.items.[INDEX].cap.percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Teto do valor fixo, em centavos","example":100,"uniqueKey":"oneOf.0.items.[INDEX].cap.fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.0.items.[INDEX].cap","typeLabel":"object"}},"uniqueKey":"oneOf.0.items.[INDEX]","typeLabel":"object"},"title":"Array de regras","maxItems":50,"minItems":1,"uniqueKey":"oneOf.0","typeLabel":"Array de regras · object[]"},{"type":"object","title":"Objeto com rules","required":["rules"],"properties":{"rules":{"type":"array","minItems":1,"maxItems":50,"description":"Regras de platform fee. Aceita o mesmo conteúdo do corpo em array, com até 50 objetos de regra.","items":{"type":"object","description":"Uma regra de platform fee.\n\nEm `pix` e `boleto`, informe `percentage`, `fixedAmount` ou os dois.\n\nEm `credit`, use uma destas formas, sem combinar formas no mesmo objeto:\n\n- **Regra avulsa**: `installment` com `percentage` e/ou `fixedAmount`.\n- **Tabela curta**: `installmentRates`.\n- **Tabela longa**: `installments`.\n- **Fórmula**: `maxInstallments` e `base`, com `growth`, `surcharges`, `overrides` e `cap` opcionais.\n\nNas três formas de tabela e fórmula, a regra aceita só as chaves da forma escolhida mais `paymentMethod`. Uma chave desconhecida, como `capp` no lugar de `cap`, recusa a configuração inteira com `400`, em vez de ser ignorada.\n\nNa fórmula, o percentual e o valor fixo de cada parcela `n`, de 1 até `maxInstallments`, são calculados nesta ordem:\n\n1. Parte de `base.percentage` e `base.fixedAmount`.\n2. Aplica `growth` quando `n` é maior ou igual a `growth.from`.\n3. Soma as `surcharges` com `fromInstallment` menor ou igual a `n`.\n4. Limita ao `cap`.\n5. Substitui pelo `overrides` da parcela, quando houver.\n6. Arredonda o percentual para 2 casas decimais, com meio para cima.\n\nSe alguma parcela calculada passar de 100%, a configuração inteira é recusada.\n","required":["paymentMethod"],"properties":{"paymentMethod":{"type":"string","enum":["credit","pix","boleto"],"description":"Método de pagamento ao qual a regra se aplica. A regra genérica `default` foi descontinuada: `paymentMethod: default` é recusado com `400` e `PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED`.\n","example":"credit","isRequired":true,"uniqueKey":"oneOf.1.rules.items.[INDEX].paymentMethod","typeLabel":"enum\u003cstring>"},"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Percentual da taxa (0-100) com até 2 casas decimais. Ao menos um entre `percentage` e `fixedAmount` deve ser informado. Não pode ser combinado com `installmentRates`, `installments` ou fórmula.","example":2.5,"uniqueKey":"oneOf.1.rules.items.[INDEX].percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo da taxa em centavos, de 0 a 2147483647. Ao menos um entre `percentage` e `fixedAmount` deve ser informado. Não pode ser combinado com `installmentRates`, `installments` ou fórmula.","example":50,"uniqueKey":"oneOf.1.rules.items.[INDEX].fixedAmount","typeLabel":"integer"},"installment":{"type":"integer","minimum":1,"maximum":24,"description":"Número exato de parcelas ao qual a regra se aplica, de 1 a 24. **Obrigatório** na regra avulsa de `credit`; **proibido** nos demais métodos. Cada parcela tem a própria regra: `installment: 3` vale só para vendas em 3x, e 2x e 3x podem ter taxas diferentes.\n","example":3,"uniqueKey":"oneOf.1.rules.items.[INDEX].installment","typeLabel":"integer"},"installmentRates":{"type":"array","minItems":1,"maxItems":24,"items":{"type":"number","format":"float","minimum":0,"maximum":100,"uniqueKey":"oneOf.1.rules.items.[INDEX].installmentRates.items.[INDEX]","typeLabel":"number\u003cfloat>"},"description":"Somente `credit`. Tabela curta: lista de percentuais em que a posição é o número de parcelas. O primeiro item vale para 1x, o segundo para 2x, e assim por diante. Cada item vai de 0 a 100, com até 2 casas decimais. Grava uma regra por parcela, só com percentual: as parcelas gravadas por esta lista ficam sem valor fixo. Para valor fixo por parcela, use `installments`.\n","example":[2.99,5.11,6.86,8.64,10.45,12.29,14.45,16.35,18.29,20.26,22.26,24.3],"uniqueKey":"oneOf.1.rules.items.[INDEX].installmentRates","typeLabel":"number\u003cfloat>[]"},"installments":{"type":"array","minItems":1,"maxItems":24,"description":"Somente `credit`. Tabela longa: uma entrada por parcela, com percentual, valor fixo ou os dois. Aceita parcelas salteadas, e cada parcela pode aparecer uma vez só. Cada entrada aceita apenas `installment`, `percentage` e `fixedAmount`: qualquer outra chave, inclusive uma dessas com grafia diferente, recusa a requisição com `400`.\n","items":{"type":"object","additionalProperties":false,"description":"Uma parcela da tabela longa. Ao menos um entre `percentage` e `fixedAmount` deve ser informado. Chaves além destas três são recusadas.","required":["installment"],"properties":{"installment":{"type":"integer","minimum":1,"maximum":24,"description":"Número exato de parcelas","example":2,"isRequired":true,"uniqueKey":"oneOf.1.rules.items.[INDEX].installments.items.[INDEX].installment","typeLabel":"integer"},"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Percentual da taxa da parcela (0-100), com até 2 casas decimais","example":5.11,"uniqueKey":"oneOf.1.rules.items.[INDEX].installments.items.[INDEX].percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo da taxa da parcela em centavos, de 0 a 2147483647","example":50,"uniqueKey":"oneOf.1.rules.items.[INDEX].installments.items.[INDEX].fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.1.rules.items.[INDEX].installments.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.rules.items.[INDEX].installments","typeLabel":"object[]"},"maxInstallments":{"type":"integer","minimum":1,"maximum":24,"description":"Somente `credit`. **Obrigatório** na fórmula. Última parcela gerada pela fórmula, que grava regras de 1x até `maxInstallments`.","example":8,"uniqueKey":"oneOf.1.rules.items.[INDEX].maxInstallments","typeLabel":"integer"},"base":{"type":"object","description":"Somente `credit`. **Obrigatório** na fórmula. Taxa de partida de todas as parcelas, sobre a qual o crescimento e as sobretaxas são aplicados.","required":["percentage"],"properties":{"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Percentual de partida (0-100), com até 2 casas decimais","example":2.79,"isRequired":true,"uniqueKey":"oneOf.1.rules.items.[INDEX].base.percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo de partida em centavos. Quando omitido, é 0.","example":0,"uniqueKey":"oneOf.1.rules.items.[INDEX].base.fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.1.rules.items.[INDEX].base","typeLabel":"object"},"growth":{"type":"object","description":"Somente `credit`, na fórmula. Define como o percentual cresce a partir de uma parcela. O crescimento não altera o valor fixo.\n","properties":{"mode":{"type":"string","enum":["none","linear","exponential"],"default":"none","description":"`none` repete o percentual da base em todas as parcelas e não aceita `step`, `rate` nem `from`. `linear` soma `step` pontos percentuais a cada parcela. `exponential` multiplica o percentual da base por `1 + rate` a cada parcela e exige `cap.percentage`.\n","example":"linear","uniqueKey":"oneOf.1.rules.items.[INDEX].growth.mode","typeLabel":"enum\u003cstring>"},"step":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"**Obrigatório** em `linear` e aceito só nesse modo. Pontos percentuais somados a cada parcela a partir de `from`. Com base de 2.79 e `step` de 0.20 a partir de 2x, 2x fica com 2.99 e 3x com 3.19.\n","example":0.2,"uniqueKey":"oneOf.1.rules.items.[INDEX].growth.step","typeLabel":"number\u003cfloat>"},"rate":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"**Obrigatório** em `exponential` e aceito só nesse modo. Crescimento composto por parcela, em fração, e não em percentual: `0.06` aumenta o percentual em 6% a cada parcela a partir de `from`, e `10` aumenta em 1000%.\n","example":0.06,"uniqueKey":"oneOf.1.rules.items.[INDEX].growth.rate","typeLabel":"number\u003cfloat>"},"from":{"type":"integer","minimum":2,"maximum":24,"default":2,"description":"Primeira parcela que cresce, de 2 até `maxInstallments`. As parcelas anteriores ficam com o percentual da base.","example":2,"uniqueKey":"oneOf.1.rules.items.[INDEX].growth.from","typeLabel":"integer"}},"uniqueKey":"oneOf.1.rules.items.[INDEX].growth","typeLabel":"object"},"surcharges":{"type":"array","maxItems":24,"description":"Somente `credit`, na fórmula. Sobretaxas que entram a partir de uma parcela e valem dali em diante. Sobretaxas diferentes se acumulam.","items":{"type":"object","description":"Sobretaxa somada a partir de uma parcela. Ao menos um entre `percentage` e `fixedAmount` deve ser informado, e cada `fromInstallment` pode aparecer uma vez só.","required":["fromInstallment"],"properties":{"fromInstallment":{"type":"integer","minimum":1,"maximum":24,"description":"Primeira parcela que recebe a sobretaxa, de 1 até `maxInstallments`","example":7,"isRequired":true,"uniqueKey":"oneOf.1.rules.items.[INDEX].surcharges.items.[INDEX].fromInstallment","typeLabel":"integer"},"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Pontos percentuais somados, com até 2 casas decimais","example":0.5,"uniqueKey":"oneOf.1.rules.items.[INDEX].surcharges.items.[INDEX].percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo somado, em centavos","example":50,"uniqueKey":"oneOf.1.rules.items.[INDEX].surcharges.items.[INDEX].fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.1.rules.items.[INDEX].surcharges.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.rules.items.[INDEX].surcharges","typeLabel":"object[]"},"overrides":{"type":"array","maxItems":24,"description":"Somente `credit`, na fórmula. Valor final de parcelas específicas, que substitui o valor calculado.","items":{"type":"object","description":"Valor final de uma parcela. Substitui o percentual e o valor fixo calculados para ela. Cada parcela pode aparecer uma vez só, e o valor não pode passar do `cap`.\n","required":["installment","percentage"],"properties":{"installment":{"type":"integer","minimum":1,"maximum":24,"description":"Parcela substituída, de 1 até `maxInstallments`","example":10,"isRequired":true,"uniqueKey":"oneOf.1.rules.items.[INDEX].overrides.items.[INDEX].installment","typeLabel":"integer"},"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Percentual final da parcela (0-100), com até 2 casas decimais","example":4,"isRequired":true,"uniqueKey":"oneOf.1.rules.items.[INDEX].overrides.items.[INDEX].percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Valor fixo final da parcela em centavos. Quando omitido, é 0.","example":0,"uniqueKey":"oneOf.1.rules.items.[INDEX].overrides.items.[INDEX].fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.1.rules.items.[INDEX].overrides.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.rules.items.[INDEX].overrides","typeLabel":"object[]"},"cap":{"type":"object","description":"Somente `credit`, na fórmula. Teto do percentual e do valor fixo calculados. A parcela que passa do teto fica com o valor do teto. `cap.percentage` é obrigatório quando `growth.mode` é `exponential`.\n","properties":{"percentage":{"type":"number","format":"float","minimum":0,"maximum":100,"description":"Teto do percentual (0-100), com até 2 casas decimais","example":4.6,"uniqueKey":"oneOf.1.rules.items.[INDEX].cap.percentage","typeLabel":"number\u003cfloat>"},"fixedAmount":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Teto do valor fixo, em centavos","example":100,"uniqueKey":"oneOf.1.rules.items.[INDEX].cap.fixedAmount","typeLabel":"integer"}},"uniqueKey":"oneOf.1.rules.items.[INDEX].cap","typeLabel":"object"}},"uniqueKey":"oneOf.1.rules.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.rules","typeLabel":"object[]"}},"uniqueKey":"oneOf.1","typeLabel":"Objeto com rules · object"}],"uniqueKey":"","typeLabel":"Array de regras · object[] | Objeto com rules · object"},"examples":{"PlatformFeeInstallmentRatesRequest":{"title":"PlatformFeeInstallmentRatesRequest","value":{"rules":[{"paymentMethod":"pix","percentage":1.09,"fixedAmount":30},{"paymentMethod":"boleto","fixedAmount":109},{"paymentMethod":"credit","installmentRates":[2.99,5.11,6.86,8.64,10.45,12.29,14.45,16.35,18.29,20.26,22.26,24.3]}]}},"PlatformFeeInstallmentsRequest":{"title":"PlatformFeeInstallmentsRequest","value":{"rules":[{"paymentMethod":"credit","installments":[{"installment":1,"percentage":2.99},{"installment":2,"percentage":5.11,"fixedAmount":50},{"installment":3,"percentage":6.86,"fixedAmount":50}]}]}},"PlatformFeeFormulaRequest":{"title":"PlatformFeeFormulaRequest","description":"Grava oito regras de crédito: 1x 2.79, 2x 2.99, 3x 3.19, 4x 3.39, 5x 3.59, 6x 3.79, 7x 4.49 e 8x 4.60, esta última limitada pelo `cap`.\n","value":{"rules":[{"paymentMethod":"credit","maxInstallments":8,"base":{"percentage":2.79},"growth":{"mode":"linear","step":0.2,"from":2},"surcharges":[{"fromInstallment":7,"percentage":0.5}],"cap":{"percentage":4.6}}]}},"PlatformFeeRequest":{"title":"PlatformFeeRequest","value":[{"paymentMethod":"credit","percentage":2.99,"installment":1},{"paymentMethod":"credit","percentage":5.11,"installment":2},{"paymentMethod":"credit","percentage":6.86,"fixedAmount":50,"installment":3},{"paymentMethod":"pix","fixedAmount":50},{"paymentMethod":"boleto","percentage":1,"fixedAmount":100}]}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"d1992ed2-8aff-4e00-847e-27d453506715":{"description":"Regras criadas com sucesso. A resposta traz as regras como ficaram gravadas, com uma regra por parcela no crédito.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador único da regra de platform fee","example":"74739f85-1bfa-40ae-a003-1c464c8e3c94","uniqueKey":"items.[INDEX].id","typeLabel":"string\u003cuuid>"},"percentage":{"oneOf":[{"type":"number","format":"float","description":"Percentual da taxa aplicado","example":2.5,"uniqueKey":"items.[INDEX].percentage.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","description":"Percentual da taxa aplicado","example":2.5,"uniqueKey":"items.[INDEX].percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].percentage","typeLabel":"number\u003cfloat> | null"},"fixedAmount":{"oneOf":[{"type":"integer","description":"Valor fixo da taxa em centavos","example":50,"uniqueKey":"items.[INDEX].fixedAmount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Valor fixo da taxa em centavos","example":50,"uniqueKey":"items.[INDEX].fixedAmount.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].fixedAmount","typeLabel":"integer | null"},"paymentMethod":{"type":"string","enum":["credit","pix","boleto"],"description":"Método de pagamento ao qual a regra se aplica","example":"credit","uniqueKey":"items.[INDEX].paymentMethod","typeLabel":"enum\u003cstring>"},"installment":{"oneOf":[{"type":"integer","description":"Número exato de parcelas da regra, de 1 a 24. Presente apenas em regras de `credit`. Cada parcela tem no máximo uma regra ativa. Uma regra de `credit` sem `installment` vem da conversão da antiga regra `default` e vale para toda parcela sem regra própria.\n","example":3,"uniqueKey":"items.[INDEX].installment.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Número exato de parcelas da regra, de 1 a 24. Presente apenas em regras de `credit`. Cada parcela tem no máximo uma regra ativa. Uma regra de `credit` sem `installment` vem da conversão da antiga regra `default` e vale para toda parcela sem regra própria.\n","example":3,"uniqueKey":"items.[INDEX].installment.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].installment","typeLabel":"integer | null"},"createdAt":{"type":"string","format":"date-time","description":"Data de criação da regra","example":"2024-01-15T10:30:00.000Z","uniqueKey":"items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"Data da última atualização da regra","example":"2024-01-15T10:30:00.000Z","uniqueKey":"items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"items.[INDEX]","typeLabel":"object"},"uniqueKey":"","typeLabel":"object[]"},"examples":{"PlatformFeeRulesArrayResponse":{"title":"PlatformFeeRulesArrayResponse","value":[{"id":"0bb96a26-fc53-405c-8e3a-21762913f1a0","paymentMethod":"credit","percentage":2.99,"installment":1,"createdAt":"2026-09-15T14:05:02.311Z","updatedAt":"2026-09-15T14:05:02.311Z"},{"id":"404c624c-12f8-4b59-a9ad-ab918e68c51b","paymentMethod":"credit","percentage":5.11,"fixedAmount":50,"installment":2,"createdAt":"2026-09-15T14:05:02.311Z","updatedAt":"2026-09-15T14:05:02.311Z"},{"id":"2793da87-b3d3-4cf2-ad75-06c6dca256e7","paymentMethod":"credit","percentage":6.86,"fixedAmount":50,"installment":3,"createdAt":"2026-09-15T14:05:02.311Z","updatedAt":"2026-09-15T14:05:02.311Z"}]}},"exampleType":"examples"}},"exampleType":"examples"},"93d726e6-d49e-43dd-8787-b890d6b989f2":{"description":"Dados inválidos. O campo `error.code` identifica o motivo:\n\n- `PLATFORM_FEE_INVALID_RULE`: regra inválida, como tabela ou fórmula fora de `credit`, formas combinadas no mesmo objeto, campo de `installments` ou da fórmula fora do intervalo ou com mais de 2 casas decimais, chave desconhecida dentro de `installments` ou da fórmula, ou parcela calculada acima de 100%.\n- `PLATFORM_FEE_INSTALLMENT_REQUIRED`: regra avulsa de `credit` sem `installment`.\n- `PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED`: o corpo traz `paymentMethod: default`, mesmo junto de regras válidas. Nada é gravado.\n- `PLATFORM_FEE_DUPLICATE_RULE`: a mesma parcela ou o mesmo método repetido no corpo.\n\nQuando o erro está no tipo ou no intervalo de um campo da regra, como `percentage` acima de 100 ou `fixedAmount` acima de 2147483647, `error.code` é `400` e `error.details` indica a posição da regra no corpo. Um corpo com mais de 50 objetos de regra também responde `400`.\n","content":{"application/json":{"examples":{"PlatformFeeInvalidRuleError":{"title":"PlatformFeeInvalidRuleError","value":{"error":{"type":"bad_request","code":"PLATFORM_FEE_INVALID_RULE","message":"Invalid platform fee rule: growth.mode exponential requires cap.percentage, because the curve never stops rising","details":"Invalid platform fee rule: growth.mode exponential requires cap.percentage, because the curve never stops rising"}}},"PlatformFeeFieldValidationError":{"title":"PlatformFeeFieldValidationError","value":{"error":{"type":"bad_request","code":400,"message":"Bad Request Exception","details":["[0] fixedAmount must not be greater than 2147483647"]}}},"PlatformFeeUnknownInstallmentKeyError":{"title":"PlatformFeeUnknownInstallmentKeyError","value":{"error":{"type":"bad_request","code":"PLATFORM_FEE_INVALID_RULE","message":"Invalid platform fee rule: installments[0] has unknown properties: fixedamount. Expected only: installment, percentage, fixedAmount","details":"Invalid platform fee rule: installments[0] has unknown properties: fixedamount. Expected only: installment, percentage, fixedAmount"}}},"PlatformFeeDefaultRuleDiscontinuedError":{"title":"PlatformFeeDefaultRuleDiscontinuedError","value":{"error":{"type":"bad_request","code":"PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED","message":"The generic platform fee rule was discontinued: configure a rule per payment method, and per installment on credit","details":"The generic platform fee rule was discontinued: configure a rule per payment method, and per installment on credit"}}}},"exampleType":"examples"}},"exampleType":"examples"},"29abe97c-9ae8-4bd8-8b27-92e45dcdf918":{"description":"Merchant não encontrado","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"8d2254a4-d25d-4032-91d8-0a832b68994b":{"description":"Já existe regra para o método ou para a parcela informada (`PLATFORM_FEE_RULE_ALREADY_EXISTS`)","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"7dd845ab-8a55-4088-a4c9-7ec907c7e310":{"X-Client-ID":{"type":"apiKey","in":"header","name":"X-Client-Id","scopes":[],"schemeName":"X-Client-ID"},"X-Api-Key":{"type":"apiKey","in":"header","name":"X-Api-Key","scopes":[],"schemeName":"X-Api-Key"}}},"servers":{"0676cd94-979e-48df-aa0c-bd30e3ec97a0":{"url":"https://api.malga.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Client-Id","scopes":[],"schemeName":"X-Client-ID"},"schema":{"title":"X-Client-Id","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"X-Client-ID","name":"X-Client-Id"},{"scheme":{"type":"apiKey","in":"header","name":"X-Api-Key","scopes":[],"schemeName":"X-Api-Key"},"schema":{"title":"X-Api-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"X-Api-Key","name":"X-Api-Key"}],"title":"X-Client-ID \u0026 X-Api-Key"}]},"originalFileLocation":"api-reference/api-spec.yaml"},"subdomain":"malga","siteName":"Malga","title":"Criar regras de platform fee - Malga","relatedPagesConfig":{"enabled":true,"limit":4,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T19:00:35.952Z","originalFileLocation":"api-reference/merchants/criar-regras-de-platform-fee.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Cria as regras de platform fee da subconta. O corpo aceita um array de regras ou um objeto com a lista em rules. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto. Não existe regra genérica: paymentMethod: default é recusado com 400 e PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com 422 e platform_fee_rule_not_configured. No cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra: | Forma | Campos | Uso | |---|---|---| | Regra avulsa | installment, com percentage e/ou fixedAmount | Uma parcela por objeto | | Tabela | installmentRates (curta) ou installments (longa) | A tabela inteira num objeto só | | Fórmula | maxInstallments, base, growth, surcharges, overrides e cap | A Malga gera a tabela a partir de uma regra de crescimento | Qualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o GET trazem a tabela gerada. O mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna 409; para alterar uma tabela existente, use PUT /v1/merchants/{merchantId}/platform-fee.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Malga\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/malga/FRGYPTtLcTku4cpj/_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/malga/FRGYPTtLcTku4cpj/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/malga/FRGYPTtLcTku4cpj/_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/malga/FRGYPTtLcTku4cpj/_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/malga/FRGYPTtLcTku4cpj/_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/malga/FRGYPTtLcTku4cpj/_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/malga/FRGYPTtLcTku4cpj/_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/malga/FRGYPTtLcTku4cpj/_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/malga/FRGYPTtLcTku4cpj/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Criar regras de platform fee - Malga\">\u003cmeta data-mint-head property=\"og:description\" content=\"Cria as regras de platform fee da subconta. O corpo aceita um array de regras ou um objeto com a lista em rules. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto. Não existe regra genérica: paymentMethod: default é recusado com 400 e PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com 422 e platform_fee_rule_not_configured. No cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra: | Forma | Campos | Uso | |---|---|---| | Regra avulsa | installment, com percentage e/ou fixedAmount | Uma parcela por objeto | | Tabela | installmentRates (curta) ou installments (longa) | A tabela inteira num objeto só | | Fórmula | maxInstallments, base, growth, surcharges, overrides e cap | A Malga gera a tabela a partir de uma regra de crescimento | Qualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o GET trazem a tabela gerada. O mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna 409; para alterar uma tabela existente, use PUT /v1/merchants/{merchantId}/platform-fee.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Malga Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://malga.mintlify.site/_mintlify/api/og/v2?division=Platform+Fee\u0026amp;title=Criar+regras+de+platform+fee\u0026amp;description=Cria+as+regras+de+platform+fee+da+subconta.%0A%0AO+corpo+aceita+um+array+de+regras+ou+um+objeto+com+a+lista+em+%60rules%60.+As+duas+formas+t%C3%AAm+o+mesmo+efeito.+O+corpo+a\u0026amp;theme=0a64d774e3bd06ffb7acdfa7\u0026amp;signature=36523ce7f3e01062893e9602dcd3319a3a6fb70b849a3af52d1f185c850a7d2d\">\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 regras de platform fee - Malga\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Cria as regras de platform fee da subconta. O corpo aceita um array de regras ou um objeto com a lista em rules. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto. Não existe regra genérica: paymentMethod: default é recusado com 400 e PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com 422 e platform_fee_rule_not_configured. No cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra: | Forma | Campos | Uso | |---|---|---| | Regra avulsa | installment, com percentage e/ou fixedAmount | Uma parcela por objeto | | Tabela | installmentRates (curta) ou installments (longa) | A tabela inteira num objeto só | | Fórmula | maxInstallments, base, growth, surcharges, overrides e cap | A Malga gera a tabela a partir de uma regra de crescimento | Qualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o GET trazem a tabela gerada. O mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna 409; para alterar uma tabela existente, use PUT /v1/merchants/{merchantId}/platform-fee.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://malga.mintlify.site/_mintlify/api/og/v2?division=Platform+Fee\u0026amp;title=Criar+regras+de+platform+fee\u0026amp;description=Cria+as+regras+de+platform+fee+da+subconta.%0A%0AO+corpo+aceita+um+array+de+regras+ou+um+objeto+com+a+lista+em+%60rules%60.+As+duas+formas+t%C3%AAm+o+mesmo+efeito.+O+corpo+a\u0026amp;theme=0a64d774e3bd06ffb7acdfa7\u0026amp;signature=36523ce7f3e01062893e9602dcd3319a3a6fb70b849a3af52d1f185c850a7d2d\">\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/malga/FRGYPTtLcTku4cpj/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Malga\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2FAC9B\">\u003cmeta data-mint-head name=\"og:locale\" content=\"pt_BR\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/merchants/criar-regras-de-platform-fee.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://malga.io/#organization\",\"name\":\"Malga\",\"url\":\"https://malga.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://docs.malga.io/logo/light.svg\"},\"sameAs\":[\"https://www.youtube.com/@gomalga\",\"https://www.linkedin.com/company/gomalga/\",\"https://www.instagram.com/gomalga\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.malga.io#website\",\"name\":\"Malga\",\"url\":\"https://docs.malga.io\",\"publisher\":{\"@id\":\"https://malga.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee#webpage\",\"url\":\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee\",\"name\":\"Criar regras de platform fee\",\"description\":\"Cria as regras de platform fee da subconta. O corpo aceita um array de regras ou um objeto com a lista em rules. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto. Não existe regra genérica: paymentMethod: default é recusado com 400 e PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com 422 e platform_fee_rule_not_configured. No cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra: | Forma | Campos | Uso | |---|---|---| | Regra avulsa | installment, com percentage e/ou fixedAmount | Uma parcela por objeto | | Tabela | installmentRates (curta) ou installments (longa) | A tabela inteira num objeto só | | Fórmula | maxInstallments, base, growth, surcharges, overrides e cap | A Malga gera a tabela a partir de uma regra de crescimento | Qualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o GET trazem a tabela gerada. O mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna 409; para alterar uma tabela existente, use PUT /v1/merchants/{merchantId}/platform-fee.\",\"dateModified\":\"2026-10-08T19:00:35.952Z\",\"isPartOf\":{\"@id\":\"https://docs.malga.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Merchants\",\"item\":\"https://docs.malga.io/api-reference/merchants/listagem-de-merchants-cadastrados\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Platform Fee\",\"item\":\"https://docs.malga.io/api-reference/merchants/ativar-desativar-platform-fee\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Criar regras de platform fee\",\"item\":\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee#apireference\",\"headline\":\"Criar regras de platform fee\",\"name\":\"Criar regras de platform fee\",\"description\":\"Cria as regras de platform fee da subconta. O corpo aceita um array de regras ou um objeto com a lista em rules. As duas formas têm o mesmo efeito. O corpo aceita até 50 objetos de regra, e uma tabela ou fórmula de crédito conta como um objeto. Não existe regra genérica: paymentMethod: default é recusado com 400 e PLATFORM_FEE_DEFAULT_RULE_DISCONTINUED. Cadastre regra para cada método que você vende e, no crédito, para cada parcela. Com a platform fee ligada, a venda num método ou numa parcela sem regra na subconta nem no seller é recusada com 422 e platform_fee_rule_not_configured. No cartão de crédito, a taxa é definida por parcela exata, de 1x a 24x, e cada parcela pode ter um valor diferente. A tabela de crédito pode ser cadastrada de três formas, uma por objeto de regra: | Forma | Campos | Uso | |---|---|---| | Regra avulsa | installment, com percentage e/ou fixedAmount | Uma parcela por objeto | | Tabela | installmentRates (curta) ou installments (longa) | A tabela inteira num objeto só | | Fórmula | maxInstallments, base, growth, surcharges, overrides e cap | A Malga gera a tabela a partir de uma regra de crescimento | Qualquer que seja a forma, a Malga grava uma regra por parcela. A fórmula é calculada no cadastro e não fica armazenada: a resposta e o GET trazem a tabela gerada. O mesmo método não pode aparecer duas vezes como tabela, nem como tabela e regra avulsa, no mesmo corpo. Se alguma parcela já tiver regra, a requisição retorna 409; para alterar uma tabela existente, use PUT /v1/merchants/{merchantId}/platform-fee.\",\"url\":\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee\",\"mainEntityOfPage\":{\"@id\":\"https://docs.malga.io/api-reference/merchants/criar-regras-de-platform-fee#webpage\"},\"dateModified\":\"2026-10-08T19:00:35.952Z\",\"publisher\":{\"@id\":\"https://malga.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.malga.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Malga\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Malga","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"table-layout","href":"https://dashboard.malga.io/"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@gomalga"},{"anchor":"Status Page","icon":"signal-strong","href":"https://status.malga.io/"}]},"tabs":[{"tab":"Documentação","pages":[{"title":"Documentação","href":"/documentations/welcome/introduction"}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/tokenization/v2/intro"}]},{"tab":"Referência da API","groups":[{"group":"Visão Geral","pages":[{"title":"Sobre as APIs da Malga","href":"/api-reference/about-apis"},{"title":"Autenticação","href":"/api-reference/authentication"}]},{"group":"Sub-keys","pages":[{"title":"Criar sub-key","openapi":"post /v1/auth","href":"/api-reference/client-token/criar-nova-chave-publica-para-uso-no-client-side"},{"title":"Remover sub-key","openapi":"delete /v1/auth/{id}","href":"/api-reference/client-token/remover-sub-key"}]},{"group":"Cards","pages":[{"openapi":"get /v1/cards","title":"Listar cartões","href":"/api-reference/cards/listar-cartoes"},{"openapi":"post /v1/cards","title":"Criar novo cartão a partir de token","href":"/api-reference/cards/criar-novo-cartao-a-partir-de-token"},{"openapi":"get /v1/cards/{id}","title":"Recuperar detalhes de cartão","href":"/api-reference/cards/recuperar-detalhes-de-cartao"}]},{"group":"Tokens","pages":[{"openapi":"post /v1/tokens","title":"Criar um novo token","href":"/api-reference/tokens/criar-um-novo-token"}]},{"group":"3DS2 Malga","pages":[{"title":"Criar um novo setup","openapi":"post /v1/charges/3ds/setup","href":"/api-reference/3ds-malga/criar-um-novo-setup"}]},{"group":"Charges","pages":[{"openapi":"get /v1/charges","title":"Listar cobranças","href":"/api-reference/charges/listar-cobrancas"},{"title":"Realizar nova cobrança","openapi":"post /v1/charges","href":"/api-reference/charges/realizar-nova-cobranca"},{"openapi":"get /v1/charges/{id}","title":"Recuperar detalhes de cobrança","href":"/api-reference/charges/recuperar-detalhes-de-cobranca"},{"openapi":"post /v1/charges/{id}","title":"Alterar o status de uma cobrança no ambiente de sandbox","href":"/api-reference/charges/alterar-o-status-de-uma-cobranca-no-ambiente-de-sandbox"},{"openapi":"patch /v1/charges/{id}/antifraud","title":"Alterar o status do antifraude no ambiente de sandbox","href":"/api-reference/charges/alterar-o-status-do-antifraude-no-ambiente-de-sandbox"},{"openapi":"post /v1/charges/{id}/capture","title":"Capturar cobrança pre-autorizada","href":"/api-reference/charges/capturar-cobranca-pre-autorizada"},{"openapi":"post /v1/charges/{id}/void","title":"Estornar cobrança aprovada","href":"/api-reference/charges/estornar-cobranca-aprovada"}]},{"group":"Sessions","pages":[{"openapi":"post /v1/sessions","title":"Criar nova sessão","href":"/api-reference/sessions/criar-nova-sessao"},{"title":"Listar sessões","openapi":"get /v1/sessions","href":"/api-reference/sessions/listar-sessoes"},{"openapi":"get /v1/sessions/{id}","title":"Recuperar detalhes de uma sessão","href":"/api-reference/sessions/recuperar-detalhes-de-uma-sessao"},{"openapi":"patch /v1/sessions/{id}","title":"Atualizar relevância de uma sessão","href":"/api-reference/sessions/atualizar-o-status-de-uma-sessao"},{"openapi":"post /v1/sessions/{id}/charge","title":"Pagar uma sessão","href":"/api-reference/sessions/pagar-uma-sessao"},{"openapi":"post /v1/sessions/{id}/purchase","title":"Pagar uma sessão com múltiplos cartões","href":"/api-reference/sessions/pagar-uma-sessao-com-multiplos-cartoes"},{"openapi":"post /v1/sessions/{id}/cancel","title":"Cancelar uma sessão","href":"/api-reference/sessions/cancelar-uma-sessao"},{"title":"Recuperar o histórico da sessão","openapi":"get /v1/sessions/{id}/history","href":"/api-reference/sessions/recuperar-o-historico-da-sessao"},{"openapi":"get /v1/sessions/{id}/link","title":"Recupera sessão com os dados das configurações da empresa","href":"/api-reference/sessions/recupera-sessao-com-os-dados-das-configuracoes-da-empresa"}]},{"group":"Purchases","pages":[{"openapi":"post /v1/purchases","title":"Criar uma Venda com múltiplos cartões","href":"/api-reference/purchases/criar-nova-venda"},{"openapi":"get /v1/purchases","title":"Listar Vendas","href":"/api-reference/purchases/listar-vendas"},{"openapi":"get /v1/purchases/{id}","title":"Recuperar detalhes de uma Venda","href":"/api-reference/purchases/recuperar-detalhes-de-uma-venda"},{"openapi":"get /v1/purchases/{id}/history","title":"Recuperar o histórico de uma Venda","href":"/api-reference/purchases/recuperar-o-historico-da-venda"},{"openapi":"post /v1/purchases/{id}/capture","title":"Capturar uma Venda pré-autorizada","href":"/api-reference/purchases/capturar-venda-pre-autorizada"},{"openapi":"post /v1/purchases/{id}/void","title":"Cancelar ou estornar uma Venda","href":"/api-reference/purchases/cancelar-ou-estornar-venda"}]},{"group":"Subscriptions","pages":[{"openapi":"post /v1/subscriptions","title":"Criação de uma nova assinatura","href":"/api-reference/subscriptions/criacao-de-uma-nova-assinatura"},{"openapi":"get /v1/subscriptions","title":"Listagem de assinaturas","href":"/api-reference/subscriptions/listagem-de-assinaturas"},{"openapi":"get /v1/subscriptions/{id}","title":"Recuperar detalhes de assinatura","href":"/api-reference/subscriptions/recuperar-detalhes-de-assinatura"},{"openapi":"get /v1/subscriptions/{id}/cycles","title":"Listar cycles de uma assinatura","href":"/api-reference/subscriptions/listagem-de-cycles-de-uma-assinatura"},{"openapi":"get /v1/subscriptions/{id}/cycles/{cycleId}","title":"Recuperar detalhes de um cycle específico","href":"/api-reference/subscriptions/recuperar-detalhes-de-cycle"},{"openapi":"put /v1/subscriptions/{id}","title":"Atualizar assinatura","href":"/api-reference/subscriptions/atualizar-assinatura"},{"openapi":"patch /v1/subscriptions/{id}/cancel","title":"Cancelar assinatura","href":"/api-reference/subscriptions/cancelar-assinatura"},{"openapi":"patch /v1/subscriptions/{id}/pause","title":"Pausar assinatura","href":"/api-reference/subscriptions/pausar-assinatura"},{"openapi":"patch /v1/subscriptions/{id}/resume","title":"Reativar assinatura","href":"/api-reference/subscriptions/reativar-assinatura"},{"openapi":"patch /v1/subscriptions/settings","title":"Atualizar configurações do cliente","href":"/api-reference/subscriptions/atualizar-configuracoes-do-cliente"},{"openapi":"get /v1/subscriptions/settings","title":"Obter configurações do cliente","href":"/api-reference/subscriptions/obter-configuracoes-do-cliente"}]},{"group":"Customers","pages":[{"openapi":"get /v1/customers","title":"Listagem de customers cadastrados","href":"/api-reference/customers/listagem-de-customers-cadastrados"},{"openapi":"post /v1/customers","title":"Criação de novo customer para cobrança","href":"/api-reference/customers/criacao-de-novo-customer-para-cobranca"},{"openapi":"get /v1/customers/{id}","title":"Recuperar detalhes de customer","href":"/api-reference/customers/recuperar-detalhes-de-customer"},{"openapi":"delete /v1/customers/{id}","title":"Deletar customer pelo id","href":"/api-reference/customers/deletar-customer-pelo-id"},{"openapi":"patch /v1/customers/{id}","title":"Atualizar customer pelo id","href":"/api-reference/customers/atualizar-customer-pelo-id"},{"openapi":"get /v1/customers/{customer_id}/cards","title":"Listagem dos cartões do customer","href":"/api-reference/customers/listagem-dos-cartoes-do-customer"},{"openapi":"post /v1/customers/{customer_id}/cards","title":"Adicionar cartão de crédito ao customer","href":"/api-reference/customers/adicionar-cartao-de-credito-ao-customer"}]},{"group":"Merchants","pages":[{"openapi":"get /v1/merchants","title":"Listagem de merchants cadastrados","href":"/api-reference/merchants/listagem-de-merchants-cadastrados"},{"openapi":"post /v1/merchants","title":"Criação de novo merchant para cobrança","href":"/api-reference/merchants/criacao-de-novo-merchant-para-cobranca"},{"openapi":"get /v1/merchants/{id}","title":"Recuperar detalhes de merchant pelo id","href":"/api-reference/merchants/recuperar-detalhes-de-merchant-pelo-id"},{"openapi":"delete /v1/merchants/{id}","title":"Deletar merchant pelo id","href":"/api-reference/merchants/deletar-merchant-pelo-id"},{"openapi":"patch /v1/merchants/{id}","title":"Atualizar configurações de merchant","href":"/api-reference/merchants/atualizar-configuracoes-de-merchant"},{"group":"Platform Fee","pages":[{"openapi":"patch /v1/merchants/{merchantId}/platform-fee/enabled","title":"Ativar ou desativar platform fee do merchant","description":"Liga ou desliga a platform fee da subconta. A flag vale para a subconta inteira e para todos os sellers dela: não existe flag por seller. Para um seller não pagar taxa, cadastre para ele uma regra com `percentage: 0` e `fixedAmount: 0`.\n\nPara ligar, a subconta precisa ter ao menos uma regra ativa própria. Regras de seller não contam: uma subconta só com regras de seller responde `400` com `PLATFORM_FEE_RULES_REQUIRED_TO_ENABLE`. Desligar é sempre aceito.\n","href":"/api-reference/merchants/ativar-desativar-platform-fee"},{"openapi":"post /v1/merchants/{merchantId}/platform-fee","title":"Criar regras de platform fee","href":"/api-reference/merchants/criar-regras-de-platform-fee"},{"openapi":"get /v1/merchants/{merchantId}/platform-fee","title":"Listar regras de platform fee","description":"Retorna as regras gravadas da subconta e dos sellers dela, o estado de cada método e parcela e, quando `simulationAmount` é enviado, a taxa calculada por método de pagamento e, no cartão de crédito, por parcela.\n\n- `rules`: as regras da subconta como estão gravadas. No crédito, uma regra por parcela. As regras de seller não entram aqui.\n- `sellerRules`: um item por seller com ao menos uma regra própria ativa, ordenados por `sellerId`, cada um com as regras dele no mesmo formato de `rules`.\n- `coverage`: o estado de `pix`, `boleto` e de cada parcela de `credit`, para a subconta em `coverage.merchant` e para cada seller de `sellerRules` em `coverage.sellers`, mais avisos em texto.\n- `simulation`: o valor de venda usado nas contas em dinheiro. Só com `simulationAmount`.\n- `methods`: a taxa que a cobrança aplicaria em cada método com a regra da subconta. No crédito, a lista `installments` traz sempre as 24 parcelas. Só com `simulationAmount`.\n- `sellerRules[].methods`: a mesma conta para cada seller, como se ele recebesse o valor simulado inteiro, com `scope` dizendo se vale a regra dele ou a da subconta. Só com `simulationAmount`.\n\n`platformFeeEnabled`, `rules`, `sellerRules` e `coverage` vêm sempre. `simulation`, `methods` e `sellerRules[].methods` só vêm com `simulationAmount`.\n\nEstados de `coverage`:\n\n| Estado | Significado |\n|---|---|\n| `own` | Regra própria que cobra algo |\n| `exempt` | Regra própria com `percentage: 0` e `fixedAmount: 0` |\n| `inherits` | Só em seller. Sem regra própria, segue a regra da subconta |\n| `missing` | Sem regra em nenhum nível. Com a platform fee ligada, a venda é recusada com `platform_fee_rule_not_configured` |\n\nUm seller sem regra própria num método ou parcela em que a subconta está em `missing` também aparece como `missing`, e não como `inherits`.\n\nA taxa incide sobre o valor total da venda, e não sobre o valor de cada parcela: `fee = floor(amount * percentage / 100) + fixedAmount`, e `sellerNet = amount - fee`. Quando a taxa é maior ou igual ao valor simulado, a venda seria recusada, e o item vem com `accepted: false` e `reason: fee_exceeds_amount`.\n\n`source` é sempre `rule`: a taxa vem da regra cadastrada para o método ou a parcela. No crédito, sem regra para a parcela, vale a regra de crédito sem `installment` da subconta, quando ela existe. Essa regra vem da conversão da antiga regra `default` e não é criada pela API. Sem nenhuma regra, o método ou a parcela vem com `accepted: false`, `reason: no_rule_configured` e sem os campos de taxa.\n","href":"/api-reference/merchants/listar-regras-de-platform-fee"},{"openapi":"put /v1/merchants/{merchantId}/platform-fee","title":"Atualizar regras de platform fee","href":"/api-reference/merchants/atualizar-regras-de-platform-fee"},{"openapi":"delete /v1/merchants/{merchantId}/platform-fee/{platformFeeId}","title":"Deletar uma regra de platform fee pelo ID","href":"/api-reference/merchants/deletar-regras-de-platform-fee"},{"openapi":"post /v1/merchants/{merchantId}/sellers/{sellerId}/platform-fee","title":"Criar regras de platform fee de um seller","href":"/api-reference/merchants/criar-regras-de-platform-fee-do-seller"},{"openapi":"get /v1/merchants/{merchantId}/sellers/{sellerId}/platform-fee","title":"Listar regras de platform fee de um seller","href":"/api-reference/merchants/listar-regras-de-platform-fee-do-seller"},{"openapi":"put /v1/merchants/{merchantId}/sellers/{sellerId}/platform-fee","title":"Atualizar regras de platform fee de um seller","href":"/api-reference/merchants/atualizar-regras-de-platform-fee-do-seller"}]}]},{"group":"Providers","pages":[{"openapi":"patch /v1/providers/{id}","title":"Atualizar configurações de provedores do merchant","href":"/api-reference/providers/atualizar-configuracoes-de-provider-de-merchant"}]},{"group":"Vendors","pages":[{"openapi":"get /v1/vendors","title":"Listagem de vendedores paginada","href":"/api-reference/vendors/listagem-paginada-de-vendedores"},{"openapi":"post /v1/vendors","title":"Criação de um novo vendedor","href":"/api-reference/vendors/criacao-de-um-novo-vendedor"},{"openapi":"patch /v1/vendors/{id}","title":"Atualizar um vendedor","href":"/api-reference/vendors/atualizacao-de-vendedor-pelo-id"},{"openapi":"get /v1/vendors/{id}","title":"Recuperar detalhes de um vendedor","href":"/api-reference/vendors/consultar-um-vendedor-pelo-id"},{"openapi":"delete /v1/vendors/{id}","title":"Deletar vededor pelo id","href":"/api-reference/vendors/deletar-vendedor-por-id"}]},{"group":"Sellers","pages":[{"openapi":"post /v1/sellers","title":"Criação de um novo recebedor","href":"/api-reference/sellers/criacao-de-um-novo-recebedor"},{"openapi":"get /v1/sellers/{id}","title":"Consultar um recebedor pelo ID","href":"/api-reference/sellers/consultar-um-recebedor-pelo-id"},{"openapi":"get /v1/sellers","title":"Consultar recebedores por listagem paginada","href":"/api-reference/sellers/consultar-um-recebedor-por-listagem-paginada"},{"openapi":"delete /v1/sellers/{id}","title":"Deletar recebedor por ID","href":"/api-reference/sellers/deletar-recebedor-por-id"},{"openapi":"patch /v1/sellers/{id}","title":"Atualização de recebedor pelo ID","href":"/api-reference/sellers/atualizacao-de-recebedor-pelo-id"},{"openapi":"delete /v1/sellers/{id}/plan","title":"Desvincular plano de venda de um recebedor","href":"/api-reference/sellers/desvincular-plano-de-venda-de-um-recebedor"},{"title":"Alterar status de recebedor no Sandbox","openapi":"post /v1/sellers/{id}/status","href":"/api-reference/sellers/alterar-o-status-de-um-recebedor-no-ambiente-de-sandbox"},{"openapi":"post /v1/sellers/documents","title":"Upload de documento","href":"/api-reference/sellers/upload-de-documento"},{"openapi":"get /v1/sellers/documents","title":"Listar documentos","href":"/api-reference/sellers/listar-documentos"},{"openapi":"get /v1/sellers/documents/{documentId}","title":"Consultar documento","href":"/api-reference/sellers/consultar-documento"},{"openapi":"delete /v1/sellers/documents/{documentId}","title":"Deletar documento","href":"/api-reference/sellers/deletar-documento"},{"openapi":"get /v1/sellers/registration-reviews","title":"Listar processos de revisão cadastral","href":"/api-reference/sellers/listar-processos-de-revisao-cadastral"},{"openapi":"get /v1/sellers/{sellerId}/registration-reviews","title":"Listar processos de revisão cadastral de um recebedor","href":"/api-reference/sellers/listar-processos-de-revisao-cadastral-de-um-recebedor"},{"openapi":"post /v1/sellers/{sellerId}/registration-reviews/{processId}/submit","title":"Enviar os dados coletados de uma revisão cadastral","href":"/api-reference/sellers/enviar-dados-de-revisao-cadastral"}]},{"group":"Payouts","pages":[{"openapi":"get /v1/payouts/balance","title":"Consultar saldo","href":"/api-reference/payouts/consultar-saldo-de-payouts"},{"openapi":"get /v1/payouts/payment-batches","title":"Listar repasses","href":"/api-reference/payouts/listar-payment-batches"},{"openapi":"get /v1/payouts/payment-batches/{id}","title":"Consultar repasse pelo ID","href":"/api-reference/payouts/consultar-payment-batch-pelo-id"},{"openapi":"get /v1/payouts/payment-batches/{id}/orders","title":"Listar ordens de pagamento de um repasse","href":"/api-reference/payouts/listar-ordens-de-um-payment-batch"},{"openapi":"get /v1/payouts/orders","title":"Listar ordens de pagamento","href":"/api-reference/payouts/listar-ordens"},{"openapi":"get /v1/payouts/orders/{id}","title":"Consultar ordem de pagamento pelo ID","href":"/api-reference/payouts/consultar-ordem-pelo-id"}]},{"group":"Plans","pages":[{"openapi":"get /v1/subacquirer/plans","title":"Listar planos de venda","href":"/api-reference/subacquirer/listar-planos-de-venda"}]},{"group":"Prepayment","tag":"BETA","pages":[{"openapi":"get /v1/subacquirer/prepayment/receivables","title":"Consultar recebíveis disponíveis para antecipação","href":"/api-reference/prepayment/consultar-recebiveis-disponiveis-para-antecipacao"},{"openapi":"post /v1/subacquirer/prepayment","title":"Simular antecipação","href":"/api-reference/prepayment/simular-antecipacao"},{"openapi":"get /v1/subacquirer/prepayment","title":"Listar antecipações","href":"/api-reference/prepayment/listar-antecipacoes"},{"openapi":"get /v1/subacquirer/prepayment/{id}","title":"Recuperar detalhes de uma antecipação","href":"/api-reference/prepayment/consultar-antecipacao"},{"openapi":"post /v1/subacquirer/prepayment/{id}/commit","title":"Confirmar antecipação (aceite)","href":"/api-reference/prepayment/confirmar-antecipacao"}]},{"group":"Receipts","pages":[{"openapi":"post /v1/subacquirer/{transactionId}/receipts","title":"Gerar documento comprobatório de estorno","href":"/api-reference/receipts/gerar-documento-comprobatorio"}]},{"group":"Flows","pages":[{"openapi":"get /v1/flows","title":"Recuperar todos os fluxos paginado","href":"/api-reference/flows/recuperar-todos-os-fluxos-paginado"},{"openapi":"get /v1/flows/{id}","title":"Consultar um fluxo pelo id","href":"/api-reference/flows/consultar-um-fluxo-pelo-id"}]},{"group":"Webhooks","pages":[{"openapi":"get /v1/webhooks","title":"Listagem de webhooks cadastrados","href":"/api-reference/webhooks/listagem-de-webhooks-cadastrados"},{"openapi":"post /v1/webhooks","title":"Criação de novo webhook para notificação","href":"/api-reference/webhooks/criacao-de-novo-webhook-para-notificacao"},{"openapi":"get /v1/webhooks/{id}","title":"Recuperar detalhes de webhook","href":"/api-reference/webhooks/recuperar-detalhes-de-webhook"},{"openapi":"delete /v1/webhooks/{id}","title":"Deletar webhook pelo id","href":"/api-reference/webhooks/deletar-webhook-pelo-id"},{"openapi":"patch /v1/webhooks/{id}","title":"Atualizar webhook pelo id","href":"/api-reference/webhooks/atualizar-webhook-pelo-id"}]},{"group":"Settings","pages":[{"title":"Configurar link de pagamento personalizado","openapi":"post /v1/settings","href":"/api-reference/settings/criar-configuracao-de-link-de-pagamento"},{"title":"Recuperar configuração de link de pagamento personalizado","openapi":"get /v1/settings","href":"/api-reference/settings/recuperar-configuracao-de-link-de-pagamento"},{"title":"Editar configuração de link de pagamento","openapi":"patch /v1/settings","href":"/api-reference/settings/editar-configuracao-de-link-de-pagamento"},{"title":"Cadastrar códigos de facilitador por bandeira","openapi":"put /v1/settings/payment-facilitators","href":"/api-reference/settings/cadastrar-codigos-de-facilitador-por-bandeira"},{"title":"Listar códigos de facilitador por bandeira","openapi":"get /v1/settings/payment-facilitators","href":"/api-reference/settings/listar-codigos-de-facilitador-por-bandeira"}]}]},{"tab":"Analytics","pages":[{"title":"Analytics","href":"/analytics/intro"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/2026-10-29-Release-Notes"}]}]},"basePath":"","title":"Criar regras de platform fee - Malga","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-DcUtcwZ_.js","dist-CJ9Oly2E.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-C5EfhVm0.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","AssistantPageLink-Mk6P3qvh.js"]}