Documentation
MCPTool reference

Disputes tools

Arguments, results, errors, and access, confirmation, and retry policy for each Disputes tool in FloPay MCP, from the reviewed API contract.

Disputes tools

Generated from the FloPay MCP contract version 1, revision 764b41d5c7205d6df7eeaeac832fafe882247f5526b1d4d6bc6f98e3eaca7784.

Disputes_act

Act on a Dispute

Records a merchant review action against a Stripe or PayPal payment dispute.

PolicyValue
OperationPOST /v1/disputes/{id}/actions
Classmutating
Riskmedium
Confirmationrequired
Retrysame-idempotency-key
Rate-limit tiermutation
Rolesowner, admin
Scopesmcp:write

Arguments

ArgumentInTypeRequiredDescription
idpathstringYes
actionbodystringYesAllowed values: attach, detach, confirmed_unmatched, ignored_duplicate.
reasonbodystringYesMinimum length: 1. Maximum length: 500.
transactionIdbodystring (uuid)No

Result

Returns 200 with a JSON body.

FieldTypeRequiredDescription
actionRequiredbooleanYes
amountnumberYes
createdAtstring (date-time)Yes
currencystringYes
idstring (uuid)Yes
linkStatusstringYesAllowed values: linked, partially_linked, unmatched, action_required.
paymentIdsarray of stringYes
phasestringYesAllowed values: initial, appeal.
reasonstringYesAllowed values: fraud_or_unauthorized, duplicate, not_received, not_as_described, credit_not_processed, cancelled_recurring, incorrect_amount, paid_by_other_means, processing_error, other.
responseDueAtstring (date-time) or nullNo
reviewStatestringYesAllowed values: pending, confirmed_unmatched, ignored_duplicate.
sequencenumberYes
statusstringYesAllowed values: open, under_review, won, lost.
updatedAtstring (date-time)Yes
userIdstring (uuid) or nullNo

Errors

StatusDescription
400The path, filter, sort, pagination, or review action input is invalid.
401A valid OAuth client_user bearer token is required.
403The live merchant role or bearer scope does not permit this operation.
404No dispute or payment with this id exists for the authenticated client.

Disputes_get

Get Dispute

Returns a single Stripe or PayPal payment dispute owned by the authenticated client.

PolicyValue
OperationGET /v1/disputes/{id}
Classread-only
Risklow
Confirmationnot-required
Retrysafe
Rate-limit tierread
Rolesowner, admin, member
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
idpathstringYes

Result

Returns 200 with a JSON body.

FieldTypeRequiredDescription
actionRequiredbooleanYes
amountnumberYes
createdAtstring (date-time)Yes
currencystringYes
idstring (uuid)Yes
linkStatusstringYesAllowed values: linked, partially_linked, unmatched, action_required.
paymentIdsarray of stringYes
phasestringYesAllowed values: initial, appeal.
reasonstringYesAllowed values: fraud_or_unauthorized, duplicate, not_received, not_as_described, credit_not_processed, cancelled_recurring, incorrect_amount, paid_by_other_means, processing_error, other.
responseDueAtstring (date-time) or nullNo
reviewStatestringYesAllowed values: pending, confirmed_unmatched, ignored_duplicate.
sequencenumberYes
statusstringYesAllowed values: open, under_review, won, lost.
updatedAtstring (date-time)Yes
userIdstring (uuid) or nullNo

Errors

StatusDescription
400The path, filter, sort, pagination, or review action input is invalid.
401A valid OAuth client_user bearer token is required.
403The live merchant role or bearer scope does not permit this operation.
404No dispute with this id exists for the authenticated client.

Disputes_list

List Disputes

Returns paginated Stripe and PayPal payment disputes (actual chargebacks) for the authenticated client. Network warnings are Pre-Dispute Alerts.

