Wise · Capability
Wise Platform API — disputes
Wise Platform API — disputes. 8 operations. Lead operation: Upload dispute file (v3). Self-contained Naftiko capability covering one Wise business surface.
What You Can Do
POST
Disputefileuploadv3
— Upload dispute file (v3)
/v1/v3/spend/profiles/{profileid}/dispute-form/file
POST
Disputedynamicflowstep
— Dispute dynamic flow entry point
/v1/v3/spend/profiles/{profileid}/dispute-form/flows/step/{scheme}/{reason}
POST
Disputesubmit
— Submit dispute
/v1/v3/spend/profiles/{profileid}/dispute-form/flows/{scheme}/{reason}
GET
Disputereasonsget
— Retrieve dispute reasons
/v1/v3/spend/profiles/{profileid}/dispute-form/reasons
GET
Disputelist
— List disputes
/v1/v3/spend/profiles/{profileid}/disputes
GET
Disputeget
— Get dispute
/v1/v3/spend/profiles/{profileid}/disputes/{disputeid}
PUT
Disputewithdraw
— Withdraw dispute
/v1/v3/spend/profiles/{profileid}/disputes/{disputeid}/status
POST
Disputefileupload
— Upload dispute file
/v1/v4/spend/profiles/{profileid}/dispute-form/file
MCP Tools
upload-dispute-file-v3
Upload dispute file (v3)
dispute-dynamic-flow-entry-point
Dispute dynamic flow entry point
submit-dispute
Submit dispute
retrieve-dispute-reasons
Retrieve dispute reasons
read-only
idempotent
list-disputes
List disputes
read-only
idempotent
get-dispute
Get dispute
read-only
idempotent
withdraw-dispute
Withdraw dispute
idempotent
upload-dispute-file
Upload dispute file
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Wise Platform API — disputes
description: 'Wise Platform API — disputes. 8 operations. Lead operation: Upload dispute file (v3). Self-contained Naftiko
capability covering one Wise business surface.'
tags:
- Wise
- disputes
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
WISE_API_KEY: WISE_API_KEY
capability:
consumes:
- type: http
namespace: platform-disputes
baseUri: https://api.wise.com
description: Wise Platform API — disputes business capability. Self-contained, no shared references.
resources:
- name: v3-spend-profiles-profileId-dispute-form-file
path: /v3/spend/profiles/{profileId}/dispute-form/file
operations:
- name: disputefileuploadv3
method: POST
description: Upload dispute file (v3)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: profileId
in: path
type: integer
description: Your profile ID.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v3-spend-profiles-profileId-dispute-form-flows-step-scheme-reason
path: /v3/spend/profiles/{profileId}/dispute-form/flows/step/{scheme}/{reason}
operations:
- name: disputedynamicflowstep
method: POST
description: Dispute dynamic flow entry point
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: profileId
in: path
type: integer
description: Your profile ID.
required: true
- name: scheme
in: path
type: string
description: The network of the card that was used to make this transaction.
required: true
- name: reason
in: path
type: string
description: Dispute reason code supplied by the [dispute reasons endpoint](/api-reference/disputes/disputereasonsget).
required: true
- name: transactionId
in: query
type: string
description: The ID of the transaction being disputed. Can be a comma-separated list of IDs if the reason code has
the `supportsMultipleTransactions` flag.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v3-spend-profiles-profileId-dispute-form-flows-scheme-reason
path: /v3/spend/profiles/{profileId}/dispute-form/flows/{scheme}/{reason}
operations:
- name: disputesubmit
method: POST
description: Submit dispute
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: profileId
in: path
type: integer
description: Your profile ID.
required: true
- name: scheme
in: path
type: string
description: The network of the card that was used to make this transaction.
required: true
- name: reason
in: path
type: string
description: Dispute reason code supplied by the [dispute reasons endpoint](/api-reference/disputes/disputereasonsget).
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v3-spend-profiles-profileId-dispute-form-reasons
path: /v3/spend/profiles/{profileId}/dispute-form/reasons
operations:
- name: disputereasonsget
method: GET
description: Retrieve dispute reasons
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: profileId
in: path
type: integer
description: Your profile ID.
required: true
- name: v3-spend-profiles-profileId-disputes
path: /v3/spend/profiles/{profileId}/disputes
operations:
- name: disputelist
method: GET
description: List disputes
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: profileId
in: path
type: integer
description: Your profile ID.
required: true
- name: status
in: query
type: string
description: Filter by dispute status.
- name: transactionId
in: query
type: integer
description: Filter by card transaction ID.
- name: pageSize
in: query
type: integer
description: The maximum number of disputes to return per page. Between 10 and 100, defaults to 10.
- name: pageNumber
in: query
type: integer
description: The page number to retrieve. Must be at least 1, defaults to 1.
- name: v3-spend-profiles-profileId-disputes-disputeId
path: /v3/spend/profiles/{profileId}/disputes/{disputeId}
operations:
- name: disputeget
method: GET
description: Get dispute
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: profileId
in: path
type: integer
description: Your profile ID.
required: true
- name: disputeId
in: path
type: string
description: The dispute ID.
required: true
- name: v3-spend-profiles-profileId-disputes-disputeId-status
path: /v3/spend/profiles/{profileId}/disputes/{disputeId}/status
operations:
- name: disputewithdraw
method: PUT
description: Withdraw dispute
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: profileId
in: path
type: integer
description: Your profile ID.
required: true
- name: disputeId
in: path
type: string
description: The dispute ID.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v4-spend-profiles-profileId-dispute-form-file
path: /v4/spend/profiles/{profileId}/dispute-form/file
operations:
- name: disputefileupload
method: POST
description: Upload dispute file
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: profileId
in: path
type: integer
description: Your profile ID.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: bearer
token: '{{env.WISE_API_KEY}}'
exposes:
- type: rest
namespace: platform-disputes-rest
port: 8080
description: REST adapter for Wise Platform API — disputes. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v3/spend/profiles/{profileid}/dispute-form/file
name: v3-spend-profiles-profileid-dispute-form-file
description: REST surface for v3-spend-profiles-profileId-dispute-form-file.
operations:
- method: POST
name: disputefileuploadv3
description: Upload dispute file (v3)
call: platform-disputes.disputefileuploadv3
with:
profileId: rest.profileId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/spend/profiles/{profileid}/dispute-form/flows/step/{scheme}/{reason}
name: v3-spend-profiles-profileid-dispute-form-flows-step-scheme-reason
description: REST surface for v3-spend-profiles-profileId-dispute-form-flows-step-scheme-reason.
operations:
- method: POST
name: disputedynamicflowstep
description: Dispute dynamic flow entry point
call: platform-disputes.disputedynamicflowstep
with:
profileId: rest.profileId
scheme: rest.scheme
reason: rest.reason
transactionId: rest.transactionId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/spend/profiles/{profileid}/dispute-form/flows/{scheme}/{reason}
name: v3-spend-profiles-profileid-dispute-form-flows-scheme-reason
description: REST surface for v3-spend-profiles-profileId-dispute-form-flows-scheme-reason.
operations:
- method: POST
name: disputesubmit
description: Submit dispute
call: platform-disputes.disputesubmit
with:
profileId: rest.profileId
scheme: rest.scheme
reason: rest.reason
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/spend/profiles/{profileid}/dispute-form/reasons
name: v3-spend-profiles-profileid-dispute-form-reasons
description: REST surface for v3-spend-profiles-profileId-dispute-form-reasons.
operations:
- method: GET
name: disputereasonsget
description: Retrieve dispute reasons
call: platform-disputes.disputereasonsget
with:
profileId: rest.profileId
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/spend/profiles/{profileid}/disputes
name: v3-spend-profiles-profileid-disputes
description: REST surface for v3-spend-profiles-profileId-disputes.
operations:
- method: GET
name: disputelist
description: List disputes
call: platform-disputes.disputelist
with:
profileId: rest.profileId
status: rest.status
transactionId: rest.transactionId
pageSize: rest.pageSize
pageNumber: rest.pageNumber
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/spend/profiles/{profileid}/disputes/{disputeid}
name: v3-spend-profiles-profileid-disputes-disputeid
description: REST surface for v3-spend-profiles-profileId-disputes-disputeId.
operations:
- method: GET
name: disputeget
description: Get dispute
call: platform-disputes.disputeget
with:
profileId: rest.profileId
disputeId: rest.disputeId
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/spend/profiles/{profileid}/disputes/{disputeid}/status
name: v3-spend-profiles-profileid-disputes-disputeid-status
description: REST surface for v3-spend-profiles-profileId-disputes-disputeId-status.
operations:
- method: PUT
name: disputewithdraw
description: Withdraw dispute
call: platform-disputes.disputewithdraw
with:
profileId: rest.profileId
disputeId: rest.disputeId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v4/spend/profiles/{profileid}/dispute-form/file
name: v4-spend-profiles-profileid-dispute-form-file
description: REST surface for v4-spend-profiles-profileId-dispute-form-file.
operations:
- method: POST
name: disputefileupload
description: Upload dispute file
call: platform-disputes.disputefileupload
with:
profileId: rest.profileId
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: platform-disputes-mcp
port: 9090
transport: http
description: MCP adapter for Wise Platform API — disputes. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: upload-dispute-file-v3
description: Upload dispute file (v3)
hints:
readOnly: false
destructive: false
idempotent: false
call: platform-disputes.disputefileuploadv3
with:
profileId: tools.profileId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: dispute-dynamic-flow-entry-point
description: Dispute dynamic flow entry point
hints:
readOnly: false
destructive: false
idempotent: false
call: platform-disputes.disputedynamicflowstep
with:
profileId: tools.profileId
scheme: tools.scheme
reason: tools.reason
transactionId: tools.transactionId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: submit-dispute
description: Submit dispute
hints:
readOnly: false
destructive: false
idempotent: false
call: platform-disputes.disputesubmit
with:
profileId: tools.profileId
scheme: tools.scheme
reason: tools.reason
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: retrieve-dispute-reasons
description: Retrieve dispute reasons
hints:
readOnly: true
destructive: false
idempotent: true
call: platform-disputes.disputereasonsget
with:
profileId: tools.profileId
outputParameters:
- type: object
mapping: $.
- name: list-disputes
description: List disputes
hints:
readOnly: true
destructive: false
idempotent: true
call: platform-disputes.disputelist
with:
profileId: tools.profileId
status: tools.status
transactionId: tools.transactionId
pageSize: tools.pageSize
pageNumber: tools.pageNumber
outputParameters:
- type: object
mapping: $.
- name: get-dispute
description: Get dispute
hints:
readOnly: true
destructive: false
idempotent: true
call: platform-disputes.disputeget
with:
profileId: tools.profileId
disputeId: tools.disputeId
outputParameters:
- type: object
mapping: $.
- name: withdraw-dispute
description: Withdraw dispute
hints:
readOnly: false
destructive: false
idempotent: true
call: platform-disputes.disputewithdraw
with:
profileId: tools.profileId
disputeId: tools.disputeId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: upload-dispute-file
description: Upload dispute file
hints:
readOnly: false
destructive: false
idempotent: false
call: platform-disputes.disputefileupload
with:
profileId: tools.profileId
body: tools.body
outputParameters:
- type: object
mapping: $.