Compliance & DPP

The Compliance API provides access to Digital Product Passport (DPP) data required under EU regulations, including sustainability metrics and lifecycle information.


GET/compliance/dpp/stats

DPP stats

Returns aggregate DPP coverage statistics for the catalog (total products, DPP fill rate, certifications distribution).

Request

GET
/compliance/dpp/stats
curl https://api.pixeepim.com/api/v1/compliance/dpp/stats \
  -H "Authorization: Bearer {api_key}"

Response

{
  "total_products": 12450,
  "with_dpp": 3820,
  "fill_rate_pct": 30.7,
  "certifications": {
    "CE": 2100,
    "RoHS": 1750,
    "Energy Star": 640
  }
}

GET/compliance/dpp/products

List DPP products

Returns a paginated list of products with their DPP status.

Query parameters

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    per_page
    Type
    integer
    Description

    Items per page (default: 50).

  • Name
    search
    Type
    string
    Description

    Filter by product title or EAN.

  • Name
    dpp_status
    Type
    string
    Description

    Filter by DPP status: draft, complete, published.

  • Name
    has_dpp
    Type
    boolean
    Description

    true to return only products with a DPP record; false for those without.

Request

GET
/compliance/dpp/products
curl "https://api.pixeepim.com/api/v1/compliance/dpp/products?has_dpp=true&page=1&per_page=50" \
  -H "Authorization: Bearer {api_key}"

Response

{
  "items": [
    {
      "product_id": "550e8400-e29b-41d4-a716-446655440000",
      "title": "Produit exemple",
      "ean": "3760000000001",
      "dpp_status": "complete",
      "updated_at": "2026-03-10T14:22:00Z"
    }
  ],
  "total": 3820,
  "page": 1,
  "per_page": 50
}

GET/compliance/dpp/{product_id}

Get DPP for a product

Returns the Digital Product Passport data for a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID (e.g. 550e8400-e29b-41d4-a716-446655440000).

Request

GET
/compliance/dpp/{product_id}
curl https://api.pixeepim.com/api/v1/compliance/dpp/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "ean": "3760000000001",
  "dpp_id": "550e8400-e29b-41d4-a716-000000000020",
  "product_name": "Produit exemple",
  "manufacturer": "Ma Marque",
  "country_of_origin": "FR",
  "materials": [
    {"name": "Acier inoxydable", "percentage": 80},
    {"name": "Plastique recyclé", "percentage": 20}
  ],
  "carbon_footprint_kg": 2.5,
  "recyclability_score": "A",
  "certifications": ["CE", "RoHS"],
  "end_of_life_instructions": "Recyclable via collecte sélective.",
  "updated_at": "2026-03-01T00:00:00Z"
}

PATCH/compliance/dpp/{product_id}

Update DPP data

Updates the Digital Product Passport data for a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID (e.g. 550e8400-e29b-41d4-a716-446655440000).

Body parameters

  • Name
    materials
    Type
    array
    Description

    List of materials with name and percentage.

  • Name
    carbon_footprint_kg
    Type
    number
    Description

    Carbon footprint in kg CO₂ equivalent.

  • Name
    certifications
    Type
    array
    Description

    List of certification codes (e.g. CE, RoHS).

  • Name
    end_of_life_instructions
    Type
    string
    Description

    Recycling and disposal instructions.

Request

PATCH
/compliance/dpp/{product_id}
curl -X PATCH https://api.pixeepim.com/api/v1/compliance/dpp/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "carbon_footprint_kg": 2.1,
    "certifications": ["CE", "RoHS", "Energy Star"]
  }'

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "carbon_footprint_kg": 2.1,
  "certifications": ["CE", "RoHS", "Energy Star"],
  "updated_at": "2026-03-15T10:00:00Z"
}

POST/compliance/dpp/{product_id}/generate

Generate DPP (AI)

Triggers AI generation of a DPP draft for the product. The AI analyses existing product data (description, specifications, documents) and prefills DPP fields. The result is saved as a draft — review and update before publishing.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

POST
/compliance/dpp/{product_id}/generate
curl -X POST https://api.pixeepim.com/api/v1/compliance/dpp/550e8400-e29b-41d4-a716-446655440000/generate \
  -H "Authorization: Bearer {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "draft",
  "generated_at": "2026-03-15T10:05:00Z",
  "fields_filled": ["materials", "carbon_footprint_kg", "certifications"]
}

GET/compliance/dpp/{product_id}/export

Export DPP (JSON-LD)

Returns the DPP as a JSON-LD document conforming to the EU Digital Product Passport schema, suitable for submission to regulatory registries.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

GET
/compliance/dpp/{product_id}/export
curl https://api.pixeepim.com/api/v1/compliance/dpp/550e8400-e29b-41d4-a716-446655440000/export \
  -H "Authorization: Bearer {api_key}"

Response

{
  "@context": "https://gs1.org/dpp/1.0",
  "@type": "ProductPassport",
  "productId": "550e8400-e29b-41d4-a716-446655440000",
  "gtin": "03760000000001",
  "manufacturer": "Ma Marque",
  "carbonFootprint": 2.1,
  "certifications": ["CE", "RoHS", "Energy Star"]
}

GET/compliance/dpp/{product_id}/qr

