Documentation/API Access/API Endpoints Reference
Reference§09.02SectionAPI AccessReg. ref.REST API v1Last reviewed2026-04

§09.02 · API ACCESS

API Endpoints Reference.

Complete reference for all v1 API endpoints with example requests and responses.

Overview

All endpoints are under https://eudigitalpassportprocessor.com/api/v1. Authentication: Authorization: Bearer dpp_live_... on every request.

All responses use a consistent envelope:

Response envelope
{ "data": { ... } }                          # single resource
{ "data": [...], "pagination": { ... } }     # list
{ "error": "message" }                       # error

Organisation

GET /api/v1/org

Returns your organisation summary including quota usage.

Passports

GET /api/v1/passports

Returns a paginated list of passports. Query parameters: page, per_page (max 100), status (draft/complete/active/revoked), category (BATTERY_EV/BATTERY_INDUSTRIAL).

GET /api/v1/passports/:id

Returns a full passport including Annex XIII data, supply chain actors, and document metadata.

POST /api/v1/passports

Creates a new passport. Required fields: passport_number, product_name, category_code (BATTERY_EV or BATTERY_INDUSTRIAL). Optional: passport_level (model/batch/item), data (Annex XIII fields).

PATCH /api/v1/passports/:id

Updates data (Annex XIII fields), product_name, or passport_level. The data object is merged — only send the fields you want to change.

POST /api/v1/passports/:id/activate

Activates a passport. Returns the updated passport with status: "active" and public_url.

GET /api/v1/passports/:id/registry-status

Returns EU registry submission state including status, submission ID, and any error details.

Error codes

CodeMeaning
401Invalid, expired, or missing API key
403Access not permitted — demo account, or insufficient role permissions
404Resource not found or belongs to another organisation
409Conflict — passport number already exists
422Validation error — required fields missing
429Passport quota reached
500Internal server error
REL Related entries