Skip to main content
POST
Create a material
Requires permission:

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required
Example:

"Product Name"

description
string
Example:

"A descriptive description"

notes
string
Example:

"Internal notes about this product"

sku
string
Example:

"SKU123"

syncId
string

An identifier to use when syncing data with other systems. Read more

Example:

"sync123"

cpcCode
string
Example:

"CPC123"

supplierPartId
string

The supplier's part identifier for this product.

Example:

"PART-123"

unit
string

The unit code (e.g. kg, lbs, etc.). All unit codes can be found in the List Units endpoint.

Example:

"kg"

weight
object

The user-declared weight of the product. On read responses, compare with the server-computed modeledWeight to mass-balance the product against its bill of materials.

packagingWeight
object

The user-declared weight of the product's packaging. On read responses, compare with the server-computed modeledPackagingWeight to mass-balance packaging against its bill of materials.

recycledPercent
number

The user-declared recycled content of the product as a percentage (0–100). A 0 is a declared zero; omit the field when undeclared. On read responses, compare with the server-computed modeledRecycledPercent.

Example:

30

footprint
object

Using dataSource: external allows setting certain footprint.CO2e values. The values are computed all other dataSources.

dataQualityIndicators
object
taxonomy
object

A reference to a taxonomy category, including its machine-readable path.

geoLocation
object
location
object
startDate
string

ISO 8601 date

Example:

"2021-01-01T00:00:00.000Z"

endDate
string

ISO 8601 date

Example:

"2021-01-01T00:00:00.000Z"

dataSource
enum<string>
Available options:
model,
external
Example:

"model"

Response

A material

uuid
string<uuid>
name
string
Example:

"Material Name"

description
string
Example:

"A descriptive description"

notes
string
Example:

"Internal notes about this product"

sku
string
Example:

"SKU123"

syncId
string

An identifier to use when syncing data with other systems. Read more

Example:

"sync123"

cpcCode
string
Example:

"CPC123"

supplierPartId
string

The supplier's part identifier for this product.

Example:

"PART-123"

unit
string

The unit code (e.g. kg, lbs, etc.). All unit codes can be found in the List Units endpoint.

Example:

"kg"

weight
object

The user-declared weight of the product. On read responses, compare with the server-computed modeledWeight to mass-balance the product against its bill of materials.

packagingWeight
object

The user-declared weight of the product's packaging. On read responses, compare with the server-computed modeledPackagingWeight to mass-balance packaging against its bill of materials.

recycledPercent
number

The user-declared recycled content of the product as a percentage (0–100). A 0 is a declared zero; omit the field when undeclared. On read responses, compare with the server-computed modeledRecycledPercent.

Example:

30

footprint
object
deprecated

Deprecated — use impacts["GWP-fossil"]. Kept for backwards compatibility.

dataQualityIndicators
object
taxonomy
object

A reference to a taxonomy category, including its machine-readable path.

geoLocation
object
location
object
startDate
string

ISO 8601 date

Example:

"2021-01-01T00:00:00.000Z"

endDate
string

ISO 8601 date

Example:

"2021-01-01T00:00:00.000Z"

dataSource
enum<string>
Available options:
model,
external
Example:

"model"

image
string
Example:

"https://app.variable.global/uploads/image.jpg"

modeledWeight
object
read-only

Read-only. Server-computed sum of the model's A1–A3 product material input weights (Material group "Product"; excludes packaging and ancillary), in the same Amount shape as the declared weight. Compare the two to mass-balance the product: weight is the value you set, while modeledWeight is derived from the bill of materials. Present only when the model has qualifying product inputs. Ignored on POST/PATCH.

modeledPackagingWeight
object
read-only

Read-only. Server-computed sum of the model's A1–A3 packaging input weights (Material group "Packaging"), in the same Amount shape as the declared packagingWeight. Compare the two to mass-balance packaging: packagingWeight is the value you set, while modeledPackagingWeight is derived from the bill of materials. Present only when the model has qualifying packaging inputs. Ignored on POST/PATCH.

modeledTotalWeight
object
read-only

Read-only. Gross modeled weight: the sum of modeledWeight and modeledPackagingWeight, in the same Amount shape. Derived at read time from the two persisted addends — a missing addend contributes nothing — so it's present whenever at least one of the two is present; its unit follows the first present addend. Ignored on POST/PATCH.

modeledRecycledPercent
number
read-only

Read-only. Server-computed weight-weighted average of the contributing inputs' recycled content (0–100). Compare against the declared recycledPercent: recycledPercent is the value you set, while modeledRecycledPercent is derived from the bill of materials. Present only when the model has contributing inputs. Ignored on POST/PATCH.

Example:

27.5

impacts
object

Environmental impact indicators keyed by canonical code (e.g. GWP-fossil, ODP, AP). Which indicators appear is controlled by the impacts query parameter — by default only GWP-fossil is returned.

Example:
dataset
object

The emission-factor dataset a sourced element (/v1/material, /v1/energy, /v1/process) draws its impact from. Send { uuid } to bind one at create time, or a different dataset on update to re-point the element; binding a dataset makes the element external (dataSource: external). Use /v1/database to find one. On read it carries the full reference (uuid, name, source, declaredUnit) and is present for external elements only — absent for modeled products.

datasetAmount
object

The quantity and unit of the backing dataset this element consumes — the amount its per-unit factor scales. Optional when binding: omit to consume one declared unit of the dataset; send alone on update to re-scale an existing binding without changing the dataset. On read, present for external elements only — absent for modeled products.

dataQualityRating
number
Example:

1.4

created
string

ISO 8601 date

Example:

"2021-01-01T00:00:00.000Z"

updated
string

ISO 8601 date

Example:

"2021-01-31T23:59:59.000Z"

supplier
object