CirculeID

Developers

Passports, events and credentials — over HTTP

Issue a passport, append an EPCIS 2.0 event, or verify a supplier's credential from the systems you already run. Open standards on the wire, so nothing you build here is captive.

Identity
GS1 Digital Link
Events
EPCIS 2.0
Claims
W3C VC 2.0

Definition

How do you issue a Digital Product Passport through an API?

Create a passport resource against a GS1 identifier, attach the product record, append EPCIS 2.0 events as the item moves, and issue W3C Verifiable Credentials for claims that must be provable. Reading resolves the identifier and returns the view the caller's credentials entitle them to.

The wire format is not ours. Identity follows GS1 Digital Link, events follow EPCIS 2.0, and claims follow W3C Verifiable Credentials 2.0.

Quickstart

Issue a passport in one request

Post a product record against a GS1 identifier. The response carries the resolvable Digital Link and the data carrier payload you print or encode.
POST /v1/passports
curl https://api.circuleid.com/v1/passports \
  -H "Authorization: Bearer $CIRCULEID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "gtin": "09506000134352",
    "productGroup": "textiles",
    "record": {
      "name": "Merino Crew Knit",
      "materials": [
        { "name": "merino wool", "share": 0.82, "certification": "RWS" },
        { "name": "recycled polyamide", "share": 0.18 }
      ],
      "carbonFootprint": { "value": 14.2, "unit": "kgCO2e", "method": "ISO 14067" }
    }
  }'

Illustrative request shape. See the API reference for the authoritative schema and error contract.

Integration path

From API key to a resolvable passport

Four steps. Most of the effort is in step one, and it is mapping rather than building.
  1. 01

    Authenticate

    Create a scoped API key. Keys are scoped per environment and per capability, so an issuing service never holds read access to commercial data.

  2. 02

    Map the product record

    Post your existing product master against its GS1 identifier. The API reports which fields the product group still requires under its delegated act.

  3. 03

    Append events and credentials

    Write EPCIS 2.0 events as the item moves, and issue Verifiable Credentials for claims that must survive independent scrutiny.

  4. 04

    Resolve and subscribe

    The Digital Link identifier resolves to the caller-appropriate view. Webhooks notify your systems when a passport, event or credential changes.

Answers

Frequently asked questions

What does the CirculeID API actually issue?

A passport resource with a GS1 Digital Link identifier, a set of EPCIS 2.0 events attached to it, and W3C Verifiable Credentials carrying the claims that need to be provable. Reading a passport resolves the identifier and returns the view the caller is entitled to, which depends on the credentials presented.

Do we have to migrate our product data into CirculeID?

No. CirculeID sits above your ERP, PLM and carbon accounting systems rather than replacing them. Data flows in through the REST API and webhooks, and the passport becomes a view over systems you already run. Most integrations start by mapping an existing product master rather than by importing one.

How is passport data authenticated between systems?

Machine-to-machine access uses scoped API keys. Claims within a passport are signed as W3C Verifiable Credentials by the issuing party, using a Decentralized Identifier that resolves independently of CirculeID — so a downstream system can verify a supplier claim without calling us at all.

What happens to our passports if we stop using CirculeID?

Passports are expressed in published standards, so the record remains meaningful outside our platform. Identifiers follow GS1 Digital Link, events follow EPCIS 2.0, credentials follow W3C Verifiable Credentials 2.0, and the field model follows CIRPASS. Export gives you the same documents another conforming resolver can serve.

Next step

Build against the passport, not against a vendor

Get an API key, issue a passport against one of your own GTINs, and see what resolves.

Index