Skip to main content

Getting Started with the Chargeflow API

Written by Avia Chen

The Chargeflow API lets you connect your own systems directly to Chargeflow — without logging into the app. Pull dispute data, send evidence, receive alerts, and get notified of changes automatically from your own backend or automation tool.

Full documentation: docs.chargeflow.io

💡Tip — set up faster with AI: The docs homepage has built-in buttons that open a pre-loaded prompt in Claude, ChatGPT, or Cursor — the AI reads the full Chargeflow documentation and guides you through integration. You can also click Copy prompt to paste it into any AI tool of your choice. Great starting point if you have a developer ready to build.


What the API Can Do

Capability

Available?

List and read disputes

✅ Yes

Add information and evidence to a dispute

✅ Yes

Read alerts, track outcomes, and receive alert webhooks

✅ Yes

Create and manage platform merchant accounts

✅ Yes

Generate bank-ready evidence for a platform's dispute (EaaS)

✅ Yes

Get notified when something changes (webhooks)

✅ Yes

White-Label platform embedding

🔵 Beta

Alerts-as-a-Service for platforms (AaaS)

🔜 Coming soon

Bulk data export

🔜 Coming soon

Sandbox/test environment

🔜 Coming soon

No sandbox yet? You can test using your real API key in the interactive API reference. Read-only calls like listing disputes won't trigger any submissions.


How to Connect

Step 1: Get Your API Key

Any active Chargeflow account can generate an API key — no special plan or approval required.

  1. Log in to the Chargeflow App.

  2. Go to Settings → Developers.

  3. Click Generate Keys.

  4. Copy your API Access Key.

Things to know:

  • Add it to the x-api-key header on every request.

  • One key covers both API calls and webhook registration.

  • Use it in your own backend or tools like Zapier — not in your payment processor portal, and never in client-side code.

Step 2: Verify Your Key

Confirm your key is working before building your integration:

GET https://api.chargeflow.io/public/2025-04-01/health-check/access-key 
x-api-key: YOUR_API_KEY

Expected response: {"status": "ok"}

Getting a 403? Go to Settings → Developers, revoke the key, and generate a new one. There is no "enable API access" toggle — a 403 on the health check means something is wrong with the key or how it's being sent.

Step 3: Make Your First Calls

List your disputes

GET https://api.chargeflow.io/public/2025-04-01/disputes?limit=5
x-api-key: YOUR_API_KEY

Enrich a dispute with evidence

PATCH https://api.chargeflow.io/public/2025-04-01/disputes/DISPUTE_ID
x-api-key: YOUR_API_KEY
Content-Type: application/json

{"transaction": {"type": "paid", "amount": 150, "currency": "USD"}}

Chargeflow's Enrichment Engine selects only what strengthens the rebuttal — send everything you have and let it decide.

Register a webhook

POST https://api.chargeflow.io/public/2025-04-01/webhooks
x-api-key: YOUR_API_KEY
Content-Type: application/json

{"event": "dispute.created", "url": "https://your-server.com/webhook"}

Each call subscribes one endpoint to one event. Use "event": "*" to receive all events. You can also add webhooks manually via Settings → Developers → + Add Webhook. Your endpoint must return 200 to confirm delivery.


Error Codes

Code

What It Means

What To Do

200

Success

Nothing needed.

400

Bad request — wrong format, missing fields, or incorrect data types

Fix the request body before retrying.

401

Missing or incorrectly sent API key

Check the x-api-key header for typos or extra spaces.

403

Invalid API key

Revoke and regenerate at Settings → Developers.

404

Wrong URL or ID

Double-check the dispute ID or endpoint path.

429

Rate limit hit

Wait, then retry. Honor the Retry-After header if present.

500

Server error on Chargeflow's side

Retry with backoff. Include your requestId if you contact support.

502

Temporary gateway issue

Wait a few minutes, then retry. Check status.chargeflow.io.

Every API response includes a requestId — share it with support for faster diagnosis.


Webhooks

Webhooks push real-time notifications to your system when something happens — no polling needed.

  • Subscribe to dispute.created to be notified the moment a new dispute is ingested.

  • Use "event": "*" to subscribe to all events.

  • Your endpoint must return 200 to confirm receipt.

  • For added security, enable HMAC signature validation under Settings → Developers to verify that events genuinely came from Chargeflow.

All available events are listed in the Merchant Webhook Events section of the docs.


For Platforms

If you're a platform or PSP, Chargeflow Connect lets you offer dispute handling to your merchants without building an in-house team. Four models are available:

Model

Status

Best For

Evidence-as-a-Service (EaaS)

✅ Available

ISVs with their own submission flow who want bank-ready evidence via API

Co-Branded

✅ Available

Platforms wanting the fastest branded launch — Chargeflow UI with your logo

White-Label

🔵 Beta

Platforms wanting disputes as their own product, fully under their brand

Alerts-as-a-Service

🔜 Coming soon

Platforms wanting to stop chargebacks before they're filed

Model access is set by your Chargeflow account manager. See the Platforms overview for details.


Prefer No Code?

Chargeflow has a native Zapier integration for automating dispute workflows without writing code. See the Zapier guide in the docs.


Security & Compliance

Chargeflow is SOC 2 Type II audited and GDPR compliant. Data is minimized, segmented, and encrypted.

  • Is my data used to train AI models? No — see the FAQ.

  • Security incidents? See status.chargeflow.io for current and historical incidents.

  • Data hosting / GDPR requests? See the FAQ or contact support for specific requests.


Still Need Help?

Connect with our support team via 24/7 Live Chat or send an email to support@chargeflow.io — we're always ready to assist you.

For the full API reference with every endpoint, request, and response: docs.chargeflow.io

Did this answer your question?