Skip to main content
PUT
Set a dataset's impact indicators
Requires permission: dataset:update
Impacts are keyed by canonical EN 15804+A2 indicator code — the same vocabulary the read endpoints return. Send only life-cycle stage values (A1–A5, B1–B7, C1–C4, D); totals are computed server-side. The dataset must be in draft state, and indicators you omit are left unchanged. Each indicator is stored under the method the dataset’s document type implies: on a dataset set to Other every indicator you send is stored as a plain figure, on an EPD dataset as its EN 15804+A2 indicator. Set the document type with staticImpactMethod — en15804_a2 (EPD) or unknown (any other source) — when you create the dataset, or later with PATCH /v1/dataset/{uuid}. It is returned on every dataset read, so you can tell which datasets declare one. A dataset that declares none stores its impacts under the EN 15804+A2 method and stays undeclared; declaring it afterwards does not move values already written, so set it before writing impacts if you know what the source is. Accounts without all impact indicators enabled may only write the canonical GWP-fossil indicator; sending any other indicator returns a 403 and saves nothing. Contact Variable to enable the full indicator set.

Authorizations

Authorization
string
header
required

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

Path Parameters

uuid
string<uuid>
required

Body

application/json

Impact indicators keyed by canonical EN 15804+A2 code (e.g. GWP-fossil, ODP, AP), case-insensitive. An unknown code returns 400. Indicators you omit are left unchanged.

{key}
object

Life-cycle stage values for one indicator — A1–A5, B1–B7, C1–C4, D — as numbers, numeric strings, or null (clears the stage). At least one stage is required. Sending an indicator replaces its full stage profile: any stage you omit is cleared, so send every stage you want kept. Totals (A1_A3, upstream, direct, downstream, productCarbonFootprint, totalCarbonFootprint) are derived server-side and ignored if sent.

Example:

Response

The updated dataset

uuid
string<uuid>
name
string
Example:

"Steel billet, hot rolled"

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"

staticImpactMethod
enum<string>

The document type the dataset declares: en15804_a2 for an EPD, unknown for any other source. It decides the method the dataset's impacts are stored under, and is returned on every dataset read. Optional — a dataset that declares none stores its impacts under the EN 15804+A2 method and stays undeclared.

Available options:
en15804_a2,
unknown
Example:

"en15804_a2"

image
string
Example:

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

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:
dataQualityRating
number
Example:

1.4

versionState
enum<string>
read-only

Read-only. Where the record sits in its version workflow. draft is the editable working copy; every other state is immutable. locked is finalized but not reviewed, in_review has been picked up by a verifier, rejected was refused with a reason, and verified is signed off. Ignored on POST/PATCH.

Available options:
draft,
locked,
in_review,
rejected,
verified
Example:

"draft"

created
string

ISO 8601 date

Example:

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

updated
string

ISO 8601 date

Example:

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

premium
boolean
read-only

Datasets only. Whether the dataset comes from a premium database, such as ecoinvent.

saved
boolean
read-only

Datasets only. Whether your account has saved the dataset, or uses it in one of its elements. A premium dataset's impacts are shown only once saved.

impactsWithheld
boolean
read-only

Present and true when your account may not see this element's impact values; impacts and footprint are then omitted. A premium dataset's impacts are withheld on a plan without premium databases, on every search result, and until the dataset is saved. Save it with POST /v1/dataset/{uuid}, then read it with GET /v1/dataset/{uuid}.

supplier
object