naftiko: 1.0.0-alpha2 info: label: Endpoints — subpackage_payouts description: 'Endpoints — subpackage_payouts. 14 operations. Lead operation: Change the auto-withdrawal setting. Self-contained Naftiko capability covering one Deel business surface.' tags: - Deel - subpackage_payouts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DEEL_API_KEY: DEEL_API_KEY capability: consumes: - type: http namespace: platform-endpoints-subpackage-payouts baseUri: https://api.letsdeel.com/rest/v2 description: Endpoints — subpackage_payouts business capability. Self-contained, no shared references. resources: - name: payouts-auto-withdrawal-setting path: /payouts/auto-withdrawal-setting operations: - name: changetheautowithdrawalsettingv20260101 method: PATCH description: Change the auto-withdrawal setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: gettheautowithdrawalsetting method: GET description: Get the auto-withdrawal setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: payouts-balances path: /payouts/balances operations: - name: listcontractorbalances method: GET description: List Contractor Balances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: payouts-contractors-methods path: /payouts/contractors/methods operations: - name: createbanktransfermethod method: POST description: Create a bank transfer method outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: getpayoutmethods method: GET description: Fetch all payout methods outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: is_default in: query type: boolean description: Filter by whether the method is default. If true, only default methods will be returned. - name: Authorization in: header type: string description: '## Authentication' required: true - name: payouts-contractors-methods-bank_transfers-requirements path: /payouts/contractors/methods/bank_transfers/requirements operations: - name: getbanktransferrequirements method: GET description: Get bank transfer requirements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: country in: query type: string description: Country code required: true - name: currency in: query type: string description: Currency code required: true - name: amount in: query type: number description: Amount for calculating fees, if not provided, the default amount of 100.00 is used - name: Authorization in: header type: string description: '## Authentication' required: true - name: payouts-contractors-methods-bank_transfers-supported_routes path: /payouts/contractors/methods/bank_transfers/supported_routes operations: - name: getbanktransfersupportedroutes method: GET description: Get bank transfer supported routes for contractor outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: payouts-contractors-methods-id path: /payouts/contractors/methods/{id} operations: - name: updatebanktransfermethod method: PUT description: Update a bank transfer method outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Method unique identifier required: true - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: payouts-contractors-settings-auto_withdraw path: /payouts/contractors/settings/auto_withdraw operations: - name: updateautowithdrawsetting method: POST description: Update auto withdraw setting for contractor outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: payouts-employees-methods path: /payouts/employees/methods operations: - name: addeditbankdetails method: POST description: Add/Edit Bank Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: getbankdetails method: GET description: Get Bank Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: payouts-employees-methods-bank_transfers-requirements path: /payouts/employees/methods/bank_transfers/requirements operations: - name: dynamicrequirements method: POST description: Dynamic Requirements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: payouts-employees-methods-id path: /payouts/employees/methods/{id} operations: - name: deletebankdetails method: DELETE description: Delete Bank Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: method ID required: true - name: Authorization in: header type: string description: '## Authentication' required: true - name: payouts-withdrawals path: /payouts/withdrawals operations: - name: requesttowithdrawfunds method: POST description: Request to withdraw funds outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.DEEL_API_KEY}}' exposes: - type: rest namespace: platform-endpoints-subpackage-payouts-rest port: 8080 description: REST adapter for Endpoints — subpackage_payouts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/payouts/auto-withdrawal-setting name: payouts-auto-withdrawal-setting description: REST surface for payouts-auto-withdrawal-setting. operations: - method: PATCH name: changetheautowithdrawalsettingv20260101 description: Change the auto-withdrawal setting call: platform-endpoints-subpackage-payouts.changetheautowithdrawalsettingv20260101 with: Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - method: GET name: gettheautowithdrawalsetting description: Get the auto-withdrawal setting call: platform-endpoints-subpackage-payouts.gettheautowithdrawalsetting with: Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/payouts/balances name: payouts-balances description: REST surface for payouts-balances. operations: - method: GET name: listcontractorbalances description: List Contractor Balances call: platform-endpoints-subpackage-payouts.listcontractorbalances with: Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/payouts/contractors/methods name: payouts-contractors-methods description: REST surface for payouts-contractors-methods. operations: - method: POST name: createbanktransfermethod description: Create a bank transfer method call: platform-endpoints-subpackage-payouts.createbanktransfermethod with: Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getpayoutmethods description: Fetch all payout methods call: platform-endpoints-subpackage-payouts.getpayoutmethods with: is_default: rest.is_default Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/payouts/contractors/methods/bank-transfers/requirements name: payouts-contractors-methods-bank-transfers-requirements description: REST surface for payouts-contractors-methods-bank_transfers-requirements. operations: - method: GET name: getbanktransferrequirements description: Get bank transfer requirements call: platform-endpoints-subpackage-payouts.getbanktransferrequirements with: country: rest.country currency: rest.currency amount: rest.amount Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/payouts/contractors/methods/bank-transfers/supported-routes name: payouts-contractors-methods-bank-transfers-supported-routes description: REST surface for payouts-contractors-methods-bank_transfers-supported_routes. operations: - method: GET name: getbanktransfersupportedroutes description: Get bank transfer supported routes for contractor call: platform-endpoints-subpackage-payouts.getbanktransfersupportedroutes with: Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/payouts/contractors/methods/{id} name: payouts-contractors-methods-id description: REST surface for payouts-contractors-methods-id. operations: - method: PUT name: updatebanktransfermethod description: Update a bank transfer method call: platform-endpoints-subpackage-payouts.updatebanktransfermethod with: id: rest.id Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - path: /v1/payouts/contractors/settings/auto-withdraw name: payouts-contractors-settings-auto-withdraw description: REST surface for payouts-contractors-settings-auto_withdraw. operations: - method: POST name: updateautowithdrawsetting description: Update auto withdraw setting for contractor call: platform-endpoints-subpackage-payouts.updateautowithdrawsetting with: Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - path: /v1/payouts/employees/methods name: payouts-employees-methods description: REST surface for payouts-employees-methods. operations: - method: POST name: addeditbankdetails description: Add/Edit Bank Details call: platform-endpoints-subpackage-payouts.addeditbankdetails with: Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getbankdetails description: Get Bank Details call: platform-endpoints-subpackage-payouts.getbankdetails with: Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/payouts/employees/methods/bank-transfers/requirements name: payouts-employees-methods-bank-transfers-requirements description: REST surface for payouts-employees-methods-bank_transfers-requirements. operations: - method: POST name: dynamicrequirements description: Dynamic Requirements call: platform-endpoints-subpackage-payouts.dynamicrequirements with: Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - path: /v1/payouts/employees/methods/{id} name: payouts-employees-methods-id description: REST surface for payouts-employees-methods-id. operations: - method: DELETE name: deletebankdetails description: Delete Bank Details call: platform-endpoints-subpackage-payouts.deletebankdetails with: id: rest.id Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/payouts/withdrawals name: payouts-withdrawals description: REST surface for payouts-withdrawals. operations: - method: POST name: requesttowithdrawfunds description: Request to withdraw funds call: platform-endpoints-subpackage-payouts.requesttowithdrawfunds with: Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: platform-endpoints-subpackage-payouts-mcp port: 9090 transport: http description: MCP adapter for Endpoints — subpackage_payouts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: change-auto-withdrawal-setting description: Change the auto-withdrawal setting hints: readOnly: false destructive: false idempotent: true call: platform-endpoints-subpackage-payouts.changetheautowithdrawalsettingv20260101 with: Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: get-auto-withdrawal-setting description: Get the auto-withdrawal setting hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-payouts.gettheautowithdrawalsetting with: Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: list-contractor-balances description: List Contractor Balances hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-payouts.listcontractorbalances with: Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: create-bank-transfer-method description: Create a bank transfer method hints: readOnly: false destructive: false idempotent: false call: platform-endpoints-subpackage-payouts.createbanktransfermethod with: Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: fetch-all-payout-methods description: Fetch all payout methods hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-payouts.getpayoutmethods with: is_default: tools.is_default Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: get-bank-transfer-requirements description: Get bank transfer requirements hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-payouts.getbanktransferrequirements with: country: tools.country currency: tools.currency amount: tools.amount Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: get-bank-transfer-supported-routes description: Get bank transfer supported routes for contractor hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-payouts.getbanktransfersupportedroutes with: Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: update-bank-transfer-method description: Update a bank transfer method hints: readOnly: false destructive: false idempotent: true call: platform-endpoints-subpackage-payouts.updatebanktransfermethod with: id: tools.id Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: update-auto-withdraw-setting-contractor description: Update auto withdraw setting for contractor hints: readOnly: false destructive: false idempotent: false call: platform-endpoints-subpackage-payouts.updateautowithdrawsetting with: Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: add-edit-bank-details description: Add/Edit Bank Details hints: readOnly: false destructive: false idempotent: false call: platform-endpoints-subpackage-payouts.addeditbankdetails with: Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: get-bank-details description: Get Bank Details hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-payouts.getbankdetails with: Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: dynamic-requirements description: Dynamic Requirements hints: readOnly: false destructive: false idempotent: false call: platform-endpoints-subpackage-payouts.dynamicrequirements with: Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: delete-bank-details description: Delete Bank Details hints: readOnly: false destructive: true idempotent: true call: platform-endpoints-subpackage-payouts.deletebankdetails with: id: tools.id Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: request-withdraw-funds description: Request to withdraw funds hints: readOnly: false destructive: false idempotent: false call: platform-endpoints-subpackage-payouts.requesttowithdrawfunds with: Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $.