ShipStation
Book shipments and track deliveries with ShipStation straight from your orders, with no re-typing.
53 ways to read, 31 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with ShipStation, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Add to batchApproval by rule
- Create batchApproval by rule
- List batch errorsRead
Example flow
- ShipStation · List batch errorsDone
- ShipStation · Add to batchNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches ShipStation.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to ShipStation
- ShipStation's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Read and write ShipStation shipments, labels, rates, tracking, batches, warehouses, inventory, products, purchase orders, suppliers, fulfillments, tags and service points.
ShipStation (Auctane) API docs- Source actions
- 53
- Destination actions
- 31
- Data types
- 41
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Account settings1
- Get account settingsSource
Account-level label settings.
Address validations1
- Validate addressSource
Validate and normalise an address before shipping.
Batch errors1
- List batch errorsSource
Errors for shipments in a batch.
Batch items1
- Add to batchDestinationNot retried automaticallyApproval before production
Add shipments or rates to an open batch. Nexra never processes the batch.
Batches4
- Create batchDestinationNot retried automaticallyApproval before production
Group shipments or rates into an open batch. Nexra never processes the batch, so no labels are purchased.
- Get batchSource
One batch by ID.
- List batchesSource
Label batches with counts, errors and download links.
- Find batch by external IDSource
One batch by your external batch ID.
Bulk rates1
- Request rates for many shipmentsSource
Start rate requests for saved shipments; read the rates with shipment_rates.list. Quotes only.
Carrier options1
- List carrier optionsSource
Advanced options a carrier supports (for example saturday_delivery).
Carrier packages1
- List carrier package typesSource
Package types a connected carrier accepts.
Carrier services1
- List carrier servicesSource
Services a connected carrier offers.
Carriers2
- Get carrierSource
One connected carrier account with services, package types and options.
- List carriersSource
Connected carrier accounts with services, package types and balance.
Fulfillments2
- 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.
- List fulfillmentsSourceIncremental
Shipments marked as fulfilled, including externally shipped orders.
Inventory locations4
- Create inventory locationDestinationNot retried automaticallyApproval before production
Add a bin or location to an inventory warehouse.
- Get inventory locationSource
One bin or location inside an inventory warehouse.
- List inventory locationsSource
Bins and locations inside inventory warehouses.
- Update inventory locationDestinationProvider duplicate protectionApproval before production
Rename a location or change its barcode.
Inventory warehouses4
- Create inventory warehouseDestinationNot retried automaticallyApproval before production
Add an inventory warehouse for stock tracking.
- Get inventory warehouseSource
One inventory warehouse.
- List inventory warehousesSource
Inventory warehouses used for stock tracking.
- Rename inventory warehouseDestinationProvider duplicate protectionApproval before production
Rename an inventory warehouse.
Inventory2
- List inventory levelsSource
On-hand, allocated and available quantities per SKU and location.
- Adjust inventoryDestinationNot retried automaticallyApproval before production
Increment, decrement, set (adjust) or move (modify) stock for a SKU at a location.
Label tracking1
- Get label trackingSource
Tracking status and events for a label purchased in ShipStation.
Labels4
- Purchase labelDestinationNot retried automaticallyApproval before production
Purchase a shipping label for an inline shipment. Charges postage to the carrier account unless testLabel is true.
- Get labelSource
One label by ID, including download links.
- List labelsSourceIncremental
Purchased labels with cost, tracking number and status, newest first.
- Find label by external shipment IDSource
The label for one of your external shipment IDs.
Manifest requests1
- Get manifest requestSource
Status and resulting manifests of a manifest request.
Manifests2
- Get manifestSource
One manifest (SCAN form) by ID.
- List manifestsSourceIncremental
End-of-day manifests (SCAN forms) with label IDs and download links.
Packages4
- Create package typeDestinationNot retried automaticallyApproval before production
Add a custom package type.
- Get package typeSource
One custom package type.
- List custom package typesSource
Custom package types with dimensions.
- Update package typeDestinationProvider duplicate protectionApproval before production
Update a custom package type.
Pickups2
- Get pickupSource
One scheduled carrier pickup.
- List pickupsSource
Scheduled carrier pickups with windows and confirmation numbers.
Products4
- Create productDestinationNot retried automaticallyApproval before production
Add a product to the catalogue.
- Get productSource
One product by ID.
- List productsSource
Product catalogue with SKU, weights, customs data and defaults.
- Update productDestinationProvider duplicate protectionApproval before production
Update a product's details, defaults and customs data.
Purchase order receipts1
- Receive purchase order productsDestinationNot retried automaticallyApproval before production
Record received and rejected quantities into inventory locations.
Purchase order shipping details1
- Update purchase order shipping detailsDestinationProvider duplicate protectionApproval before production
Update a purchase order's dates, terms, inbound carrier and tracking number.
Purchase order status1
- Update purchase order statusDestinationProvider duplicate protectionApproval before production
Move a purchase order to open, receiving, received or closed.
Purchase orders4
- Create purchase orderDestinationNot retried automaticallyApproval before production
Create a purchase order to a supplier.
- Get purchase orderSource
One purchase order with its product lines.
- List purchase ordersSourceIncremental
Inbound purchase orders from suppliers.
- Update purchase orderDestinationProvider duplicate protectionApproval before production
Update a purchase order's supplier, dates, terms and product lines.
Rate estimates1
- Estimate ratesSource
Estimate rates from origin and destination postal codes and weight, without creating a shipment.
Rate labels1
- Purchase label from rateDestinationNot retried automaticallyApproval before production
Purchase the label for a rate returned by rates.search.
Rate shoppers2
- Get rate shopperSource
One rate-shopping rule.
- List rate shoppersSource
Saved rate-shopping rules with services, transit limits and preference.
Rates2
- Get rateSource
One previously quoted rate by ID.
- Get shipping ratesSource
Rate-shop a saved shipment or an inline shipment across carriers. Quotes do not purchase postage.
Service points2
- Get service pointSource
One carrier service point.
- Find service pointsSource
Carrier drop-off and pickup points near an address or coordinates.
Shipment labels1
- Purchase label for shipmentDestinationNot retried automaticallyApproval before production
Purchase a label for an existing shipment using its carrier and service.
Shipment notes1
- Update shipment internal notesDestinationNot retried automaticallyApproval before production
Append to or overwrite a shipment's internal notes.
Shipment rates1
- List shipment ratesSource
Rates previously calculated for a shipment, including invalid rates.
Shipment tags2
- Tag shipmentDestinationProvider duplicate protectionApproval before production
Add an existing tag to a shipment.
- List shipment tagsSource
Tags on one shipment.
Shipments4
- Create shipmentDestinationNot retried automaticallyApproval before production
Create an unpurchased shipment (no postage is charged). Returns the shipment with validation errors.
- Get shipmentSource
One shipment by ShipStation ID or by your external shipment ID.
- List shipmentsSourceIncremental
Shipments with status, addresses, items and packages, oldest change first.
- Update shipmentDestinationProvider duplicate protectionApproval before production
Replace an unpurchased shipment's addresses, packages, service and options.
Suppliers4
- Create supplierDestinationNot retried automaticallyApproval before production
Add a supplier.
- Get supplierSource
One supplier by ID.
- List suppliersSource
Suppliers used on purchase orders.
- Update supplierDestinationProvider duplicate protectionApproval before production
Update a supplier's contact and address.
Tags3
- Create tagDestinationNot retried automaticallyApproval before production
Create a shipment tag.
- List tagsSource
Shipment tags defined in the account.
- Rename tagDestinationProvider duplicate protectionApproval before production
Rename a shipment tag.
Tracking2
- Start trackingDestinationProvider duplicate protectionApproval before production
Subscribe a tracking number to ShipStation tracking webhooks (track events) for a package not shipped through ShipStation.
- Get trackingSource
Tracking status and events by carrier code and tracking number.
Users1
- List usersSource
ShipStation users who can be assigned shipments and batches.
Warehouses4
- Create warehouseDestinationNot retried automaticallyApproval before production
Add a ship-from location.
- Get warehouseSource
One ship-from location.
- List warehousesSource
Ship-from locations with origin and return addresses.
- Update warehouseDestinationProvider duplicate protectionApproval before production
Replace a ship-from location's name and addresses.
Webhooks2
- Get webhookSource
One environment webhook. Header values are omitted.
- List webhooksSource
Environment webhooks with event and URL. Read only; header values are omitted.
Access and limits
- 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. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
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.
- Not implemented on purpose: voiding labels, refunds and refund cancellation, return labels, label purchases from rate shoppers or shipping rules, batch processing, cancelling shipments or freight, booking freight, scheduling pickups, creating manifests, carrier connection and funding, mailing products (NetStamps, envelopes, mail labels), product deactivation, removing items from batches, holds and restores, webhook writes, and every delete.
- The only billable operations are the three existing label purchases (labels.create, shipment_labels.create, rate_labels.create). No new operation spends postage.
- batches.create and batch_items.create never process labels; processing a batch purchases labels and is left to ShipStation.
- ShipStation API v2 has no orders resource. Orders appear as shipments (salesOrderId, externalOrderId, shipmentNumber); the v1 orders API needs a different key and secret and is not used.
- fulfillments.create can notify the customer and the order source (notifyCustomer, notifyOrderSource).
- purchase_order_status.update cannot cancel a purchase order.
- Webhook reads return header names only; header values can hold shared secrets.
- Freight, checkout rates, totes, shipment and label documents, and account label images are not covered yet.
- 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.