Developer API Center

Back to Landing Page

TracePath API

Welcome to the TracePath Developer API documentation. The TracePath API is structured around REST principles. It allows brands and integration partners to programmatically retrieve published Digital Product Passports (DPPs) and linkable supplier data, enabling seamless synchronization with custom e-commerce channels (such as Shopify or WooCommerce) and ERP systems.

Authentication

TracePath API requests require a Bearer API token. You can generate, rotate, and manage your workspace API keys directly within the **API & Webhooks** tab of your Brand Dashboard.

Include your active API key as a Bearer token in the Authorization header of every request:

Authorization: Bearer tp_prod_live_xxxxxxxx

GET List All Passports

Retrieve a list of all Digital Product Passports associated with your workspace tenant account.

GET /api/v1/dpps/
Header Parameter Type Description
Authorization
Required
String
Your workspace API key prefix with Bearer .

GET Get Passport Details

Retrieve detailed payload attributes, snapshot details, and verification status for a specific Digital Product Passport by ID.

GET /api/v1/dpps/{dpp_id}/
Path Parameter Type Description
dpp_id
Required
UUID
The unique UUID identifier of the DPP record.

GET List Subscription Plans

Retrieve a list of all active pricing tiers and quotas configured on the TracePath platform. This is a public endpoint and does not require authentication.

GET /api/v1/plans/

Shopify Integration

TracePath supports automated product synchronization from Shopify. When a new product is added to your store, Shopify dispatches a webhook that instantiates a corresponding draft passport on TracePath.

Configure your Shopify webhook under Shopify Admin > Settings > Notifications > Webhooks:

POST /webhooks/shopify/{tenant_id}/

Select the Product creation event and set the Format to JSON.

WooCommerce Integration

Seamlessly sync WooCommerce listings to generate passports on publication. TracePath extracts attributes such as name, SKU, and media dynamically to build drafts.

Create your WooCommerce webhook under WooCommerce > Settings > Advanced > Webhooks:

POST /webhooks/woocommerce/{tenant_id}/

Set the Topic to Product created.

cURL Example (Auth)

curl -X GET https://app.tracepath.eu/api/v1/dpps/ \
  -H "Authorization: Bearer tp_prod_live_xxxxxx"

Python - Fetch Passports

import requests

url = "https://app.tracepath.eu/api/v1/dpps/"
headers = {
    "Authorization": "Bearer tp_prod_live_xxxxxx"
}

response = requests.get(url, headers=headers)
print(response.json())

Response Example (List)

{
  "count": 1,
  "dpps": [
    {
      "id": "e6f03d65-4f46-4c48-b4b1-8b093ad51065",
      "sku": "DPP-COTTON-TEE",
      "status": "PUBLISHED",
      "created_at": "2026-06-21T15:37:37Z",
      "payload": { ... }
    }
  ]
}

JavaScript - Fetch Detail

const dppId = "e6f03d65-4f46-4c48-b4b1-8b093ad51065";
fetch(`https://app.tracepath.eu/api/v1/dpps/${dppId}/`, {
  headers: {
    'Authorization': 'Bearer tp_prod_live_xxxxxx'
  }
})
.then(res => res.json())
.then(data => console.log(data));

Shopify Payload (products/create)

{
  "title": "Shopify Silk Dress",
  "body_html": "<p>Premium 100% organic silk dress.</p>",
  "variants": [
    {
      "sku": "SLK-DRS-09",
      "price": "249.00"
    }
  ],
  "images": [
    {
      "src": "https://example.com/dress.jpg"
    }
  ]
}

WooCommerce Payload (product.created)

{
  "name": "WooCommerce Organic Cap",
  "sku": "ORG-CAP-05",
  "description": "<p>100% recycled cotton cap.</p>",
  "images": [
    {
      "src": "https://example.com/cap.jpg"
    }
  ]
}

AI Translation: This page is translated for your convenience. The original version is in English.

POWERED BY