Mileage Claim Service
API Contract
REST
/api/v1/claims
2 endpoints
POST
/api/v1/claims/api/v1/claims/submit
Primary claim submission endpoint. Validates input, loads org rate config, builds domain object, triggers auto-approval evaluation, and persists the claim.
Public
Request Example
{
"user_id": "usr_abc123",
"org_id": "org_xyz789",
"distance_km": 42.5,
"trip_date": "2026-03-25",
"purpose": "Client site visit — Waterford office",
"additional_expenses": [
{
"description": "Toll",
"amount_eur": 2.5
}
]
}
Response Example
{
"claim_id": "clm_01HXQR9B2T",
"status": "auto_approved",
"amount": 19.13,
"rate_per_km": 0.45,
"distance_km": 42.5,
"auto_approved": true,
"approval_threshold_km": 50,
"submitted_at": "2026-03-25T14:30:00Z"
}
GET
/api/v1/claims/api/v1/claims/user/:userId/last-distance
Returns the last used distance for pre-filling the claim entry form. Delegates to distance-prefill-service.
Public
Response Example
{
"user_id": "usr_abc123",
"last_used_distance_km": 42.5,
"recorded_at": "2026-03-25T14:30:00Z"
}