> ## Documentation Index
> Fetch the complete documentation index at: https://docs.catenatelematics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v2.108.0 - Inferred Vehicle Assignment on Load Tracking

> Load tracking endpoints now surface inferred vehicle assignments matched from location data

**Released 19th October 2026**

This release extends the `source` field on `vehicle_assignment` across both load tracking endpoints to include a new `inferred` value. When you post a load without vehicle identifiers, the API now matches a vehicle from location data and returns it with `source: inferred`. The `vehicle_assignment` description has been updated to reflect this behaviour.

<Check>
  **Minor Release:** Backward-compatible addition. Existing integrations that only expect `declared` should tolerate unknown `source` values as the API documentation has always advised.
</Check>

## Schema Changes

<AccordionGroup>
  <Accordion title="source field on vehicle_assignment — new inferred value" icon="sparkles">
    **Updated endpoints:**

    * `GET /v2/visibility/loads/tracking`
    * `GET /v2/visibility/loads/{load_id}/tracking`

    **What changed:**

    The `source` field on the `vehicle_assignment` object previously only carried the value `declared`. It now also carries `inferred`, used when no vehicle identifiers were sent with the load and the API matched a vehicle from location data instead.

    The `vehicle_assignment` field itself is also more precisely described: it is now `null` when you sent no vehicle identifiers and no vehicle has been seen at the origin yet, no vehicle matched well enough, or no vehicle is in a fleet that shares both vehicle and location data with you.

    **Before:**

    ```json theme={null}
    {
      "vehicle_assignment": {
        "source": "declared",
        "vehicle": { ... }
      }
    }
    ```

    **After (declared — unchanged):**

    ```json theme={null}
    {
      "vehicle_assignment": {
        "source": "declared",
        "vehicle": { ... }
      }
    }
    ```

    **After (inferred — new):**

    ```json theme={null}
    {
      "vehicle_assignment": {
        "source": "inferred",
        "vehicle": { ... }
      }
    }
    ```

    **Impact:**

    * If you sent vehicle identifiers when posting the load, `source` remains `declared` — no change
    * If you sent no vehicle identifiers, `source` is now `inferred` when a vehicle is matched from location data
    * `vehicle_assignment` may still be `null` when no match is available
    * The API documentation has always advised tolerating unrecognised `source` values; no code changes are required if you already do this
  </Accordion>
</AccordionGroup>

## Integration Notes

<Steps>
  <Step title="Handle the inferred source value">
    If your integration reads the `source` field on `vehicle_assignment`, ensure it handles `inferred` in addition to `declared`:

    ```json theme={null}
    {
      "vehicle_assignment": {
        "source": "inferred",
        "vehicle": {
          "id": "veh_abc123",
          "license_plate_number": "ABC-1234"
        }
      }
    }
    ```
  </Step>

  <Step title="Understand when inferred matching applies">
    Inferred matching only occurs when you post a load without vehicle identifiers. The vehicle is matched from location data. `vehicle_assignment` is `null` when:

    * No vehicle has been seen at the origin yet
    * No vehicle matched well enough
    * No vehicle is in a fleet that shares both vehicle and location data with you
  </Step>

  <Step title="No action required if you already tolerate unknown source values">
    The API documentation has always stated that more `source` values may be added and that callers should tolerate values they do not recognise. If your integration already does this, no changes are needed.
  </Step>
</Steps>

***

## Need Help?

<CardGroup cols={2}>
  <Card title="API Reference" icon="book" href="/api-reference/telematics-api">
    View complete endpoint documentation for the Visibility API
  </Card>

  <Card title="Contact Support" icon="life-ring" href="mailto:support@catenaclearing.io">
    Questions about your integration? Our team is here to help
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.