Deel · Capability

Endpoints — subpackage_payouts

Endpoints — subpackage_payouts. 14 operations. Lead operation: Change the auto-withdrawal setting. Self-contained Naftiko capability covering one Deel business surface.

Run with Naftiko Deelsubpackage_payouts

What You Can Do

PATCH
Changetheautowithdrawalsettingv20260101 — Change the auto-withdrawal setting
/v1/payouts/auto-withdrawal-setting
GET
Gettheautowithdrawalsetting — Get the auto-withdrawal setting
/v1/payouts/auto-withdrawal-setting
GET
Listcontractorbalances — List Contractor Balances
/v1/payouts/balances
POST
Createbanktransfermethod — Create a bank transfer method
/v1/payouts/contractors/methods
GET
Getpayoutmethods — Fetch all payout methods
/v1/payouts/contractors/methods
GET
Getbanktransferrequirements — Get bank transfer requirements
/v1/payouts/contractors/methods/bank-transfers/requirements
GET
Getbanktransfersupportedroutes — Get bank transfer supported routes for contractor
/v1/payouts/contractors/methods/bank-transfers/supported-routes
PUT
Updatebanktransfermethod — Update a bank transfer method
/v1/payouts/contractors/methods/{id}
POST
Updateautowithdrawsetting — Update auto withdraw setting for contractor
/v1/payouts/contractors/settings/auto-withdraw
POST
Addeditbankdetails — Add/Edit Bank Details
/v1/payouts/employees/methods
GET
Getbankdetails — Get Bank Details
/v1/payouts/employees/methods
POST
Dynamicrequirements — Dynamic Requirements
/v1/payouts/employees/methods/bank-transfers/requirements
DELETE
Deletebankdetails — Delete Bank Details
/v1/payouts/employees/methods/{id}
POST
Requesttowithdrawfunds — Request to withdraw funds
/v1/payouts/withdrawals

MCP Tools

change-auto-withdrawal-setting

Change the auto-withdrawal setting

idempotent
get-auto-withdrawal-setting

Get the auto-withdrawal setting

read-only idempotent
list-contractor-balances

List Contractor Balances

read-only idempotent
create-bank-transfer-method

Create a bank transfer method

fetch-all-payout-methods

Fetch all payout methods

read-only idempotent
get-bank-transfer-requirements

Get bank transfer requirements

read-only idempotent
get-bank-transfer-supported-routes

Get bank transfer supported routes for contractor

read-only idempotent
update-bank-transfer-method

Update a bank transfer method

idempotent
update-auto-withdraw-setting-contractor

Update auto withdraw setting for contractor

add-edit-bank-details

Add/Edit Bank Details

get-bank-details

Get Bank Details

read-only idempotent
dynamic-requirements

Dynamic Requirements

delete-bank-details

Delete Bank Details

idempotent
request-withdraw-funds

Request to withdraw funds

Capability Spec

platform-endpoints-subpackage-payouts.yaml Raw ↑
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: $.