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

Create or update order

Request

Create a new order or update an existing order. If the orderKey is specified, ShipStation will attempt to locate the order with that key. If found, the existing order will be updated. If not found, a new order will be created with that orderKey.

Note: This call does not currently support partial updates. The entire resource must be provided in the body of the request.

Only orders in an open status (awaiting_payment, awaiting_shipment, on_hold) can be updated. Orders in cancelled and shipped states may not be updated.

Security
basicAuth
Bodyapplication/jsonrequired
orderNumberstring

User-defined order number

Example: "TEST-ORDER-API-DOCS"
orderKeystring

Unique key for the order

Example: "0f6bec18-3e89-4771-83aa-f392d84f4c74"
orderDatestring(date-time)

Date the order was placed

Example: "2015-06-29T08:46:27Z"
paymentDatestring or null(date-time)

Date the order was paid

Example: "2015-06-29T08:46:27Z"
Any of:

Date the order was paid

string(date-time)
shipByDatestring or null(date-time)

Date the order should be shipped by

Example: "2015-07-05T00:00:00Z"
Any of:

Date the order should be shipped by

string(date-time)
orderStatusstring

Current status of the order

Enum"awaiting_payment""awaiting_shipment""pending_fulfillment""shipped""on_hold""cancelled""rejected_fulfillment"
Example: "awaiting_shipment"
customerUsernamestring

Customer username or identifier

Example: "headhoncho@whitehouse.gov"
customerEmailstring(email)

Customer email address

Example: "headhoncho@whitehouse.gov"
billToobject(Address)

Physical address for shipping or billing

shipToobject(Address)

Physical address for shipping or billing

itemsArray of objects(OrderItem)

Array of order items

amountPaidnumber

Amount paid by customer

Example: 218.73
taxAmountnumber

Total tax amount

Example: 5
shippingAmountnumber

Shipping amount

Example: 10
customerNotesstring or null

Notes from the customer

Example: "Please ship as soon as possible!"
Any of:

Notes from the customer

string
internalNotesstring or null

Internal notes (not visible to customer)

Example: "Customer called and would like to upgrade shipping"
Any of:

Internal notes (not visible to customer)

string
giftboolean

Whether this is a gift order

Example: false
giftMessagestring or null

Gift message

Example: "Happy Birthday!"
Any of:

Gift message

string
paymentMethodstring or null

Payment method used

Example: "Credit Card"
Any of:

Payment method used

string
requestedShippingServicestring or null

Shipping service requested by customer

Example: "Priority Mail"
Any of:

Shipping service requested by customer

string
carrierCodestring or null

Carrier code

Example: "fedex"
Any of:

Carrier code

string
serviceCodestring or null

Service code

Example: "fedex_2day"
Any of:

Service code

string
packageCodestring or null

Package type code

Example: "package"
Any of:

Package type code

string
confirmationstring

Delivery confirmation type

Enum"none""delivery""signature""adult_signature""direct_signature"
Example: "none"
shipDatestring or null(date)

Date the order was shipped

Example: "2015-07-02"
Any of:

Date the order was shipped

string(date)
holdUntilDatestring or null(date)

Date to hold order until

Example: "2015-07-05"
Any of:

Date to hold order until

string(date)
weightobject(Weight)

Weight measurement

dimensionsDimensions (object) or null
Any of:

Package dimensions

insuranceOptionsobject(InsuranceOptions)

Shipping insurance options

internationalOptionsobject(InternationalOptions)

International shipping options

advancedOptionsobject(AdvancedOptions)

Advanced shipping options

tagIdsArray of integers or null

Array of tag IDs associated with this order

Any of:

Array of tag IDs associated with this order

curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/createorder \
  -H 'Content-Type: application/json' \
  -d '{
    "orderNumber": "TEST-ORDER-API-DOCS",
    "orderKey": "0f6bec18-3e89-4771-83aa-f392d84f4c74",
    "orderDate": "2015-06-29T08:46:27.000Z",
    "paymentDate": "2015-06-29T08:46:27.000Z",
    "shipByDate": "2015-07-05T00:00:00.000Z",
    "orderStatus": "awaiting_shipment",
    "customerUsername": "headhoncho@whitehouse.gov",
    "customerEmail": "headhoncho@whitehouse.gov",
    "billTo": {
      "name": "The President",
      "country": "US"
    },
    "shipTo": {
      "name": "The President",
      "company": "US Govt",
      "street1": "1600 Pennsylvania Ave",
      "street2": "Oval Office",
      "city": "Washington",
      "state": "DC",
      "postalCode": "20500",
      "country": "US",
      "phone": "555-555-5555",
      "residential": true
    },
    "items": [
      {
        "lineItemKey": "vd08-MSLbtx",
        "sku": "ABC123",
        "name": "Test item #1",
        "quantity": 2,
        "unitPrice": 99.99,
        "weight": {
          "value": 24,
          "units": "ounces"
        }
      }
    ],
    "amountPaid": 218.73,
    "taxAmount": 5,
    "shippingAmount": 10,
    "customerNotes": "Please ship as soon as possible!",
    "requestedShippingService": "Priority Mail"
  }'

Responses

Order created or updated successfully

Bodyapplication/json
orderIdintegerread-only

System-generated identifier for the order

Example: 93348442
orderNumberstring

User-defined order number

Example: "TEST-ORDER-API-DOCS"
orderKeystring

Unique key for the order

Example: "0f6bec18-3e89-4771-83aa-f392d84f4c74"
orderDatestring(date-time)

Date the order was placed

Example: "2015-06-29T08:46:27Z"
createDatestring(date-time)read-only

Timestamp when order was created in ShipStation

Example: "2016-01-12T16:03:06Z"
modifyDatestring(date-time)read-only

Timestamp when order was last modified

Example: "2016-01-12T16:03:06Z"
paymentDatestring or null(date-time)

Date the order was paid

Example: "2015-06-29T08:46:27Z"
Any of:

Date the order was paid

string(date-time)
shipByDatestring or null(date-time)

Date the order should be shipped by

Example: "2015-07-05T00:00:00Z"
Any of:

Date the order should be shipped by

string(date-time)
orderStatusstring

Current status of the order

Enum"awaiting_payment""awaiting_shipment""pending_fulfillment""shipped""on_hold""cancelled""rejected_fulfillment"
Example: "awaiting_shipment"
customerIdintegerread-only

Unique identifier for the customer

Example: 37701499
customerUsernamestring

Customer username or identifier

Example: "headhoncho@whitehouse.gov"
customerEmailstring(email)

Customer email address

Example: "headhoncho@whitehouse.gov"
billToobject(Address)

Physical address for shipping or billing

shipToobject(Address)

Physical address for shipping or billing

itemsArray of objects(OrderItem)

Array of order items

orderTotalnumberread-only

Total order amount

Example: 194.43
amountPaidnumber

Amount paid by customer

Example: 218.73
taxAmountnumber

Total tax amount

Example: 5
shippingAmountnumber

Shipping amount

Example: 10
customerNotesstring or null

Notes from the customer

Example: "Please ship as soon as possible!"
Any of:

Notes from the customer

string
internalNotesstring or null

Internal notes (not visible to customer)

Example: "Customer called and would like to upgrade shipping"
Any of:

Internal notes (not visible to customer)

string
giftboolean

Whether this is a gift order

Example: false
giftMessagestring or null

Gift message

Example: "Happy Birthday!"
Any of:

Gift message

string
paymentMethodstring or null

Payment method used

Example: "Credit Card"
Any of:

Payment method used

string
requestedShippingServicestring or null

Shipping service requested by customer

Example: "Priority Mail"
Any of:

Shipping service requested by customer

string
carrierCodestring or null

Carrier code

Example: "fedex"
Any of:

Carrier code

string
serviceCodestring or null

Service code

Example: "fedex_2day"
Any of:

Service code

string
packageCodestring or null

