Middle Mile Optimization API

  • The Middle Mile Optimization API (middlemileoptimization.googleapis.com) provides RESTful methods for managing and optimizing middle-mile logistics networks.

  • You can manage resources like networks, hubs, lines, line rotations, shipments, and vehicles using the API.

  • The API enables route planning and optimization for shipments within your network.

  • You can create, update, delete, and retrieve details about these resources using various API methods.

  • The API allows controlling the availability of resources like hubs, lines, and vehicles.

Middle Mile Optimization API.

Service: middlemileoptimization.googleapis.com

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://middlemileoptimization.googleapis.com

REST Resource: v1.networks

Methods
create POST /v1/networks
Creates a Network.
delete DELETE /v1/{name=networks/*}
Deletes a Network.
get GET /v1/{name=networks/*}
Gets the details of a Network.
list GET /v1/networks
Lists the Network.
listPaths GET /v1/{parent=networks/*}:listPaths
Returns all the paths that are currently available.
patch PATCH /v1/{network.name=networks/*}
Updates a Network.

REST Resource: v1.networks.hubs

Methods
create POST /v1/{parent=networks/*}/hubs
Creates a Hub.
delete DELETE /v1/{name=networks/*/hubs/*}
Deletes a Hub.
get GET /v1/{name=networks/*/hubs/*}
Gets the details of a Hub.
list GET /v1/{parent=networks/*}/hubs
Lists the Hubs.
makeAvailable POST /v1/{name=networks/*/hubs/*}:makeAvailable
Makes a hub available.
makeUnavailable POST /v1/{name=networks/*/hubs/*}:makeUnavailable
Makes a hub unavailable.
patch PATCH /v1/{hub.name=networks/*/hubs/*}
Updates a Hub.

REST Resource: v1.networks.lines

Methods
create POST /v1/{parent=networks/*}/lines
Creates a Line.
delete DELETE /v1/{name=networks/*/lines/*}
Deletes a Line.
get GET /v1/{name=networks/*/lines/*}
Gets the details of a Line.
list GET /v1/{parent=networks/*}/lines
Lists the Lines.
makeAvailable POST /v1/{name=networks/*/lines/*}:makeAvailable
Makes a line available.
makeUnavailable POST /v1/{name=networks/*/lines/*}:makeUnavailable
Makes a line unavailable.
patch PATCH /v1/{line.name=networks/*/lines/*}
Updates a Line.

REST Resource: v1.networks.lines.rotations

Methods
create POST /v1/{parent=networks/*/lines/*}/rotations
Creates a LineRotation.
delete DELETE /v1/{name=networks/*/lines/*/rotations/*}
Deletes a LineRotation.
get GET /v1/{name=networks/*/lines/*/rotations/*}
Gets the details of a LineRotation.
list GET /v1/{parent=networks/*/lines/*}/rotations
Lists the LineRotations.
patch PATCH /v1/{lineRotation.name=networks/*/lines/*/rotations/*}
Updates a LineRotation.

REST Resource: v1.networks.shipments

Methods
delete DELETE /v1/{name=networks/*/shipments/*}
Deletes a Shipment.
get GET /v1/{name=networks/*/shipments/*}
Gets the details of a Shipment.
list GET /v1/{parent=networks/*}/shipments
Lists the Shipments.
route POST /v1/{parent=networks/*}/shipments:route
Route a new shipment.

REST Resource: v1.networks.shipments.path

Methods
commit POST /v1/{name=networks/*/shipments/*}/path:commit
Commits the path of a shipment, indicating that it cannot be changed in the future, even by the user, save for force majeure/act of God indicated by the MakeVehicleUnavailable, MakeHubUnavailable, MakeLineUnavailable methods.
update POST /v1/{path.shipment=networks/*/shipments/*}/path:update
Changes the path of a shipment: instead of using the service-computed one, the state will contain the one set by the user through this call.

REST Resource: v1.networks.vehicles

Methods
create POST /v1/{parent=networks/*}/vehicles
Creates a Vehicle.
delete DELETE /v1/{name=networks/*/vehicles/*}
Deletes a Vehicle.
get GET /v1/{name=networks/*/vehicles/*}
Gets the details of a Vehicle.
list GET /v1/{parent=networks/*}/vehicles
Lists the Vehicles.
makeAvailable POST /v1/{name=networks/*/vehicles/*}:makeAvailable
Makes a vehicle available.
makeUnavailable POST /v1/{name=networks/*/vehicles/*}:makeUnavailable
Makes a vehicle unavailable.
patch PATCH /v1/{vehicle.name=networks/*/vehicles/*}
Updates a Vehicle.