Access mileage tracking data with enterprise-grade security, encryption, and rate limiting.
POST /api/auth/login
Create account or login to get JWT token for API access.
{
"email": "user@example.com",
"password": "your-secure-password"
}
Returns: JWT token for authenticated requests
POST /api/keys
Generate API keys for external applications (QuickBooks, custom apps)
{
"name": "QuickBooks Integration",
"tier": "business"
}
Requires: Authorization: Bearer YOUR_JWT_TOKEN
GET /api/keys
View all your API keys with usage statistics
Requires: Authorization: Bearer YOUR_JWT_TOKEN
GET /api/trips
Retrieve all trips for authenticated user (mobile app access)
Requires: Authorization: Bearer YOUR_JWT_TOKEN
GET http://localhost:5000/api/external/trips
Access trip data from external applications with API key
Requires: X-API-Key: YOUR_API_KEY
Returns: Decrypted trip data + API usage info
Note: API server runs on port 5000, documentation on port 8080
// JavaScript example
const response = await fetch('https://api.yourdomain.com/api/external/trips', {
headers: {
'X-API-Key': 'mt_your_api_key_here',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log('Mileage trips:', data.trips);
console.log('API usage:', data.api_key_info);
// Node.js example
const apiKey = 'mt_your_api_key_here';
const trips = await fetch(`https://api.yourdomain.com/api/external/trips`, {
headers: { 'X-API-Key': apiKey }
}).then(res => res.json());
// Process trip data for your app
trips.trips.forEach(trip => {
console.log(`${trip.start_address} → ${trip.end_address}: ${trip.distance_miles} miles`);
});