Create a shipment
Changed onCreate a new shipment with its orders.
Loads and services are not part of this payload. A load covers a subset of the shipment's stops, which only have ids once the orders exist, so loads are created against the shipment afterwards:
- Loads: POST /loads
- Services: POST /services
Required fields
- customer: Reference to the customer
- mode: How the shipment moves — it belongs to the shipment, not to its individual orders
- orders: At least one order with stops
What gets created
- Shipment record
- Order(s) with stops, freight, and charges
Relationship to Quotes
If you have a Quote, use POST /quotes/{id}/convert-to-shipment instead. Direct shipment creation is for cases without a quote.
Request
- Base URL: https://api.mvmnt.io/v1
- URL: https://api.mvmnt.io/v1/shipments
- Auth: HTTP bearer
Request body
Response
Shipment created 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
request property
///was restricted to a list of enum values - breaking
request property
///was restricted to a list of enum values - breaking
request property
/////was restricted to a list of enum values - breaking
request property
/////was restricted to a list of enum values - breaking
request property
/////was restricted to a list of enum values - breaking
request property
///was restricted to a list of enum values - info
added the new
100enum value to the request property///// - info
added the new
110enum value to the request property///// - info
added the new
125enum value to the request property///// - info
added the new
150enum value to the request property///// - info
added the new
175enum value to the request property///// - info
added the new
200enum value to the request property///// - info
added the new
250enum value to the request property///// - info
added the new
300enum value to the request property///// - info
added the new
400enum value to the request property///// - info
added the new
50enum value to the request property///// - info
added the new
500enum value to the request property///// - info
added the new
55enum value to the request property///// - info
added the new
60enum value to the request property///// - info
added the new
65enum value to the request property///// - info
added the new
70enum value to the request property///// - info
added the new
77.5enum value to the request property///// - info
added the new
85enum value to the request property///// - info
added the new
92.5enum value to the request property///// - info
added the new
CMenum value to the request property/// - info
added the new
CMenum value to the request property///// - info
added the new
CORROSIVEenum value to the request property/// - info
added the new
EXPLOSIVESenum value to the request property/// - info
added the new
FLAMMABLE_COMBUSTIBLE_LIQUIDenum value to the request property/// - info
added the new
FLAMMABLE_SOLID_COMBUSTIBLE_DANGEROUS_WHEN_WETenum value to the request property/// - info
added the new
FTenum value to the request property/// - info
added the new
FTenum value to the request property///// - info
added the new
GASESenum value to the request property/// - info
added the new
INenum value to the request property/// - info
added the new
INenum value to the request property///// - info
added the new
KGenum value to the request property///// - info
added the new
KGenum value to the request property/// - info
added the new
LBenum value to the request property///// - info
added the new
LBenum value to the request property/// - info
added the new
Menum value to the request property/// - info
added the new
Menum value to the request property///// - info
added the new
MISCELLANEOUSenum value to the request property/// - info
added the new
OXIDIZER_ORGANIC_PEROXIDEenum value to the request property/// - info
added the new
POISON_INHALATION_HAZARDenum value to the request property/// - info
added the new
RADIOACTIVEenum value to the request property/// - info
added the new
SHORT_TONenum value to the request property///// - info
added the new
SHORT_TONenum value to the request property/// - info
added the new
TONNEenum value to the request property///// - info
added the new
TONNEenum value to the request property///
- breaking
- breaking
the response's body type changed from
objectto no type for 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 - 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
added the new
DROPenum value to the request property//// - info
added the new
PICKenum value to the request property//// - info
added
subschema #2to the response bodyallOflist 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
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
- breaking