Skip to main content
shipstation icon

ShipStation Connector

SourceAPI DocsAPI ChangelogConnector Changelog

Description​

ShipStation is an e-commerce shipping and order fulfillment platform. This component allows you to manage orders, shipments, and carriers in ShipStation.

API Documentation​

This component was built using the ShipStation API.

Documentation for the Axios client used in this component is available at the Axios GitHub Repository.

A frequent integration pattern is to list orders or shipments from ShipStation and perform actions on the array of orders or shipments returned.

Connections​

API Key​

key: shipStationApiKey

To authenticate with ShipStation, an API Key and API Secret are required.

Prerequisites​

  • A ShipStation account with API access enabled

Setup Steps​

  1. Navigate to the ShipStation account settings
  2. Navigate to the API Settings section
  3. Click Generate New Keys to create a new API Key and API Secret pair
  4. Copy both the API Key and API Secret values

Configure the Connection​

Create a connection of type API Key and enter:

  • API Key: The API Key from the ShipStation account settings
  • API Secret: The API Secret from the ShipStation account settings

The API key must have the correct permissions to interact with the ShipStation API resources being accessed.

InputNotesExample
API Key

The API key from the ShipStation account settings.

API Secret

The API secret from the ShipStation account settings.

Triggers​

Manual Webhook​

Receive and validate webhook requests from ShipStation for manually configured webhook subscriptions. | key: shipStationWebhookTrigger


New and Updated Orders​

Retrieves existing and ongoing orders for a specified ShipStation account. Load history once, check for changes on a schedule, or both. | key: pollOrders

InputNotesExample
Connection

The ShipStation connection to use.

Look-back Date

The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record on or after this date once.

2026-01-01

This trigger polls ShipStation for new and updated orders on a configured schedule.

How It Works​

  1. The trigger runs on the configured schedule (e.g., every 5 minutes)
  2. It asks ShipStation for orders modified on or after its stored position and no later than one minute before the recurrence began, oldest first, in pages of 500 orders
  3. Records are categorized as "new" or "updated": an order is new when its createDate is after the stored position, and updated otherwise
  4. The trigger stores its new position, which is the modifyDate of the newest order it delivered (cut to whole seconds), and reports no changes when nothing new came back

The position comes from the orders' own modifyDate, not from the time the recurrence ran. ShipStation records modifyDate with sub-second precision but filters by whole seconds, and does not document whether modifyDateStart includes the boundary. So the trigger asks from one second before its position, remembers which orders it already delivered at that second, and skips them, along with anything older than the position. An order is delivered again only when it is modified again. Orders modified within the last minute are left for a later recurrence, so an order that is committed late with an earlier modifyDate is not skipped.

With batching off, each recurrence reads at most 20 pages (10,000 orders). When that limit is reached, the trigger keeps its place in the backlog and the next recurrence continues from there, so no order is skipped; the stored position moves forward only once the backlog is drained. With batching on, the platform requests one page at a time until the backlog is drained within the same run.

Too many orders in one second

ShipStation offers no way to page past more than 500 orders that share the same modifyDate second: there is no secondary sort key and no filter to exclude orders already seen. If a full page of 500 orders all fall in the second the trigger is positioned at, it cannot advance, so it stops with an error naming that second instead of repeating the same page silently. Nothing is skipped: orders before that second are still delivered first, the trigger keeps its position, and it stops at the same point on every following poll until fewer orders fill that second (for example, because some of them are modified again). A bulk import that stamps thousands of orders with the same second is the realistic way to hit this.

Initial Sync

An initial sync seeds a starting state of existing orders. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD) is set, and delivers every order created or modified on or after 00:00:00 UTC on that date exactly once. Left empty, there is no sync and the trigger starts from its first recurrence. This trigger has no inputs that narrow the orders it reports, so the sync ignores none of them.

A larger history is read in the same way as any backlog, so with batching off it spans several recurrences, 10,000 orders at a time, and with batching on it drains within one run. An order changed while the sync runs is picked up at its new position in the sequence. Nothing in the payload marks the handoff from the sync to the schedule.

