Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa.
Com funding.mode = INVENTORY não há cotação por remessa: não envie quoteId; envie funding.inventoryId e destinationAmount (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote.
Em INVENTORY, senderQuote é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. senderQuote não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, senderQuote é opcional e esses fluxos não mudam.
Unique key to prevent duplicate creation or execution.
Required string length: 8 - 128
Corpo
application/json
Campos condicionais por funding.mode. PREFUNDED e CREDIT: quoteId obrigatório; destinationAmount e funding.inventoryId não aceitos; senderQuote opcional. INVENTORY: funding.inventoryId e destinationAmount obrigatórios; quoteId não aceito; senderQuote obrigatório. Violação retorna VALIDATION_ERROR (400) com o campo em details.
Somente INVENTORY (obrigatório). Valor em BRL que o beneficiário recebe; é o volume reservado no lote. O equivalente em USD é calculado na taxa do lote.
Dados da operação de câmbio da MSB com o remetente (usuário final). Obrigatório em INVENTORY. Não é informativo: é gravado na remessa como recebido e usado na formalização da operação. Não altera valores da remessa, taxa do lote nem cobrança. Não confundir com a cotação da LB Pay (quoteId) nem com a taxa do Inventory Lot.
"Remessa criada; câmbio e Pix ainda não confirmados."
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Javali Bridge","colors":{"primary":"#01758e","light":"#2fc7b4","dark":"#01758e"},"logo":{"light":"https://mintcdn.com/javali-gateway/u6tZ5OJFLDqJM4Zu/images/logo_claro_horizontal.png?fit=max\u0026auto=format\u0026n=u6tZ5OJFLDqJM4Zu\u0026q=85\u0026s=3ece6de2f0f2cbc827ab24f49af178ac","dark":"https://mintcdn.com/javali-gateway/u6tZ5OJFLDqJM4Zu/images/logo_escuro_horizontal.png?fit=max\u0026auto=format\u0026n=u6tZ5OJFLDqJM4Zu\u0026q=85\u0026s=cfbaee09fe23884f338241c45b3037d0"},"favicon":{"light":"https://mintcdn.com/javali-gateway/u6tZ5OJFLDqJM4Zu/images/simbolo_claro.png?fit=max\u0026auto=format\u0026n=u6tZ5OJFLDqJM4Zu\u0026q=85\u0026s=a4d3e3db13949d32b56bae7553739a7e","dark":"https://mintcdn.com/javali-gateway/u6tZ5OJFLDqJM4Zu/images/simbolo_escuro.png?fit=max\u0026auto=format\u0026n=u6tZ5OJFLDqJM4Zu\u0026q=85\u0026s=28fb8cbea6d515f1a33050b314afee28"},"api":{"openapi":"api-reference/openapi.yaml","playground":{"display":"simple"}},"fonts":{"family":"Plus Jakarta Sans"},"icons":{"library":"lucide"},"styling":{"latex":false},"contextual":{"options":["copy","view","claude","chatgpt","grok","cursor","mcp"],"display":"header"},"navigation":{"languages":[{"language":"en","default":true,"href":"en/guides/overview"},{"language":"pt-BR","href":"pt-BR/guides/overview"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"javali-gateway","hasAudioNarration":false,"actualSubdomain":"javali-gateway","customDomains":["developers.javalibridge.com"],"gitSource":{"type":"github","owner":"javali-holding","repo":"bridge","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ae4d6eec08b8c12f5dc0c02"},"chroma":{"latestBuiltDeploymentHistoryId":"6aeb901cb8fd7618a50e168c","collectionId":"922b83e8-c537-4eea-9745-f7ee60e4cbb3","liveDeploymentHistoryId":"6aeb901cb8fd7618a50e168c","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb901cb8fd7618a50e168c","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"en","tag":"API reference","count":33},{"language":"pt-BR","tag":"Referência da API","count":33},{"language":"en","tag":"Guides","count":20},{"language":"pt-BR","tag":"Guias","count":20},{"language":"en","tag":"Remittances","count":11},{"language":"pt-BR","tag":"Remessas","count":11},{"language":"en","tag":"Webhooks","count":5},{"language":"en","tag":"Get started","count":5},{"language":"pt-BR","tag":"Webhooks","count":5},{"language":"pt-BR","tag":"Primeiros passos","count":5},{"language":"en","tag":"Beneficiaries","count":4},{"language":"en","tag":"Senders","count":4},{"language":"en","tag":"Records and balances","count":4},{"language":"en","tag":"Operations","count":4},{"language":"pt-BR","tag":"Beneficiários","count":4},{"language":"pt-BR","tag":"Remetentes","count":4},{"language":"pt-BR","tag":"Cadastros e saldos","count":4},{"language":"pt-BR","tag":"Operação","count":4},{"language":"en","tag":"Inventories","count":3},{"language":"pt-BR","tag":"Inventories","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"pt-BR/api-reference/create-withdrawal","slug":"/pt-BR/api-reference/create-withdrawal","pageMetadata":{"title":"Criar withdrawal","openapi":"api-reference/openapi.yaml POST /v1/remittances/withdrawals","description":"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa.\n\nCom `funding.mode = INVENTORY` não há cotação por remessa: não envie `quoteId`; envie `funding.inventoryId` e `destinationAmount` (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote.\n\nEm INVENTORY, `senderQuote` é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. `senderQuote` não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, `senderQuote` é opcional e esses fluxos não mudam.","href":"/pt-BR/api-reference/create-withdrawal"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Com \", _jsx(_components.code, {\n children: \"funding.mode = INVENTORY\"\n }), \" não há cotação por remessa: não envie \", _jsx(_components.code, {\n children: \"quoteId\"\n }), \"; envie \", _jsx(_components.code, {\n children: \"funding.inventoryId\"\n }), \" e \", _jsx(_components.code, {\n children: \"destinationAmount\"\n }), \" (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Em INVENTORY, \", _jsx(_components.code, {\n children: \"senderQuote\"\n }), \" é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. \", _jsx(_components.code, {\n children: \"senderQuote\"\n }), \" não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, \", _jsx(_components.code, {\n children: \"senderQuote\"\n }), \" é opcional e esses fluxos não mudam.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Criar withdrawal","openapi":"api-reference/openapi.yaml POST /v1/remittances/withdrawals","description":"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa.\n\nCom `funding.mode = INVENTORY` não há cotação por remessa: não envie `quoteId`; envie `funding.inventoryId` e `destinationAmount` (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote.\n\nEm INVENTORY, `senderQuote` é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. `senderQuote` não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, `senderQuote` é opcional e esses fluxos não mudam.","href":"/pt-BR/api-reference/create-withdrawal"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Remittances"],"operationId":"createWithdrawal","summary":"Create a withdrawal to a beneficiary (creates a remittance)","description":"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa.\n\nCom `funding.mode = INVENTORY` não há cotação por remessa: não envie `quoteId`; envie `funding.inventoryId` e `destinationAmount` (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote.\n\nEm INVENTORY, `senderQuote` é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. `senderQuote` não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, `senderQuote` é opcional e esses fluxos não mudam.","parameters":["2e6757fd-b0af-42c9-801a-a8837d7f45ff"],"requestBody":"5de9abbb-5edc-4b11-84a3-b65e8b0b74ad","responses":{"201":"f83926d6-46b9-443e-8e30-e91794facf68","400":"51d42e9d-465f-4b16-bb5f-ef03785525aa","404":"7ab4b761-b1c5-4841-ac9b-83e926914b62","409":"941da39f-df2b-4a40-a185-ee8b771a771e","422":"8ec1e6b3-4723-4732-9be3-ebcdeaf27fdd","429":"6a5b0ce0-90a9-4635-88ed-c4e48db87bd9"},"method":"post","type":"path","servers":["e1c7cca6-0a6d-45dc-af55-117cd631be06","4f5ef475-2ad4-43b9-ac16-0194e67712b8"],"security":["447b5079-5f74-4819-b781-78fe3aa17175"],"path":"/v1/remittances/withdrawals","baseUrlOptions":["https://api.lbpay.example.com","https://sandbox.lbpay.example.com"],"title":"Create a withdrawal to a beneficiary (creates a remittance)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"2e6757fd-b0af-42c9-801a-a8837d7f45ff":{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique key to prevent duplicate creation or execution.","schema":{"type":"string","minLength":8,"maxLength":128,"isRequired":true,"description":"Unique key to prevent duplicate creation or execution.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Campos condicionais por `funding.mode`. PREFUNDED e CREDIT: `quoteId` obrigatório; `destinationAmount` e `funding.inventoryId` não aceitos; `senderQuote` opcional. INVENTORY: `funding.inventoryId` e `destinationAmount` obrigatórios; `quoteId` não aceito; `senderQuote` obrigatório. Violação retorna VALIDATION_ERROR (400) com o campo em `details`.","required":["senderId","externalId","funding","beneficiaryId","purpose","senderRelationship"],"properties":{"senderId":{"type":"string","description":"Remetente cadastrado, ACTIVE e com nível mínimo LEVEL_1.","isRequired":true,"uniqueKey":"senderId","typeLabel":"string"},"externalId":{"type":"string","maxLength":128,"description":"Único por cliente.","isRequired":true,"uniqueKey":"externalId","typeLabel":"string"},"funding":{"type":"object","required":["mode"],"description":"`inventoryId` é obrigatório quando mode = INVENTORY e não é aceito nas demais modalidades (VALIDATION_ERROR).","properties":{"mode":{"type":"string","enum":["PREFUNDED","CREDIT","INVENTORY"],"description":"PREFUNDED: saldo USD pré-fundado. CREDIT: limite de crédito. INVENTORY: volume de câmbio contratado em um Inventory Lot. Enum extensível.","isRequired":true,"uniqueKey":"funding.mode","typeLabel":"enum\u003cstring>"},"inventoryId":{"type":"string","description":"Inventory Lot que financia a remessa. Somente mode = INVENTORY. O lote informado é o único consumido.","uniqueKey":"funding.inventoryId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"funding","typeLabel":"object"},"beneficiaryId":{"type":"string","isRequired":true,"uniqueKey":"beneficiaryId","typeLabel":"string"},"purpose":{"type":"string","enum":["FAMILY_MAINTENANCE","GIFT","PERSONAL_SAVINGS","EDUCATION","MEDICAL","SERVICES_PAYMENT","GOODS_PAYMENT","SALARY","OTHER"],"description":"Finalidade declarada; mapeada internamente para a natureza da operação de câmbio. Enum extensível.","isRequired":true,"uniqueKey":"purpose","typeLabel":"enum\u003cstring>"},"senderRelationship":{"type":"string","enum":["SELF","FAMILY","FRIEND","EMPLOYER","EMPLOYEE","BUSINESS_PARTNER","OTHER"],"description":"Relação do remetente com o beneficiário.","isRequired":true,"uniqueKey":"senderRelationship","typeLabel":"enum\u003cstring>"},"quoteId":{"type":"string","description":"Obrigatório em PREFUNDED e CREDIT; não aceito em INVENTORY. Cotação usage = REMITTANCE, AVAILABLE e não expirada. Define valores e taxa da remessa.","uniqueKey":"quoteId","typeLabel":"string"},"destinationAmount":{"type":"string","description":"Somente INVENTORY (obrigatório). Valor em BRL que o beneficiário recebe; é o volume reservado no lote. O equivalente em USD é calculado na taxa do lote.","pattern":"^(0\\.(0[1-9]|[1-9][0-9]?)|[1-9][0-9]*(\\.[0-9]{1,2})?)$","example":"1000.00","uniqueKey":"destinationAmount","typeLabel":"string"},"senderQuote":{"type":"object","required":["rate","source","destination"],"description":"Dados da operação de câmbio da MSB com o remetente (usuário final). Obrigatório em INVENTORY. Não é informativo: é gravado na remessa como recebido e usado na formalização da operação. Não altera valores da remessa, taxa do lote nem cobrança. Não confundir com a cotação da LB Pay (`quoteId`) nem com a taxa do Inventory Lot.\n\nA estrutura pode receber novos campos.","properties":{"rate":{"type":"string","description":"Taxa BRL por USD aplicada pela MSB ao remetente.","pattern":"^[0-9]+(\\.[0-9]{1,8})?$","example":"5.43210000","isRequired":true,"uniqueKey":"senderQuote.rate","typeLabel":"string"},"source":{"type":"object","description":"Valor em USD da operação para o remetente.","required":["currency","amount"],"properties":{"currency":{"type":"string","enum":["USD","BRL"],"description":"v1 suporta apenas USD e BRL.","isRequired":true,"uniqueKey":"senderQuote.source.currency","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","pattern":"^[0-9]+(\\.[0-9]{1,2})?$","description":"Decimal como string; nunca float binário.","example":"1000.00","isRequired":true,"uniqueKey":"senderQuote.source.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"senderQuote.source","typeLabel":"object"},"destination":{"type":"object","description":"Valor em BRL informado ao remetente.","required":["currency","amount"],"properties":{"currency":{"type":"string","enum":["USD","BRL"],"description":"v1 suporta apenas USD e BRL.","isRequired":true,"uniqueKey":"senderQuote.destination.currency","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","pattern":"^[0-9]+(\\.[0-9]{1,2})?$","description":"Decimal como string; nunca float binário.","example":"1000.00","isRequired":true,"uniqueKey":"senderQuote.destination.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"senderQuote.destination","typeLabel":"object"},"quotedAt":{"type":"string","format":"date-time","description":"Momento em que a MSB cotou para o remetente.","uniqueKey":"senderQuote.quotedAt","typeLabel":"string\u003cdate-time>"},"reference":{"type":"string","maxLength":128,"description":"Identificador da cotação no sistema da MSB.","uniqueKey":"senderQuote.reference","typeLabel":"string"}},"uniqueKey":"senderQuote","typeLabel":"object"},"paymentInstructionId":{"type":"string","description":"Opcional se o beneficiário tiver exatamente uma instrução APPROVED.","uniqueKey":"paymentInstructionId","typeLabel":"string"},"purposeDescription":{"type":"string","maxLength":140,"description":"Obrigatório quando purpose = OTHER.","uniqueKey":"purposeDescription","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"credit":{"title":"credit","value":{"quoteId":"qt_01J9Z3","senderId":"snd_789","externalId":"remittance-123","funding":{"mode":"CREDIT"},"beneficiaryId":"ben_123","paymentInstructionId":"pi_456","purpose":"FAMILY_MAINTENANCE","senderRelationship":"FAMILY"}},"prefunded":{"title":"prefunded","value":{"quoteId":"qt_01J9Z4","senderId":"snd_789","externalId":"remittance-124","funding":{"mode":"PREFUNDED"},"beneficiaryId":"ben_124","purpose":"GIFT","senderRelationship":"FRIEND"}},"inventory":{"title":"inventory","value":{"senderId":"snd_789","externalId":"remittance-125","destinationAmount":"10000.00","funding":{"mode":"INVENTORY","inventoryId":"inv_01JA2B"},"beneficiaryId":"ben_125","purpose":"FAMILY_MAINTENANCE","senderRelationship":"FAMILY","senderQuote":{"rate":"5.55000000","source":{"currency":"USD","amount":"1801.80"},"destination":{"currency":"BRL","amount":"10000.00"},"quotedAt":"2026-11-04T14:00:00Z","reference":"msb-quote-8812"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"f83926d6-46b9-443e-8e30-e91794facf68":{"description":"Remittance created and accepted for processing","content":{"application/json":{"schema":{"type":"object","required":["remittanceId","type","quoteId","senderId","status","externalId"],"properties":{"remittanceId":{"type":"string","isRequired":true,"uniqueKey":"remittanceId","typeLabel":"string"},"type":{"type":"string","enum":["WITHDRAWAL"],"description":"Operação que originou a remessa. WITHDRAWAL: envio do remetente para um beneficiário no Brasil via Pix. Enum extensível: ignore tipos desconhecidos.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"quoteId":{"oneOf":[{"type":"string","description":"null somente quando fundingMode = INVENTORY.","isRequired":true,"uniqueKey":"quoteId.oneOf.0","typeLabel":"string"},{"type":"null","description":"null somente quando fundingMode = INVENTORY.","isRequired":true,"uniqueKey":"quoteId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"quoteId","typeLabel":"string | null"},"senderId":{"type":"string","isRequired":true,"uniqueKey":"senderId","typeLabel":"string"},"externalId":{"type":"string","isRequired":true,"uniqueKey":"externalId","typeLabel":"string"},"status":{"type":"string","enum":["PROCESSING","ON_HOLD"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"inventoryId":{"oneOf":[{"type":"string","description":"Preenchido somente quando fundingMode = INVENTORY.","uniqueKey":"inventoryId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Preenchido somente quando fundingMode = INVENTORY.","uniqueKey":"inventoryId.oneOf.1","typeLabel":"null"}],"uniqueKey":"inventoryId","typeLabel":"string | null"},"fundingMode":{"type":"string","enum":["PREFUNDED","CREDIT","INVENTORY"],"uniqueKey":"fundingMode","typeLabel":"enum\u003cstring>"},"message":{"type":"string","example":"Remessa criada; câmbio e Pix ainda não confirmados.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"remittanceId":"\u003cstring>","type":"WITHDRAWAL","quoteId":"\u003cstring>","senderId":"\u003cstring>","externalId":"\u003cstring>","status":"PROCESSING","inventoryId":"\u003cstring>","fundingMode":"PREFUNDED","message":"Remessa criada; câmbio e Pix ainda não confirmados."}}},"exampleType":"generated"}},"exampleType":"generated"},"51d42e9d-465f-4b16-bb5f-ef03785525aa":{"description":"Requisição inválida (VALIDATION_ERROR)","content":{"application/json":{"schema":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Código do catálogo `x-error-catalog`. Extensível: trate códigos desconhecidos pelo HTTP status.","example":"QUOTE_EXPIRED","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"},"retryable":{"type":"boolean","description":"Indica se a mesma requisição pode ser repetida (com a mesma Idempotency-Key).","uniqueKey":"retryable","typeLabel":"boolean"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"details.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"details.items.[INDEX].reason","typeLabel":"string"}},"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"QUOTE_EXPIRED","message":"\u003cstring>","requestId":"\u003cstring>","retryable":true,"details":[{"field":"\u003cstring>","reason":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"7ab4b761-b1c5-4841-ac9b-83e926914b62":{"description":"Recurso não encontrado no tenant autenticado","content":{"application/json":{"schema":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Código do catálogo `x-error-catalog`. Extensível: trate códigos desconhecidos pelo HTTP status.","example":"QUOTE_EXPIRED","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"},"retryable":{"type":"boolean","description":"Indica se a mesma requisição pode ser repetida (com a mesma Idempotency-Key).","uniqueKey":"retryable","typeLabel":"boolean"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"details.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"details.items.[INDEX].reason","typeLabel":"string"}},"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"QUOTE_EXPIRED","message":"\u003cstring>","requestId":"\u003cstring>","retryable":true,"details":[{"field":"\u003cstring>","reason":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"941da39f-df2b-4a40-a185-ee8b771a771e":{"description":"Conflito de estado ou de idempotência","content":{"application/json":{"schema":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Código do catálogo `x-error-catalog`. Extensível: trate códigos desconhecidos pelo HTTP status.","example":"QUOTE_EXPIRED","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"},"retryable":{"type":"boolean","description":"Indica se a mesma requisição pode ser repetida (com a mesma Idempotency-Key).","uniqueKey":"retryable","typeLabel":"boolean"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"details.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"details.items.[INDEX].reason","typeLabel":"string"}},"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"QUOTE_EXPIRED","message":"\u003cstring>","requestId":"\u003cstring>","retryable":true,"details":[{"field":"\u003cstring>","reason":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"8ec1e6b3-4723-4732-9be3-ebcdeaf27fdd":{"description":"Requisição rejeitada por regra de negócio","content":{"application/json":{"schema":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Código do catálogo `x-error-catalog`. Extensível: trate códigos desconhecidos pelo HTTP status.","example":"QUOTE_EXPIRED","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"},"retryable":{"type":"boolean","description":"Indica se a mesma requisição pode ser repetida (com a mesma Idempotency-Key).","uniqueKey":"retryable","typeLabel":"boolean"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"details.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"details.items.[INDEX].reason","typeLabel":"string"}},"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"QUOTE_EXPIRED","message":"\u003cstring>","requestId":"\u003cstring>","retryable":true,"details":[{"field":"\u003cstring>","reason":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"6a5b0ce0-90a9-4635-88ed-c4e48db87bd9":{"description":"Limite de requisições excedido (RATE_LIMITED)","headers":{"Retry-After":{"description":"Segundos até nova tentativa","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Código do catálogo `x-error-catalog`. Extensível: trate códigos desconhecidos pelo HTTP status.","example":"QUOTE_EXPIRED","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"},"retryable":{"type":"boolean","description":"Indica se a mesma requisição pode ser repetida (com a mesma Idempotency-Key).","uniqueKey":"retryable","typeLabel":"boolean"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"details.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"details.items.[INDEX].reason","typeLabel":"string"}},"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"QUOTE_EXPIRED","message":"\u003cstring>","requestId":"\u003cstring>","retryable":true,"details":[{"field":"\u003cstring>","reason":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"447b5079-5f74-4819-b781-78fe3aa17175":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"e1c7cca6-0a6d-45dc-af55-117cd631be06":{"url":"https://api.lbpay.example.com","description":"Example production URL - replace before use"},"4f5ef475-2ad4-43b9-ac16-0194e67712b8":{"url":"https://sandbox.lbpay.example.com","description":"Example sandbox URL - replace before use"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"javali-gateway","siteName":"Javali Bridge","title":"Criar withdrawal - Javali Bridge","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/en/api-reference/create-withdrawal","matchLevel":1},"pt-BR":{"href":"/pt-BR/api-reference/create-withdrawal","matchLevel":0}}},"lastModified":"2026-11-04T20:05:53.888Z","originalFileLocation":"pt-BR/api-reference/create-withdrawal.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa. Com funding.mode = INVENTORY não há cotação por remessa: não envie quoteId; envie funding.inventoryId e destinationAmount (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote. Em INVENTORY, senderQuote é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. senderQuote não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, senderQuote é opcional e esses fluxos não mudam.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Javali Bridge\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/javali-gateway/Rjdr5ILyetQAYt56/_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/javali-gateway/Rjdr5ILyetQAYt56/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/javali-gateway/Rjdr5ILyetQAYt56/_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/javali-gateway/Rjdr5ILyetQAYt56/_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/javali-gateway/Rjdr5ILyetQAYt56/_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/javali-gateway/Rjdr5ILyetQAYt56/_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/javali-gateway/Rjdr5ILyetQAYt56/_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/javali-gateway/Rjdr5ILyetQAYt56/_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/javali-gateway/Rjdr5ILyetQAYt56/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Criar withdrawal - Javali Bridge\">\u003cmeta data-mint-head property=\"og:description\" content=\"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa. Com funding.mode = INVENTORY não há cotação por remessa: não envie quoteId; envie funding.inventoryId e destinationAmount (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote. Em INVENTORY, senderQuote é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. senderQuote não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, senderQuote é opcional e esses fluxos não mudam.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Javali Bridge\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://javali-gateway.mintlify.app/_mintlify/api/og/v2?division=Remessas\u0026amp;title=Criar+withdrawal\u0026amp;description=Realiza+um+withdrawal+do+remetente+para+um+benefici%C3%A1rio+a+partir+de+uma+cota%C3%A7%C3%A3o%2C+criando+uma+remessa+do+tipo+WITHDRAWAL+de+forma+idempotente.+A+cota%C3%A7%C3%A3o+informa+\u0026amp;theme=c4bea45393e4cc5a4a7f2c03\u0026amp;signature=145ac6c71a0b6e92e4ba73f991f6dc29da3ddeda830a06e62ce7e4b8bff28895\">\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 withdrawal - Javali Bridge\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa. Com funding.mode = INVENTORY não há cotação por remessa: não envie quoteId; envie funding.inventoryId e destinationAmount (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote. Em INVENTORY, senderQuote é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. senderQuote não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, senderQuote é opcional e esses fluxos não mudam.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://javali-gateway.mintlify.app/_mintlify/api/og/v2?division=Remessas\u0026amp;title=Criar+withdrawal\u0026amp;description=Realiza+um+withdrawal+do+remetente+para+um+benefici%C3%A1rio+a+partir+de+uma+cota%C3%A7%C3%A3o%2C+criando+uma+remessa+do+tipo+WITHDRAWAL+de+forma+idempotente.+A+cota%C3%A7%C3%A3o+informa+\u0026amp;theme=c4bea45393e4cc5a4a7f2c03\u0026amp;signature=145ac6c71a0b6e92e4ba73f991f6dc29da3ddeda830a06e62ce7e4b8bff28895\">\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/javali-gateway/Rjdr5ILyetQAYt56/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Javali Bridge\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#01758e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt-BR/api-reference/create-withdrawal.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://developers.javalibridge.com/en/api-reference/create-withdrawal\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://developers.javalibridge.com/en/api-reference/create-withdrawal\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.javalibridge.com/#organization\",\"name\":\"Javali Bridge\",\"url\":\"https://developers.javalibridge.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/javali-gateway/u6tZ5OJFLDqJM4Zu/images/logo_claro_horizontal.png?fit=max\u0026auto=format\u0026n=u6tZ5OJFLDqJM4Zu\u0026q=85\u0026s=3ece6de2f0f2cbc827ab24f49af178ac\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.javalibridge.com#website\",\"name\":\"Javali Bridge\",\"url\":\"https://developers.javalibridge.com\",\"publisher\":{\"@id\":\"https://developers.javalibridge.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal#webpage\",\"url\":\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal\",\"name\":\"Criar withdrawal\",\"description\":\"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa. Com funding.mode = INVENTORY não há cotação por remessa: não envie quoteId; envie funding.inventoryId e destinationAmount (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote. Em INVENTORY, senderQuote é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. senderQuote não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, senderQuote é opcional e esses fluxos não mudam.\",\"dateModified\":\"2026-11-04T20:05:53.888Z\",\"isPartOf\":{\"@id\":\"https://developers.javalibridge.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Javali Bridge\",\"item\":\"https://developers.javalibridge.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Criar withdrawal\",\"item\":\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal#apireference\",\"headline\":\"Criar withdrawal\",\"name\":\"Criar withdrawal\",\"description\":\"Realiza um withdrawal do remetente para um beneficiário a partir de uma cotação, criando uma remessa do tipo WITHDRAWAL de forma idempotente. A cotação informa apenas o preço; remetente, beneficiário, finalidade e funding são informados aqui. Na criação a LB Pay, de forma síncrona: valida a cotação (existente, AVAILABLE e não expirada); valida o remetente (existe, ACTIVE, nível LEVEL_1 ou superior) e seus limites por janela; valida beneficiário e instrução de pagamento, inclusive a coerência entre relationshipType do beneficiário e senderRelationship; executa checkKey (existência da chave Pix); aplica os limites por transação e diário da conta, do remetente (24h/30d/180d) e do beneficiário (24h/30d/180d); reserva atomicamente o limite de crédito (CREDIT) ou o saldo USD pré-fundado (PREFUNDED) e marca a cotação como USED. Screening, câmbio, funding e Pix seguem de forma assíncrona e são notificados por webhook. Uma cotação só pode ser usada por uma remessa. Com funding.mode = INVENTORY não há cotação por remessa: não envie quoteId; envie funding.inventoryId e destinationAmount (BRL que o beneficiário recebe). A LB Pay valida o Inventory (existente no tenant, ACTIVE, dentro da validade e com saldo disponível em BRL suficiente), aplica as demais validações acima e reserva atomicamente o volume no lote, sem seleção automática de outro lote. Valores e taxa da remessa vêm do lote. Em INVENTORY, senderQuote é obrigatório: são os dados da operação de câmbio da MSB com o remetente. A LB Pay valida a estrutura, grava o objeto como recebido na remessa e o usa na formalização da operação. senderQuote não altera os valores da remessa nem a taxa do lote. Em PREFUNDED e CREDIT, senderQuote é opcional e esses fluxos não mudam.\",\"url\":\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal\",\"mainEntityOfPage\":{\"@id\":\"https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal#webpage\"},\"dateModified\":\"2026-11-04T20:05:53.888Z\",\"publisher\":{\"@id\":\"https://developers.javalibridge.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.javalibridge.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Javali Bridge\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Javali Bridge","nav":{"global":null,"languages":[{"language":"en","default":true,"pages":[{"title":"en","href":"/en/api-reference/create-withdrawal"}]},{"language":"pt-BR","tabs":[{"tab":"Guias","pages":[{"title":"Guias","href":"/pt-BR/guides/overview"}]},{"tab":"Referência da API","groups":[{"group":"Visão geral","pages":[{"title":"Convenções da API","href":"/pt-BR/api-reference/conventions"}]},{"group":"Saúde","pages":[{"title":"Status da plataforma","openapi":"api-reference/openapi.yaml GET /v1/health","href":"/pt-BR/api-reference/get-health"}]},{"group":"Cotações","pages":[{"title":"Solicitar cotação","openapi":"api-reference/openapi.yaml POST /v1/fx/quotes","href":"/pt-BR/api-reference/create-fx-quote"},{"title":"Consultar cotação","openapi":"api-reference/openapi.yaml GET /v1/fx/quotes/{quoteId}","href":"/pt-BR/api-reference/get-fx-quote"}]},{"group":"Inventories","pages":[{"title":"Criar Inventory Lot","openapi":"api-reference/openapi.yaml POST /v1/inventories","href":"/pt-BR/api-reference/create-inventory"},{"title":"Listar Inventory Lots","openapi":"api-reference/openapi.yaml GET /v1/inventories","href":"/pt-BR/api-reference/list-inventories"},{"title":"Consultar Inventory Lot","openapi":"api-reference/openapi.yaml GET /v1/inventories/{inventoryId}","description":"Taxa, validade e saldos do lote (total, disponível, reservado e utilizado). As remessas que consumiram o lote estão em GET /v1/remittances?inventoryId=.","href":"/pt-BR/api-reference/get-inventory"}]},{"group":"Remessas","pages":[{"title":"Criar withdrawal","openapi":"api-reference/openapi.yaml POST /v1/remittances/withdrawals","href":"/pt-BR/api-reference/create-withdrawal"},{"title":"Listar remessas","openapi":"api-reference/openapi.yaml GET /v1/remittances","description":null,"href":"/pt-BR/api-reference/list-remittances"},{"title":"Consultar remessa","openapi":"api-reference/openapi.yaml GET /v1/remittances/{remittanceId}","href":"/pt-BR/api-reference/get-remittance"},{"title":"Consultar comprovante Pix","openapi":"api-reference/openapi.yaml GET /v1/remittances/{remittanceId}/receipt","href":"/pt-BR/api-reference/get-remittance-receipt"}]},{"group":"Remetentes","pages":[{"title":"Cadastrar remetente","openapi":"api-reference/openapi.yaml POST /v1/senders","href":"/pt-BR/api-reference/create-sender"},{"title":"Listar remetentes","openapi":"api-reference/openapi.yaml GET /v1/senders","href":"/pt-BR/api-reference/list-senders"},{"title":"Consultar remetente","openapi":"api-reference/openapi.yaml GET /v1/senders/{senderId}","href":"/pt-BR/api-reference/get-sender"},{"title":"Atualizar remetente","openapi":"api-reference/openapi.yaml PATCH /v1/senders/{senderId}","href":"/pt-BR/api-reference/update-sender"}]},{"group":"Beneficiários","pages":[{"title":"Cadastrar beneficiário","openapi":"api-reference/openapi.yaml POST /v1/beneficiaries","href":"/pt-BR/api-reference/create-beneficiary"},{"title":"Listar beneficiários","openapi":"api-reference/openapi.yaml GET /v1/beneficiaries","href":"/pt-BR/api-reference/list-beneficiaries"},{"title":"Consultar beneficiário","openapi":"api-reference/openapi.yaml GET /v1/beneficiaries/{beneficiaryId}","href":"/pt-BR/api-reference/get-beneficiary"},{"title":"Atualizar beneficiário","openapi":"api-reference/openapi.yaml PATCH /v1/beneficiaries/{beneficiaryId}","href":"/pt-BR/api-reference/update-beneficiary"}]},{"group":"Linha de crédito","pages":[{"title":"Consultar linha de crédito","openapi":"api-reference/openapi.yaml GET /v1/credit-line","href":"/pt-BR/api-reference/get-credit-line"}]},{"group":"Limites","pages":[{"title":"Limites da conta","openapi":"api-reference/openapi.yaml GET /v1/limits","href":"/pt-BR/api-reference/get-account-limits"},{"title":"Limites do remetente","openapi":"api-reference/openapi.yaml GET /v1/limits/senders/{senderId}","href":"/pt-BR/api-reference/get-sender-limits"},{"title":"Limites do beneficiário","openapi":"api-reference/openapi.yaml GET /v1/limits/beneficiaries/{beneficiaryId}","href":"/pt-BR/api-reference/get-beneficiary-limits"}]},{"group":"Wallets","pages":[{"title":"Listar wallets","openapi":"api-reference/openapi.yaml GET /v1/wallets","href":"/pt-BR/api-reference/list-wallets"},{"title":"Extrato das wallets","openapi":"api-reference/openapi.yaml GET /v1/wallets/transactions","href":"/pt-BR/api-reference/list-wallet-transactions"}]},{"group":"Liquidações","pages":[{"title":"Listar lotes de liquidação","openapi":"api-reference/openapi.yaml GET /v1/settlements","href":"/pt-BR/api-reference/list-settlements"},{"title":"Consultar lote de liquidação","openapi":"api-reference/openapi.yaml GET /v1/settlements/{settlementId}","href":"/pt-BR/api-reference/get-settlement"},{"title":"Listar itens do lote","openapi":"api-reference/openapi.yaml GET /v1/settlements/{settlementId}/items","href":"/pt-BR/api-reference/list-settlement-items"}]},{"group":"Webhooks","pages":[{"title":"Listar endpoints de webhook","openapi":"api-reference/openapi.yaml GET /v1/webhooks","href":"/pt-BR/api-reference/list-webhooks"},{"title":"Registrar endpoint de webhook","openapi":"api-reference/openapi.yaml POST /v1/webhooks","href":"/pt-BR/api-reference/create-webhook"},{"title":"Remover endpoint de webhook","openapi":"api-reference/openapi.yaml DELETE /v1/webhooks/{webhookId}","href":"/pt-BR/api-reference/delete-webhook"},{"title":"Listar entregas de webhook","openapi":"api-reference/openapi.yaml GET /v1/webhooks/{webhookId}/deliveries","href":"/pt-BR/api-reference/list-webhook-deliveries"},{"title":"Reenviar entrega de webhook","openapi":"api-reference/openapi.yaml POST /v1/webhooks/{webhookId}/deliveries/{deliveryId}/retry","href":"/pt-BR/api-reference/retry-webhook-delivery"}]}]}]}]},"basePath":"","title":"Criar withdrawal - Javali Bridge","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}