TES Quickstart: Track Your First Product in 5 Minutes

Getting started with TES quickstart takes less than ten minutes using the TES SDK. The Thing Event System (TES), built by Pentatonic, provides the event-sourced infrastructure to make this practical at any scale — one API, one data model, compliance data as a byproduct.

According to Gartner, by 2028, 33% of enterprise software applications will include agentic AI, up from less than 1% in 2024.

2026-03-30

A circular economy decouples economic activity from the consumption of finite resources. It is a resilient system that is good for business, people, and the environment.

Ellen MacArthur Foundation

Install TES

TES is available as an npm package. Add it to your project:

npm install @pentatonic/tes

Or with Yarn / pnpm:

yarn add @pentatonic/tes
pnpm add @pentatonic/tes

Set your API key:

export TES_API_KEY=your_api_key_here

Initialize the client:

import { TES } from "@pentatonic/tes";

const tes = new TES({ apiKey: process.env.TES_API_KEY });

// Verify the connection
const status = await tes.ping();
console.log(status); // { ok: true, version: "2.x" }

Getting Started

Step 1: Install the SDK

Add @pentatonic/tes to your project and set your API key. The SDK works in Node.js 18+, edge runtimes, and the browser.

npm install @pentatonic/tes

Step 2: Connect your first product

Create a Thing for any physical product in your catalog. You can start with one SKU and expand from there.

import { TES } from "@pentatonic/tes";

const tes = new TES({ apiKey: process.env.TES_API_KEY });

const thing = await tes.things.create({
  sku: "CHAIR-OAK-001",
  metadata: { category: "furniture", material: "oak" }
});

console.log(`Tracking ${thing.sku} with ID ${thing.id}`);

Step 3: Track your first product event

Emit a sold event when the product ships. From here, every return, resale, and recycling event is a one-line call.

await tes.events.emit({
  thingId: thing.id,
  type: "sold",
  actor: "shopify:order_1001",
  payload: { channel: "online", destination: "DE" }
});

console.log("First event tracked. Lifecycle has begun.");

According to European Commission, ESPR Regulation 2024/1781, eU Digital Product Passport requirements take effect for batteries in 2027, textiles and electronics by 2030 under the ESPR regulation.

Next Steps

TES is available now. The fastest path forward:

  1. Install: npm install @pentatonic/tes

  2. Get an API key: Book a Demo — Pentatonic will provision your account and walk through your integration.

  3. Track your first product: Three function calls. Under ten minutes.

Full API reference and docs at thingeventsystem.ai.

Why TES Instead of Building It Yourself

TES is not a generic event bus. It is purpose-built for physical product lifecycle tracking, which means the hard parts are already solved:

Concern

Custom build

TES

Data model

Design and version your own event schema

Battle-tested Thing + ThingEvent model, stable versioning

API surface

Design, build, auth, document, maintain

Single REST + SDK API, OpenAPI spec included

Compliance outputs

Write formatters per regulation, update when specs change

EU DPP, EPR reports generated from event log automatically

Audit trail

Append-only log requires careful schema discipline

Enforced by design — the log is immutable

Build vs. buy decision

6-12 months to build equivalent infrastructure

10 minutes to first tracked product

Integrations

Build per-platform connectors

Shopify, Salesforce, SAP connectors included

The single-API design is a deliberate choice. Every system that touches a physical product — returns portal, warehouse WMS, resale storefront, compliance reporting — uses the same TES endpoint. No fan-out integration problem.

FREQUENTLY ASKED QUESTIONS

How long does it take to go from zero to tracking my first product?

About ten minutes: install the npm package, set your API key, call tes.things.create(), emit your first sold event. That is three function calls.

Does TES work in serverless and edge environments?

Yes. The @pentatonic/tes SDK has no Node.js-specific dependencies and runs in V8 isolates (Cloudflare Workers, Vercel Edge Functions) and standard serverless runtimes.

What npm package do I use to integrate with TES?

Install @pentatonic/tes from npm: npm install @pentatonic/tes. Initialize with your API key and start emitting product lifecycle events immediately.

How do I comply with the EU Digital Product Passport using TES?

Emit a passport_issued event against any tracked product. TES assembles the EU DPP from the product's event history and returns a hosted passport URL. No separate compliance pipeline is needed — compliance data is a byproduct of tracking operations you should already be running.

What data model does TES use for product lifecycle tracking?

TES uses an event-sourced model. A Thing represents a physical object identified by a stable UUID. ThingEvents record state changes — manufacture, sale, return, grade, resale, recycle. Current state is derived by replaying the event log, which means the full history is always queryable and nothing is ever overwritten.

Ready to close the loop?

See how Pentatonic turns your post-sale products into revenue.

Book a Demo