OptiFlow OpenAPI Update Analysis (v1.36 → v1.38)
I compared the two OpenAPI specs you provided (optiflow-1.36-openapi.json vs optiflow-1.38-openapi.json) and here’s what changed.
1) Endpoints / Paths

No new or removed endpoints.
All paths remain unchanged between 1.36 and 1.38.

So this update is mainly about new response structures / schema extensions, not API routes.
2) New Schemas (Classes) introduced in 1.38
Version 1.38 adds six new component schemas:
- AssignedResource
- AssignedResourceCosts
- LegLoad
- ResultCosts
- RouteCosts
- RouteDurations

Interpretation:
This introduces a more structured cost + duration reporting layer, plus resource assignments and leg-level load breakdowns.
3) Existing Schemas extended (new properties)
Several existing schemas gained new properties in 1.38.

Metrics (extended)
New fields:
- numberOfScheduledOrders
- costs

Meaning: metrics now not only report distances/durations/etc., but also how many orders were actually scheduled, plus a structured cost object (ResultCosts).

RouteMetrics (extended)
New fields:
- numberOfOrders
- durations
- costs

Meaning: route-level metrics now become more granular by including:
- order count per route
- a structured duration breakdown (RouteDurations)
- structured cost breakdown (RouteCosts)

Leg (extended)
New field:

Meaning: each leg can now include load data, using the new schema LegLoad.
This is useful if you want leg-by-leg capacity utilization instead of only route-level totals.

OptimizationResult (extended)
New field:
resources

Meaning: the optimization result can now include resource assignment information, likely represented via the new schema AssignedResource.

Summary (quick forum-style)

New Schemas
- AssignedResource
- AssignedResourceCosts
- LegLoad
- ResultCosts
- RouteCosts
- RouteDurations

New Properties in Existing Schemas
- Metrics: numberOfScheduledOrders, costs
- RouteMetrics: numberOfOrders, durations, costs
- Leg: loads
- OptimizationResult: resources

No path/endpoint changes
No routes were added or removed.

Client Impact / Compatibility Notes
This is non-breaking in typical JSON parsing scenarios, but:

If your client / DTO model is strict (e.g., schema validation, strict deserialization), you may need to update to accept:
- OptimizationResult.resources
- Leg.loads
- new nested cost/duration structures in Metrics and RouteMetrics