Read a passport

Each passport has a slug, the last part of its address. In https://polarpass.eu/p/your-passport-slug the slug is your-passport-slug. Use it with these endpoints, all read with GET:

EndpointWhat you get
/api/public/passports/{slug}The current published version as JSON, with its version history and product status.
/api/public/passports/{slug}/versions/{version}One published version as JSON, exactly as it was published.
/api/public/passports/{slug}/jsonldThe current version as JSON-LD.
/api/public/passports/{slug}/versions/{version}/jsonldOne version as JSON-LD. A numbered version never changes.
/api/public/gs1/01/{gtin}Sends a GS1 Digital Link on to its passport page.
/api/public/qr/{slug}/scanSends a passport QR code on to its passport page.
curl https://api.polarpass.eu/api/public/passports/your-passport-slug

The full description is an OpenAPI 3.1 document at https://api.polarpass.eu/api/public/openapi.json. You can load it into Postman, Insomnia or a code generator.

  • Reads are limited to 300 a minute for each IP address, and QR and GS1 redirects to 60. An answer with status 429 says in Retry-After when to try again.
  • JSON-LD answers carry an ETag. Send it back in If-None-Match and you get 304 Not Modified while nothing has changed.
  • The current version may be reused for a minute. Numbered versions never change, so you can keep them.
  • Unpublished passports and unknown slugs return 404.
  • Any website can read the JSON-LD and the API description from the browser.

Linked data (JSON-LD)

The JSON-LD describes the product as a schema.org Product, with GS1 terms for the GTIN and Polarpass terms for passport details that schema.org does not cover, such as material shares, responsible operators, production steps, repair and recycling. The Polarpass terms are listed in the passport vocabulary.

You can also ask the passport address itself. Browsers get the web page as usual, and a request that prefers JSON-LD or JSON gets the data:

curl -H "Accept: application/ld+json" https://polarpass.eu/p/your-passport-slug

Every passport page links to its data with <link rel="alternate" type="application/ld+json">. Add ?lang=nl, de or fr to read a translation when the passport has one.

GS1 Digital Link

A passport QR code can carry a GS1 Digital Link with the product's GTIN, plus a batch or serial number for narrower passports:

https://api.polarpass.eu/api/public/gs1/01/09506000134352
https://api.polarpass.eu/api/public/gs1/01/09506000134352/10/LOT42

Polarpass sends a registered link on to its published passport. The JSON-LD also gives the canonical form on id.gs1.org. Polarpass checks the syntax and the check digit. It does not issue GTINs and is not a GS1-certified resolver. Build a link with the free GS1 Digital Link builder.

Show a passport in your webshop

Open a published passport in the dashboard and choose Webshop. You get a snippet like this one for Shopify, WooCommerce or any shop that accepts HTML:

<div data-dpp-passport="your-passport-slug"><a href="https://polarpass.eu/p/your-passport-slug">View the product passport</a></div>
<script src="https://polarpass.eu/embed.js" async></script>

The script turns the link into a small passport card. Shops that remove scripts still show the link.

Spreadsheets (CSV)

In the dashboard, Settings, Data and integrations lets owners and admins download every passport as a CSV file, then create new passports or update existing ones from a spreadsheet. Shopify and WooCommerce product exports work as they are. Rows are matched by passport identifier, GTIN or SKU, you see every change before anything is saved, and changes are saved as drafts. Publishing still goes through the usual review.

Take your passports with you

In the same place, owners and admins can download their published passports as a website: a ZIP with one plain web page per passport, its JSON-LD, its public images and documents, an index page and a README. The pages use no JavaScript and load nothing from Polarpass, so any static host can serve them.

A printed QR code opens the address it carries. QR codes made in Polarpass carry a Polarpass address, so they cannot be pointed at your own copy. They keep working while the passport is published and Polarpass operates the service. Only QR codes that carry an address on your own domain can be moved.

This page describes what Polarpass does. Whether your passports are enough for a particular law depends on your products and the rules that apply to them.