Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /v1/products/:id/transport | Retrieve transport overview with departures, segments, and options. |
| GET | /v1/products/:id/transport/configs | List reusable transport configs for a product. |
| POST | /v1/products/:id/transport/configs | Create a transport config template. |
| PATCH | /v1/products/:id/transport/configs/:configId | Update a transport config template. |
| DELETE | /v1/products/:id/transport/configs/:configId | Delete a transport config. |
| GET | /v1/products/:id/transport/configs/:configId/addons | List addons for a transport config. |
| PATCH | /v1/products/:id/transport/configs/:configId/addons | Bulk upsert transport addons. |
| DELETE | /v1/products/:id/transport/configs/:configId/addons/:addonId | Delete a single transport addon. |
| POST | /v1/products/:id/transport/options | Create a departure transport option. |
| PATCH | /v1/products/:id/transport/options/:optionId | Update a transport option. |
| DELETE | /v1/products/:id/transport/options/:optionId | Delete a transport option. |
| PUT | /v1/products/:id/transport/departures/:departureId/segments | Upsert the main transport segments for a departure. |
All Transport endpoints require workspace-scoped API keys. Read operations use the
products:read scope. Mutations require products:write.Key concepts
- Transport configs are reusable templates that describe the default legs for a product; they are identified by a unique
keyper product. - Transport addons attach upsell services (e.g., extra baggage) to a config. Bulk upsert replaces rows atomically.
- Transport options live at the departure level and can include their own legs and pricing overrides for alternative itineraries.
- Departure segments model the primary transport plan for a departure and replace existing segments on each upsert.
- All leg/segment payloads accept camelCase or snake_case fields; the API normalizes them before validation.