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"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}