- Added comprehensive integration tests for all packages - Set up Playwright for E2E testing - Created REST API with Express - Added data visualization components (Bar, Line, Pie charts) - Created database abstraction layer - Added health check and monitoring endpoints - Created API documentation
2.4 KiB
2.4 KiB
API Documentation
Base URL
http://localhost:3000/api/v1
Authentication
Currently, authentication is not implemented. In production, use OAuth2/JWT tokens.
Endpoints
Health Checks
GET /health
Get comprehensive health status.
Response:
{
"status": "healthy",
"timestamp": "2026-01-23T10:00:00.000Z",
"version": "1.0.0",
"services": {
"database": "up",
"fxRates": "up",
"rulesEngine": "up"
},
"metrics": {
"uptime": 3600,
"memoryUsage": { ... }
}
}
GET /health/ready
Readiness check - is the service ready to accept traffic?
Response:
{
"ready": true,
"timestamp": "2026-01-23T10:00:00.000Z"
}
GET /health/live
Liveness check - is the service alive?
Response:
{
"alive": true,
"timestamp": "2026-01-23T10:00:00.000Z"
}
Transactions
POST /transactions/evaluate
Evaluate a transaction against regulatory rules.
Request Body:
{
"id": "TXN-123",
"direction": "outbound",
"amount": 15000,
"currency": "USD",
"orderingCustomer": {
"name": "Test Company",
"taxId": "11222333000181",
"country": "BR"
},
"beneficiary": {
"name": "John Doe",
"taxId": "12345678909",
"country": "BR",
"accountNumber": "12345-6"
},
"purposeOfPayment": "Payment for services"
}
Response:
{
"success": true,
"data": {
"transactionId": "TXN-123",
"timestamp": "2026-01-23T10:00:00.000Z",
"ruleSetVersion": "1.0.0",
"overallDecision": "Allow",
"overallSeverity": "Info",
"thresholdCheck": {
"usdEquivalent": 15000,
"requiresReporting": true
},
"documentationCheck": {
"passed": true,
"errors": []
},
"rules": []
}
}
GET /transactions/:id
Get transaction by ID.
Status: Not implemented (requires database)
GET /transactions
List transactions with pagination.
Status: Not implemented (requires database)
Error Responses
All errors follow this format:
{
"success": false,
"error": "Error message"
}
Status Codes:
200- Success400- Bad Request404- Not Found500- Internal Server Error501- Not Implemented503- Service Unavailable
Rate Limiting
Rate limiting is not currently implemented. In production, implement rate limiting to prevent abuse.
CORS
CORS is enabled for all origins in development. In production, configure allowed origins.