🚀 Beta Launch Special:50% OFF for first 100 customers - Lock in beta pricing for 12 months!Get Started →
REST API v1.0

API Documentation

Integrate MatchRecon into your systems with our comprehensive REST API. Automate reconciliation workflows programmatically.

Base URL

https://api.matchrecon.com/v1

Authentication

All API requests require authentication using an API key. Include your API key in the Authorization header.

Request Headers

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Get API Key

Navigate to Settings → API Keys in your dashboard to generate a new API key. Keep your keys secure and never commit them to version control.

⚠️ Security: API keys grant full access to your account. Rotate keys immediately if compromised.

Core Resources

Invoices

POST/invoices

Upload a new invoice for processing.

Request Body

{ "file": "base64_encoded_pdf", "fileName": "invoice_001.pdf", "metadata": { "vendorName": "Acme Corp", "invoiceDate": "2025-11-01", "amount": 1250.50 } }

Response (201 Created)

{ "id": "inv_abc123", "fileName": "invoice_001.pdf", "status": "processing", "extractedData": { "amount": 1250.50, "vendorName": "Acme Corp", "invoiceNumber": "INV-2025-001", "date": "2025-11-01" }, "createdAt": "2025-11-06T10:30:00Z" }
GET/invoices

List all invoices with optional filtering.

Query Parameters

?status=processing&limit=50&offset=0
GET/invoices/:id

Retrieve a single invoice by ID.

Bank Statements

POST/bank-statements

Upload bank statement CSV/Excel file.

Request Body

{ "file": "base64_encoded_csv", "fileName": "bank_statement_nov_2025.csv", "bankName": "Chase Bank", "accountNumber": "****1234" }

Matches

POST/matches/run

Trigger AI matching engine to match invoices with bank transactions.

Response (200 OK)

{ "jobId": "job_xyz789", "status": "running", "estimatedTime": "30 seconds", "totalInvoices": 150, "totalTransactions": 200 }
GET/matches

List all matched invoice-transaction pairs with confidence scores.

Enterprise Features

Custom Reports

POST/reports

Create custom report

GET/reports/:id

Download report

Multi-Currency

GET/currencies

List supported currencies

GET/currencies/rates

Get exchange rates

Payment Gateways

POST/integrations/stripe

Connect Stripe account

GET/integrations/:provider/transactions

Fetch gateway transactions

Batch Processing

POST/batch/process

Start batch job

GET/batch/:jobId

Check job status

Webhooks

Subscribe to real-time events and receive HTTP POST notifications when events occur in your account.

Available Events

match.created

New match found

exception.flagged

Discrepancy detected

report.generated

Report ready for download

batch.completed

Batch job finished

Register Webhook

POST/webhooks
{ "url": "https://yoursite.com/webhook", "events": ["match.created", "exception.flagged"], "secret": "whsec_your_signing_secret" }

Error Codes

400

Bad Request

Invalid request parameters

401

Unauthorized

Invalid or missing API key

404

Not Found

Resource does not exist

429

Rate Limit Exceeded

Too many requests, retry after delay

500

Internal Server Error

Server error, contact support

Need Help?

Contact our developer support team for API integration assistance.

Contact Support