ShipStation does not document whether modifyDateStart is inclusive, so the sync asks for a window one day earlier than the Look-back Date and then keeps only orders whose createDate or modifyDate is on or after the Look-back Date. Orders created on or after the date are delivered as created, and orders created earlier but modified on or after it are delivered as updated.

Time zone

ShipStation's documentation is inconsistent about the zone of its date parameters, and its timestamps carry no zone. The trigger treats every ShipStation timestamp as UTC: it reads modifyDate as UTC and sends its date filters as UTC times.

Batching

Batching is enabled per flow on this trigger: each changed order is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to ShipStation.

To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.

With batching off, a downstream step reads body.data.created and body.data.updated. With batching on, those fields do not exist: each execution receives one { "changeType": "created" | "updated", "record": <record> } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger.

Batching splits the changed orders across executions. It also lets a backlog drain within one run, one page of 500 orders per request, instead of across scheduled recurrences.

Returned Data​

The trigger returns an object containing created and updated arrays. Fields shown are representative. The full response object includes additional properties.

Example Response
{
"data": {
"created": [
{
"orderId": 123456789,
"orderNumber": "TEST-001",
"orderStatus": "awaiting_shipment",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
],
"updated": [
{
"orderId": 987654321,
"orderNumber": "TEST-002",
"orderStatus": "shipped",
"createDate": "2024-01-10T09:00:00.0000000",
"modifyDate": "2024-01-16T14:22:00.0000000"
}
]
}
}

With batching on, each execution receives one item per changed order, or an array of items when the batch size is greater than 1.

Example Response (Batched)
{
"changeType": "created",
"record": {
"orderId": 123456789,
"orderNumber": "TEST-001",
"orderStatus": "awaiting_shipment",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
}

New and Updated Products​

Retrieves existing and ongoing products for a specified ShipStation account. Load history once, check for changes on a schedule, or both. | key: pollProducts

InputNotesExample
Connection

The ShipStation connection to use.

Look-back Date

The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record on or after this date once.

2026-01-01

This trigger polls ShipStation for new and updated products on a configured schedule.

How It Works​

  1. The trigger runs on the configured schedule (e.g., every 5 minutes)
  2. It queries ShipStation for products using the startDate filter, set to the stored position
  3. Records are categorized as "new" or "updated" based on their createDate and modifyDate timestamps
  4. The trigger updates its internal state to track the last successful poll time

Initial Sync

An initial sync seeds a starting state of existing products. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD) is set, and delivers every product ShipStation returns for a startDate filter at 00:00:00 UTC on that date exactly once. Left empty, there is no sync and the trigger starts from its first recurrence. This trigger has no inputs that narrow the products it reports, so the sync ignores none of them.

The window has no fixed upper bound, so a product changed while the sync is fetching can be delivered by the sync and again by the next recurrence. The first recurrence stores the time it began as the position, and the next recurrence resumes from exactly there. Nothing in the payload marks the handoff. The sync fetches every page, 500 per request, within the first recurrence, whether batching is on or off.

ShipStation does not document the semantics of startDate on the products endpoint, and the product inputs elsewhere in this component describe it as a creation-date filter. The Look-back Date therefore promises only that products the endpoint returns for that filter, and whose createDate or modifyDate is on or after the date, are delivered once; it does not promise that products created earlier and modified since are included. To avoid losing a product at the boundary, the sync asks for a window one day earlier and then keeps only products whose createDate or modifyDate is on or after the Look-back Date. ShipStation timestamps carry no time zone, and they are read as UTC.

Batching

Batching is enabled per flow on this trigger: each changed product is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to ShipStation.

To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.

With batching off, a downstream step reads body.data.created and body.data.updated. With batching on, those fields do not exist: each execution receives one { "changeType": "created" | "updated", "record": <record> } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger.

Batching splits the changed products across executions and does not change what is fetched: every page is still retrieved in one recurrence.

Returned Data​

The trigger returns an object containing created and updated arrays. Fields shown are representative. The full response object includes additional properties.

Example Response
{
"data": {
"created": [
{
"productId": 123456789,
"sku": "PROD-001",
"name": "Example Product",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
],
"updated": [
{
"productId": 987654321,
"sku": "PROD-002",
"name": "Updated Product",
"createDate": "2024-01-10T09:00:00.0000000",
"modifyDate": "2024-01-16T14:22:00.0000000"
}
]
}
}

With batching on, each execution receives one item per changed product, or an array of items when the batch size is greater than 1.

Example Response (Batched)
{
"changeType": "created",
"record": {
"productId": 123456789,
"sku": "PROD-001",
"name": "Example Product",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
}

New and Updated Shipments​

Retrieves existing and ongoing shipments for a specified ShipStation account. Load history once, check for changes on a schedule, or both. | key: pollShipments

InputNotesExample
Connection

The ShipStation connection to use.

Look-back Date

The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record on or after this date once.

2026-01-01

This trigger polls ShipStation for new and updated shipments on a configured schedule.

How It Works​

  1. The trigger runs on the configured schedule (e.g., every 5 minutes)
  2. It queries ShipStation for shipments created on or after the stored position, using the createDateStart filter
  3. Records are categorized as "new" or "updated" based on their createDate and modifyDate timestamps
  4. The trigger updates its internal state to track the last successful poll time

Initial Sync

An initial sync seeds a starting state of existing shipments. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD) is set, and delivers every shipment created on or after 00:00:00 UTC on that date exactly once. Left empty, there is no sync and the trigger starts from its first recurrence. This trigger has no inputs that narrow the shipments it reports, so the sync ignores none of them.

The window has no fixed upper bound, so a shipment changed while the sync is fetching can be delivered by the sync and again by the next recurrence. The first recurrence stores the time it began as the position, and the next recurrence resumes from exactly there. Nothing in the payload marks the handoff. The sync fetches every page, 500 per request, within the first recurrence, whether batching is on or off.

ShipStation documents createDateStart as returning shipments created on or after the specified date, and the filter applies to creation only. The Look-back Date therefore seeds shipments created on or after it, and cannot seed a shipment that was created earlier and modified since. To avoid losing a shipment created exactly on the Look-back Date, the sync asks for a window one day earlier and then keeps only shipments whose createDate or modifyDate is on or after the Look-back Date. A shipment created in that extra day and modified on or after the Look-back Date is therefore delivered as updated. ShipStation timestamps carry no time zone, and they are read as UTC.

Batching

Batching is enabled per flow on this trigger: each changed shipment is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to ShipStation.

To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.

With batching off, a downstream step reads body.data.created and body.data.updated. With batching on, those fields do not exist: each execution receives one { "changeType": "created" | "updated", "record": <record> } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger.

Batching splits the changed shipments across executions and does not change what is fetched: every page is still retrieved in one recurrence.

Returned Data​

The trigger returns an object containing created and updated arrays. Fields shown are representative. The full response object includes additional properties.

Example Response
{
"data": {
"created": [
{
"shipmentId": 123456789,
"orderId": 987654321,
"orderNumber": "TEST-001",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
],
"updated": [
{
"shipmentId": 111222333,
"orderId": 444555666,
"orderNumber": "TEST-002",
"createDate": "2024-01-10T09:00:00.0000000",
"modifyDate": "2024-01-16T14:22:00.0000000"
}
]
}
}

With batching on, each execution receives one item per changed shipment, or an array of items when the batch size is greater than 1.

Example Response (Batched)
{
"changeType": "created",
"record": {
"shipmentId": 123456789,
"orderId": 987654321,
"orderNumber": "TEST-001",
"createDate": "2024-01-15T10:30:00.0000000",
"modifyDate": "2024-01-15T10:30:00.0000000"
}
}

Webhook Event Subscription​

Receive webhook event notifications from ShipStation. Automatically creates and manages a webhook subscription for the selected event type when the instance is deployed, and removes the subscription when the instance is deleted. | key: webhookEventSubscription

InputNotesExample
Connection

The ShipStation connection to use.

Friendly Name

A descriptive label to identify the webhook in the dashboard.

Store ID

The store ID to filter webhook triggers. When provided, webhooks will only trigger for this store.

Webhook Event

The event type to subscribe to for webhook notifications.

This trigger receives webhook event notifications from ShipStation. It automatically creates and manages a webhook subscription for the selected event type when the instance is deployed, and removes the subscription when the instance is deleted.

How It Works​

When this trigger is used in a flow:

  • On Instance Deploy: The trigger automatically creates a webhook subscription in ShipStation pointing to the instance's unique webhook URL. If a webhook with the same configuration already exists, it reuses the existing subscription.
  • On Instance Deletion: The trigger automatically removes the webhook subscription from ShipStation.

If the event type or store ID configuration changes between deployments, the trigger deletes the existing webhook and creates a new one with the updated settings.

Configuration​

Configure the following inputs:

  • Webhook Event: The event type to subscribe to for webhook notifications
  • Store ID: (Optional) Limits webhook notifications to a specific store. When omitted, notifications are sent for all stores.
  • Friendly Name: (Optional) A descriptive label to identify the webhook

Event Types​

Available Events (6)
EventDescription
ORDER_NOTIFYTriggers when a new order is created
ITEM_ORDER_NOTIFYTriggers when a new order item is created
SHIP_NOTIFYTriggers when a shipment is created
ITEM_SHIP_NOTIFYTriggers when a shipment item is created
FULFILLMENT_SHIPPEDTriggers when a fulfillment is shipped
FULFILLMENT_REJECTEDTriggers when a fulfillment is rejected

Refer to the ShipStation Webhooks documentation for the complete and up-to-date list.

Returned Data​

The trigger returns the raw webhook payload sent by ShipStation via HTTP POST.

Example Payload
{
"resource_url": "https://ssapi.shipstation.com/orders?importBatch=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"resource_type": "ORDER_NOTIFY"
}

Data Sources​

Select Carrier​

A picklist of carriers connected to the ShipStation account. | key: selectCarriers | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.


Select Customer​

A picklist of customers in the ShipStation account. | key: selectCustomers | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.

Country Code

The two-letter ISO country code to filter customers.

Marketplace ID

The unique identifier for the marketplace to filter results by.

Page

The page number to retrieve (starts at 1).

Page Size

The maximum number of results to return per page. Maximum: 500.

Sort By

The API field name used to sort the returned results.

Sort Direction

The direction to sort results (asc or desc).

State Code

The two-letter state or province abbreviation for the customer address.

Tag ID

The unique identifier for the tag to filter results by.


Select Fulfillment​

A picklist of fulfillments in the ShipStation account. | key: selectFulfillments | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.

Example Payload for Select Fulfillment⤓
Loading…

Select Order​

A picklist of orders in the ShipStation account. | key: selectOrders | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.

Customer Name

The full name associated with the customer record.

John Smith
Order Status

The order status to filter results (e.g., awaiting_payment, awaiting_shipment, shipped).

awaiting_shipment
Page

The page number to retrieve (starts at 1).

1
Page Size

The maximum number of results to return per page. Maximum: 500.

100

Select Package​

A picklist of packages provided by the specified carrier. | key: selectPackages | type: picklist

InputNotesExample
Carrier Code

The carrier code for the shipping label.

Connection

The ShipStation connection to use.


Select Product​

A picklist of products in the ShipStation account. | key: selectProducts | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.

End Date

The end date to filter products by creation date in YYYY-MM-DD format.

2014-05-04
Page

The page number to retrieve (starts at 1).

Page Size

The maximum number of results to return per page. Maximum: 500.

Product Category ID

The unique identifier for the category grouping the product.

Product Name

The display name of the product to search for.

Product Type ID

The unique identifier for the product type classification.

Show Inactive

When true, includes inactive stores in the results.

false
SKU

The stock keeping unit code assigned to the product.

Sort By

The API field name used to sort the returned results.

Sort Direction

The direction to sort results (asc or desc).

Start Date

The start date to filter products by creation date in YYYY-MM-DD format.

2014-04-03
Tag ID

The unique identifier for the tag to filter results by.


Select Service​

A picklist of services provided by the specified carrier. | key: selectServices | type: picklist

InputNotesExample
Carrier Code

The carrier code for the shipping label.

Connection

The ShipStation connection to use.


Select Store​

A picklist of installed stores in the ShipStation account. | key: selectStores | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.

Marketplace ID

The unique identifier for the marketplace to filter results by.

Show Inactive

When true, includes inactive stores in the results.

false

Select User​

A picklist of users in the ShipStation account. | key: selectUsers | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.

Show Inactive Users

When true, includes inactive users in the results.

false

Select Warehouse​

A picklist of Ship From Locations (warehouses) in the ShipStation account. | key: selectWarehouses | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.


Select Webhook​

A picklist of registered webhooks in the ShipStation account. | key: selectWebhooks | type: picklist

InputNotesExample
Connection

The ShipStation connection to use.

Example Payload for Select Webhook⤓
Loading…

Actions​

Create Label for Order​

Creates a shipping label for a specified order. | key: createLabelForOrder

InputNotesExample
Additional Fields

A list of additional fields to include in the label for order.

weight: {value: 2, units: 'pounds'}
Carrier Code

The carrier code for the shipping label.

Confirmation

The delivery confirmation type (e.g., none, delivery, signature, adult_signature, direct_signature).

none, delivery, signature, adult_signature, direct_signature
Connection

The ShipStation connection to use.

Order ID

The unique identifier for the order.

18324102
Service Code

The shipping service code for the label.

Ship Date

The date the order should be shipped in YYYY-MM-DD format.

2014-04-03
Test Label

When true, creates a test label.

false
Example Payload for Create Label for Order⤓
Loading…

Create or Update Multiple Orders​

Creates or updates multiple orders in one request. | key: createOrUpdateMultipleOrders

InputNotesExample
Connection

The ShipStation connection to use.

Orders Array

Provide an array of order objects to create or update multiple orders.

[
  {
    "orderNumber": "TEST-ORDER-001",
    "orderDate": "2023-09-08T12:34:56.000Z",
    "orderStatus": "awaiting_shipment",
    "billTo": {
      "name": "John Doe",
      "street1": "123 Main St",
      "city": "Anytown",
      "state": "CA",
      "postalCode": "12345",
      "country": "US"
    },
    "shipTo": {
      "name": "John Doe",
      "street1": "123 Main St",
      "city": "Anytown",
      "state": "CA",
      "postalCode": "12345",
      "country": "US"
    }
  },
  {
    "orderNumber": "TEST-ORDER-002",
    "orderDate": "2023-09-09T12:34:56.000Z",
    "orderStatus": "awaiting_payment",
    "billTo": {
      "name": "Jane Doe",
      "street1": "456 Another St",
      "city": "Othertown",
      "state": "NY",
      "postalCode": "67890",
      "country": "US"
    },
    "shipTo": {
      "name": "Jane Doe",
      "street1": "456 Another St",
      "city": "Othertown",
      "state": "NY",
      "postalCode": "67890",
      "country": "US"
    }
  }
]
Example Payload for Create or Update Multiple Orders⤓
Loading…

Create or Update Order​

Creates a new order or updates an existing one. | key: createOrUpdateOrder

InputNotesExample
Additional Fields

A list of additional fields to include in the order.

paymentMethod: Credit Card
Billing Address

Provide the billing address in JSON format.

{
  "name": "John Doe",
  "company": "JD Company",
  "street1": "123 Main St",
  "city": "Austin",
  "state": "TX",
  "postalCode": "78701",
  "country": "US",
  "phone": "123-456-7890",
  "residential": true
}
Connection

The ShipStation connection to use.

Order Date

The date the order was placed. Format: ISO 8601 (e.g., 2023-09-08T12:34:56.000Z).

2023-09-08T12:34:56.000Z
Order Key

The unique order key. If provided, the create order method will either create a new order if the key is not found, or update the existing order if found.

0f6bec18-3e89-4881-83aa-f392d84f4c74
Order Number

The user-defined order number to identify the order.

TEST-ORDER-API-DOCS
Order Status

The order status to filter results (e.g., awaiting_payment, awaiting_shipment, shipped).

awaiting_shipment
Shipping Address

Provide the shipping address in JSON format.

{
  "name": "Jane Doe",
  "company": "JD Company",
  "street1": "123 Main St",
  "city": "Austin",
  "state": "TX",
  "postalCode": "78701",
  "country": "US",
  "phone": "123-456-7890",
  "residential": true
}
Example Payload for Create or Update Order⤓
Loading…

Create Shipment Label​

Creates a shipping label. | key: createShipmentLabel

InputNotesExample
Additional Fields

A list of additional fields to include in the shipment.

testLabel: false
Carrier Code

The carrier code for the shipping label.

Connection

The ShipStation connection to use.

Package Code

The package type code for the label.

Service Code

The shipping service code for the label.

Ship Date

The date the order should be shipped in YYYY-MM-DD format.

2014-04-03
Origin Address

Provide the origin address in JSON format.

{
  "name": "John Smith",
  "company": "JS Company",
  "street1": "456 Elm St",
  "city": "San Francisco",
  "state": "CA",
  "postalCode": "94107",
  "country": "US",
  "phone": "987-654-3210",
  "residential": false
}
Shipping Address

Provide the shipping address in JSON format.

{
  "name": "Jane Doe",
  "company": "JD Company",
  "street1": "123 Main St",
  "city": "Austin",
  "state": "TX",
  "postalCode": "78701",
  "country": "US",
  "phone": "123-456-7890",
  "residential": true
}
Shipment's Weight

The weight of the shipment, following the Weight model. Note: WeightUnits is read-only.

{
  "value": 3,
  "units": "ounces",
  "WeightUnits": 2
}
Example Payload for Create Shipment Label⤓
Loading…

Create Warehouse​

Creates a Ship From Location (warehouse) in the ShipStation account. | key: createWarehouse

InputNotesExample
Connection

The ShipStation connection to use.

Is Default Warehouse

When true, sets this as the default ship from location.

false
Origin Address

The origin address. Shipping rates will be calculated from this address.

Return Address

The return address. If not specified, the origin address will be used.

Warehouse Name

A descriptive label for the ship-from location.

Example Payload for Create Warehouse⤓
Loading…

Deactivate Store​

Deactivates the specified store. | key: deactivateStore

InputNotesExample
Connection

The ShipStation connection to use.

Store ID

The unique identifier for the store.

Example Payload for Deactivate Store⤓
Loading…

Delete Instanced Webhooks​

Deletes all webhooks that point to a flow in this instance. | key: deleteInstancedWebhooks

InputNotesExample
Connection

The ShipStation connection to use.

Example Payload for Delete Instanced Webhooks⤓
Loading…

Delete Order​

Deletes an order from the database by setting it to inactive. | key: deleteOrder

InputNotesExample
Connection

The ShipStation connection to use.

Order ID

The unique identifier for the order.

18324102
Example Payload for Delete Order⤓
Loading…

Delete Warehouse​

Deletes a warehouse (Ship From Location) by setting it to inactive status. | key: deleteWarehouse

InputNotesExample
Connection

The ShipStation connection to use.

Warehouse ID

The unique identifier for the warehouse.

Example Payload for Delete Warehouse⤓
Loading…

Get Customer​

Retrieves a specific customer by their system-generated identifier. | key: getCustomer

InputNotesExample
Connection

The ShipStation connection to use.

Customer ID

The unique identifier for the customer.

Example Payload for Get Customer⤓
Loading…

Get Order​

Retrieves a single order from the database. | key: getOrder

InputNotesExample
Connection

The ShipStation connection to use.

Order ID

The unique identifier for the order.

18324102
Example Payload for Get Order⤓
Loading…

Get Product​

Retrieves a specific product from the database by its ID. | key: getProduct

InputNotesExample
Connection

The ShipStation connection to use.

Product ID

The unique identifier for the product.

Example Payload for Get Product⤓
Loading…

Get Store​

Retrieves detailed information about a specific store. | key: getStore

InputNotesExample
Connection

The ShipStation connection to use.

Store ID

The unique identifier for the store.

Example Payload for Get Store⤓
Loading…

Get Warehouse​

Retrieves detailed information about a specific Ship From Location (warehouse). | key: getWarehouse

InputNotesExample
Connection

The ShipStation connection to use.

Warehouse ID

The unique identifier for the warehouse.

Example Payload for Get Warehouse⤓
Loading…

List Carriers​

Lists all shipping providers connected to the ShipStation account. | key: listCarriers

InputNotesExample
Connection

The ShipStation connection to use.

Example Payload for List Carriers⤓
Loading…

List Customers​

Retrieves a list of customers based on specified criteria. | key: listCustomers

InputNotesExample
Connection

The ShipStation connection to use.

Country Code

The two-letter ISO country code to filter customers.

Marketplace ID

The unique identifier for the marketplace to filter results by.

Pagination

Page number and page size controls for the returned results.

Sorting

Field and direction to sort results by.

State Code

The two-letter state or province abbreviation for the customer address.

Tag ID

The unique identifier for the tag to filter results by.

Example Payload for List Customers⤓
Loading…

List Fulfillments​

Retrieves a list of fulfillments based on specified criteria. | key: listFulfillments

InputNotesExample
Connection

The ShipStation connection to use.

Fulfillment ID

The unique identifier for the fulfillment.

Order ID

The unique identifier for the order.

18324102
Page

The page number to retrieve (starts at 1).

1
Page Size

The maximum number of results to return per page. Maximum: 500.

100
Example Payload for List Fulfillments⤓
Loading…

List Orders​

Retrieves a list of orders based on specified criteria. | key: listOrders

InputNotesExample
Connection

The ShipStation connection to use.

Customer Name

The full name associated with the customer record.

John Smith
Order Status

The order status to filter results (e.g., awaiting_payment, awaiting_shipment, shipped).

awaiting_shipment
Page

The page number to retrieve (starts at 1).

1
Page Size

The maximum number of results to return per page. Maximum: 500.

100
Example Payload for List Orders⤓
Loading…

List Packages​

Retrieves a list of packages for the specified carrier. | key: listPackages

InputNotesExample
Carrier Code

The carrier code for the shipping label.

Connection

The ShipStation connection to use.

Example Payload for List Packages⤓
Loading…

List Products​

Retrieves a list of products that match the specified criteria. | key: listProducts

InputNotesExample
Connection

The ShipStation connection to use.

End Date

The end date to filter products by creation date in YYYY-MM-DD format.

2014-05-04
Pagination

Page number and page size controls for the returned results.

Product Category ID

The unique identifier for the category grouping the product.

Product Name

The display name of the product to search for.

Product Type ID

The unique identifier for the product type classification.

Show Inactive

When true, includes inactive stores in the results.

false
SKU

The stock keeping unit code assigned to the product.

Sorting

Field and direction to sort results by.

Start Date

The start date to filter products by creation date in YYYY-MM-DD format.

2014-04-03
Tag ID

The unique identifier for the tag to filter results by.

Example Payload for List Products⤓
Loading…

List Services​

Retrieves the list of available shipping services for the specified carrier. | key: listServices

InputNotesExample
Carrier Code

The carrier code for the shipping label.

Connection

The ShipStation connection to use.

Example Payload for List Services⤓
Loading…

List Shipments​

Retrieves a list of shipments that match the specified criteria. | key: listShipments

InputNotesExample
Connection

The ShipStation connection to use.

Date Range Filters

Create date and ship date ranges to filter results by.

Pagination

Page number and page size controls for the returned results.

Shipment Filters

Tracking number, recipient name, and recipient country code to filter results by.

Example Payload for List Shipments⤓
Loading…

List Stores​

Retrieves the list of installed stores on the account. | key: listStores

InputNotesExample
Connection

The ShipStation connection to use.

Marketplace ID

The marketplace ID to filter stores.

Show Inactive

When true, includes inactive stores in the results.

false
Example Payload for List Stores⤓
Loading…

List Users​

Retrieves the list of users on the account. | key: listUsers

InputNotesExample
Connection

The ShipStation connection to use.

Show Inactive Users

When true, includes inactive users in the results.

false
Example Payload for List Users⤓
Loading…

List Warehouses​

Retrieves a list of Ship From Locations (warehouses) in the account. | key: listWarehouses

InputNotesExample
Connection

The ShipStation connection to use.

Example Payload for List Warehouses⤓
Loading…

List Webhooks​

Retrieves a list of registered webhooks for the account. | key: listWebhooks

InputNotesExample
Connection

The ShipStation connection to use.

Example Payload for List Webhooks⤓
Loading…

Raw Request​

Sends a raw HTTP request to the ShipStation API. | key: rawRequest

InputNotesExample
Connection

The ShipStation connection to use.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

This is the URL to call.

/stores
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false
Example Payload for Raw Request⤓
Loading…

Subscribe to Webhook​

Subscribes to a specific type of webhook in ShipStation. | key: subscribeToWebhook

InputNotesExample
Connection

The ShipStation connection to use.

Event

The webhook event type to subscribe to.

Friendly Name

A descriptive label to identify the webhook in the dashboard.

Store ID

The store ID to filter webhook triggers. When provided, webhooks will only trigger for this store.

Target URL

The URL where webhook events will be sent.

Example Payload for Subscribe to Webhook⤓
Loading…

Unsubscribe from Webhook​

Unsubscribes from a specific type of webhook in ShipStation. | key: unsubscribeToWebhook

InputNotesExample
Connection

The ShipStation connection to use.

Webhook ID

The unique identifier for the webhook.

Example Payload for Unsubscribe from Webhook⤓
Loading…

Update Product​

Updates an existing product. | key: updateProduct

InputNotesExample
Connection

The ShipStation connection to use.

Product Data

The complete data for updating the product. This call does not support partial updates.

{
  "aliases": null,
  "productId": 123456789,
  "sku": "BEAU-000"
}
Product ID

The unique identifier for the product.

Example Payload for Update Product⤓
Loading…

Update Store​

Updates an existing store. | key: updateStore

InputNotesExample
Connection

The ShipStation connection to use.

Store ID

The unique identifier for the store.

Store Update Data

All the data needed to update an existing store. Must provide the entire resource.

{
  "storeId": 12345,
  "storeName": "WooCommerce Store",
  "marketplaceId": 36
}
Example Payload for Update Store⤓
Loading…

Update Warehouse​

Updates an existing Ship From Location (warehouse). | key: updateWarehouse

InputNotesExample
Connection

The ShipStation connection to use.

Warehouse Update Data

All the data needed to update an existing Ship From Location. Must provide the entire resource.

{
  "warehouseId": 12345,
  "warehouseName": "API Ship From Location"
}
Example Payload for Update Warehouse⤓
Loading…

Changelog​

2026-11-03​

Updated spectral to 10.34.1

2026-10-19​

  • Added an optional Look-back Date input to the New and Updated Orders, New and Updated Products, and New and Updated Shipments triggers for performing an initial sync of orders, products, and shipments. The initial sync begins on the first recurrence and backfills every record on or after the specified date, seeding each once; recurrences after the sync completes are unaffected. Leave it empty to start from the first recurrence with no backfill
  • Added opt-in batching to the New and Updated Orders trigger, dispatching each changed record individually or in configured batches so large backlogs drain in one recurrence; enabling it changes the shape a downstream step receives
  • Added opt-in batching to the New and Updated Products and New and Updated Shipments triggers, dispatching each changed record individually or in configured batches; enabling it changes the shape a downstream step receives

2026-07-16​

Grouped related list-action inputs into structured objects for clearer configuration

  • List Products: grouped inputs into Pagination and Sorting structured objects
  • List Customers: grouped inputs into Pagination and Sorting structured objects
  • List Shipments: grouped inputs into Pagination, Date Range Filters, and Shipment Filters structured objects

2026-04-30​

Updated spectral version

2026-03-31​

Various modernizations and documentation updates

2026-03-20​

Added new triggers for webhook and polling-based integrations:

  • Webhook Event Subscription - Automatically creates and manages webhook subscriptions on deploy and removes them on instance deletion
  • New and Updated Orders - Polling trigger that checks for new and updated orders on a configured schedule
  • New and Updated Products - Polling trigger that checks for new and updated products on a configured schedule
  • New and Updated Shipments - Polling trigger that checks for new and updated shipments on a configured schedule

2026-03-05​

Added data sources:

  • Select Webhook for selecting registered webhooks from the ShipStation account
  • Select Fulfillment for selecting fulfillments from the ShipStation account

2026-02-24​

Added data sources:

  • Select Carrier for selecting carriers
  • Select Service for selecting shipping services
  • Select Package for selecting package types
  • Select Customer for selecting customers
  • Select Store for selecting stores
  • Select User for selecting users
  • Select Order for selecting orders
  • Select Product for selecting products
  • Select Warehouse for selecting warehouses

2024-03-29​

Added orderKey input to the Create/Update Order action for specifying a custom order key

2023-09-28​

Initial release of the ShipStation component