G
Not authenticated — log in first
VendorShipments

Create Shipment

Create Shipment — vendor REST API endpoint.

POST/vendor/shipmentsVendor bearer token required

Create 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

NameTypeRequiredDescription
suborderIdstring (UUID)YesSuborder ID.
carrierstringYesCarrier name.
trackingNumberstringNoTracking number.
trackingUrlstringNoTracking URL.

Headers

NameTypeRequiredDescription
X-Vendor-Idstring (UUID)YesUUID 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.