Endpoint
Authentication
All requests must include an API key in theAuthorization header:
Required Headers
Request Body
Transaction Core
Transaction Types
| Type | Description |
|---|---|
PAYMENT | Purchase or payment to merchant |
TRANSFER | Transfer between accounts/users |
WITHDRAWAL | Cash withdrawal or account debit |
DEPOSIT | Deposit or account credit |
REFUND | Refund of a previous transaction |
CHARGEBACK | Chargeback dispute |
REVERSAL | Transaction reversal |
FEE | Fee or commission charge |
ADJUSTMENT | Balance adjustment |
OTHER | Other transaction type |
Entity References
- Pre-existing in your gu1 account
- Created automatically during transaction analysis
- Referenced by your external ID
Payment Details
Payment Methods
Cards:CARD- Credit/debit card (generic)CREDIT_CARD- Credit cardDEBIT_CARD- Debit cardPREPAID_CARD- Prepaid card
BANK_TRANSFER- Generic bank transferWIRE- Wire transferACH- ACH transfer (US)SEPA- SEPA transfer (EU)
WALLET- Generic digital walletPAYPAL- PayPalAPPLE_PAY- Apple PayGOOGLE_PAY- Google PaySAMSUNG_PAY- Samsung PayVENMO- VenmoZELLE- Zelle
PIX- Brazilian instant paymentCBU- Argentine bank accountCVU- Argentine virtual walletDEBIN- Argentine direct debitSPEI- Mexican instant paymentPSE- Colombian online payment
CRYPTO- Cryptocurrency (generic)BITCOIN- BitcoinETHEREUM- EthereumSTABLECOIN- Stablecoins (USDT, USDC, etc.)
CASH- Cash paymentCHECK- CheckMONEY_ORDER- Money orderMOBILE_MONEY- Mobile money (M-Pesa, etc.)OTHER- Other payment method
Account Types
PERSONAL- Personal accountBUSINESS- Business accountMERCHANT- Merchant accountSAVINGS- Savings accountCHECKING- Checking accountINVESTMENT- Investment accountESCROW- Escrow accountPREPAID- Prepaid accountOTHER- Other account type
Device Data
Device Platforms
web- Web browserios- iOS appandroid- Android appmobile_web- Mobile browserapi- Direct API callother- Other platform
MCC Codes
Merchant Category Codes (MCC) classify business types:5411- Grocery Stores5812- Restaurants5999- Miscellaneous Retail6011- ATM/Cash Withdrawal7995- Gambling
Tags and Metadata
Multi-Currency Support
gu1 provides automatic currency conversion for all transactions. Each organization has a configured base currency (default: USD), and all transactions are automatically converted to this base currency for consistent rule evaluation and reporting.How It Works
- Automatic Detection: When a transactionโs
currencydiffers from your organizationโs base currency, automatic conversion is triggered - Real-Time Rates: Exchange rates are fetched from our currency service in real-time
- Dual Amount Storage: Both original and converted amounts are stored
- Rule Evaluation: Rules can use either
amount(original) oramountBaseCurrency(converted)
Supported Currencies
150+ currencies supported including:- Major: USD, EUR, GBP, JPY, CHF, CAD, AUD
- Latin America: BRL, ARS, MXN, COP, CLP, PEN, UYU
- Asia: CNY, INR, KRW, SGD, HKD, THB, MYR
- Crypto: BTC, ETH, USDT, USDC
- And many more (ISO 4217 standard)
Exchange Rate Sources
| Source | Description | When Used |
|---|---|---|
ms-provider | Real-time rates from currency microservice | Primary source |
cache-fallback | Cached rates when service unavailable | Fallback (< 1h old) |
no-conversion | No conversion needed (same currency) | Same as base |
client-provided | Custom rate provided by client | Optional override |
Response Fields
When currency conversion occurs, the response includes:Using Converted Amounts in Rules
Rules can reference both amounts:amountBaseCurrency in rules to ensure consistent thresholds regardless of transaction currency.
Error Handling
If currency conversion fails:- Transaction processing continues with original amount
currencyConversionfield will be omitted from response- Rules using
amountBaseCurrencywill use originalamountas fallback - Error is logged but doesnโt block transaction
Example: Multi-Currency Transaction
Complete Request Example
PIX Transfer (Brazil)
High-Risk Card Payment
Python Example
Response
Success Response (200 OK)
Decision Types
| Decision | Description | Recommended Action |
|---|---|---|
APPROVE | Transaction approved | Process normally |
REJECT | Transaction rejected | Block transaction |
HOLD | Transaction on hold | Manual review required |
REVIEW_REQUIRED | Needs review | Queue for analyst |
ADDITIONAL_AUTH_REQUIRED | Need more verification | Request 2FA/3DS |
Risk Score
Risk score from 0 to 100:- 0-30: Low risk (green)
- 31-60: Medium risk (yellow)
- 61-80: High risk (orange)
- 81-100: Critical risk (red)
Alert Severity Levels
low- Informational, no immediate actionmedium- Monitor, may need attentionhigh- Requires review within hourscritical- Immediate action required
Error Responses
400 Bad Request
401 Unauthorized
429 Too Many Requests
500 Internal Server Error
Rate Limiting
- Standard Plan: 1,000 requests per minute
- Professional Plan: 5,000 requests per minute
- Enterprise Plan: Custom limits
Idempotency
Use theIdempotency-Key header to prevent duplicate processing:
Best Practices
- Always include device data - Improves fraud detection accuracy
- Use external IDs consistently - Enables proper entity resolution
- Include relevant metadata - Useful for custom rules and analysis
- Handle all decision types - Donโt just check for APPROVE/REJECT
- Implement retry logic - With exponential backoff for failures
- Monitor rate limits - Track headers and throttle accordingly
- Use idempotency keys - For critical transactions to prevent duplicates