ShipStation
Read and write ShipStation shipments, labels, rates, tracking, warehouses, inventory, products, purchase orders, suppliers and fulfillments.
Turn orders from commerce and ERP systems into shipments and labels, then feed tracking, costs and stock levels back without manual copying.
Source actions
30
Destination actions
20
Data types
26
Validation status
Implemented · fixture tested.
Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.
What you can map
address validations
- Validate addressSource
Validate and normalise an address before shipping.
address_validations.search
batches
- Create batchDestinationNot retried automaticallyApproval before production
Group shipments or rates into an open batch. Nexra never processes the batch, so no labels are purchased.
batches.create - Get batchSource
One batch by ID.
batches.get - List batchesSource
Label batches with counts, errors and download links.
batches.list
carrier services
- List carrier servicesSource
Services a connected carrier offers.
carrier_services.list
carriers
- List carriersSource
Connected carrier accounts with services, package types and balance.
carriers.list
fulfillments
- Mark shipment fulfilledDestinationNot retried automaticallyApproval before production
Mark a shipment as shipped with an external tracking number and optionally notify the customer and order source.
fulfillments.create - List fulfillmentsSourceIncremental
Shipments marked as fulfilled, including externally shipped orders.
fulfillments.list
inventory locations
- List inventory locationsSource
Bins and locations inside inventory warehouses.
inventory_locations.list
inventory warehouses
- List inventory warehousesSource
Inventory warehouses used for stock tracking.
inventory_warehouses.list
inventory
- List inventory levelsSource
On-hand, allocated and available quantities per SKU and location.
inventory.list - Adjust inventoryDestinationNot retried automaticallyApproval before production
Increment, decrement, set (adjust) or move (modify) stock for a SKU at a location.
inventory.update
label tracking
- Get label trackingSource
Tracking status and events for a label purchased in ShipStation.
label_tracking.get
labels
- Purchase labelDestinationNot retried automaticallyApproval before production
Purchase a shipping label for an inline shipment. Charges postage to the carrier account unless testLabel is true.
labels.create - Get labelSource
One label by ID, including download links.
labels.get - List labelsSourceIncremental
Purchased labels with cost, tracking number and status, newest first.
labels.list
manifests
- List manifestsSourceIncremental
End-of-day manifests (SCAN forms) with label IDs and download links.
manifests.list
packages
- Create package typeDestinationNot retried automaticallyApproval before production
Add a custom package type.
packages.create - List custom package typesSource
Custom package types with dimensions.
packages.list - Update package typeDestinationProvider duplicate protectionApproval before production
Update a custom package type.
packages.update
pickups
- List pickupsSource
Scheduled carrier pickups with windows and confirmation numbers.
pickups.list
products
- Create productDestinationNot retried automaticallyApproval before production
Add a product to the catalogue.
products.create - Get productSource
One product by ID.
products.get - List productsSource
Product catalogue with SKU, weights, customs data and defaults.
products.list - Update productDestinationProvider duplicate protectionApproval before production
Update a product's details, defaults and customs data.
products.update
purchase orders
- Create purchase orderDestinationNot retried automaticallyApproval before production
Create a purchase order to a supplier.
purchase_orders.create - Get purchase orderSource
One purchase order with its product lines.
purchase_orders.get - List purchase ordersSourceIncremental
Inbound purchase orders from suppliers.
purchase_orders.list - Update purchase orderDestinationProvider duplicate protectionApproval before production
Update a purchase order's supplier, dates, terms and product lines.
purchase_orders.update
rate estimates
- Estimate ratesSource
Estimate rates from origin and destination postal codes and weight, without creating a shipment.
rate_estimates.search
rate labels
- Purchase label from rateDestinationNot retried automaticallyApproval before production
Purchase the label for a rate returned by rates.search.
rate_labels.create
rates
- Get shipping ratesSource
Rate-shop a saved shipment or an inline shipment across carriers. Quotes do not purchase postage.
rates.search
shipment labels
- Purchase label for shipmentDestinationNot retried automaticallyApproval before production
Purchase a label for an existing shipment using its carrier and service.
shipment_labels.create
shipment rates
- List shipment ratesSource
Rates previously calculated for a shipment, including invalid rates.
shipment_rates.list
shipment tags
- Tag shipmentDestinationProvider duplicate protectionApproval before production
Add an existing tag to a shipment.
shipment_tags.create
shipments
- Create shipmentDestinationNot retried automaticallyApproval before production
Create an unpurchased shipment (no postage is charged). Returns the shipment with validation errors.
shipments.create - Get shipmentSource
One shipment by ShipStation ID or by your external shipment ID.
shipments.get - List shipmentsSourceIncremental
Shipments with status, addresses, items and packages, oldest change first.
shipments.list - Update shipmentDestinationProvider duplicate protectionApproval before production
Replace an unpurchased shipment's addresses, packages, service and options.
shipments.update
suppliers
- Create supplierDestinationNot retried automaticallyApproval before production
Add a supplier.
suppliers.create - Get supplierSource
One supplier by ID.
suppliers.get - List suppliersSource
Suppliers used on purchase orders.
suppliers.list - Update supplierDestinationProvider duplicate protectionApproval before production
Update a supplier's contact and address.
suppliers.update
tags
- List tagsSource
Shipment tags defined in the account.
tags.list
tracking
- Start trackingDestinationProvider duplicate protectionApproval before production
Subscribe a tracking number to ShipStation tracking webhooks (track events) for a package not shipped through ShipStation.
tracking.create - Get trackingSource
Tracking status and events by carrier code and tracking number.
tracking.get
warehouses
- Create warehouseDestinationNot retried automaticallyApproval before production
Add a ship-from location.
warehouses.create - Get warehouseSource
One ship-from location.
warehouses.get - List warehousesSource
Ship-from locations with origin and return addresses.
warehouses.list - Update warehouseDestinationProvider duplicate protectionApproval before production
Replace a ship-from location's name and addresses.
warehouses.update
Authentication
ShipStation API v2 key
Plans and access
ShipStation API v2 is available to ShipStation accounts with API access; v2 keys are separate from legacy v1 keys. One active v2 API key per account. Label purchases charge the connected carrier account or ShipStation funding source.
Test environment
ShipStation platform accounts have no sandbox; use test_label on label purchases or a trial account. TEST_ keys exist only for ShipStation API (formerly ShipEngine) customers.
Rate limits
200 requests per minute per API key by default; HTTP 429 with Retry-After (seconds). error_source shows whether ShipStation or a carrier applied the limit.
Pagination
page and page_size with total, page, pages and links.next.href; Nexra follows links.next.href.
Provider events
Environment webhooks for batch, shipment rate, tracking (track), fulfillment and order source events. Nexra event triggers are not yet available; flows run on demand or on a schedule.
Before you build a flow
- Label purchases (labels.create, shipment_labels.create, rate_labels.create) are billable and have no idempotency key; Nexra never retries them. Set externalShipmentId and check labels.list before retrying manually.
- Voiding labels, cancelling shipments, refunds, carrier funding, and deletes are not implemented.
- batches.create never processes labels; processing a batch purchases labels and is left to ShipStation.
- ShipStation does not document a maximum page_size; Nexra requests at most 100 per page.
- The purchase order, supplier and inventory lists document only page_size; Nexra follows links.next.href to page through them.
- Shipment updates are full replacements (PUT); send the complete shipment.
Developer reference
- Create the ShipStation (Auctane) credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose ShipStation, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/shipstation and the Connections API.