Get QR code

Returns a PNG QR code that links to the product's public DPP page. The QR code complies with the EU DPP data carrier requirement.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

GET
/compliance/dpp/{product_id}/qr
curl https://api.pixeepim.com/api/v1/compliance/dpp/550e8400-e29b-41d4-a716-446655440000/qr \
  -H "Authorization: Bearer {api_key}" \
  -o dpp-qr.png

Returns a image/png binary response.


GET/compliance/products/{product_id}/environmental

Environmental data

Returns the product's environmental and regulatory compliance data: REACH, RoHS, CE marking, WEEE category, energy class, and hazardous substance declarations.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

GET
/compliance/products/{product_id}/environmental
curl https://api.pixeepim.com/api/v1/compliance/products/550e8400-e29b-41d4-a716-446655440000/environmental \
  -H "Authorization: Bearer {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "reach_compliant": true,
  "rohs_compliant": true,
  "ce_marked": true,
  "weee_category": "IT equipment",
  "energy_class": "A+",
  "carbon_footprint_kg": 2.1,
  "recyclable": true
}

PATCH/compliance/products/{product_id}/environmental

Update environmental data

Updates the product's environmental compliance fields.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Body parameters

  • Name
    reach_compliant
    Type
    boolean
    Description

    REACH regulation compliance status.

  • Name
    rohs_compliant
    Type
    boolean
    Description

    RoHS directive compliance status.

  • Name
    ce_marked
    Type
    boolean
    Description

    CE marking status.

  • Name
    weee_category
    Type
    string
    Description

    WEEE classification category.

  • Name
    energy_class
    Type
    string
    Description

    Energy efficiency class (e.g. A+, B).

Request

PATCH
/compliance/products/{product_id}/environmental
curl -X PATCH https://api.pixeepim.com/api/v1/compliance/products/550e8400-e29b-41d4-a716-446655440000/environmental \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "reach_compliant": true,
    "rohs_compliant": true,
    "energy_class": "A+"
  }'

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "reach_compliant": true,
  "rohs_compliant": true,
  "energy_class": "A+",
  "updated_at": "2026-03-15T10:00:00Z"
}

POST/compliance/batch/extract

Batch extract from documents

Triggers AI extraction of compliance data (CE, REACH, RoHS, energy labels) from all indexed documents for a list of products. Processing runs asynchronously via Celery — poll the individual product's extraction results to check progress.

Body parameters

  • Name
    product_ids
    Type
    array
    Description

    List of product UUIDs to process. Maximum 500 per request.

  • Name
    provider
    Type
    string
    Description

    Optional AI provider override (e.g. openai, anthropic). Defaults to the compliance assignment in AI Services.

Request

POST
/compliance/batch/extract
curl -X POST https://api.pixeepim.com/api/v1/compliance/batch/extract \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": [
      "550e8400-e29b-41d4-a716-446655440000",
      "550e8400-e29b-41d4-a716-446655440001"
    ]
  }'

Response

{
  "task_id": "celery-task-uuid-here",
  "queued": 2,
  "status": "queued",
  "message": "Extraction queued for 2 products. Poll /extraction-results per product for progress."
}

POST/compliance/products/{product_id}/extract-from-docs

Extract from all documents

Triggers AI extraction of compliance data from all documents indexed for a single product. Useful after uploading new certificates or datasheets via Document Intelligence.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

POST
/compliance/products/{product_id}/extract-from-docs
curl -X POST https://api.pixeepim.com/api/v1/compliance/products/550e8400-e29b-41d4-a716-446655440000/extract-from-docs \
  -H "Authorization: Bearer {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "queued",
  "documents_found": 3
}

POST/compliance/products/{product_id}/extract-from-document/{asset_id}

Extract from a single document

Triggers AI extraction of compliance data from a specific document asset. Use when you want to process one certificate without re-analysing the entire document set.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

  • Name
    asset_id
    Type
    string
    Description

    The document asset UUID (from the Asset Library or Document Intelligence).

Request

POST
/compliance/products/{product_id}/extract-from-document/{asset_id}
curl -X POST https://api.pixeepim.com/api/v1/compliance/products/550e8400-e29b-41d4-a716-446655440000/extract-from-document/7a3b9c00-1234-5678-abcd-000000000001 \
  -H "Authorization: Bearer {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "asset_id": "7a3b9c00-1234-5678-abcd-000000000001",
  "status": "queued"
}

GET/compliance/products/{product_id}/extraction-results

Get extraction results

Returns the compliance extraction results for a product, including which fields were extracted from which documents and the confidence scores.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

GET
/compliance/products/{product_id}/extraction-results
curl https://api.pixeepim.com/api/v1/compliance/products/550e8400-e29b-41d4-a716-446655440000/extraction-results \
  -H "Authorization: Bearer {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "extractions": [
    {
      "asset_id": "7a3b9c00-1234-5678-abcd-000000000001",
      "document_name": "CE_Declaration.pdf",
      "status": "completed",
      "extracted_at": "2026-03-15T10:10:00Z",
      "fields": {
        "ce_marked": true,
        "rohs_compliant": true,
        "certifications": ["CE", "RoHS"]
      },
      "confidence": 0.94
    }
  ]
}

Was this page helpful?