Package type code

Example: "package"
Any of:

Package type code

string
confirmationstring

Delivery confirmation type

Enum"none""delivery""signature""adult_signature""direct_signature"
Example: "none"
shipDatestring or null(date)

Date the order was shipped

Example: "2015-07-02"
Any of:

Date the order was shipped

string(date)
holdUntilDatestring or null(date)

Date to hold order until

Example: "2015-07-05"
Any of:

Date to hold order until

string(date)
weightobject(Weight)

Weight measurement

dimensionsDimensions (object) or null
Any of:

Package dimensions

insuranceOptionsobject(InsuranceOptions)

Shipping insurance options

internationalOptionsobject(InternationalOptions)

International shipping options

advancedOptionsobject(AdvancedOptions)

Advanced shipping options

tagIdsArray of integers or null

Array of tag IDs associated with this order

Any of:

Array of tag IDs associated with this order

userIdstring or nullread-only

User assigned to order (GUID format)

Example: "123456AB-ab12-3c4d-5e67-89f1abc1defa"
Any of:

User assigned to order (GUID format)

stringread-only
externallyFulfilledbooleanread-only

Whether order is externally fulfilled

Example: false
externallyFulfilledBystring or nullread-only

External fulfillment provider name

Example: "Amazon FBA"
Any of:

External fulfillment provider name

stringread-only
Response
application/json
{ "orderId": 93348442, "orderNumber": "TEST-ORDER-API-DOCS", "orderKey": "0f6bec18-3e89-4771-83aa-f392d84f4c74", "orderDate": "2015-06-29T08:46:27.000Z", "createDate": "2016-01-12T16:03:06.893Z", "modifyDate": "2016-01-12T16:03:06.893Z", "paymentDate": "2015-06-29T08:46:27.000Z", "shipByDate": "2015-07-05T00:00:00.000Z", "orderStatus": "awaiting_shipment", "customerId": 37701499, "customerUsername": "headhoncho@whitehouse.gov", "customerEmail": "headhoncho@whitehouse.gov", "orderTotal": 194.43, "amountPaid": 218.73, "taxAmount": 5, "shippingAmount": 10 }

List orders

Request

Obtains a list of orders that match the specified criteria. All filters are optional. If no filters are provided, recent orders will be returned.

Security
basicAuth
Query
customerNamestring

Returns orders that match the specified customer name

itemKeywordstring

Returns orders containing items matching the specified keyword. Fields searched are Sku, Description, and Options.

createDateStartstring(date-time)

Returns orders created in ShipStation after the specified date

createDateEndstring(date-time)

Returns orders created in ShipStation before the specified date

modifyDateStartstring(date-time)

Returns orders modified after the specified date

modifyDateEndstring(date-time)

Returns orders modified before the specified date

orderDateStartstring(date-time)

Returns orders greater than the specified date

orderDateEndstring(date-time)

Returns orders less than or equal to the specified date

orderNumberstring

Filter by order number (performs a "starts with" search)

orderStatusstring

Filter by order status

Enum"awaiting_payment""awaiting_shipment""pending_fulfillment""shipped""on_hold""cancelled""rejected_fulfillment"
paymentDateStartstring(date-time)

Returns orders paid after the specified date

paymentDateEndstring(date-time)

Returns orders paid before the specified date

storeIdinteger

Filter orders to a single store

sortBystring

Field to sort results by

Enum"OrderDate""ModifyDate""CreateDate"
sortDirstring

Sort direction

Default "ASC"
Enum"ASC""DESC"
pageinteger>= 1

Page number

Default 1
pageSizeinteger[ 1 .. 500 ]

Number of results per page. Maximum 500.

