Transaction enrichment, perk matching, and breakage intelligence for credit card rewards
Use the interactive tester or integrate with your code
/v1-enrich
Enrich a transaction with perk matches
Enrich a transaction with perk matches and credit eligibility. This is the core differentiator - real-time transaction enrichment.
{
"transaction": {
"merchant_name": "UBER EATS SAN FRANCISCO",
"amount": 25.50,
"currency": "USD",
"date": "2026-02-14",
"card_bin": "3797",
"mcc": "5812",
"plaid_category": {
"primary": "Restaurants",
"detailed": "Fast Food"
}
},
"card_context": {
"card_id": "amex-platinum-v2025",
"issuer": "American Express",
"network": "AMEX"
}
}
{
"success": true,
"data": {
"is_credit_eligible": true,
"credit_name": "Uber VIP Credit",
"credit_amount": 15.00,
"net_cost": 10.50,
"confidence_score": 0.98,
"matched_perk": {
"perk_id": "amex-plat-uber-credit-2025",
"name": "Uber VIP Credit",
"type": "statement_credit",
"cadence": "MONTHLY",
"max_value": 15.00,
"requires_enrollment": false
}
},
"metadata": {
"request_id": "req-abc123",
"processed_at": "2026-02-14T10:30:00Z",
"api_version": "v1"
}
}
/v1-cards
List all cards with their perks
Get a list of all credit cards with their associated perks. Supports filtering and pagination.
| Parameter | Type | Required | Description |
|---|---|---|---|
issuer |
string | No | Filter by issuer (amex, chase, citi, etc.) |
card_type |
string | No | Filter by type (consumer, business) |
page |
integer | No | Page number (default: 1) |
per_page |
integer | No | Results per page (default: 20, max: 100) |
/v1-breakage
Get breakage and utilization metrics
Access breakage intelligence data - core B2B product for Credit Unions and Fintechs.
| Parameter | Type | Required | Description |
|---|---|---|---|
metric_type |
string | No | Type of metric (breakage_index, amex_utilization, etc.) |
issuer |
string | No | Filter by issuer |
period |
string | No | Time period (YYYY-MM) or 'latest' (default) |
Request API keys to access the JUNO Perks API
Get from: Supabase Dashboard → Settings → API
Use either: "Publishable key" (recommended) or "anon public" key (legacy)
Monitor your API usage and rate limits
Get started quickly with code examples in your preferred language
// Enrich a transaction
async function enrichTransaction(transaction) {
const response = await fetch(
'https://your-project.supabase.co/functions/v1/v1-enrich',
{
method: 'POST',
headers: {
'Authorization': 'ApiKey YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
transaction: {
merchant_name: transaction.merchant_name,
amount: transaction.amount,
date: transaction.date
}
})
}
);
const data = await response.json();
return data;
}
// Usage
const result = await enrichTransaction({
merchant_name: 'UBER EATS',
amount: 25.50,
date: '2026-01-26'
});
console.log(result.data.enrichment);
import requests
import json
def enrich_transaction(transaction, api_key):
url = 'https://your-project.supabase.co/functions/v1/v1-enrich'
headers = {
'Authorization': f'ApiKey {api_key}',
'Content-Type': 'application/json'
}
payload = {
'transaction': {
'merchant_name': transaction['merchant_name'],
'amount': transaction['amount'],
'date': transaction['date']
}
}
response = requests.post(url, headers=headers, json=payload)
return response.json()
# Usage
result = enrich_transaction({
'merchant_name': 'UBER EATS',
'amount': 25.50,
'date': '2026-01-26'
}, 'YOUR_API_KEY')
print(result['data']['enrichment'])
curl https://your-project.supabase.co/functions/v1/v1-enrich \
-H "Authorization: ApiKey YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transaction": {
"merchant_name": "UBER EATS",
"amount": 25.50,
"date": "2026-01-26"
}
}'
const fetch = require('node-fetch');
async function enrichTransaction(transaction, apiKey) {
const response = await fetch(
'https://your-project.supabase.co/functions/v1/v1-enrich',
{
method: 'POST',
headers: {
'Authorization': `ApiKey ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
transaction: {
merchant_name: transaction.merchant_name,
amount: transaction.amount,
date: transaction.date
}
})
}
);
return await response.json();
}
// Usage
enrichTransaction({
merchant_name: 'UBER EATS',
amount: 25.50,
date: '2026-01-26'
}, 'YOUR_API_KEY')
.then(result => console.log(result.data.enrichment))
.catch(error => console.error(error));