Skip to content

ShipStation V1 API (Legacy) (1.0.0)

The ShipStation V1 API (Legacy) provides comprehensive functionality for managing orders, shipments, carriers, and more within the ShipStation platform.

Getting Started

New integrations should use ShipStation API V2 whenever possible. This V1 API is maintained for existing integrations.

Download OpenAPI description
Languages
Servers
Mock server
https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/
Production Server
https://ssapi.shipstation.com/

Accounts

Account management and tag operations

Operations

Carriers

Carrier information and package/service listings

Operations

Customers

Customer management

Operations

Fulfillments

Fulfillment operations

Operations

Orders

Order management and operations

Operations

Products

Product catalog management

Operations

Shipments

Shipment operations and rate shopping

Operations

Stores

Store configuration and management

Operations

List stores

Request

Retrieve the list of installed stores on the account

Security
basicAuth
Query
showInactiveboolean

Whether to include inactive stores

marketplaceIdinteger

Filter by marketplace type

curl -i -X GET \
  -u <username>:<password> \
  'https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/stores?showInactive=true&marketplaceId=0'

Responses

List of stores retrieved successfully

Bodyapplication/jsonArray [
storeIdinteger
Example: 12345
storeNamestring
Example: "My Shopify Store"
marketplaceIdinteger
Example: 36
marketplaceNamestring
Example: "Shopify"
activeboolean
Example: true
createDatestring(date-time)
modifyDatestring(date-time)
autoRefreshboolean
]
Response
application/json
[ { "storeId": 12345, "storeName": "My Shopify Store", "marketplaceId": 36, "marketplaceName": "Shopify", "active": true, "createDate": "2019-08-24T14:15:22Z", "modifyDate": "2019-08-24T14:15:22Z", "autoRefresh": true } ]

Get store

Request

Retrieves information for a specific store by its ID

Security
basicAuth
Path
storeIdintegerrequired

Unique identifier for the store

Example: 12345
curl -i -X GET \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/stores/12345

Responses

Store retrieved successfully

Bodyapplication/json
storeIdinteger
Example: 12345
storeNamestring
Example: "My Shopify Store"
marketplaceIdinteger
Example: 36
marketplaceNamestring
Example: "Shopify"
activeboolean
Example: true
createDatestring(date-time)
modifyDatestring(date-time)
autoRefreshboolean
Response
application/json
{ "storeId": 12345, "storeName": "My Shopify Store", "marketplaceId": 36, "marketplaceName": "Shopify", "active": true, "createDate": "2019-08-24T14:15:22Z", "modifyDate": "2019-08-24T14:15:22Z", "autoRefresh": true }

Update store

Request

Updates an existing store. This call does not currently support partial updates. The entire resource must be provided in the body of the request.

Security
basicAuth
Path
storeIdintegerrequired

Unique identifier for the store

Example: 12345
Bodyapplication/jsonrequired
storeIdinteger
Example: 12345
storeNamestring
Example: "WooCommerce Store"
marketplaceIdinteger
Example: 36
marketplaceNamestring
Example: "WooCommerce"
integrationUrlstring or null
Example: "http://shipstation-test.wpengine.com"
Any of:
string
activeboolean
Example: true
companyNamestring
Example: ""
phonestring
Example: ""
publicEmailstring
Example: ""
websitestring
Example: ""
autoRefreshboolean
Example: true
statusMappingsArray of objects
curl -i -X PUT \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/stores/12345 \
  -H 'Content-Type: application/json' \
  -d '{
    "storeId": 12345,
    "storeName": "WooCommerce Store",
    "marketplaceId": 36,
    "marketplaceName": "WooCommerce",
    "integrationUrl": "http://shipstation-test.wpengine.com",
    "active": true,
    "companyName": "",
    "phone": "",
    "publicEmail": "",
    "website": "",
    "autoRefresh": true,
    "statusMappings": [
      {
        "orderStatus": "awaiting_shipment",
        "statusKey": "Processing"
      }
    ]
  }'

Responses

Store updated successfully

Bodyapplication/json
storeIdinteger
storeNamestring
marketplaceIdinteger
marketplaceNamestring
activeboolean
Response
application/json
{ "storeId": 0, "storeName": "string", "marketplaceId": 0, "marketplaceName": "string", "active": true }

Deactivate store

Request

Deactivates the specified store

Security
basicAuth
Bodyapplication/jsonrequired
storeIdintegerrequired

ID of the store to deactivate

Example: 12345
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/stores/deactivate \
  -H 'Content-Type: application/json' \
  -d '{
    "storeId": 12345
  }'

Responses

Store deactivated successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Store deactivated successfully"
Response
application/json
{ "success": true, "message": "Store deactivated successfully" }

Reactivate store

Request

Reactivates the specified store.

Note: Stores are active by default.

Security
basicAuth
Bodyapplication/jsonrequired
storeIdintegerrequired

ID of the store to reactivate

Example: 12345
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/stores/reactivate \
  -H 'Content-Type: application/json' \
  -d '{
    "storeId": 12345
  }'

Responses

Store reactivated successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Store reactivated successfully"
Response
application/json
{ "success": true, "message": "Store reactivated successfully" }

Refresh store

Request

Initiates a store refresh. If storeId is not specified, a store refresh will be initiated for all refreshable stores on that account.

Security
basicAuth
Bodyapplication/json
storeIdinteger

Store that will get refreshed (optional)

Example: 12345
refreshDatestring(date-time)

Starting date for new order imports (YYYY-MM-DD HH:MM:SS in PST). This is only needed if retrieving historical orders.

Example: "2020-05-29T15:05:02Z"
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/stores/refreshstore \
  -H 'Content-Type: application/json' \
  -d '{
    "storeId": 12345,
    "refreshDate": "2020-05-29T15:05:02Z"
  }'

Responses

Store refresh initiated successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Store refresh initiated"
Response
application/json
{ "success": true, "message": "Store refresh initiated" }

Get store refresh status

Request

Retrieves the refresh status of a given store

Security
basicAuth
Query
storeIdintegerrequired

Store whose status will be retrieved

Example: storeId=12345
curl -i -X GET \
  -u <username>:<password> \
  'https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/stores/getrefreshstatus?storeId=12345'

Responses

Store refresh status retrieved successfully

Bodyapplication/json
storeIdinteger
Example: 12345
refreshDatestring(date-time)
statusstring
Example: "Success"
Response
application/json
{ "storeId": 12345, "refreshDate": "2019-08-24T14:15:22Z", "status": "Success" }

List marketplaces

Request

Lists the marketplaces that can be integrated with ShipStation

Security
basicAuth
curl -i -X GET \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/stores/marketplaces

Responses

List of marketplaces retrieved successfully

Bodyapplication/jsonArray [
namestring
Example: "Shopify"
marketplaceIdinteger
Example: 36
canRefreshboolean
Example: true
]
Response
application/json
[ { "name": "Shopify", "marketplaceId": 36, "canRefresh": true } ]

Users

User management

Operations

Warehouses

Warehouse and fulfillment location management

Operations

Webhooks

Webhook subscription management

Operations