Default 100
curl -i -X GET \
  -u <username>:<password> \
  'https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders?customerName=string&itemKeyword=string&createDateStart=2019-08-24T14%3A15%3A22Z&createDateEnd=2019-08-24T14%3A15%3A22Z&modifyDateStart=2019-08-24T14%3A15%3A22Z&modifyDateEnd=2019-08-24T14%3A15%3A22Z&orderDateStart=2019-08-24T14%3A15%3A22Z&orderDateEnd=2019-08-24T14%3A15%3A22Z&orderNumber=string&orderStatus=awaiting_payment&paymentDateStart=2019-08-24T14%3A15%3A22Z&paymentDateEnd=2019-08-24T14%3A15%3A22Z&storeId=0&sortBy=OrderDate&sortDir=ASC&page=1&pageSize=100'

Responses

List of orders retrieved successfully

Bodyapplication/json
ordersArray of objects(Order)
totalinteger

Total number of orders matching criteria

Example: 2
pageinteger

Current page number

Example: 1
pagesinteger

Total number of pages

Example: 1
Response
application/json
{ "orders": [ {} ], "total": 2, "page": 1, "pages": 1 }

Get order

Request

Retrieves a single order by its ID

Security
basicAuth
Path
orderIdintegerrequired

The system-generated order ID

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

Responses

Order retrieved successfully

Bodyapplication/json
orderIdintegerread-only

System-generated identifier for the order

Example: 93348442
orderNumberstring

User-defined order number

Example: "TEST-ORDER-API-DOCS"
orderKeystring

Unique key for the order

Example: "0f6bec18-3e89-4771-83aa-f392d84f4c74"
orderDatestring(date-time)

Date the order was placed

Example: "2015-06-29T08:46:27Z"
createDatestring(date-time)read-only

Timestamp when order was created in ShipStation

Example: "2016-01-12T16:03:06Z"
modifyDatestring(date-time)read-only

Timestamp when order was last modified

Example: "2016-01-12T16:03:06Z"
paymentDatestring or null(date-time)

Date the order was paid

Example: "2015-06-29T08:46:27Z"
Any of:

Date the order was paid

string(date-time)
shipByDatestring or null(date-time)

Date the order should be shipped by

Example: "2015-07-05T00:00:00Z"
Any of:

Date the order should be shipped by

string(date-time)
orderStatusstring

Current status of the order

Enum"awaiting_payment""awaiting_shipment""pending_fulfillment""shipped""on_hold""cancelled""rejected_fulfillment"
Example: "awaiting_shipment"
customerIdintegerread-only

Unique identifier for the customer

Example: 37701499
customerUsernamestring

Customer username or identifier

Example: "headhoncho@whitehouse.gov"
customerEmailstring(email)

Customer email address

Example: "headhoncho@whitehouse.gov"
billToobject(Address)

Physical address for shipping or billing

shipToobject(Address)

Physical address for shipping or billing

itemsArray of objects(OrderItem)

Array of order items

orderTotalnumberread-only

Total order amount

Example: 194.43
amountPaidnumber

Amount paid by customer

Example: 218.73
taxAmountnumber

Total tax amount

Example: 5
shippingAmountnumber

Shipping amount

Example: 10
customerNotesstring or null

Notes from the customer

Example: "Please ship as soon as possible!"
Any of:

Notes from the customer

string
internalNotesstring or null

Internal notes (not visible to customer)

Example: "Customer called and would like to upgrade shipping"
Any of:

Internal notes (not visible to customer)

string
giftboolean

Whether this is a gift order

Example: false
giftMessagestring or null

Gift message

Example: "Happy Birthday!"
Any of:

Gift message

string
paymentMethodstring or null

Payment method used

Example: "Credit Card"
Any of:

Payment method used

string
requestedShippingServicestring or null

Shipping service requested by customer

Example: "Priority Mail"
Any of:

Shipping service requested by customer

string
carrierCodestring or null

Carrier code

Example: "fedex"
Any of:

Carrier code

string
serviceCodestring or null

Service code

Example: "fedex_2day"
Any of:

Service code

string
packageCodestring or null

Package type code

Example: "package"
Any of:

Package type code

string
confirmationstring

Delivery confirmation type

Enum"none""delivery""signature""adult_signature""direct_signature"
Example: "none"
shipDatestring or null(date)

