ShipRush
Create Integration Instance
Creates and connects a new ShipRush integration instance for the current account, then returns it together with a live dashboard summary and the ONE-TIME plaintext store credentials (username, password, feed URL) the merchant pastes into ShipRush. The credentials block is shown only once — it is never returned again on Get.
Get Integration Instance
Returns a single ShipRush integration instance together with a live dashboard summary: per-status order counts, feed-health flags, writeback errors, unmapped service count, poll observability, and whether a Shipping API token is set. The plaintext store password is NEVER returned here — only the store username and the has-token flag.
Update Integration Instance
Updates settings on an existing ShipRush integration instance. Every field is optional (the settings UI POSTs partial per-tab payloads) — send only what should change; omitted fields are left untouched. Accepts PUT or PATCH. Returns the updated instance with a refreshed dashboard summary.
Delete Integration Instance
Disconnects and removes a ShipRush integration instance. The teardown runs asynchronously: this endpoint records the disconnect and hands the cascade cleanup (feed orders, shipments, webhook events, and related records) to a background job, then returns immediately with no content.
Get Dashboard Metrics
Returns just the live dashboard summary for a ShipRush integration instance — the lightweight refresh endpoint for the dashboard widget, without the full instance settings payload.
Get Daily Order Activity
Returns a 30-day daily series for a ShipRush integration instance: how many orders entered the export feed and how many parcels shipped on each day. Days are calendar days in the account's configured timezone, oldest first, and days with no activity are returned with zeros so the series is always continuous (30 entries). Voided shipments are excluded.
Regenerate Credentials
Regenerates the SS store credentials the merchant uses to authenticate the ShipRush export feed. The previous username/password stop working immediately, so the merchant must paste the new values into ShipRush. Returns the new ONE-TIME plaintext pair (username, password) plus the feed URL — shown only once.
Get Setup Readiness
Returns the checklist of steps a ShipRush instance needs before it can fulfill orders.
List Warehouse Routing
Lists every warehouse you can ship from (your own direct warehouses and 3PL warehouses) and whether its fulfillment orders route to this ShipRush instance.
Update Warehouse Routing
Routes a warehouse's fulfillment orders to this ShipRush instance, or stops routing them.
List Orders
Paginated, filterable list of ShipRush feed orders for the integration instance.
Sync Orders
Rebuild the export feed as a tracked background job. ShipRush has no order-ingest API — the local row IS the feed — so this re-snapshots every open row and bumps its last_modified_at so ShipRush re-imports it on its next poll; there is no outbound HTTP. The response returns the tracked job log id, which you can poll for progress.
Get Sync Info
Returns the sync-window info for the orders refresh flow: when the feed was last synced and the configured sync start date. Both are ISO-8601 timestamps or null.
Get Order
Returns the full details for a single ShipRush feed order scoped to the integration instance. Includes the raw status (machine value + human label), requested shipping method, ship-to, totals, export/feed-health timestamps (first/last exported, export count, never_exported), a 'View in ShipRush' portal link (external_url), the tracking rows minted by shipnotify writebacks (shipments), and cross-link fields to the originating SKU FulfillmentOrder / parent Sales Order.
Get Raw Snapshot
Returns the stored export snapshot for the order — the last-exported feed payload ShipRush polls out — wrapped for the shared raw-data viewer as { data: { product }, fetched_at }.
Re-export Order
Manually re-export the order: re-snapshots the payload and bumps last_modified_at so the row re-appears in ShipRush's next poll. Returns the updated order. Runs inline (no background job).
Cancel Order
Cancel the feed row (operator 'Cancel' row action). Marks the order cancelled and bumps last_modified_at so ShipRush observes the cancellation and drops it on its next poll (passive propagation). Returns the updated order.
Get Order Activity
Returns the paginated activity-log feed for a single ShipRush order, newest-first — the audit trail of actions taken against the order (registered, re-exported, cancelled, shipped, etc.). Each entry carries the acting user's name (null for system-generated entries), a human description, the event name, and a properties bag of contextual data.
Bulk Re-export Orders
Re-export several orders at once: bumps each open order's last-modified time so ShipRush re-imports it on its next poll. Shipped and cancelled orders are skipped.
Bulk Cancel Orders
Cancel several orders at once so ShipRush drops them on its next poll. Orders that have already shipped cannot be recalled and are skipped, as are orders already cancelled.
List Shipments
Paginated, filterable list of ShipRush shipments (one row per parcel) for the integration instance. Each shipment carries the carrier/service (free text as received), cost, tracking number and URL, ship date, voided flag, the writeback outcome (writeback_status / writeback_error), a 'View in ShipRush' portal link, and a cross-link to the SalesOrderFulfillment it produced. Shipments belonging to another instance are not returned.
Sync Shipments
Kick off the token-gated tracking/scan refresh as a tracked background job. Requires a Shipping API token on the instance — without one the job no-ops server-side (the pull model already records tracking at shipnotify). The response returns the tracked job log id, which you can poll for progress.
Get Sync Info
Returns the sync-window info for the shipments refresh flow: when the instance was last synced and the configured sync start date. Both are ISO-8601 timestamps or null.
Get Shipment
Retrieve a single ShipRush shipment scoped to the instance. Returns 404 if the shipment does not exist or belongs to another instance. Pass include_json=1 to include the stored shipnotify payload.
Get Raw Snapshot
Returns the stored shipnotify payload for the shipment — the exact writeback ShipRush POSTed — wrapped for the shared raw-data viewer as { data: { product }, fetched_at }.
Re-process Shipment
Re-process a failed shipment writeback. For a row in the error state this resets its writeback status to 'processed' and clears the error so it drops off the error KPI. For a true re-mint of the fulfillment, replay the underlying shipnotify from the Webhooks tab instead. A row not in the error state is returned unchanged.
Get Shipment Activity
Returns the paginated activity-log feed for a single ShipRush shipment, newest-first: every change to the shipment's tracking number, tracking URL, carrier, service, cost, ship date, voided flag, writeback status/error and linked fulfillment. Each entry carries the acting user's name (null for system changes), the event (created / updated), and a properties bag with the new values (attributes) and, for updates, the previous values (old).
Bulk Re-process Shipments
Re-process several shipments at once: clears the writeback error on every selected shipment whose writeback failed. Shipments without a writeback error are skipped.
List Shipping Methods
Returns the full carrier/service → SKU shipping-method mapping set for the instance (not paginated — the set is small and fully loaded for the client-side editor), plus the SKU shipping-method options for the selector.
Create Manual Mapping
Add a mapping row manually (source = manual).
Update Mapping
Edit a single mapping row. Only the mapped SKU shipping method is editable; accepts PUT or PATCH. Returns the updated row.
Delete Mapping
Delete a mapping row.
Sync Services
Kick off the token-gated service-name sync as a tracked background job — pulls the carrier/service names available to the merchant and upserts them as mapping rows (source = synced). Requires a Shipping API token on the instance; without one the job no-ops server-side. The response returns the tracked job log id, which you can poll for progress.
Bulk Map Shipping Methods
Bulk-map a set of rows to one SKU shipping method, and/or auto-match every still-unmapped row by normalized name. Two paths share the endpoint and may be combined in one call.
Export Shipping Methods CSV
Export the current carrier/service → SKU shipping-method mappings as a re-importable CSV file download. The response is text/csv (Content-Disposition: attachment; filename='shiprush-shipping-methods.csv') with the columns: carrier_code, service_code, is_default, source, shipping_method_id, shipping_method_name. Edit the mapping columns and re-upload via Import Shipping Methods CSV.
Import Shipping Methods CSV
Import mapping edits from an uploaded CSV (multipart/form-data). The file is parsed into header-keyed rows and applied — existing pairs are updated, new pairs created. Use the columns produced by Export Shipping Methods CSV.
List Webhook Events
Paginated, filterable list of inbound store-endpoint events received from ShipRush for the instance, newest first. Every inbound writeback (shipnotify / credential_failed / duplicate) and every rejected export poll (export_rejected — e.g. a start_date or end_date ShipRush sent in an unparseable format; the poll gets HTTP 400) is persisted so you can audit and re-run deliveries; each row records the event type, dedup key, order/tracking numbers, the raw payload, whether the credentials were valid, and whether it has been processed (processed / processed_at) plus any error.
Get Webhook Event
Returns a single store-endpoint event received from ShipRush, including its full raw payload. processed / processed_at reflect whether the ingest pipeline handled the event; is_reprocessable drives the row's re-process action (only an unprocessed shipnotify can be replayed).
Re-process Webhook Event
Replay a failed/unprocessed shipnotify: re-resolves its order and re-mints the SalesOrderFulfillment. Only a shipnotify event can be reprocessed — a credential_failed / duplicate / export_rejected row is informational and rejected with 422. Returns the refreshed event.
Get Endpoint Info
Returns the store-endpoint info card the merchant needs to configure ShipRush: the feed URL to paste in, the store username, and a masked password placeholder. The plaintext password is NEVER returned here — regenerate it via Regenerate Credentials to obtain a fresh one-time value.
Bulk Re-process Webhook Events
Replay several shipnotify events at once, re-resolving each event's order and recording the shipment again. Only shipnotify events are replayed; credential-failed, duplicate and export-rejected events are skipped. An event whose replay errors is counted as failed with its message.