ShipStation API v2 (2.0.0)

Download OpenAPI description
Overview
License MIT
Languages
Servers
Mock server
https://docs.shipstation.com/_mock/openapi/
Production
https://api.shipstation.com/

Batches

Process labels in bulk and receive a large number of labels and customs forms in bulk responses. Batching is ideal for workflows that need to process hundreds or thousands of labels quickly.

Operations

Carriers

Retreive useful details about the carriers connected to your accounts, including carrier IDs, service IDs, advanced options, and available carrier package types.

Operations

Downloads

Download your label files in PDF, PNG, and ZPL.

Operations

Fulfillments

Manage fulfillments which represent completed shipments. Create fulfillments to mark orders as shipped with tracking information and notify customers and marketplaces.

Operations

List fulfillments

Request

Retrieve a list of fulfillments based on various filter criteria. You can filter by shipment details, tracking information, dates, and more to find the specific fulfillments you need.

Query
ship_to_namestring

Filter by recipient name

ship_to_country_codestring

Filter by ship-to country code (2-letter ISO country code)

Example: ship_to_country_code=US
shipment_numberstring

Filter by shipment number (order number)

shipment_idstring

Filter by specific shipment id

Example: shipment_id=se-12345678
fulfillment_idstring

Filter by specific fulfillment id

Example: fulfillment_id=se-12345678
batch_idstring

Filter by batch id

Example: batch_id=se-12345678
order_source_idstring

Filter by order source id (store id)

Example: order_source_id=se-12345678
fulfillment_provider_codestring

Filter by fulfillment provider code

tracking_numberstring

Filter by tracking number

ship_date_startstring(date-time)

Filter by ship date start (inclusive)

Example: ship_date_start=2024-01-01T00:00:00Z
ship_date_endstring(date-time)

Filter by ship date end (inclusive)

Example: ship_date_end=2024-01-31T23:59:59Z
create_date_startstring(date-time)

Filter by creation date start (inclusive)

Example: create_date_start=2024-01-01T00:00:00Z
create_date_endstring(date-time)

Filter by creation date end (inclusive)

Example: create_date_end=2024-01-31T23:59:59Z
pageinteger>= 1

Page number for pagination

Default 1
page_sizeinteger[ 1 .. 500 ]

Number of results per page

Default 25
sort_dirstring

Sort direction

Default "asc"
Enum"asc""desc"
sort_bystring

Sort field

Default "created_at"
Enum"created_at""modified_at""shipped_at"
curl -i -X GET \
  'https://docs.shipstation.com/_mock/openapi/v2/fulfillments?batch_id=string&create_date_end=2019-08-24T14%3A15%3A22Z&create_date_start=2019-08-24T14%3A15%3A22Z&fulfillment_id=string&fulfillment_provider_code=string&order_source_id=string&page=1&page_size=25&ship_date_end=2019-08-24T14%3A15%3A22Z&ship_date_start=2019-08-24T14%3A15%3A22Z&ship_to_country_code=string&ship_to_name=string&shipment_id=string&shipment_number=string&sort_by=created_at&sort_dir=asc&tracking_number=string' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
fulfillmentsArray of objects(fulfillment)
pageinteger

Current page number

pagesinteger

Total number of pages

totalinteger

Total number of fulfillments

linksobject
Response
application/json
{ "fulfillments": [ {} ], "page": 0, "pages": 0, "total": 0, "links": { "first": {}, "last": {}, "prev": {}, "next": {} } }

Create fulfillments

Request

Create one or more fulfillments by marking shipments as shipped with tracking information. This will notify customers and marketplaces according to your configuration.

Bodyapplication/jsonrequired
fulfillmentsArray of objectsrequired
fulfillments[].​shipment_idstringrequired

The shipment id to fulfill

Example: "se-12345678"
fulfillments[].​tracking_numberstringrequired

Tracking number for the shipment

Example: "1Z12345E1234567890"
fulfillments[].​carrier_codestringrequired

Carrier code (e.g., "ups", "fedex", "usps")

Example: "ups"
fulfillments[].​ship_datestring(date-time)

Ship date (defaults to current date if not provided)

Example: "2024-01-15T10:00:00Z"
fulfillments[].​notify_customerboolean

Whether to notify the customer via email

Example: true
fulfillments[].​notify_order_sourceboolean

Whether to notify the order source/marketplace

Example: true
curl -i -X POST \
  https://docs.shipstation.com/_mock/openapi/v2/fulfillments \
  -H 'Content-Type: application/json' \
  -H 'api-key: YOUR_API_KEY_HERE' \
  -d '{
    "fulfillments": [
      {
        "shipment_id": "se-12345678",
        "tracking_number": "1Z12345E1234567890",
        "carrier_code": "ups",
        "ship_date": "2024-01-15T10:00:00Z",
        "notify_customer": true,
        "notify_order_source": true
      }
    ]
  }'

Responses

Fulfillments processed (check has_errors and individual results)

Bodyapplication/json
has_errorsboolean

Indicates if any fulfillments failed to create

Example: false
fulfillmentsArray of objects
Response
application/json
{ "has_errors": false, "fulfillments": [ {} ] }

Inventory

Manage inventory, adjust quantities, and handle warehouses and locations.

Operations

Labels

Purchase and print shipping labels for any carrier active on your account. The labels endpoint also supports creating return labels, voiding labels, and getting label details like tracking.

Operations

Manifests

A manifest is a document that provides a list of the day's shipments. It typically contains a barcode that allows the pickup driver to scan a single document to register all shipments, rather than scanning each shipment individually.

Operations

Package Pickups

Scheduled pickups and manage pickup requests for supported carriers.

Operations

Package Types

Create custom package types to use for your shipments, rather than the carriers' default package types.

Operations

Products

Manage products in your ShipStation account. Products represent the items you sell and ship to customers.

Operations

Rates

Quickly compare rates using the Rates endpoint. You can see and compare rates for the carriers connected to your account (as long as they support sending rates).

Operations

Shipments

Shipments are at the core of most ShipStation capabilities. Shipment objects are required for cretaing labels and manifests, as well as getting rates.

Operations

Tags

Tags are text-based identifiers you can add to shipments to help in your shipment management workflows.

Operations

Tracking

Use the tracking endpoint to stop receiving tracking updates (more dedicated tracking endpoint methods coming soon).

Operations

Warehouses

Get warehouse details like warehouse ID and related addresses using the warehouses endpoint.

Operations

Users

Manage and retrieve user information for the ShipStation account. This endpoint allows you to list users with various filtering options.

Operations

Webhooks

Webhooks are a powerful feature that can save you from sending repeated polling requests to check on the state of something. With webhooks, ShipStation will automatically contact your servers when the stage changes. This can include parcel tracking events, notification when a batch operation completes, and more.

Operations