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. |
Request example
curl -X POST 'https://api.next.gcommerce.glass/api/v1/vendor/shipments' \
-H 'Content-Type: application/json' \
-d '{
"suborderId": "550e8400-e29b-41d4-a716-446655440031",
"carrier": "UPS"
}'Response examples
201Created
{
"id": "550e8400-e29b-41d4-a716-446655440040",
"orderId": "550e8400-e29b-41d4-a716-446655440029",
"suborderId": "550e8400-e29b-41d4-a716-446655440031",
"shippingMethodId": "550e8400-e29b-41d4-a716-446655440060",
"status": "SHIPPED",
"trackingNumber": "1Z999AA10123456784",
"carrier": "UPS",
"trackingUrl": "https://www.ups.com/track?tracknum=1Z999AA10123456784",
"shippedAt": "2026-06-12T10:00:00.000Z",
"deliveredAt": null,
"shippingAddress": {
"firstName": "John",
"lastName": "Buyer",
"address1": "456 Oak Ave",
"city": "Dallas",
"region": "TX",
"postalCode": "75201",
"country": "US"
},
"createdAt": "2026-06-11T14:00:00.000Z",
"updatedAt": "2026-06-12T10:00:00.000Z",
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440041",
"shipmentId": "550e8400-e29b-41d4-a716-446655440040",
"orderItemId": "550e8400-e29b-41d4-a716-446655440032",
"quantity": 2,
"createdAt": "2026-06-11T14:00:00.000Z"
}
],
"shippingMethod": {
"id": "550e8400-e29b-41d4-a716-446655440060",
"name": "Standard Shipping"
}
}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.
429
Too Many Requests
Global rate limit exceeded (10,000 requests per 10 minutes per IP).
500
Internal Server Error
Unexpected server error.
403
Forbidden
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.