Since a partner can originate a trade for both its buyer and seller, every dispute action requires an explicit partyfield — the API can't infer which side is disputing.
POST /api/partner/v1/trades/{id}/dispute/
{
"reason": "Item arrived damaged",
"category": "quality_issue",
"party": "buyer"
}reason must be at least 20 characters long.
POST /api/partner/v1/trades/{id}/proposals/
{
"outcome": "split",
"split_buyer_pct": "50.00",
"party": "buyer"
}Valid outcomes: buyer_win, seller_win, split.
POST /api/partner/v1/trades/{id}/proposals/{proposal_id}/respond/
{
"accept": true,
"party": "buyer"
}Accepting a proposal triggers the fund split automatically — there's no separate release step. Rejecting leaves the dispute open for a new proposal.
A dispute can only be resolved by mutual proposal-and-accept between the two parties. Direct admin resolution (an Intasef staff member manually deciding an outcome) is never reachable through the partner API — that's a deliberate trust boundary, not a missing endpoint.