Date the order was shipped

Example: "2015-07-02"
Any of:

Date the order was shipped

string(date)
holdUntilDatestring or null(date)

Date to hold order until

Example: "2015-07-05"
Any of:

Date to hold order until

string(date)
weightobject(Weight)

Weight measurement

dimensionsDimensions (object) or null
Any of:

Package dimensions

insuranceOptionsobject(InsuranceOptions)

Shipping insurance options

internationalOptionsobject(InternationalOptions)

International shipping options

advancedOptionsobject(AdvancedOptions)

Advanced shipping options

tagIdsArray of integers or null

Array of tag IDs associated with this order

Any of:

Array of tag IDs associated with this order

userIdstring or nullread-only

User assigned to order (GUID format)

Example: "123456AB-ab12-3c4d-5e67-89f1abc1defa"
Any of:

User assigned to order (GUID format)

stringread-only
externallyFulfilledbooleanread-only

Whether order is externally fulfilled

Example: false
externallyFulfilledBystring or nullread-only

External fulfillment provider name

Example: "Amazon FBA"
Any of:

External fulfillment provider name

stringread-only
Response
application/json
{ "orderId": 93348442, "orderNumber": "TEST-ORDER-API-DOCS", "orderKey": "0f6bec18-3e89-4771-83aa-f392d84f4c74", "orderDate": "2015-06-29T08:46:27Z", "createDate": "2016-01-12T16:03:06Z", "modifyDate": "2016-01-12T16:03:06Z", "paymentDate": "2015-06-29T08:46:27Z", "shipByDate": "2015-07-05T00:00:00Z", "orderStatus": "awaiting_shipment", "customerId": 37701499, "customerUsername": "headhoncho@whitehouse.gov", "customerEmail": "headhoncho@whitehouse.gov", "billTo": { "name": "John Doe", "company": "Acme Corp", "street1": "123 Main St", "street2": "Apt 4B", "street3": "Building B", "city": "Austin", "state": "TX", "postalCode": "78701", "country": "US", "phone": "512-555-1234", "residential": true, "addressVerified": "Address validated successfully" }, "shipTo": { "name": "John Doe", "company": "Acme Corp", "street1": "123 Main St", "street2": "Apt 4B", "street3": "Building B", "city": "Austin", "state": "TX", "postalCode": "78701", "country": "US", "phone": "512-555-1234", "residential": true, "addressVerified": "Address validated successfully" }, "items": [ {} ], "orderTotal": 194.43, "amountPaid": 218.73, "taxAmount": 5, "shippingAmount": 10, "customerNotes": "Please ship as soon as possible!", "internalNotes": "Customer called and would like to upgrade shipping", "gift": false, "giftMessage": "Happy Birthday!", "paymentMethod": "Credit Card", "requestedShippingService": "Priority Mail", "carrierCode": "fedex", "serviceCode": "fedex_2day", "packageCode": "package", "confirmation": "none", "shipDate": "2015-07-02", "holdUntilDate": "2015-07-05", "weight": { "value": 24, "units": "ounces" }, "dimensions": { "length": 7, "width": 5, "height": 6, "units": "inches" }, "insuranceOptions": { "provider": "carrier", "insureShipment": true, "insuredValue": 200 }, "internationalOptions": { "contents": "merchandise", "customsItems": [], "nonDelivery": "return_to_sender" }, "advancedOptions": { "warehouseId": 98765, "nonMachinable": false, "saturdayDelivery": false, "containsAlcohol": false, "mergedOrSplit": false, "mergedIds": [], "parentId": 93348442, "storeId": 12345, "customField1": "Custom data that you can add to an order", "customField2": "Per UI settings, this can appear on some carrier labels", "customField3": "https://help.shipstation.com/hc/en-us/articles/206639957", "source": "Webstore", "billToParty": "third_party", "billToAccount": "123456789", "billToPostalCode": "78701", "billToCountryCode": "US" }, "tagIds": [ 0 ], "userId": "123456AB-ab12-3c4d-5e67-89f1abc1defa", "externallyFulfilled": false, "externallyFulfilledBy": "Amazon FBA" }

