/api/exports/tenantBulk JSON-LD tenant export
Returns every product, every passport (regardless of status), and every referenced category template the workspace owns, as one JSON-LD document. The shape mirrors the public passport viewer's per-passport JSON-LD emission, wrapped in a tenant envelope with metadata about the export run.
**Not API-key reachable.** Auth is dashboard JWT (admin role) + paying-customer gate — same trust level as deleting the company. The pragmatic flow is: open Settings → Data export in the dashboard and click "Export tenant". Programmatic access requires a session cookie issued by `/api/auth/login`.
Synchronous response with `Content-Disposition: attachment; filename="tracepass-tenant-export-<companyId>-<YYYY-MM-DD>.jsonld"`. Includes evidence-document URLs but not the document bytes themselves; fetch those separately if you need offline copies. No pagination — all-or-nothing.
Headers
- Cookierequired
string
Dashboard session cookie (`tp_session=...`) issued by `/api/auth/login`. Browsers attach it automatically when the export is initiated from the dashboard.
- Accept
string
`application/ld+json` (default) or `application/json`. Byte-equivalent — only the response Content-Type changes.
Request
# In practice: open Settings -> Data export in the dashboard.
# For curl, capture the session cookie after a login first:
curl -sS -L \
--cookie "tp_session=$TRACEPASS_SESSION_COOKIE" \
-H "Accept: application/ld+json" \
-o tenant-export.jsonld \
https://app.tracepass.eu/api/exports/tenantResponse
{
"@context": "https://app.tracepass.eu/schemas/tenant-export-v1.jsonld",
"@type": "TenantExport",
"exportedAt": "2026-05-09T12:00:00.000Z",
"company": { "_id": "...", "name": "Acme Batteries Ltd", "country": "DE" },
"counts": { "products": 12, "passports": 4327, "templates": 3 },
"products": [ { "...": "...one entry per product..." } ],
"passports": [ { "...": "...one entry per passport, with full fieldValues + parties..." } ],
"templates": [ { "id": "...", "category": "batteries", "version": "v3" } ]
}