Create Unit

Beta
POST/v1/catalog/units

Idempotent with Idempotency-Key header. Learn more

Creates a unit of measurement owned by your account, in addition to the system units the platform already provides.

The name and abbreviation must each be unique within the account. A unit created here is never a base unit, so its conversion ratio is interpreted relative to the base unit of the chosen dimension.

Permissions requiredValues:units:create
The role behind your API key or agent must grant every one of these permissions.
include[]optional arrayenumValues:ownerowner.account

Sub-objects to expand in the response. When omitted, sub-objects are returned as null.

namestring

Display name of the unit (e.g. "Gram").

Must be unique within the account.

abbreviationstring

Short abbreviation for the unit (e.g. "g").

Must be unique within the account.

typestringenumValues:currencyquantitytime

The dimension this unit measures, such as mass, volume, or currency.

Units can only be converted to other units of the same dimension, and the dimension cannot be changed after the unit is created.

ratio_numeratorstring (decimal)

Numerator of the ratio that converts a quantity in this unit into the dimension's base unit.

A quantity is converted with value × (ratio_numerator / ratio_denominator) + (offset_numerator / offset_denominator), so a kilogram in a gram-based dimension has a numerator of 1000 and a denominator of 1.

ratio_denominatorstring (decimal)

Denominator of the ratio that converts a quantity in this unit into the dimension's base unit.

Must not be zero.

offset_numeratorstring (decimal)

Numerator of the conversion offset, applied after the ratio for scales that do not share a zero point, such as temperature.

Send 0 for units that convert by ratio alone.

offset_denominatorstring (decimal)

Denominator of the conversion offset.

Must not be zero, so send 1 when the unit has no offset.

idstring

Unit ID.

objectstringenumValues:unit

Resource type identifier.

namestring

Display name of the unit (e.g. "Gram", "Kilogram").

abbreviationstring

Short abbreviation for the unit (e.g. "g", "kg").

typestringenumValues:currencyquantitytime

The dimension this unit measures, such as mass, volume, or currency.

A unit can only be converted to another unit of the same dimension. The quantity dimension is for discrete countable items rather than a physical measure.

ratio_numeratorstring (decimal)

Numerator of the ratio that converts a quantity in this unit into the dimension's base unit.

A quantity is converted with value × (ratio_numerator / ratio_denominator) + (offset_numerator / offset_denominator), so a kilogram in a gram-based dimension has a numerator of 1000 and a denominator of 1.

ratio_denominatorstring (decimal)

Denominator of the ratio that converts a quantity in this unit into the dimension's base unit.

Cannot be zero.

offset_numeratorstring (decimal)

Numerator of the conversion offset, applied after the ratio for scales that do not share a zero point, such as temperature.

Zero for units that convert by ratio alone.

offset_denominatorstring (decimal)

Denominator of the conversion offset applied after the ratio.

Never zero; a unit with no offset carries a numerator of 0 over a denominator of 1.

is_base_unitboolean

Whether this is the base unit for its dimension.

Every other unit's conversion ratio is expressed relative to the base unit. Base units are platform-defined; units created through the API are never base units.

ownerownerExpandablenullable

Owner of this resource.

objectstringenumValues:owner

Resource type identifier.

typestringenumValues:systemaccount

Where this resource came from.

  • system: a platform-provided default shared across all accounts; not editable.
  • account: created and owned by a specific account; the account field identifies which.
accountaccountExpandablenullable

The account that owns this resource.

Present only when type is account; system-owned resources have no owning account.

idstring

Account ID.

objectstringenumValues:account

Resource type identifier.

namestring

The account's display name.

default_billing_addressaddressnullable

The address billed by default on orders for this account.

Always returned as null in this endpoint.
default_shipping_addressaddressnullable

The address shipped to by default on orders for this account.

Always returned as null in this endpoint.
brandingaccount_brandingnullable

Customer-facing branding for the account, such as the logo, support contacts, and social links.

Always returned as null in this endpoint.
portalaccount_portalnullable

The account's customer portal settings, including the portal URL slug.

Always returned as null in this endpoint.
created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

created_atstring (date-time)

When this unit was created.

updated_atstring (date-time)

When this unit was last updated.

Responses

201

Successful response for Create Unit