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"