Wise · Capability

Wise Platform API — recipient

Wise Platform API — recipient. 11 operations. Lead operation: List recipient accounts (v1). Self-contained Naftiko capability covering one Wise business surface.

Run with Naftiko Wiserecipient

What You Can Do

GET
Recipientlistv1 — List recipient accounts (v1)
/v1/v1/accounts
POST
Recipientcreate — Create a recipient account
/v1/v1/accounts
GET
Recipientgetv1 — Get account by ID (v1)
/v1/v1/accounts/{accountid}
POST
Recipientcompatibilitycheckv1 — Check account and quote compatibility (v1)
/v1/v1/accounts/{accountid}/quotes/{quoteid}/compatibility
GET
Recipientaccountrequirementsget — Retrieve recipient account requirements dynamically
/v1/v1/quotes/{quoteid}/account-requirements
POST
Recipientaccountrequirementspost — Retrieve recipient account requirements dynamically (step-by-step)
/v1/v1/quotes/{quoteid}/account-requirements
GET
Recipientlist — List recipient accounts
/v1/v2/accounts
GET
Recipientget — Get account by ID
/v1/v2/accounts/{accountid}
DELETE
Recipientdeactivate — Deactivate a recipient account
/v1/v2/accounts/{accountid}
PATCH
Recipientconfirmationsaccept — Accept confirmation outcomes
/v1/v2/accounts/{accountid}/confirmations
POST
Recipientcompatibilitycheck — Check account and quote compatibility
/v1/v2/accounts/{accountid}/quotes/{quoteid}/compatibility

MCP Tools

list-recipient-accounts-v1

List recipient accounts (v1)

read-only idempotent
create-recipient-account

Create a recipient account

get-account-id-v1

Get account by ID (v1)

read-only idempotent
check-account-and-quote-compatibility

Check account and quote compatibility (v1)

read-only
retrieve-recipient-account-requirements-dynamically

Retrieve recipient account requirements dynamically

read-only idempotent
retrieve-recipient-account-requirements-dynamically-2

Retrieve recipient account requirements dynamically (step-by-step)

read-only
list-recipient-accounts

List recipient accounts

read-only idempotent
get-account-id

Get account by ID

read-only idempotent
deactivate-recipient-account

Deactivate a recipient account

idempotent
accept-confirmation-outcomes

Accept confirmation outcomes

idempotent
check-account-and-quote-compatibility-2

Check account and quote compatibility

read-only

Capability Spec