Delete order

Request

Removes order from ShipStation's UI. This is a "soft" delete action so the order will still exist in the database, but will be set to inactive.

Security
basicAuth
Path
orderIdintegerrequired

The order ID to delete

Example: 93348442
curl -i -X DELETE \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/93348442

Responses

Order deleted successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "The requested order has been deleted."
Response
application/json
{ "success": true, "message": "The requested order has been deleted." }

Create or update multiple orders

Request

Create or update multiple orders in one request. If the orderKey is specified, ShipStation will attempt to locate the order with that key. If found, the existing order will be updated. If not found, a new order will be created.

For split orders, the orderKey is always required when creating or updating orders, and the orderId is always required for updates.

This call does not currently support partial updates; the entire resource must be provided in the body of the request.

Only orders in an open status (awaiting_payment, awaiting_shipment, pending_fulfillment, on_hold) can be updated. Orders in cancelled or shipped status may not be updated.

Security
basicAuth
Bodyapplication/jsonrequiredArray [
orderNumberstring

User-defined order number

Example: "TEST-ORDER-API-DOCS"
orderKeystring

Unique key for the order

Example: "0f6bec18-3e89-4771-83aa-f392d84f4c74"
orderDatestring(date-time)

Date the order was placed

Example: "2015-06-29T08:46:27Z"
paymentDatestring or null(date-time)

Date the order was paid

Example: "2015-06-29T08:46:27Z"
Any of:

Date the order was paid

string(date-time)
shipByDatestring or null(date-time)

Date the order should be shipped by

Example: "2015-07-05T00:00:00Z"
Any of:

Date the order should be shipped by

string(date-time)
orderStatusstring

Current status of the order

Enum"awaiting_payment""awaiting_shipment""pending_fulfillment""shipped""on_hold""cancelled""rejected_fulfillment"
Example: "awaiting_shipment"
customerUsernamestring

Customer username or identifier

Example: "headhoncho@whitehouse.gov"
customerEmailstring(email)

Customer email address

Example: "headhoncho@whitehouse.gov"
billToobject(Address)

Physical address for shipping or billing

shipToobject(Address)

Physical address for shipping or billing

itemsArray of objects(OrderItem)

Array of order items

amountPaidnumber

Amount paid by customer

Example: 218.73
taxAmountnumber

Total tax amount

Example: 5
shippingAmountnumber

Shipping amount

Example: 10
customerNotesstring or null

Notes from the customer

Example: "Please ship as soon as possible!"
Any of:

Notes from the customer

string
internalNotesstring or null

Internal notes (not visible to customer)

Example: "Customer called and would like to upgrade shipping"
Any of:

Internal notes (not visible to customer)

string
giftboolean

Whether this is a gift order

Example: false
giftMessagestring or null

Gift message

Example: "Happy Birthday!"
Any of:

Gift message

string
paymentMethodstring or null

Payment method used

Example: "Credit Card"
Any of:

Payment method used

string
requestedShippingServicestring or null

Shipping service requested by customer

Example: "Priority Mail"
Any of:

Shipping service requested by customer

string
carrierCodestring or null

Carrier code

Example: "fedex"
Any of:

Carrier code

string
serviceCodestring or null

Service code

Example: "fedex_2day"
Any of:

Service code

string
packageCodestring or null

Package type code

Example: "package"
Any of:

Package type code

string
confirmationstring

Delivery confirmation type

Enum"none""delivery""signature""adult_signature""direct_signature"
Example: "none"
shipDatestring or null(date)

Date the order was shipped

Example: "2015-07-02"
Any of:

Date the order was shipped

string(date)
holdUntilDatestring or null(date)

Date to hold order until

Example: "2015-07-05"
Any of:

Date to hold order until

string(date)
weightobject(Weight)

Weight measurement

dimensionsDimensions (object) or null
Any of:

Package dimensions

insuranceOptionsobject(InsuranceOptions)

Shipping insurance options

internationalOptionsobject(InternationalOptions)

International shipping options

advancedOptionsobject(AdvancedOptions)

Advanced shipping options

tagIdsArray of integers or null

Array of tag IDs associated with this order

Any of:

Array of tag IDs associated with this order

]
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/createorders \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "orderNumber": "TEST-ORDER-API-DOCS-01",
      "orderKey": "0f6bec18-3e89-4881-83aa-f392d84f4c74",
      "orderDate": "2015-06-29T08:46:27.000Z",
      "orderStatus": "awaiting_shipment",
      "customerEmail": "headhoncho@whitehouse.gov",
      "shipTo": {
        "name": "The President",
        "company": "US Govt",
        "street1": "1600 Pennsylvania Ave",
        "city": "Washington",
        "state": "DC",
        "postalCode": "20500",
        "country": "US"
      },
      "items": [
        {
          "sku": "ABC123",
          "name": "Test item #1",
          "quantity": 2,
          "unitPrice": 99.99
        }
      ]
    },
    {
      "orderNumber": "TEST-ORDER-API-DOCS-02",
      "orderKey": "0d6bec18-3e79-4981-83ca-f392d84f4c19",
      "orderDate": "2015-06-29T08:46:27.000Z",
      "orderStatus": "awaiting_shipment",
      "customerEmail": "headhoncho@whitehouse.gov",
      "shipTo": {
        "name": "The President",
        "street1": "1600 Pennsylvania Ave",
        "city": "Washington",
        "state": "DC",
        "postalCode": "20500",
        "country": "US"
      },
      "items": [
        {
          "sku": "XYZ789",
          "name": "Test item #2",
          "quantity": 1,
          "unitPrice": 49.99
        }
      ]
    }
  ]'

