Kardlane
API Reference

Resolve a trade

POSThttps://api.kardlane.com/v1/trades/{id}/resolve

Decide a trade from your own system — the same as the buttons in the dashboard.

succeeded / failed settle a trade that is waiting for review; the matching trade.succeeded / trade.failed webhook follows.

cancelled means handled outside Kardlane: it closes any open trade — even one still collecting quotes, so the card is never sent — with no verdict, and emits trade.cancelled.

Repeating the same decision returns 200 with changed: false.

Authorization#

Authorizationheaderrequired

Bearer token: Bearer <your project API key>. Create keys in the dashboard under your project’s Integration page.

Path parameters#

idstringrequired

The trade to resolve.

Body#

verdict"succeeded" | "failed" | "cancelled"required

Your decision.

notestring

Up to 500 characters, shown on the trade’s timeline.

Responses#

200Resolved (or already resolved the same way).
409Already closed differently (conflict), or succeeded/failed on a trade that isn’t waiting for review (not_escalated).
curl -X POST https://api.kardlane.com/v1/trades/6abea25d-0c1f-4a43-9d1e-3b5c2f0edad5/resolve \
  -H "Authorization: Bearer $KARDLANE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "verdict": "failed",
    "note": "Vendor confirmed the card was already redeemed"
  }'
{
  "tradeId": "6abea25d-0c1f-4a43-9d1e-3b5c2f0edad5",
  "status": "FAILED",
  "changed": true
}