platform-recipient.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Wise Platform API — recipient
  description: 'Wise Platform API — recipient. 11 operations. Lead operation: List recipient accounts (v1). Self-contained
    Naftiko capability covering one Wise business surface.'
  tags:
  - Wise
  - recipient
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WISE_API_KEY: WISE_API_KEY
capability:
  consumes:
  - type: http
    namespace: platform-recipient
    baseUri: https://api.wise.com
    description: Wise Platform API — recipient business capability. Self-contained, no shared references.
    resources:
    - name: v1-accounts
      path: /v1/accounts
      operations:
      - name: recipientlistv1
        method: GET
        description: List recipient accounts (v1)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: profileId
          in: query
          type: integer
          description: Filter by personal or business profile, returns only those owned by this profile.
        - name: currency
          in: query
          type: string
          description: Filter responses by currency.
      - name: recipientcreate
        method: POST
        description: Create a recipient account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: refund
          in: query
          type: boolean
          description: When true, creates a refund recipient account.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-accounts-accountId
      path: /v1/accounts/{accountId}
      operations:
      - name: recipientgetv1
        method: GET
        description: Get account by ID (v1)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: path
          type: integer
          description: Recipient account ID.
          required: true
    - name: v1-accounts-accountId-quotes-quoteId-compatibility
      path: /v1/accounts/{accountId}/quotes/{quoteId}/compatibility
      operations:
      - name: recipientcompatibilitycheckv1
        method: POST
        description: Check account and quote compatibility (v1)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: path
          type: integer
          description: Recipient account ID.
          required: true
        - name: quoteId
          in: path
          type: string
          description: Quote ID.
          required: true
    - name: v1-quotes-quoteId-account-requirements
      path: /v1/quotes/{quoteId}/account-requirements
      operations:
      - name: recipientaccountrequirementsget
        method: GET
        description: Retrieve recipient account requirements dynamically
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: quoteId
          in: path
          type: string
          description: Quote ID (supports long or UUID based IDs).
          required: true
        - name: originatorLegalEntityType
          in: query
          type: string
          description: Legal entity type override for the actual sender.
        - name: addressRequired
          in: query
          type: boolean
          description: Set to true so address is always required.
        - name: Accept-Minor-Version
          in: header
          type: integer
          description: Set to `1` to enable v1.1.
      - name: recipientaccountrequirementspost
        method: POST
        description: Retrieve recipient account requirements dynamically (step-by-step)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: quoteId
          in: path
          type: string
          description: Quote ID (supports long or UUID based IDs).
          required: true
        - name: originatorLegalEntityType
          in: query
          type: string
          description: Legal entity type override for the actual sender.
        - name: Accept-Minor-Version
          in: header
          type: integer
          description: Set to `1` to enable v1.1.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v2-accounts
      path: /v2/accounts
      operations:
      - name: recipientlist
        method: GET
        description: List recipient accounts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creatorId
          in: query
          type: integer
          description: Creator of the account.
        - name: profileId
          in: query
          type: integer
          description: Filter by personal or business profile. Defaults to the personal profile.
        - name: profile
          in: query
          type: integer
          description: Alias for `profileId`.
        - name: currency
          in: query
          type: string
          description: Filter responses by currency. Comma separated values supported (e.g. `USD,GBP`).
        - name: active
          in: query
          type: boolean
          description: Filter by whether this profile is active. Defaults to `true`.
        - name: type
          in: query
          type: string
          description: Filter responses by account type. Comma separated values supported (e.g. `iban,swift_code`).
        - name: ownedByCustomer
          in: query
          type: boolean
          description: Filter to get accounts owned by the customer or not. Leave out to get all accounts.
        - name: size
          in: query
          type: integer
          description: Page size of the response. Defaults to a maximum of 20.
        - name: seekPosition
          in: query
          type:
          - integer
          - 'null'
          description: Account ID to start the page of responses from. `null` if no more pages.
        - name: sort
          in: query
          type: string
          description: Sorting strategy for the response. Comma separated options - firstly either `id` or `currency`, followed
            by `asc` or `desc` for direction.
    - name: v2-accounts-accountId
      path: /v2/accounts/{accountId}
      operations:
      - name: recipientget
        method: GET
        description: Get account by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: path
          type: integer
          description: Recipient account ID.
          required: true
      - name: recipientdeactivate
        method: DELETE
        description: Deactivate a recipient account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: path
          type: integer
          description: Recipient account ID.
          required: true
    - name: v2-accounts-accountId-confirmations
      path: /v2/accounts/{accountId}/confirmations
      operations:
      - name: recipientconfirmationsaccept
        method: PATCH
        description: Accept confirmation outcomes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: path
          type: integer
          description: Recipient account ID.
          required: true
        - name: quoteId
          in: query
          type: string
          description: Required if the confirmation result contained a `quoteId`.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v2-accounts-accountId-quotes-quoteId-compatibility
      path: /v2/accounts/{accountId}/quotes/{quoteId}/compatibility
      operations:
      - name: recipientcompatibilitycheck
        method: POST
        description: Check account and quote compatibility
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: path
          type: integer
          description: Recipient account ID.
          required: true
        - name: quoteId
          in: path
          type: string
          description: Quote ID.
          required: true
    authentication:
      type: bearer
      token: '{{env.WISE_API_KEY}}'
  exposes:
  - type: rest
    namespace: platform-recipient-rest
    port: 8080
    description: REST adapter for Wise Platform API — recipient. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/accounts
      name: v1-accounts
      description: REST surface for v1-accounts.
      operations:
      - method: GET
        name: recipientlistv1
        description: List recipient accounts (v1)
        call: platform-recipient.recipientlistv1
        with:
          profileId: rest.profileId
          currency: rest.currency
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: recipientcreate
        description: Create a recipient account
        call: platform-recipient.recipientcreate
        with:
          refund: rest.refund
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/accounts/{accountid}
      name: v1-accounts-accountid
      description: REST surface for v1-accounts-accountId.
      operations:
      - method: GET
        name: recipientgetv1
        description: Get account by ID (v1)
        call: platform-recipient.recipientgetv1
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/accounts/{accountid}/quotes/{quoteid}/compatibility
      name: v1-accounts-accountid-quotes-quoteid-compatibility
      description: REST surface for v1-accounts-accountId-quotes-quoteId-compatibility.
      operations:
      - method: POST
        name: recipientcompatibilitycheckv1
        description: Check account and quote compatibility (v1)
        call: platform-recipient.recipientcompatibilitycheckv1
        with:
          accountId: rest.accountId
          quoteId: rest.quoteId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/quotes/{quoteid}/account-requirements
      name: v1-quotes-quoteid-account-requirements
      description: REST surface for v1-quotes-quoteId-account-requirements.
      operations:
      - method: GET
        name: recipientaccountrequirementsget
        description: Retrieve recipient account requirements dynamically
        call: platform-recipient.recipientaccountrequirementsget
        with:
          quoteId: rest.quoteId
          originatorLegalEntityType: rest.originatorLegalEntityType
          addressRequired: rest.addressRequired
          Accept-Minor-Version: rest.Accept-Minor-Version
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: recipientaccountrequirementspost
        description: Retrieve recipient account requirements dynamically (step-by-step)
        call: platform-recipient.recipientaccountrequirementspost
        with:
          quoteId: rest.quoteId
          originatorLegalEntityType: rest.originatorLegalEntityType
          Accept-Minor-Version: rest.Accept-Minor-Version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/accounts
      name: v2-accounts
      description: REST surface for v2-accounts.
      operations:
      - method: GET
        name: recipientlist
        description: List recipient accounts
        call: platform-recipient.recipientlist
        with:
          creatorId: rest.creatorId
          profileId: rest.profileId
          profile: rest.profile
          currency: rest.currency
          active: rest.active
          type: rest.type
          ownedByCustomer: rest.ownedByCustomer
          size: rest.size
          seekPosition: rest.seekPosition
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/accounts/{accountid}
      name: v2-accounts-accountid
      description: REST surface for v2-accounts-accountId.
      operations:
      - method: GET
        name: recipientget
        description: Get account by ID
        call: platform-recipient.recipientget
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: recipientdeactivate
        description: Deactivate a recipient account
        call: platform-recipient.recipientdeactivate
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/accounts/{accountid}/confirmations
      name: v2-accounts-accountid-confirmations
      description: REST surface for v2-accounts-accountId-confirmations.
      operations:
      - method: PATCH
        name: recipientconfirmationsaccept
        description: Accept confirmation outcomes
        call: platform-recipient.recipientconfirmationsaccept
        with:
          accountId: rest.accountId
          quoteId: rest.quoteId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/accounts/{accountid}/quotes/{quoteid}/compatibility
      name: v2-accounts-accountid-quotes-quoteid-compatibility
      description: REST surface for v2-accounts-accountId-quotes-quoteId-compatibility.
      operations:
      - method: POST
        name: recipientcompatibilitycheck
        description: Check account and quote compatibility
        call: platform-recipient.recipientcompatibilitycheck
        with:
          accountId: rest.accountId
          quoteId: rest.quoteId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-recipient-mcp
    port: 9090
    transport: http
    description: MCP adapter for Wise Platform API — recipient. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-recipient-accounts-v1
      description: List recipient accounts (v1)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-recipient.recipientlistv1
      with:
        profileId: tools.profileId
        currency: tools.currency
      outputParameters:
      - type: object
        mapping: $.
    - name: create-recipient-account
      description: Create a recipient account
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-recipient.recipientcreate
      with:
        refund: tools.refund
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-id-v1
      description: Get account by ID (v1)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-recipient.recipientgetv1
      with:
        accountId: tools.accountId
      outputParameters:
      - type: object
        mapping: $.
    - name: check-account-and-quote-compatibility
      description: Check account and quote compatibility (v1)
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: platform-recipient.recipientcompatibilitycheckv1
      with:
        accountId: tools.accountId
        quoteId: tools.quoteId
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-recipient-account-requirements-dynamically
      description: Retrieve recipient account requirements dynamically
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-recipient.recipientaccountrequirementsget
      with:
        quoteId: tools.quoteId
        originatorLegalEntityType: tools.originatorLegalEntityType
        addressRequired: tools.addressRequired
        Accept-Minor-Version: tools.Accept-Minor-Version
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-recipient-account-requirements-dynamically-2
      description: Retrieve recipient account requirements dynamically (step-by-step)
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: platform-recipient.recipientaccountrequirementspost
      with:
        quoteId: tools.quoteId
        originatorLegalEntityType: tools.originatorLegalEntityType
        Accept-Minor-Version: tools.Accept-Minor-Version
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-recipient-accounts
      description: List recipient accounts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-recipient.recipientlist
      with:
        creatorId: tools.creatorId
        profileId: tools.profileId
        profile: tools.profile
        currency: tools.currency
        active: tools.active
        type: tools.type
        ownedByCustomer: tools.ownedByCustomer
        size: tools.size
        seekPosition: tools.seekPosition
        sort: tools.sort
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-id
      description: Get account by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-recipient.recipientget
      with:
        accountId: tools.accountId
      outputParameters:
      - type: object
        mapping: $.
    - name: deactivate-recipient-account
      description: Deactivate a recipient account
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: platform-recipient.recipientdeactivate
      with:
        accountId: tools.accountId
      outputParameters:
      - type: object
        mapping: $.
    - name: accept-confirmation-outcomes
      description: Accept confirmation outcomes
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-recipient.recipientconfirmationsaccept
      with:
        accountId: tools.accountId
        quoteId: tools.quoteId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: check-account-and-quote-compatibility-2
      description: Check account and quote compatibility
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: platform-recipient.recipientcompatibilitycheck
      with:
        accountId: tools.accountId
        quoteId: tools.quoteId
      outputParameters:
      - type: object
        mapping: $.