Authenticate using HTTP Basic Auth with your ShipStation API Key as the username and API Secret as the password; base URL is https://ssapi.shipstation.com
Create an order in ShipStation via POST /orders/createorder with orderNumber, orderDate, orderStatus, billTo, shipTo, items (each with sku, name, quantity, unitPrice), and weight
Create a shipment and purchase a label by POSTing to /shipments/createlabel with orderId or order details inline, carrierId, serviceCode, packageCode, weight, dimensions, and shipDate
Parse the response to extract labelData (base64-encoded PDF), trackingNumber, shipmentCost, and shipmentId for your records
Void a label if needed via POST /shipments/{shipmentId}/voidlabel within the carrier's void window to recoup the label cost
Retrieve rate quotes before purchasing by POSTing to /shipments/getrates with carrier, service, package, weight, and from/to zip codes to compare costs across services
Known gotchas
ShipStation's API rate limit is 40 requests per minute per account; batch label creation workflows can hit this quickly and require throttling logic
Label data is returned as a base64 PDF in the response; if you need ZPL format for thermal printers, specify the label format in the request or configure it in the carrier settings
Orders in ShipStation must have orderStatus set appropriately (awaiting_shipment) before label creation; orders in on_hold or cancelled status will reject label creation
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp