{"openapi":"3.0.3","info":{"title":"Maxmove Partner API","description":"Programmatic delivery for businesses and fleets: quote → create → track → webhooks, plus carrier-side fleet order ingestion. Authenticate with an organization-scoped API key in the x-api-key header.","version":"1.0.0"},"components":{"securitySchemes":{"partnerApiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Organization-scoped mm_live_… (real orders) or mm_test_… (simulated) key, issued from the dashboard."}},"schemas":{}},"paths":{"/partner/v1/vehicle-types":{"get":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"List bookable vehicle types","responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["vehicle_types"],"properties":{"vehicle_types":{"type":"array","items":{"type":"object","required":["id","name","description"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}}}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"getPartnerV1Vehicle-types"}},"/partner/v1/quotes":{"post":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Create a delivery quote (valid for 5 minutes)","description":"vehicle_type_id is always required. Optionally send items (1–100) with per-item dimensions and weight; Maxmove then checks that the selected vehicle can carry them and answers 400 vehicle_does_not_fit when it cannot. Items are stored on the delivery and shown to the courier.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pickup","dropoff","vehicle_type_id"],"properties":{"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"extras":{"maxItems":20,"type":"array","items":{"type":"object","required":["extra_id"],"properties":{"extra_id":{"minLength":1,"type":"string"},"option_id":{"type":"string"},"quantity":{"minimum":1,"maximum":99,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99,"type":"integer"}]}}}},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}}}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["pickup","dropoff","vehicle_type_id"],"properties":{"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"extras":{"maxItems":20,"type":"array","items":{"type":"object","required":["extra_id"],"properties":{"extra_id":{"minLength":1,"type":"string"},"option_id":{"type":"string"},"quantity":{"minimum":1,"maximum":99,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99,"type":"integer"}]}}}},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}}}}},"multipart/form-data":{"schema":{"type":"object","required":["pickup","dropoff","vehicle_type_id"],"properties":{"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"extras":{"maxItems":20,"type":"array","items":{"type":"object","required":["extra_id"],"properties":{"extra_id":{"minLength":1,"type":"string"},"option_id":{"type":"string"},"quantity":{"minimum":1,"maximum":99,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99,"type":"integer"}]}}}},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}}}}}}},"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["id","amount_cents","currency","fare_subtotal_cents","customer_fee_cents","distance_km","duration_min","valid_until","created_at"],"properties":{"id":{"type":"string"},"amount_cents":{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},"currency":{"type":"string"},"fare_subtotal_cents":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"customer_fee_cents":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}]},"duration_min":{"anyOf":[{"type":"number"},{"type":"null"}]},"valid_until":{"type":"string"},"created_at":{"type":"string"}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"postPartnerV1Quotes"}},"/partner/v1/deliveries":{"post":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Create a delivery from a quote or a full route","description":"An Idempotency-Key header is required. Replays with the same payload return 200 and Idempotent-Replayed: true; new deliveries return 201. Responses expose X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset; 429 also includes Retry-After. Test-mode keys create simulated deliveries that never dispatch a courier. Optional items (1–100) are validated against the selected vehicle exactly like on quotes (400 vehicle_does_not_fit) and are kept on the delivery for the courier, package labels, and proof of delivery.","parameters":[{"name":"idempotency-key","in":"header","required":true,"schema":{"minLength":1,"maxLength":255,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["contact"],"properties":{"quote_id":{"type":"string"},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"extras":{"maxItems":20,"type":"array","items":{"type":"object","required":["extra_id"],"properties":{"extra_id":{"minLength":1,"type":"string"},"option_id":{"type":"string"},"quantity":{"minimum":1,"maximum":99,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99,"type":"integer"}]}}}},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}},"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"external_id":{"minLength":1,"maxLength":128,"type":"string"},"notes":{"maxLength":2000,"type":"string"},"scheduled_at":{"format":"date-time","type":"string"},"test_scenario":{"type":"string","enum":["courier_cancelled","delivery_failed"]}}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["contact"],"properties":{"quote_id":{"type":"string"},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"extras":{"maxItems":20,"type":"array","items":{"type":"object","required":["extra_id"],"properties":{"extra_id":{"minLength":1,"type":"string"},"option_id":{"type":"string"},"quantity":{"minimum":1,"maximum":99,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99,"type":"integer"}]}}}},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}},"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"external_id":{"minLength":1,"maxLength":128,"type":"string"},"notes":{"maxLength":2000,"type":"string"},"scheduled_at":{"format":"date-time","type":"string"},"test_scenario":{"type":"string","enum":["courier_cancelled","delivery_failed"]}}}},"multipart/form-data":{"schema":{"type":"object","required":["contact"],"properties":{"quote_id":{"type":"string"},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"extras":{"maxItems":20,"type":"array","items":{"type":"object","required":["extra_id"],"properties":{"extra_id":{"minLength":1,"type":"string"},"option_id":{"type":"string"},"quantity":{"minimum":1,"maximum":99,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99,"type":"integer"}]}}}},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}},"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"external_id":{"minLength":1,"maxLength":128,"type":"string"},"notes":{"maxLength":2000,"type":"string"},"scheduled_at":{"format":"date-time","type":"string"},"test_scenario":{"type":"string","enum":["courier_cancelled","delivery_failed"]}}}}}},"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["id","status","mode","external_id","quote_id","amount_cents","currency","pickup","dropoff","stops","vehicle_type_id","contact","notes","scheduled_at","tracking_url","courier","created_at","updated_at","cancelled_at","delivered_at"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"mode":{"type":"string","enum":["live","test"]},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"quote_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"amount_cents":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"type":"string"},"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"scheduled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"courier":{"anyOf":[{"type":"object","required":["name","phone","location"],"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","required":["latitude","longitude","recorded_at"],"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"recorded_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}},{"type":"null"}]}}},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"delivered_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}},"201":{"description":"Response for status 201","content":{"application/json":{"schema":{"type":"object","required":["id","status","mode","external_id","quote_id","amount_cents","currency","pickup","dropoff","stops","vehicle_type_id","contact","notes","scheduled_at","tracking_url","courier","created_at","updated_at","cancelled_at","delivered_at"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"mode":{"type":"string","enum":["live","test"]},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"quote_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"amount_cents":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"type":"string"},"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"scheduled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"courier":{"anyOf":[{"type":"object","required":["name","phone","location"],"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","required":["latitude","longitude","recorded_at"],"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"recorded_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}},{"type":"null"}]}}},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"delivered_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"postPartnerV1Deliveries"},"get":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"List deliveries (newest first, cursor pagination)","parameters":[{"name":"limit","in":"query","required":false,"schema":{"minimum":1,"maximum":20,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":20,"type":"integer"}]}},{"name":"page_token","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["deliveries","next_page_token"],"properties":{"deliveries":{"type":"array","items":{"type":"object","required":["id","status","mode","external_id","quote_id","amount_cents","currency","pickup","dropoff","stops","vehicle_type_id","contact","notes","scheduled_at","tracking_url","courier","created_at","updated_at","cancelled_at","delivered_at"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"mode":{"type":"string","enum":["live","test"]},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"quote_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"amount_cents":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"type":"string"},"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"scheduled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"courier":{"anyOf":[{"type":"object","required":["name","phone","location"],"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","required":["latitude","longitude","recorded_at"],"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"recorded_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}},{"type":"null"}]}}},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"delivered_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}}},"next_page_token":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"getPartnerV1Deliveries"}},"/partner/v1/deliveries/{deliveryId}":{"get":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Get a delivery","parameters":[{"name":"deliveryId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["id","status","mode","external_id","quote_id","amount_cents","currency","pickup","dropoff","stops","vehicle_type_id","contact","notes","scheduled_at","tracking_url","courier","created_at","updated_at","cancelled_at","delivered_at"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"mode":{"type":"string","enum":["live","test"]},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"quote_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"amount_cents":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"type":"string"},"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"scheduled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"courier":{"anyOf":[{"type":"object","required":["name","phone","location"],"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","required":["latitude","longitude","recorded_at"],"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"recorded_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}},{"type":"null"}]}}},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"delivered_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"getPartnerV1DeliveriesByDeliveryId"}},"/partner/v1/deliveries/{deliveryId}/cancel":{"post":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Cancel a delivery (refused once the courier picked it up)","parameters":[{"name":"deliveryId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["id","status","mode","external_id","quote_id","amount_cents","currency","pickup","dropoff","stops","vehicle_type_id","contact","notes","scheduled_at","tracking_url","courier","created_at","updated_at","cancelled_at","delivered_at"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"mode":{"type":"string","enum":["live","test"]},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"quote_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"amount_cents":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"type":"string"},"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"scheduled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"courier":{"anyOf":[{"type":"object","required":["name","phone","location"],"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","required":["latitude","longitude","recorded_at"],"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"recorded_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}},{"type":"null"}]}}},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"delivered_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"postPartnerV1DeliveriesByDeliveryIdCancel"}},"/partner/v1/deliveries/{deliveryId}/tracking":{"get":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Live tracking snapshot (ETA, courier position, polyline)","parameters":[{"name":"deliveryId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["delivery_id","status","tracking_url","eta_seconds","distance_meters","route_polyline","courier"],"properties":{"delivery_id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"eta_seconds":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"distance_meters":{"anyOf":[{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]},{"type":"null"}]},"route_polyline":{"anyOf":[{"type":"string"},{"type":"null"}]},"courier":{"anyOf":[{"type":"object","required":["name","phone","location"],"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","required":["latitude","longitude","recorded_at"],"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"recorded_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}},{"type":"null"}]}}},{"type":"null"}]}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"getPartnerV1DeliveriesByDeliveryIdTracking"}},"/partner/v1/deliveries/{deliveryId}/proof-of-delivery":{"get":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Proof of delivery artifacts as short-lived download URLs","parameters":[{"name":"deliveryId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["delivery_id","checkpoints"],"properties":{"delivery_id":{"type":"string"},"checkpoints":{"type":"array","items":{"type":"object","required":["kind","recipient_name","submitted_at","artifacts"],"properties":{"kind":{"type":"string","enum":["pickup","dropoff","unknown"]},"recipient_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"submitted_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"artifacts":{"type":"array","items":{"type":"object","required":["kind","file_name","content_type","download_url"],"properties":{"kind":{"type":"string","enum":["photo","signature","signed_delivery_note","document","unknown"]},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}}}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"getPartnerV1DeliveriesByDeliveryIdProof-of-delivery"}},"/partner/v1/webhooks":{"post":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Register a webhook endpoint (signing secret is returned only once)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"minLength":12,"maxLength":2000,"type":"string"},"events":{"maxItems":8,"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"description":{"maxLength":500,"type":"string"}}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["url"],"properties":{"url":{"minLength":12,"maxLength":2000,"type":"string"},"events":{"maxItems":8,"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"description":{"maxLength":500,"type":"string"}}}},"multipart/form-data":{"schema":{"type":"object","required":["url"],"properties":{"url":{"minLength":12,"maxLength":2000,"type":"string"},"events":{"maxItems":8,"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"description":{"maxLength":500,"type":"string"}}}}}},"responses":{"201":{"description":"Response for status 201","content":{"application/json":{"schema":{"type":"object","required":["id","url","events","mode","status","description","created_at","updated_at"],"properties":{"id":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"mode":{"type":"string","enum":["live","test"]},"status":{"type":"string","enum":["active","disabled"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"secret":{"type":"string"}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"postPartnerV1Webhooks"},"get":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"List webhook endpoints","responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["webhooks"],"properties":{"webhooks":{"type":"array","items":{"type":"object","required":["id","url","events","mode","status","description","created_at","updated_at"],"properties":{"id":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"mode":{"type":"string","enum":["live","test"]},"status":{"type":"string","enum":["active","disabled"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"getPartnerV1Webhooks"}},"/partner/v1/webhooks/{webhookId}":{"patch":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Update a webhook endpoint (rotate_secret returns the new secret once)","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"minLength":12,"maxLength":2000,"type":"string"},"events":{"maxItems":8,"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"status":{"type":"string","enum":["active","disabled"]},"rotate_secret":{"type":"boolean"}}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"url":{"minLength":12,"maxLength":2000,"type":"string"},"events":{"maxItems":8,"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"status":{"type":"string","enum":["active","disabled"]},"rotate_secret":{"type":"boolean"}}}},"multipart/form-data":{"schema":{"type":"object","properties":{"url":{"minLength":12,"maxLength":2000,"type":"string"},"events":{"maxItems":8,"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"status":{"type":"string","enum":["active","disabled"]},"rotate_secret":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["id","url","events","mode","status","description","created_at","updated_at"],"properties":{"id":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["delivery.created","delivery.status_updated","delivery.courier_assigned","delivery.courier_arrived","delivery.eta_updated","delivery.pod_submitted","delivery.delivered","delivery.cancelled"]}},"mode":{"type":"string","enum":["live","test"]},"status":{"type":"string","enum":["active","disabled"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"secret":{"type":"string"}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"patchPartnerV1WebhooksByWebhookId"},"delete":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Delete a webhook endpoint","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["deleted"],"properties":{"deleted":{"const":true,"type":"boolean"}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"deletePartnerV1WebhooksByWebhookId"}},"/partner/v1/webhooks/{webhookId}/test":{"post":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Send a signed sample event to this endpoint","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Response for status 202","content":{"application/json":{"schema":{"type":"object","required":["event_id"],"properties":{"event_id":{"type":"string"}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"postPartnerV1WebhooksByWebhookIdTest"}},"/partner/v1/webhooks/{webhookId}/replay":{"post":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Requeue this endpoint’s failed (DLQ) deliveries for retry","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["queued"],"properties":{"queued":{"anyOf":[{"format":"integer","default":0,"type":"string"},{"type":"integer"}]}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"postPartnerV1WebhooksByWebhookIdReplay"}},"/partner/v1/fleet/orders":{"post":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Push an order into your fleet dispatch board (fleet keys only)","description":"Carrier-side ingestion creates an internal order immediately. An Idempotency-Key header is required; replays return the existing order.","parameters":[{"name":"idempotency-key","in":"header","required":true,"schema":{"minLength":1,"maxLength":255,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["contact","pickup","dropoff","vehicle_type_id"],"properties":{"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}},"reference":{"minLength":1,"maxLength":120,"type":"string"},"requested_pickup_date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"requested_pickup_time":{"pattern":"^\\d{2}:\\d{2}$","type":"string"},"customer_timezone":{"maxLength":64,"type":"string"},"notes":{"maxLength":2000,"type":"string"}}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["contact","pickup","dropoff","vehicle_type_id"],"properties":{"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}},"reference":{"minLength":1,"maxLength":120,"type":"string"},"requested_pickup_date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"requested_pickup_time":{"pattern":"^\\d{2}:\\d{2}$","type":"string"},"customer_timezone":{"maxLength":64,"type":"string"},"notes":{"maxLength":2000,"type":"string"}}}},"multipart/form-data":{"schema":{"type":"object","required":["contact","pickup","dropoff","vehicle_type_id"],"properties":{"contact":{"type":"object","required":["name","phone"],"properties":{"name":{"minLength":1,"maxLength":200,"type":"string"},"phone":{"minLength":5,"maxLength":32,"type":"string"},"email":{"format":"email","type":"string"}}},"pickup":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"dropoff":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}},"stops":{"maxItems":10,"type":"array","items":{"type":"object","required":["address","latitude","longitude"],"properties":{"address":{"minLength":3,"maxLength":500,"type":"string"},"latitude":{"minimum":-90,"maximum":90,"type":"number"},"longitude":{"minimum":-180,"maximum":180,"type":"number"}}}},"vehicle_type_id":{"minLength":1,"type":"string"},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"description":"One line of identical units. Maxmove checks that the selected vehicle_type_id can carry every line (400 vehicle_does_not_fit otherwise) and keeps the lines on the delivery for the courier, package labels, and proof of delivery.","type":"object","required":["quantity","weight_kg","length_cm","width_cm","height_cm"],"properties":{"source_line_id":{"minLength":1,"maxLength":200,"description":"Your own line identifier (for example an ERP or shop order line id).","type":"string"},"description":{"minLength":1,"maxLength":500,"description":"Short cargo description shown to the courier.","type":"string"},"quantity":{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":10000,"description":"Number of identical units on this line.","type":"integer"}]},"weight_kg":{"exclusiveMinimum":0,"maximum":100000,"description":"Weight of one unit in kilograms.","type":"number"},"length_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer length of one unit in centimetres.","type":"number"},"width_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer width of one unit in centimetres.","type":"number"},"height_cm":{"exclusiveMinimum":0,"maximum":5000,"description":"Outer height of one unit in centimetres.","type":"number"},"sku":{"minLength":1,"maxLength":200,"description":"Your SKU.","type":"string"},"customer_reference":{"minLength":1,"maxLength":200,"description":"Reference printed on package labels and shown at handover.","type":"string"},"barcode":{"minLength":1,"maxLength":200,"description":"Existing package barcode; the courier scans it at pickup and dropoff.","type":"string"},"gtin":{"minLength":1,"maxLength":200,"description":"GTIN / EAN.","type":"string"},"sscc":{"minLength":1,"maxLength":200,"description":"Serial Shipping Container Code, if you already issue one.","type":"string"},"stackable":{"description":"true: identical units may be stacked when checking vehicle fit; false: never stacked. Omit when unknown (treated conservatively).","type":"boolean"},"fragile":{"description":"Fragile units are never stacked and are flagged to the courier.","type":"boolean"},"keep_upright":{"description":"The unit must keep its height axis vertical; only the footprint may be rotated.","type":"boolean"}}}},"reference":{"minLength":1,"maxLength":120,"type":"string"},"requested_pickup_date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"requested_pickup_time":{"pattern":"^\\d{2}:\\d{2}$","type":"string"},"customer_timezone":{"maxLength":64,"type":"string"},"notes":{"maxLength":2000,"type":"string"}}}}}},"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["id","status","reference","order_id","tracking_url","created_at","updated_at"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"reference":{"anyOf":[{"type":"string"},{"type":"null"}]},"order_id":{"type":"string"},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}},"201":{"description":"Response for status 201","content":{"application/json":{"schema":{"type":"object","required":["id","status","reference","order_id","tracking_url","created_at","updated_at"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"reference":{"anyOf":[{"type":"string"},{"type":"null"}]},"order_id":{"type":"string"},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"postPartnerV1FleetOrders"}},"/partner/v1/fleet/orders/{fleetOrderId}":{"get":{"tags":["Partner API"],"security":[{"partnerApiKey":[]}],"summary":"Get an ingested fleet order (fleet keys only)","parameters":[{"name":"fleetOrderId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["id","status","reference","order_id","tracking_url","created_at","updated_at"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","courier_assigned","at_pickup","picked_up","in_transit","at_dropoff","delivered","cancelled","expired"]},"reference":{"anyOf":[{"type":"string"},{"type":"null"}]},"order_id":{"type":"string"},"tracking_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"401":{"description":"Response for status 401","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"403":{"description":"Response for status 403","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"404":{"description":"Response for status 404","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"409":{"description":"Response for status 409","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"429":{"description":"Response for status 429","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"502":{"description":"Response for status 502","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}},"503":{"description":"Response for status 503","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"request_id":{"type":"string"}}}}}}},"operationId":"getPartnerV1FleetOrdersByFleetOrderId"}}}}