Responses

Orders created or updated successfully

Bodyapplication/json
hasErrorsboolean

Whether any errors occurred

Example: false
resultsArray of objects
Response
application/json
{ "hasErrors": false, "results": [ {} ] }

Add tag to order

Request

Adds a tag to an order

Security
basicAuth
Bodyapplication/jsonrequired
orderIdintegerrequired

Order ID to tag

Example: 123456
tagIdintegerrequired

Tag ID to apply

Example: 1234
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/addtag \
  -H 'Content-Type: application/json' \
  -d '{
    "orderId": 123456,
    "tagId": 1234
  }'

Responses

Tag added successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Tag added successfully."
Response
application/json
{ "success": true, "message": "Tag added successfully." }

Remove tag from order

Request

Removes a tag from the specified order

Security
basicAuth
Bodyapplication/jsonrequired
orderIdintegerrequired

Order ID

Example: 123456
tagIdintegerrequired

Tag ID to remove

Example: 1234
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/removetag \
  -H 'Content-Type: application/json' \
  -d '{
    "orderId": 123456,
    "tagId": 1234
  }'

Responses

Tag removed successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Tag removed successfully."
Response
application/json
{ "success": true, "message": "Tag removed successfully." }

Assign user to order

Request

Assigns a user to an order. If ANY of the orders within the array are not found, no orders will have a user assigned to them.

Security
basicAuth
Bodyapplication/jsonrequired
orderIdsArray of integersrequired

Array of order IDs to assign

Example: [123456789,12345679]
userIdstringrequired

User GUID to assign to orders

Example: "123456AB-ab12-3c4d-5e67-89f1abc1defa"
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/assignuser \
  -H 'Content-Type: application/json' \
  -d '{
    "orderIds": [
      123456789,
      12345679
    ],
    "userId": "123456AB-ab12-3c4d-5e67-89f1abc1defa"
  }'

Responses

User assigned successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "User assigned successfully."
Response
application/json
{ "success": true, "message": "User assigned successfully." }

Unassign user from order

Request

Unassigns a user from an order. If ANY of the orders within the array are not found, no orders will have their users unassigned.

Security
basicAuth
Bodyapplication/jsonrequired
orderIdsArray of integersrequired

