Skip to main content
POST
Create Waste
← Wastes API
Deprecated. Use POST /v2/wastes: one or many wastes per request, idempotent, calculated asynchronously, with webhooks. This endpoint keeps working; its responses carry Deprecation and Link: </v2/wastes>; rel="successor-version" headers. A removal date (Sunset) will be announced in the changelog with notice.
Create a new waste disposal record linked to a specific facility. The waste record will be processed for CO2e emissions calculation based on the emission factor and quantity provided.
CO2e Calculation: After creation, emissions are automatically calculated using the specified emission factor or custom emission factor. The co2e field will be updated asynchronously.
waste_efs_id removed. The legacy catalog-based emission factor selector is no longer accepted — sending it in the request body has no effect. Every waste is created through the conversion-factors pipeline: pass waste_ler_code_id (required) and optionally waste_rd_code_id for a standard emission factor, or custom_ef_record_id for a custom one.

Request

Headers

string
required
Your API key for authenticationExample: sk_live_1234567890abcdef
string
required
Your organization UUIDExample: a8315ef3-dd50-43f8-b7ce-d839e68d51fa

Body Parameters

uuid
required
UUID of the facility this waste belongs toRetrieve available options from GET /v1/facilitiesExample: "660e8400-e29b-41d4-a716-446655440000"
string
required
Waste identification name or invoice numberExample: "RSU-2024-001"
date
required
Start date of the waste period (ISO 8601 format), a year from 1970 to next yearExample: "2024-01-01"
date
required
End date of the waste period (ISO 8601 format), a year from 1970 to next year, on or after start_dateExample: "2024-03-31"
number
required
Waste quantity in the specified unit. Must be greater than 0.Example: 1500.0
string
Description of the wasteExample: "Municipal solid waste from office building"
string
Waste destination or treatment facility nameExample: "Waste treatment plant Madrid"
number
Distance to waste treatment center in kilometersExample: 25.0
uuid
UUID of the quantity unit. Defaults to kilograms if not specified.Example: "61743a63-ff70-459c-9567-5eee8f7dfd5c"
uuid
required
UUID of the LER (European List of Waste) code. The pipeline resolves the emission factor from waste_matches keyed on (LER, R/D, source).Retrieve available options from GET /v1/wastes/ler-codesExample: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
uuid
Optional (roughly a third of records name no treatment). UUID of the R/D (recovery/disposal) operation code.Retrieve available options from GET /v1/wastes/rd-codes — pass ler_code_id to restrict to codes valid for the chosen LERExample: "b2c3d4e5-f6a7-8901-bcde-fa2345678901"
uuid
Deprecated, no longer functional. Even if sent, it is never persisted — use custom_ef_record_id for a custom emission factor.Example: "880e8400-e29b-41d4-a716-446655440000"
uuid
UUID of a custom emission-factor record. Transient input — it is not stored on the waste row, but persisted as a client_choice calculation config keyed on the waste, which the calculation pipeline consumes.Mutually exclusive with custom_emission_factor_id.Example: "c3d4e5f6-a7b8-9012-cdef-ab3456789012"

Response

string
Unique identifier (UUID) for the waste record
string
Waste identification name
string
Description of the waste
date
Start date of the waste period
date
End date of the waste period
number
Original waste quantity
number
Adjusted quantity after applying percentage allocation
number
Allocation percentage (0–1)
string
Waste destination or treatment facility
number
Distance to waste treatment center in km
string
Current status: uploaded, active, loading, or error
array[string] | null
Error details when status is error
number
CO2 equivalent emissions in kg CO2e (calculated asynchronously)
number
Biogenic CO2 emissions in kg CO2e
boolean | null
Whether the waste record is enabled for emission calculations
string | null
UUID of the linked file (if created via bulk import)
string | null
Name of the linked import file
string | null
Download URL for the linked file
datetime
Timestamp when the record was created
datetime | null
Timestamp when the record was last updated

Example

Successful Response

Common Errors

401 Unauthorized

Cause: Missing or invalid API key
Solution: Verify your API key is valid and active.

403 Forbidden

Cause: Facility doesn’t belong to your organization
Solution: Verify that the facility_id belongs to your organization. Use the Facilities API to list available facilities.

422 Validation Error

Cause: Missing required fields or invalid values
Solution: Check that all required fields are provided and values are valid.

List Wastes

Retrieve all waste records with filtering

Update Waste

Modify an existing waste record

Facilities

List facilities for your organization