Quickstart
Five steps to a working integration: get an API key, validate it, list disputes, enrich one via PATCH, and register a dispute.created webhook.
Get up and running with the Chargeflow API in five steps. By the end of this guide you will have authenticated, fetched disputes, enriched a dispute with evidence, and registered a webhook.
Get your API key
- Log in to the Chargeflow App.
- Navigate to Settings → Developers.
- Click Generate Keys.
- Copy your API Access Key.
Validate your key
Confirm your key is active by hitting the key-validation health check:
curl -X GET https://api.chargeflow.io/public/2025-04-01/health-check/access-key \
-H "x-api-key: YOUR_API_KEY"Expected response:
"OK"Tip
If you receive a 403 {"message":"Forbidden"} response, your API key is invalid. Return to Settings → Developers, revoke the existing key, and generate a new one.
List your disputes
Fetch your first page of disputes:
curl -X GET "https://api.chargeflow.io/public/2025-04-01/disputes?limit=5" \
-H "x-api-key: YOUR_API_KEY"The response returns a paginated list of dispute objects. Use the id field from any dispute to continue with the next step.
Enrich a dispute
Send targeted transaction data to strengthen the evidence Chargeflow uses when composing a rebuttal:
curl -X PATCH https://api.chargeflow.io/public/2025-04-01/disputes/DISPUTE_ID \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"transaction": {"type": "paid", "amount": 150, "currency": "USD"}}'Replace DISPUTE_ID with the id value from your dispute list.
Note
Chargeflow's Enrichment Engine evaluates submitted artifacts and includes only those that strengthen the rebuttal - submit everything you have.
Register a webhook
Subscribe to the dispute.created event to receive real-time notifications whenever a new dispute is ingested:
curl -X POST https://api.chargeflow.io/public/2025-04-01/webhooks \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"event": "dispute.created", "url": "https://your-server.com/webhook"}'Each registration subscribes one endpoint to one event; repeat per event, or pass "event": "*" to receive all events.
Chargeflow will send an HTTP POST to your endpoint each time a matching event occurs. Respond with 200 to acknowledge delivery.