Skip to main content
Legacy API. This page documents the previous version of the API. This particular operation has no documented equivalent in the current API yet, so this remains the documented way to do it. Prefer the current API for everything it already covers.
Retrieve waste classification codes used in the Dcycle system for waste management and emissions calculations. These codes are based on European waste regulations and help classify waste types and disposal methods.
Waste codes are reference data maintained by Dcycle. You cannot create or modify codes through the API - these endpoints are read-only.

Overview

Dcycle uses three types of waste codes:
  • LER (Lista Europea de Residuos / European Waste List) - Waste type classification
  • RD (Royal Decree) - Disposal method classification
  • LOW (List of Waste) - Regional waste codes
Code format. Both endpoints on this page read the same catalog, so the values follow the same rules:
  • RD codes are zero-padded to two digits: D09, R03. When you filter GET /v1/waste-efs by RD code, D9 and R3 match nothing while D09 and R03 do.
  • Hazardous LER codes end with an asterisk, which is part of the code: 130507*.
  • LER codes carry no spaces: 150101, not 15 01 01.
  • rd_name and ler_name come back as slugs (other_fisic_chemics_not_in_anex), not prose.
To browse the catalog with human-readable descriptions, use GET /v1/waste-efs in the new API instead. Note that waste_efs_id is no longer accepted when creating or updating a waste — use the MultiDB GET /v1/wastes/ler-codes and GET /v1/wastes/rd-codes endpoints for that instead.

GET /api/v1/wastes/rd_ler_list

Get all waste disposal methods (RD codes) with their associated waste types (LER codes). This endpoint returns a complete mapping of which waste types can be processed with which disposal methods.

Request

Headers

string
required
Your API key for authenticationExample: sk_live_1234567890abcdef
string
required
Your organization UUIDExample: ff4adcc7-8172-45fe-9cf1-e90a6de53aa9
string
required
Your user UUIDExample: a1b2c3d4-e5f6-7890-abcd-ef1234567890
No query parameters required.

Response

array
Array of RD-LER mapping objects
string | null
Royal Decree disposal method code, zero-padded to two digits. Entries with no treatment recorded are grouped under null.Examples: "D09", "R03"
string
Disposal method slugExample: "other_fisic_chemics_not_in_anex"
array
Array of LER (waste type) objects applicable to this disposal methodEach LER object contains:
  • ler_code (string) - European waste code, 6 digits with no spaces (130507). Hazardous codes end with an asterisk (130507*)
  • ler_name (string) - Waste type slug

Example

Successful Response

Truncated: the real response carries every RD code in the catalog, each with hundreds of LER codes, plus one group with "rd_code": null for entries with no treatment recorded.

GET /api/v1/wastes/low_codes

Get waste type codes (LOW codes) for a specific region. These codes are used when creating waste records to classify the type of waste being disposed.

Request

Headers

string
required
Your API key for authenticationExample: sk_live_1234567890abcdef
string
required
Your organization UUIDExample: ff4adcc7-8172-45fe-9cf1-e90a6de53aa9
string
required
Your user UUIDExample: a1b2c3d4-e5f6-7890-abcd-ef1234567890

Query Parameters

string
required
Region code for waste classificationCommon values:
  • ES - Spain
  • EU - European Union (generic)
  • UK - United Kingdom
  • Other ISO 3166-1 alpha-2 codes
Example: "ES"

Response

array
Array of LOW (waste type) code objects
string
Unique waste type identifier (UUID)
string
Waste type code: 6 digits with no spaces, plus a trailing * for hazardous wasteExamples: "010101", "150101", "200101"
string
Waste type descriptionExamples: "Paper and cardboard", "Plastic packaging", "Mixed municipal waste"

Example

Successful Response

Common Errors

400 Bad Request - Missing waste_region

Cause: Field required For /api/v1/wastes/low_codes:
Solution: Include the waste_region query parameter.

400 Bad Request - Invalid Region

Cause: Invalid region code
Solution: Use a valid ISO 3166-1 alpha-2 country code.

403 Forbidden

Cause: Organization ID doesn’t match your API key or user doesn’t belong to organization
Solution: Verify that x-organization-id matches your API key’s organization.

Use Cases

Build Waste Type Selector

Create a dropdown selector for waste types:

Find Applicable Disposal Methods

Find which disposal methods can be used for a specific waste type:

Cache Waste Codes

Since waste codes don’t change frequently, cache them:

Validate Waste Code Before Creating Waste

Ensure the waste code exists before creating a waste record:

Waste Code Categories

LER Code Structure

LER codes follow a 6-digit hierarchical structure, written without separators (XXXXXX)
  • First 2 digits: Waste source/activity
  • Middle 2 digits: Process within activity
  • Last 2 digits: Specific waste type
Example: 15 01 02
  • 15 - Waste packaging materials
  • 01 - Packaging
  • 02 - Plastic packaging

Common LER Categories

Hazardous Waste Codes

Codes ending with an asterisk (*) indicate hazardous waste:
  • 17 05 03* - Soil containing dangerous substances
  • 16 06 01* - Lead batteries
  • 15 01 10* - Packaging containing hazardous residues
Hazardous waste requires special handling, disposal methods, and documentation. Check your local regulations.

Disposal Method Codes (RD)

The tables below use the numbering from the Royal Decree. The API stores and returns these codes zero-padded to two digits, so R3 in the regulation is R03 in the API.

D Codes (Disposal Operations)

R Codes (Recovery Operations)

Best Practices

1. Cache Reference Data

Waste codes rarely change, so cache them for extended periods:

2. Pass the Catalog Region

waste_region is required, and the catalog Dcycle ships is global: pass GLO. Any other region code is accepted by the endpoint but matches no rows, so it returns an empty list.

3. Store LOW IDs, Not Codes

When creating waste records, use the low_id, not the low_code:

4. Validate Before Creating Waste

Always validate that the waste code exists before submitting:

List Facilities

View facilities where waste is generated

List Units

Get units for waste quantities

List Invoices

View facility consumption data

Authentication

Learn about API authentication