We’re getting this error on product_create for one of our child accounts (3PL, using customer_account_id):
weight_in_oz must be between 0 and 9999.9999 with at most 4 decimal places
We sent dimensions: { weight: "997" }. The same value works fine on other accounts and in sandbox, so it doesn’t seem to be a hard limit issue — something about this specific account is causing it.
Could you help us understand:
Why does this happen for this account specifically but not others with a similar weight value?
What would we need to do on our end to support this correctly going forward (for this account and others going forward)?
Thanks for reaching out, and good news: this isn’t a bug on your end or a hard limit issue. It’s related to how each account is configured, so it has a simple fix.
Why it happens on this account but not others
The dimensions.weight value in product_create is interpreted in the weight unit configured on the target account, then converted to ounces for storage. The stored value must be between 0 and 9999.9999 oz.
The child account that’s failing is almost certainly configured in Pounds, so “997” is read as 997 lb = 15,952 oz, which exceeds the limit. The accounts where it works are likely set to Ounces. In practice the maximum is about 625 lb.
How to fix it
You have two options:
Change the weight unit on the child account, under Settings → App Settings → “Default Weight Unit”. Note this setting belongs to the child account itself, so it has to be changed from within that account, and it also affects how weights are displayed and entered elsewhere in the app.
Convert the value before sending. Send dimensions.weight in the account’s configured unit. For example, if the product weighs 997 oz and the account is set to Pounds, send “62.3125” (If you’re not sure which unit applies to your token, you can check it through the API itself: query any product’s dimensions and the weight string comes back with the unit suffix (e.g. "2.05 lb")).
One more thing
It would also help if you linked your ShipHero account ID to your Community profile:
Click your profile picture in the top right corner and go to your profile.
Select Preferences.
From the options that appear, click Profile.
Scroll down until you find the text box for your ShipHero account ID, and add it there.
Once I have that I’ll take a closer look, and that will let me help you more directly.
If you have any other issues with this, don’t hesitate to reply here. Happy to help!