MileTracker Pro API Documentation

Secure Professional API

Access mileage tracking data with enterprise-grade security, encryption, and rate limiting.

Authentication

User Login & Registration

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

API Key Management

Create API Key

POST /api/keys

Generate API keys for external applications (QuickBooks, custom apps)

{
  "name": "QuickBooks Integration",
  "tier": "business"
}

Requires: Authorization: Bearer YOUR_JWT_TOKEN

List API Keys

GET /api/keys

View all your API keys with usage statistics

Requires: Authorization: Bearer YOUR_JWT_TOKEN

Trip Data Access

Get User Trips (Mobile App)

GET /api/trips

Retrieve all trips for authenticated user (mobile app access)

Requires: Authorization: Bearer YOUR_JWT_TOKEN

External API Access

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

Privacy & Security Features

  • Data Encryption: GPS coordinates, addresses, client names, and notes encrypted at rest
  • Password Hashing: bcrypt with 12 salt rounds
  • JWT Authentication: Secure token-based authentication
  • Rate Limiting: API key-based usage tracking and limits
  • User Isolation: Complete data separation between users
  • HTTPS Enforcement: All data transmission encrypted

Integration Examples

QuickBooks Integration

// 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);

Custom Replit App Integration

// 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`);
});
API Pricing Tiers
DEVELOPER
$10/month
  • 1,000 API calls/month
  • Basic rate limiting
  • Email support
BUSINESS
$25/month
  • 10,000 API calls/month
  • Priority support
  • Custom integrations
ENTERPRISE
$100/month
  • Unlimited API calls
  • White label options
  • Dedicated support
Quick API Test
API Status
Status: Online
Version: 1.0.0
Encryption: AES-256