Create a quote
Changed onCreate a new quote with order details.
How it works
Creating a quote also creates an associated Order containing the route and freight details. The Order is embedded in the Quote and cannot be managed separately.
Required fields
- customer: Reference to the customer (shipper profile)
- mode: How the quoted freight moves
- order: Order details including stops
Example workflow
- Create quote with customer and order details
- Add pricing (amount) via PATCH
- Send to customer (status changes to QUOTED)
- Convert to shipment when accepted (POST /quotes/{id}/convert-to-shipment)
Request
- Base URL: https://api.mvmnt.io/v1
- URL: https://api.mvmnt.io/v1/quotes
- Auth: HTTP bearer
Request body
Response
Quote created successfully
Example response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"friendlyId": "Q003602",
"key": "my-quote-001",
"amount": 2500,
"target": 2200,
"margin": 12,
"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"
},
"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"
},
"assignee": {
"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"
}
}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 - 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
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 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