Submit a shipment
Changed onTake a draft shipment open and create the loads its carriers are assigned to.
This is the step between POST /shipments and giving a load a carrier. A shipment is created in draft; submitting runs the same routine the TMS itself uses, so the loads it produces match what the UI would have made.
Pass autoSubmit: true on create to have this run as part of creation instead of as a second call.
What happens
- The shipment's orders move out of draft
- Loads are created for the order's stops
- The updated shipment is returned, loads included
Prerequisites
- The shipment must still be in draft
Request
- Base URL: https://api.mvmnt.io/v1
- URL: https://api.mvmnt.io/v1/shipments/{id}/submit
- Auth: HTTP bearer
Path parameters
Resource ID (UUID) or client key
Query parameters
Specify lookup type for faster retrieval. If omitted, defaults to looking up by ID first, then falls back to client key if not found. Use by=key when you know you're providing a client key for best performance.
Response
Shipment submitted successfully
Example response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"friendlyId": "SHP-12345",
"key": "my-shipment-001",
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-CUSTOMER-ACME",
"name": "Acme Manufacturing Corp",
"friendlyId": "A123456",
"status": "ACTIVE",
"phoneNumber": "+1-555-123-4567",
"website": "https://acme-manufacturing.com",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
},
"customerRep": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-USER-12345",
"email": "john.doe@example.com",
"name": "John Doe",
"phone": "+1-555-123-4567",
"phoneExt": "123",
"status": "ACTIVE",
"avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
},
"orders": [
{
"stops": [
{
"location": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-USER-12345"
},
"address": {
"line1": "123 Main St",
"line2": "Suite 400",
"city": "Chicago",
"state": "IL",
"zipCode": "60601",
"country": "USA",
"market": "CHI",
"latitude": "41.8781",
"longitude": "-87.6298",
"isSmartyValidated": true,
"obeysDst": true
}
}
]
}
],
"loads": [
{
"carriers": [
{
"carrier": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-CARRIER-SWIFT",
"name": "Swift Transportation",
"phoneNumber": "+1-555-987-6543",
"email": "dispatch@swifttrans.com",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
}
}
]
}
],
"services": [
{
"vendor": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "ERP-VENDOR-ABC-001",
"friendlyId": "V123456",
"name": "ABC Warehouse Services",
"email": "billing@abcwarehouse.com",
"phone": "+1-555-123-4567",
"status": "ACTIVE",
"currency": "USD",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T14:30:00Z"
}
}
]
}Changes
- breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - warning
added the new
DROPenum value to the////response property for the response status - warning
added the new
PICKenum value to the////response property for the response status - info
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status - info
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status - info
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status - info
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
removed the
DELIVERYenum value from the////response property for the response status - info
removed the
PICKUPenum value from the////response property for the response status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status - info
added the required property
to the response with the status
- breaking
- info
endpoint added
- info