v2.2.0
Summary
v2.2.0 adds endpoints to restore archived path plans and gives the Direct API a documented set of route start and end point options, including a fix so an arbitrary field start point now routes correctly.
New Features
1. Restore Archived Path Plans
Archived path plans are soft-deleted and can now be restored, which clears the archived flag and makes them active again. Restore a single plan by id, or several at once. These complement the existing archive endpoints.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/path-plans/{pathPlanId}/restore |
Restore a single archived path plan |
| POST | /api/path-plans/restore |
Restore multiple archived path plans in one call (body: array of path plan ids) |
| Property | Condition | Description |
|---|---|---|
(status) |
Single restore | 200 on success, 404 if the path plan is not found, 401 if not authenticated |
(status) |
Bulk restore | 200 on success, 400 for invalid path plan ids, 401 if not authenticated |
2. Direct API: Route Start and End Point Options
The Direct path planning endpoints now document the routeOptions object, which controls where a planned route begins and ends. An arbitrary machine start point also routes correctly now: coordinates that include an elevation value are accepted, and the start point is converted to the field's projection before use.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/path-plans/direct |
Generate a fully planned route from field geometry and parameters |
| POST | /api/path-plans/direct/geojson |
Same as above, returning the planned route as GeoJSON |
Properties
| Property | Type | Description |
|---|---|---|
routeOptions.startPointNodeIndex |
int? | Track node where the route starts |
routeOptions.endPointNodeIndex |
int? | Track node where the route ends |
routeOptions.machineStartPoint |
{ x, y } | Arbitrary lon/lat coordinate the machine is routed from, inside or outside the field, to the route's start. Works with startPointNodeIndex: if a start node is set, the in-field route still begins there. |
routeOptions.machineStartDirection |
double? | Heading in degrees (0-360) the vehicle faces at machineStartPoint, measured counterclockwise with 0 pointing East. Only used when machineStartPoint is set. |
routeOptions.useTracksFromMachineStartPoint |
bool | When true, the start point is connected to the closest track and the route follows tracks when traversing from machineStartPoint toward its first target |
Improvements
- Corrected the Direct API advanced options documentation: `useCrossHatches`, `extendTracks`, and `usePassable` are top-level boolean flags on the request, not a comma-separated `options` string.
- `useCrossHatches` leaves sharp turns unmodeled where the angle is too tight for a steerable machine and returns them as `crosshatches` in the response; `extendTracks` extends tracks by the implement trailing offset for full coverage at field edges; `usePassable` (default `true`) respects the `passable` flag on field objects.
- The Direct API docs now include a Quickstart section and a route start and end points diagram.
Questions?
For questions about these API changes, please contact [email protected] or refer to the API documentation.