Mileage Calculation Service
API Contract
REST
/api/v1/mileage-calculation
5 endpoints
GET
/api/v1/mileage-calculation/api/v1/mileage-calculation
List recent calculations (audit log). Returns paginated log of calculation events.
Public
Response Example
{
"data": [
{
"id": "calc_01HXQR8C3Z",
"user_id": "usr_abc123",
"distance_km": 42.5,
"rate_per_km": 0.45,
"raw_amount": 19.125,
"rounded_amount": 19.13,
"locale": "en-IE",
"formatted_amount": "€19.13",
"calculated_at": "2026-03-25T14:29:58Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1
}
}
GET
/api/v1/mileage-calculation/api/v1/mileage-calculation/:id
Fetch a single calculation record by ID.
Public
Response Example
{
"id": "calc_01HXQR8C3Z",
"user_id": "usr_abc123",
"distance_km": 42.5,
"rate_per_km": 0.45,
"raw_amount": 19.125,
"rounded_amount": 19.13,
"locale": "en-IE",
"formatted_amount": "€19.13",
"calculated_at": "2026-03-25T14:29:58Z"
}
POST
/api/v1/mileage-calculation/api/v1/mileage-calculation
Compute reimbursement amount for given distance and rate. Returns raw, rounded, and locale-formatted values. Stateless — does not persist a claim.
Public
Request Example
{
"distance_km": 42.5,
"rate_per_km": 0.45,
"locale": "en-IE"
}
Response Example
{
"distance_km": 42.5,
"rate_per_km": 0.45,
"raw_amount": 19.125,
"rounded_amount": 19.13,
"locale": "en-IE",
"formatted_amount": "€19.13"
}
PUT
/api/v1/mileage-calculation/api/v1/mileage-calculation/:id
Recompute a saved calculation with updated parameters (e.g. corrected distance or rate).
Public
Request Example
{
"distance_km": 45,
"rate_per_km": 0.45,
"locale": "en-IE"
}
Response Example
{
"id": "calc_01HXQR8C3Z",
"distance_km": 45,
"rate_per_km": 0.45,
"raw_amount": 20.25,
"rounded_amount": 20.25,
"locale": "en-IE",
"formatted_amount": "€20.25",
"calculated_at": "2026-03-25T15:10:00Z"
}
DELETE
/api/v1/mileage-calculation/api/v1/mileage-calculation/:id
Remove a calculation audit record.
Public
Response Example
{
"id": "calc_01HXQR8C3Z",
"deleted": true,
"deleted_at": "2026-03-25T16:00:00Z"
}