Skip to main content

API access requires a Pro plan or higher.

See Plans

Authentication

Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Endpoints

GET /api/products

List all your products with pagination.

Response

{
  "products": [
    {
      "id": "abc123",
      "name": "EcoCharge Pro 5000",
      "sector": "batteries",
      "gtin": "4006381333931",
      "created_at": "2026-01-15T10:30:00Z"
    }
  ],
  "total": 1,
  "page": 1
}

POST /api/products

Create a new product and auto-generate its passport.

Request Body

{
  "name": "EcoCharge Pro 5000",
  "sector": "batteries",
  "manufacturer_name": "GreenTech GmbH",
  "gtin": "4006381333931",
  "carbon_footprint": 12.5,
  "recycled_content": 65,
  "energy_class": "A+"
}

GET /api/passport?slug={slug}&format=json

Get passport data in JSON format (public, no auth required).

GET /api/qrcode?slug={slug}&size=300

Generate a QR code for a passport (public, no auth required).

Returns a PNG image.

GET /api/export?slug={slug}&format={json|csv}

Export passport data in various formats.

Rate Limits

PlanRequests / Hour
Free10
Pro / Business100

Error Codes

CodeMeaning
400Bad Request
401Unauthorized — invalid or missing API key
403Forbidden — plan does not include API access
404Not Found
429Rate Limit Exceeded
500Internal Server Error