Array of order IDs to unassign

Example: [123456789,12345679]
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/unassignuser \
  -H 'Content-Type: application/json' \
  -d '{
    "orderIds": [
      123456789,
      12345679
    ]
  }'

Responses

User unassigned successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "User unassigned successfully."
Response
application/json
{ "success": true, "message": "User unassigned successfully." }

Hold order until date

Request

Changes the status of the order to On Hold until the specified date, when the status will automatically change to Awaiting Shipment.

Security
basicAuth
Bodyapplication/jsonrequired
orderIdintegerrequired

Order ID to hold

Example: 1072467
holdUntilDatestring(date)required

Date when order moves from on_hold to awaiting_shipment

Example: "2014-12-01"
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/holduntil \
  -H 'Content-Type: application/json' \
  -d '{
    "orderId": 1072467,
    "holdUntilDate": "2014-12-01"
  }'

Responses

Order held successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Order held successfully."
Response
application/json
{ "success": true, "message": "Order held successfully." }

Restore order from hold

Request

Changes the status of the order from On Hold to Awaiting Shipment. This endpoint is used when a holdUntilDate is attached to an order.

Security
basicAuth
Bodyapplication/jsonrequired
orderIdintegerrequired

Order ID to restore

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

Responses

Order restored successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "The requested order has been restored"
Response
application/json
{ "success": true, "message": "The requested order has been restored" }

Mark order as shipped

Request

Marks an order as Shipped without creating a label in ShipStation

Security
basicAuth
Bodyapplication/jsonrequired
orderIdintegerrequired

Order ID to mark as shipped

Example: 93348442
carrierCodestringrequired

Carrier code

Example: "usps"
shipDatestring(date)

Date order was shipped

Example: "2014-04-01"
trackingNumberstring

Tracking number

Example: "913492493294329421"
notifyCustomerboolean

Whether to notify customer

Default false
Example: true
notifySalesChannelboolean

Whether to notify sales channel

Default false
Example: true
curl -i -X POST \
  -u <username>:<password> \
  https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/markasshipped \
  -H 'Content-Type: application/json' \
  -d '{
    "orderId": 93348442,
    "carrierCode": "usps",
    "shipDate": "2014-04-01",
    "trackingNumber": "913492493294329421",
    "notifyCustomer": true,
    "notifySalesChannel": true
  }'

Responses

Order marked as shipped successfully

Bodyapplication/json
orderIdinteger
Example: 123456789
orderNumberstring
Example: "ABC123"
Response
application/json
{ "orderId": 123456789, "orderNumber": "ABC123" }

List orders by tag

Request

Obtains a list of orders that have been tagged with the specified tagId

Security
basicAuth
Query
orderStatusstringrequired

The order's status

Enum"awaiting_payment""awaiting_shipment""pending_fulfillment""shipped""on_hold""cancelled"
Example: orderStatus=awaiting_shipment
tagIdintegerrequired

ID of the tag

Example: tagId=53974
pageinteger>= 1

Page number

Default 1
pageSizeinteger[ 1 .. 500 ]

Number of results per page. Maximum 500.

Default 100
curl -i -X GET \
  -u <username>:<password> \
  'https://docs.shipstation.com/_mock/apis/shipstation-v1/openapi/orders/listbytag?orderStatus=awaiting_shipment&tagId=53974&page=1&pageSize=100'

Responses

List of orders retrieved successfully

Bodyapplication/json
ordersArray of objects(Order)
totalinteger

Total number of orders

Example: 1
pageinteger

Current page number

Example: 1
pagesinteger

Total number of pages

Example: 1
Response
application/json
{ "orders": [ {} ], "total": 1, "page": 1, "pages": 1 }

Products

Product catalog management

Operations

Shipments

Shipment operations and rate shopping

Operations

Stores

Store configuration and management

Operations

Users

User management

Operations

Warehouses

Warehouse and fulfillment location management

Operations

Webhooks

Webhook subscription management

Operations