Skip to content
Last updated

PPWR Compliance Use Case

Learn how to use Coolset APIs to meet Packaging and Packaging Waste Regulation (PPWR) requirements.

Overview

The EU Packaging and Packaging Waste Regulation (PPWR) requires companies to track, assess, and report on packaging across their supply chain. Coolset's APIs let you flag packaging products via tags, run packaging risk assessments, and upload supporting evidence — using the same infrastructure as EUDR, without any regulation-specific endpoints.

Compliance Workflow

Acceptable

High

Tag Packaging Products

Run Packaging Assessment

Risk Level

Download Evidence Package

Gather Evidence

Upload Documents

Acceptable

High

Tag Packaging Products

Run Packaging Assessment

Risk Level

Download Evidence Package

Gather Evidence

Upload Documents

Step 1: Flag Products as Packaging

Products are flagged for PPWR via tags. Two tags are used:

TagMeaning
PPWRThis product is in scope for PPWR compliance
PACKAGINGThis product is a packaging component used within a PPWR product

Use PATCH /products/{id}/ to apply tags to existing products:

# Flag a product as in scope for PPWR
curl -X PATCH https://developers-scranton.coolset.com/api/products/456/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tags": ["PPWR"]}'

# Flag a packaging component
curl -X PATCH https://developers-scranton.coolset.com/api/products/789/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tags": ["PACKAGING"]}'

Response:

{
  "id": 456,
  "name": "Cardboard Box 30x20x15cm",
  "tags": ["PPWR"],
  "pulse_params": {
    "identifier": "scranton$product$456",
    "model_identifier": "product"
  }
}

Note the pulse_params.identifier — you'll need this to run the risk assessment in the next step.

Step 2: Run a Packaging Risk Assessment

Use the pulse_params.identifier from the product response as the identifier field:

curl -X POST https://developers-pulse.coolset.com/api/compliance/risk-assessments/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "identifier": "scranton$product$456",
    "assessment_type": "ppwr_packaging_assessment"
  }'

Response:

{
  "id": 101,
  "identifier": "scranton$product$456",
  "assessment_type": "ppwr_packaging_assessment",
  "results": {
    "risk_level": "low",
    "recyclability_score": 0.85,
    "recycled_content_percentage": 40
  },
  "assessment_date": "2025-05-12T10:00:00Z"
}

Aggregate assessments run automatically — no need to trigger them manually.

Step 3: Upload Supporting Documents

Attach evidence (supplier declarations, material certificates) to your assessment:

# Create document record and get pre-signed upload URL
curl -X POST https://developers-pulse.coolset.com/api/documents/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Recycled Content Certificate.pdf",
    "content_type": "application/pdf"
  }'

# Upload file using the pre-signed URL from the response, then confirm
curl -X POST https://developers-pulse.coolset.com/api/documents/{id}/confirm_upload/ \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Step 4: Download Evidence Package

Package all evidence for regulatory submission or audit:

curl -X POST https://developers-pulse.coolset.com/api/compliance/risk-assessments/101/evidence-downloads/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  --output ppwr-evidence-package.zip

Optional: Invite Suppliers onto the Platform

If you want suppliers to contribute their own data, create a Value Chain with type: "supplier" and set send_information_request: true to trigger an invitation email:

curl -X POST https://developers-scranton.coolset.com/api/value-chains/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "company_name": "Acme Packaging GmbH",
    "type": "supplier",
    "country_code": "DE",
    "contact_name": "Jana Schmidt",
    "contact_email": "jana.schmidt@acme-packaging.de",
    "send_information_request": true
  }'

Once the supplier accepts and connects, their data becomes available in your assessments.

Request Information from Suppliers

You can also send information requests for specific orders — either individually or in bulk:

# Single information request
curl -X POST https://developers-scranton.coolset.com/api/information-requests/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "order_id": 1001,
    "value_chain_id": 55
  }'

# Bulk information requests (up to 100)
curl -X POST https://developers-scranton.coolset.com/api/information-requests/bulk/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "information_requests": [
      {"order_id": 1001, "value_chain_id": 55},
      {"order_id": 1002, "value_chain_id": 55},
      {"order_id": 1003, "value_chain_id": 62}
    ]
  }'

Key Concepts

Product Tags

TagUse
PPWRMarks the product as in scope for PPWR — used to filter which products get assessed
PACKAGINGMarks the product as a packaging component within a PPWR product

Assessment Types

TypeDescription
ppwr_packaging_assessmentAssess a single packaging product for PPWR compliance

Aggregate assessments run automatically after individual assessments complete.

Risk Levels

LevelAction Required
LowAcceptable — download evidence package
MediumAdditional checks may be required
HighEnhanced due diligence — gather evidence and re-assess

Compliance Checklist

  • PPWR-scoped products tagged with PPWR
  • Packaging components tagged with PACKAGING
  • Individual packaging assessments run for all in-scope products
  • Supporting documents (material certs, declarations) uploaded
  • Evidence package downloaded and archived
  • Non-compliant products flagged for remediation

API Endpoints Used

  • PATCH /products/{id}/Supply Chain API — tag products as PPWR / PACKAGING
  • POST /compliance/risk-assessments/Compliance API — run packaging assessments
  • POST /documents/Data API — upload evidence
  • POST /documents/{id}/confirm_upload/Data API — confirm upload
  • POST /compliance/risk-assessments/{id}/evidence-downloads/Compliance API — download evidence package
  • POST /value-chains/Supply Chain API — invite suppliers
  • POST /information-requests/Supply Chain API — request supplier data for an order
  • POST /information-requests/bulk/Supply Chain API — bulk information requests

Next Steps