Files

152 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

# 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:**
```json
{
"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:**
```json
{
"ready": true,
"timestamp": "2026-01-23T10:00:00.000Z"
}
```
#### GET /health/live
Liveness check - is the service alive?
**Response:**
```json
{
"alive": true,
"timestamp": "2026-01-23T10:00:00.000Z"
}
```
### Transactions
#### POST /transactions/evaluate
Evaluate a transaction against regulatory rules.
**Request Body:**
```json
{
"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:**
```json
{
"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:
```json
{
"success": false,
"error": "Error message"
}
```
**Status Codes:**
- `200` - Success
- `400` - Bad Request
- `404` - Not Found
- `500` - Internal Server Error
- `501` - Not Implemented
- `503` - 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.