Skip to main content
    Skip to content
    NorruvaDeveloper Docs
    Sandbox · verified 2026-07-29
    This page
    Whole docs
    Machine formats

    PlaygroundGet API keys
    IntroductionQuickstartAuthenticationErrors & conventionsSandbox & environments
    Entity modelProducts & categoriesPassports & versionsDigital Link & resolutionCompliance & regulationsWebhooks & eventsAutoID print loopImport jobsObservability & audit
    OverviewAuth & API keysProductsCompliance & regulationsPassportsResolver & publicWebhooksPrint jobs & devicesImport / bulkObservabilityBeyond happy path
    Integration playbookWebhook receiver guideRun a print deviceDeviations & gotchas
    EN 18222 API methodsAnnex ZA — ESPR correspondence
    Docs/Concepts/Entity model

    Entity model

    Everything in the API is tenant-scoped and organised around one spine: a Product generates a Passport, which is published, registered as a resolvable Digital Link, and observed through events. These are the objects you will name in requests.

    Core entity spine
    Tenant boundary
    Every entity below is owned by, and isolated within, one tenant. Cross-tenant access fails closed (404).
    API keysOAuth clientsWebhookssandbox / live
    Product
    Commercial item · GTIN + serial + category + extensions
    Passport (DPP)
    Versioned disclosure artifact generated from a product
    Digital Link
    GS1 01/21 identifier that resolves to the passport
    Compliance
    Version-pinned evaluation → verdict / findings
    Webhook + Event
    Subscriptions and signed, retried deliveries
    Audit log
    Security-relevant actions, correlation-linked

    The entities at a glance

    EntityWhat it isKey identifiers
    TenantThe security & billing boundary; sandbox or live.isSandbox, sandboxExpiresAt
    API KeyScoped credential minted by an admin; rotatable, revocable.id, keyPrefix, scopes
    OAuth ClientMachine-to-machine identity exchanged for a tenant-bound token.client_id
    ProductTenant-owned commercial item — not automatically a passport.id, gtin, serialNumber, category
    Category / SchemaDefines the effective extensions schema a product must satisfy.category, effective_from
    RegulationVersioned rule pack selected per product context.CELEX id + semver
    Passport (DPP)Versioned, publishable disclosure artifact; immutable per version.passportUid, version no.
    Digital Link identifierGS1 01/21 registration mapping to a product.gtin, serialNumber
    Compliance evaluationVersion-pinned run of every applicable rule → score/status/findings.per-product, per-sector
    Webhook + Delivery + EventSubscription, signed delivery attempts, and the event catalogue.id, delivery id, type
    Import JobBulk ingest with row-isolated errors and a correction loop.jobId
    Audit Log / Domain EventSecurity-relevant actions and the product/passport event stream.requestId, type
    Passport CommandThe envelope for all post-publish lifecycle changes.type, idempotencyKey

    Each entity has its own concept page in this section, and a matching resource in the API Reference.

    Was this page helpful?
    Thanks — noted.Feedback goes to the docs team by email.
    ← PreviousSandbox & environmentsNext →Products & categories
    On this page
    The entities at a glance
    Norruva DPP API · sandbox developer docsGenerated 2026-07-29 · PRD-aligned (TSC roadmap rev 2) · statuses reflect E2E-verified sandbox behaviour — not marketing