ShipStation Products API

Manage product records

OpenAPI Specification

shipstation-products-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ShipStation V1 Accounts Products API
  description: The ShipStation V1 API provides programmatic access to ShipStation's shipping platform for ecommerce businesses. Endpoints cover order management, shipment creation, label generation, carrier rate shopping, package tracking, warehouse management, product management, and store integrations. Authentication uses HTTP Basic auth with API key and secret.
  version: '1.0'
  contact:
    name: ShipStation
    url: https://www.shipstation.com/docs/api/
    email: apisupport@shipstation.com
  license:
    name: ShipStation API Terms
    url: https://www.shipstation.com/legal/terms-of-service/
  x-date: '2026-05-02'
servers:
- url: https://ssapi.shipstation.com
  description: ShipStation V1 API
security:
- BasicAuth: []
tags:
- name: Products
  description: Manage product records
paths:
  /products:
    get:
      operationId: listProducts
      summary: List Products
      description: Obtains a list of products that match the specified criteria.
      tags:
      - Products
      parameters:
      - name: sku
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: productCategoryId
        in: query
        schema:
          type: integer
      - name: productTypeId
        in: query
        schema:
          type: integer
      - name: tagId
        in: query
        schema:
          type: integer
      - name: startDate
        in: query
        schema:
          type: string
          format: date-time
      - name: endDate
        in: query
        schema:
          type: string
          format: date-time
      - name: sortBy
        in: query
        schema:
          type: string
      - name: sortDir
        in: query
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: page
        in: query
        schema:
          type: integer
      - name: pageSize
        in: query
        schema:
          type: integer
      - name: showInactive
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: A list of products
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPaginatedList'
  /products/{productId}:
    get:
      operationId: getProduct
      summary: Get Product
      description: Retrieves the product specified by the system-generated identifier.
      tags:
      - Products
      parameters:
      - name: productId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Product object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
    put:
      operationId: updateProduct
      summary: Update Product
      description: Updates the specified product.
      tags:
      - Products
      parameters:
      - name: productId
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Product'
      responses:
        '200':
          description: Product updated
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    ProductPaginatedList:
      type: object
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/Product'
        total:
          type: integer
        page:
          type: integer
        pages:
          type: integer
    Tag:
      type: object
      properties:
        tagId:
          type: integer
        name:
          type: string
        color:
          type: string
    Product:
      type: object
      properties:
        productId:
          type: integer
        sku:
          type: string
        name:
          type: string
        price:
          type: number
          format: float
        defaultCost:
          type: number
          format: float
        length:
          type: number
          format: float
        width:
          type: number
          format: float
        height:
          type: number
          format: float
        weightOz:
          type: number
          format: float
        internalNotes:
          type: string
        fulfillmentSku:
          type: string
        createDate:
          type: string
          format: date-time
        modifyDate:
          type: string
          format: date-time
        active:
          type: boolean
        productCategory:
          type: object
        productType:
          type: object
        warehouseLocation:
          type: string
        defaultCarrierCode:
          type: string
        defaultServiceCode:
          type: string
        defaultPackageCode:
          type: string
        defaultIntlCarrierCode:
          type: string
        defaultIntlServiceCode:
          type: string
        defaultIntlPackageCode:
          type: string
        defaultConfirmation:
          type: string
        defaultIntlConfirmation:
          type: string
        customsDescription:
          type: string
        customsValue:
          type: number
        customsTariffNo:
          type: string
        customsCountryCode:
          type: string
        noCustoms:
          type: boolean
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using API Key as username and API Secret as password