Authentication
All API requests require authentication using a valid API key.
For launch there is no domain or IP whitelisting. You can call the API from anywhere (production, staging, localhost, preview deploys, Postman, etc.).
When we open the API to more partners in 2026 we plan to add a domain allow-list (max 10 domains you control yourself).
API Keys
Email partners@finmatch.io for your API key. Treat your API keys like passwords - never commit them to source control or expose them in client-side code.
Making Authenticated Requests
Include your API key in the Authorization header:
Authorization: Bearer sk_apikey
Example Request
curl -X POST https://api.finmatch.io/v1/finance-quote \
-H "Authorization: Bearer sk_apikey" \
-H "Content-Type: application/json" \
-d '{ ... }'
Example with JavaScript
const response = await fetch('https://api.finmatch.io/v1/finance-quote', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_apikey',
'Content-Type': 'application/json'
},
body: JSON.stringify({
merchant_id: 'M000100',
partner_id: 'P000001',
loan_amount: 5000.00,
merchant_finance_url: 'https://www.xyzsolar.co.uk/finance'
})
});
const data = await response.json();
Security Best Practices
1. Keep Keys Secure
- Never expose API keys in client-side code
- Use environment variables or secret management systems
2. Server-Side Only
Make API calls from your backend server, not from browsers or mobile apps.
3. Use HTTPS
Always make requests over HTTPS. HTTP requests will be rejected.
Rate Limiting
API keys are subject to rate limits:
- 100 requests per minute per API key
- Rate limit headers included in responses
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1609459200
Error Responses
401 Unauthorized
Missing or invalid API key:
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Missing or invalid authorization header. Use: Authorization: Bearer sk_apikey"
}
}
429 Too Many Requests
Rate limit exceeded:
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Maximum 100 requests per minute."
}
}
Getting Help
Need an API key? Email partners@finmatch.io.
Issues with authentication? Contact us.