Trip Search Returns Tombstones for Deleted Trips
What’s New?
We’ve updated Trip Search behavior for invisible trips created by split, re-split, and unsplit flows when includeDeleted: true is used. This improves sync reliability for integrations that poll trips using updatedSince or updatedAtRange.
What Changed?
The default behavior is unchanged:
- when
includeDeletedis omitted, Trip Search returns only visible, non-deleted trips - when
includeDeleted=false, Trip Search also returns only visible, non-deleted trips
The changed behavior applies only when includeDeleted=true.
Previously, when a load was split, superseded or hidden trips could silently disappear from API results, even when includeDeleted=true. This made it difficult for integrations to detect lifecycle transitions and could leave stale records in downstream systems.
Now, when includeDeleted=true, Trip Search returns invisible trip records as tombstones by surfacing them with isDeleted: true. This includes:
- superseded base trips
- hidden child legs from chained splits
- hidden child legs from split-cancel / unsplit / restore scenarios
In addition, updatedAt is updated when trip visibility changes, so polling by updatedSince or updatedAtRange can reliably capture these events.
What isDeleted Means
isDeleted MeansWhen includeDeleted=true:
isDeleted=truemeans the trip is deleted or no longer visible and should be treated as inactive for syncisDeleted=falsemeans the trip is a current visible leg
Common Scenarios
| Scenario | Before | After (with includeDeleted: true) |
|---|---|---|
Trip 555 split into 555-1, 555-2 | 555 silently disappeared | 555 is returned with isDeleted: true |
Trip 555-2 further split into 555-3, 555-4 | 555-2 silently disappeared | 555-2 is returned with isDeleted: true |
| Split cancelled / unsplit / restored | hidden split legs silently disappeared | hidden split legs are returned with isDeleted: true, restored active trip remains isDeleted: false |
Example
For a load with chained split behavior such as 1110758:
| Trip | isDeleted | Meaning |
|---|---|---|
1110758 | true | Superseded base trip |
1110758-1 | false | Active leg |
1110758-2 | true | Child leg superseded by a later split |
1110758-3 | false | Active leg |
1110758-4 | false | Active leg |
Endpoint Affected
POST /p/v1.0/trips/searchWhy?
This enhancement provides:
- reliable tombstone detection for invisible and superseded trips
- better support for
updatedSinceandupdatedAtRangepolling - more consistent synchronization for split, re-split, cancel-split, and restore scenarios