Skip to main content

Developers

API Playground

Example requests for the public endpoints of the Norruva DPP API. Set NORRUVA_BASE_URL to your tenant and run them from your terminal.

QuickstartFull API referenceGet an API key

Get Passport (Public)

GET/api/v2/public/passport/{passportId}

Fetch a published DPP by ID. No authentication required.

passportId (required)
Passport ID
curl -X GET "$NORRUVA_BASE_URL/api/v2/public/passport/{passportId}"

OpenAPI Specification

GET/api/v2/public/openapi.json

Retrieve the full OpenAPI 3.1 spec for all v2 endpoints.

curl -X GET "$NORRUVA_BASE_URL/api/v2/public/openapi.json"

NRPF Schema Catalogue

GET/api/v2/public/schema

List all available NRPF JSON Schema versions.

curl -X GET "$NORRUVA_BASE_URL/api/v2/public/schema"

Fetch NRPF Schema

GET/api/v2/public/schema/{schemaId}

Download a specific NRPF schema by its identifier.

schemaId (required)
Schema ID
curl -X GET "$NORRUVA_BASE_URL/api/v2/public/schema/{schemaId}"

Verify Passport Trust

GET/api/v2/public/passport/{passportId}/verify

Compute the trust score and verification status for a published passport.

passportId (required)
Passport ID
curl -X GET "$NORRUVA_BASE_URL/api/v2/public/passport/{passportId}/verify"

Run Compliance Validation

POST/api/v2/compliance/validateAPI key

Fail-closed compliance validation for a product. Requires an API key. Battery-category products currently return 503 while the obligation pack is quarantined. Start with an electronics product.

apiKey (required)
Your API key, sent as the Authorization: Bearer header.
body (required)
Request Body (JSON)
curl -X POST "$NORRUVA_BASE_URL/api/v2/compliance/validate" \
  -H "Authorization: Bearer $NORRUVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "productId": "550e8400-e29b-41d4-a716-446655440000"
}'

EN 18222 · ReadDPPById

GET/api/v1/dpps/{dppId}API key

EN 18222:2026 Table 16 ReadDPPById. Return a DPP by its known DPP identifier. Requires an API key with dpp:read.

dppId (required)
DPP ID
apiKey (required)
Your API key, sent as the Authorization: Bearer header.
curl -X GET "$NORRUVA_BASE_URL/api/v1/dpps/{dppId}" \
  -H "Authorization: Bearer $NORRUVA_API_KEY"

EN 18222 · ReadDPPByProductId

GET/api/v1/dppsByProductId/{productId}API key

EN 18222:2026 Table 16 ReadDPPByProductId. Resolve the current active DPP by product identifier (EN 18219). Requires an API key with dpp:read.

productId (required)
Product ID
apiKey (required)
Your API key, sent as the Authorization: Bearer header.
curl -X GET "$NORRUVA_BASE_URL/api/v1/dppsByProductId/{productId}" \
  -H "Authorization: Bearer $NORRUVA_API_KEY"

EN 18222 · ReadDPPVersionByIdAndDate

GET/api/v1/dppsByIdAndDate/{dppId}API key

EN 18222:2026 Table 16 ReadDPPVersionByIdAndDate. Return the DPP version valid at a given UTC-based ISO 8601-1 timestamp. Requires an API key with dpp:read.

dppId (required)
DPP ID
date (required)
Date (ISO 8601-1, UTC-based)
apiKey (required)
Your API key, sent as the Authorization: Bearer header.
curl -X GET "$NORRUVA_BASE_URL/api/v1/dppsByIdAndDate/{dppId}" \
  -H "Authorization: Bearer $NORRUVA_API_KEY"

EN 18222 · ReadDataElement

GET/api/v1/dpps/{dppId}/elements/{elementIdPath}API key

EN 18222:2026 Table 18 ReadDataElement. Return a single data element by its absolute RFC 9535 JSONPath. Requires an API key with dpp:read.

dppId (required)
DPP ID
elementIdPath (required)
Element path (RFC 9535 JSONPath, `/`-separated segments)
apiKey (required)
Your API key, sent as the Authorization: Bearer header.
curl -X GET "$NORRUVA_BASE_URL/api/v1/dpps/{dppId}/elements/{elementIdPath}" \
  -H "Authorization: Bearer $NORRUVA_API_KEY"