Integration
Three ways to connect. Choose what fits your stack.
MCP (Recommended)
One command installs dispute tools directly into your AI agent. No code changes required. Your agent automatically gets access to capture_intent, file_dispute, check_dispute, and more.
shellnpx @lu71/install --key=lu71_live_YOUR_KEYSupports Claude Desktop, Claude Code, Cursor, Kiro, Windsurf, VS Code Copilot, ChatGPT Desktop, Codex CLI, Amazon Q, Cline, and Roo Code.
TypeScript SDK
Two function calls to integrate. Install the package, initialize with your API key, and call captureIntent before purchases and fileDispute when things go wrong.
shellnpm install @lu71/sdktypescriptimport { Lu71 } from "@lu71/sdk"
const lu71 = new Lu71({ apiKey: "lu71_live_..." })
// Before purchase
const { intentId, signature } = await lu71.captureIntent({
description: "Annual Pro plan for DataAPI.io",
merchant: "DataAPI",
maxAmount: 12000,
currency: "gbp",
})
// If purchase goes wrong
const dispute = await lu71.fileDispute({
intentId,
intentSignature: signature,
transactionId: "ipi_abc123",
reason: "service_not_rendered",
description: "Paid for Pro plan but account still shows free tier after 72 hours.",
})REST API
Call directly from any language. All endpoints accept JSON and authenticate via the x-api-key header. Full reference in the docs.
shellcurl -X POST https://api.getlu71.com/v1/intents \
-H "x-api-key: lu71_live_..." \
-H "Content-Type: application/json" \
-d '{"description": "Buy 50 widgets", "maxAmount": 5000}'Supported Platforms
Lu71 files disputes through your existing card issuing platform. Connect via OAuth (Stripe) or restricted API key (Lithic).
Stripe Issuing
Connect via OAuth. We use the Stripe-Account header with our platform key. Your API credentials are never stored.
Lithic
Connect with a restricted API key (disputes:write scope). Validated on connection. We build comprehensive dispute evidence via their API.
