I’m getting an error when creating and updating products

We detected inconsistent data type changes in ShipHero’s GraphQL API over the weekend (December 6–7, 2025). These changes were not announced and have caused errors across different mutations due to mismatched expected types for the fields price and value.


Details of the Issue

1. Data Type Change in warehouse_product_update

Originally, our code used:

  • $price: String

  • $value: String

However, ShipHero seems to have updated their GraphQL schema recently. The mutation warehouse_product_update now expects:

  • price → Decimal

  • value → String

Because of this, our system was sending:

"price": 600

as a number, while the GraphQL schema previously expected a String. After the schema change, it now expects a Decimal. This caused the mutation to be rejected.


2. Inconsistent Types Across Mutations After the Change

After updating our implementation to use $price: Decimal for all mutations, we encountered new errors.

Not all ShipHero mutations use the same types:

  • warehouse_product_update

    • Expects: price: Decimal
  • product_create

    • Still expects: price: String
  • product_add_to_warehouse

    • Also expects: price: String

This inconsistency causes failures depending on which mutation is being called.


Impact

  • The API behavior changed unexpectedly over the weekend.

  • Different mutations now require different types for the same fields (price and value).

  • This inconsistency breaks existing integrations and forces conditional handling for each mutation type.


Request

Please confirm:

  1. Whether these data type changes were intentional.

  2. What the correct and official expected types are for:

    • warehouse_product_update

    • product_create

    • product_add_to_warehouse

  3. Whether ShipHero plans to standardize these fields to avoid future breaking changes.