VendorShipments
Create Shipment
Create Shipment — vendor REST API endpoint.
POST
/vendor/shipmentsVendor bearer token requiredCreate Shipment
Create a shipment for a vendor suborder.
What this means in plain English
Creates a shipment with carrier, tracking info, and line items. Requires OWNER, ADMIN, or EDITOR role.
When to use this
- Notifying the platform of a shipped order with tracking details.
Request body
| Name | Type | Required | Description |
|---|---|---|---|
| suborderId | string (UUID) | Yes | Suborder ID. |
| carrier | string | Yes | Carrier name. |
| trackingNumber | string | No | Tracking number. |
| trackingUrl | string | No | Tracking URL. |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Vendor-Id | string (UUID) | Yes | UUID of the vendor context. Required for vendor-scoped endpoints when your account has multiple vendor memberships. Use the vendor.id from the login response. |
Request example
curl -X POST 'http://localhost:8080/api/v1/vendor/shipments' \
-H 'X-Vendor-Id: 550e8400-e29b-41d4-a716-446655440010' \
-H 'Content-Type: application/json' \
-d '{
"suborderId": "550e8400-e29b-41d4-a716-446655440031",
"carrier": "UPS",
"trackingNumber": "1Z999AA10123456784",
"trackingUrl": "https://www.ups.com/track?tracknum=1Z999AA10123456784"
}'Response examples
201Created
{
"id": "550e8400-e29b-41d4-a716-446655440040",
"suborderId": "550e8400-e29b-41d4-a716-446655440031",
"carrier": "UPS",
"trackingNumber": "1Z999AA10123456784",
"status": "SHIPPED"
}Status codes
200
OK
Request succeeded.
401
Unauthorized
Missing or invalid bearer token.
403
Forbidden
Insufficient permissions for this action.
400
Bad Request
Validation failed or invalid parameters.
404
Not Found
Resource not found.
500
Internal Server Error
Unexpected server error.
403
Forbidden
Invalid X-Vendor-Id, no vendor membership, or insufficient vendor role (requires OWNER, ADMIN, or EDITOR for write operations).
The items array (orderItemId + quantity) is required in the full request body. See the request example for the complete JSON structure.
Try it
Uses your saved session from login. Edit values and send a live request, or copy the cURL command.