PolicyValue
OperationGET /v1/disputes
Classread-only
Risklow
Confirmationnot-required
Retrysafe
Rate-limit tierread
Rolesowner, admin, member
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
pagequeryintegerNo1-based page number for paginated list endpoints. Default: 1. Minimum: 1.
limitqueryintegerNoMaximum number of records to return per page. Default: 20. Minimum: 1. Maximum: 100.
sortquerystringNoSort by one allowed field. Use exactly one of sort[asc] or sort[desc]. Allowed fields: amount, createdAt, responseDueAt, status, updatedAt. Default: createdAt DESC. Allowed values: amount, createdAt, responseDueAt, status, updatedAt.
relationquerystringNoThis endpoint does not support relation aliases. Supplying relation returns 400.
actionRequiredquerystringNoWhether merchant action is required. Equality filter. Pass without operator for exact match.
createdAtquerystring (date-time)NoDispute creation timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
currencyquerystringNoISO-4217 dispute currency. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
linkStatusquerystringNoPayment-link review status. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: linked, partially_linked, unmatched, action_required.
phasequerystringNoDispute lifecycle phase. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: initial, appeal.
reasonquerystringNoProvider-neutral dispute reason. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: fraud_or_unauthorized, duplicate, not_received, not_as_described, credit_not_processed, cancelled_recurring, incorrect_amount, paid_by_other_means, processing_error, other.
statusquerystringNoProvider-neutral dispute status. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: open, under_review, won, lost.
updatedAtquerystring (date-time)NoLast material update timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
userUuidquerystringNoResolved Flo customer ID. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
uuidquerystringNoOpaque Flo dispute ID. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.

Result

Returns 200 with a JSON body.

FieldTypeRequiredDescription
dataarray of objectYes
data[].actionRequiredbooleanYes
data[].amountnumberYes
data[].createdAtstring (date-time)Yes
data[].currencystringYes
data[].idstring (uuid)Yes
data[].linkStatusstringYesAllowed values: linked, partially_linked, unmatched, action_required.
data[].paymentIdsarray of stringYes
data[].phasestringYesAllowed values: initial, appeal.
data[].reasonstringYesAllowed values: fraud_or_unauthorized, duplicate, not_received, not_as_described, credit_not_processed, cancelled_recurring, incorrect_amount, paid_by_other_means, processing_error, other.
data[].responseDueAtstring (date-time) or nullNo
data[].reviewStatestringYesAllowed values: pending, confirmed_unmatched, ignored_duplicate.
data[].sequencenumberYes
data[].statusstringYesAllowed values: open, under_review, won, lost.
data[].updatedAtstring (date-time)Yes
data[].userIdstring (uuid) or nullNo
limitnumberYes
pagenumberYes
pagesnumberYes
totalnumberYes

Errors

StatusDescription
400The path, filter, sort, pagination, or review action input is invalid.
401A valid OAuth client_user bearer token is required.
403The live merchant role or bearer scope does not permit this operation.

Disputes_listCandidates

List Dispute match candidates

Returns paginated privacy-safe payment match candidates for a Dispute.

PolicyValue
OperationGET /v1/disputes/{id}/candidates
Classread-only
Risklow
Confirmationnot-required
Retrysafe
Rate-limit tierread
Rolesowner, admin, member
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
idpathstringYes
pagequeryintegerNo1-based page number for paginated list endpoints. Default: 1. Minimum: 1.
limitqueryintegerNoMaximum number of records to return per page. Default: 20. Minimum: 1. Maximum: 100.
sortquerystringNoSort by one allowed field. Use exactly one of sort[asc] or sort[desc]. Allowed fields: confidence, createdAt, rank. Default: rank ASC. Allowed values: confidence, createdAt, rank.
relationquerystringNoThis endpoint does not support relation aliases. Supplying relation returns 400.
confidencequerynumberNoPrivacy-safe match confidence. Equality filter. Pass without operator for exact match or pass any of the following operators: [gte] [lte].
createdAtquerystring (date-time)NoCandidate creation timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
paymentIdquerystringNoCandidate Flo payment ID. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
rankquerynumberNoCandidate rank. Equality filter. Pass without operator for exact match or pass any of the following operators: [gte] [lte].

Result

Returns 200 with a JSON body.

FieldTypeRequiredDescription
dataarray of objectYes
data[].confidencenumberYes
data[].createdAtstring (date-time)Yes
data[].evidenceobjectYes
data[].idstring (uuid)Yes
data[].paymentIdstring (uuid)Yes
data[].ranknumberYes
limitnumberYes
pagenumberYes
pagesnumberYes
totalnumberYes

Errors

StatusDescription
400The path, filter, sort, pagination, or review action input is invalid.
401A valid OAuth client_user bearer token is required.
403The live merchant role or bearer scope does not permit this operation.
404No dispute with this id exists for the authenticated client.

On this page