Organization – A real-world entity that owns resources in the system Service Account – A system/service identity that manages an organization’s resources User – A real user who can belong to an organization and manage its resources
| Operation | Endpoint | Description |
|---|---|---|
| Create Organization(s) | POST /organizations | Creates an Organization |
| Create Service Account(s) | POST /service-accounts | Creates Service Accounts for the organizations |
| Invite Users | POST /organization-invitations | Creates an Invitation for a user to join an organization |
Configured by organization members:
{
"branding": {
"logo": "<organization logo - for the DPP page>",
"primaryColor": "<Primary color of the DPP page>",
"secondaryColor": "<Secondary color of the DPP page>",
"slogan": "<Solgan, appears on the DPP header>"
}
}
Configured only by Super Admins:
{
"dppPage": "<https://vera-dpp.spherity.io>", // custom domain for the DPP page
"identifierDefinitions": [], // product identifiers expected to be filled for a given DPP
"did": {
"method": "did:web", // DID method ID for the DIDs created by this organiuation
"domain": "<http://did.vera-api.spherity.io>" // hostname for the DID - applicable to did:web only
},
"branding": {
"poweredBy": "<spherity logo>", // Powered by logo on the DPP page (defaults to the spherity logo)
"showPoweredBy": true, // wether or not to show the powered by logo on the spherity page
"theme": "default" // dpp page theme
}
}
Templates – Define the DPP Credential data model (JSON Schema) Profiles – Combine credential templates and specify the display configuration for the DPP page
→ Templates and profiles must be published before they can be used to create DPPs or issue credentials.
| Operation | Endpoint | Description |
|---|---|---|
| Create Template(s) | POST /templates | Creates Templates |
| Create Profile | POST /profiles | Creates Profiles |
| Publish Template | PUT /templates/:id/publish | Publishes a Template |
| Publish Profile | PUT /profiles/:id/publish | Publishes a Profile |
Product Passports – Represent DPPs containing product identifiers and data (credentials)
DIDs - Used as the public dppId - https://www.w3.org/TR/did-1.1/
Credentials – Contain the DPP’s signed data claims - https://www.w3.org/TR/vc-data-model-2.0/
Product Passport Amendments - represent a change to the DPP Data and the state of that change (PENDING, IN_PROGRESS, COMPLETED, FAILED)
| Operation | Endpoint | Description |
|---|---|---|
| Create Product Passport | POST /product-passports | Creates Product Passports |
| Add Data to Product Passport | PUT /product-passports/:id/data | Append more data to the DPP by issuing a new credential |
POST /product-passports?organizationId=:organizationId
{
"display": { // DPP Page display config
"title": "Lithium-Ion Battery Pack", // DPP Page Title
"description": "High-capacity rechargeable battery for electric vehicles", // DPP Page Description
"subtitle": "EV Series 5000", // DPP Page Subtitle
"imageUrl": "<https://example.com/images/battery-pack-ev5000.jpg>" // DPP Page header Image
},
"identifiers": [ // Product identifiers, can be used to find DPPs on VERA Studio
{
"type": "partNumber",
"value": "BP-EV5000-LI-001"
},
{
"type": "binNumber",
"value": "BIN-2024-A7B3C9"
}
],
"masterDataId": "01JEPY8K9M6N2P3Q4R5S6T7U8V", // ID of the master data instance for this DPP - contains static DPP data
"payload": [
{
"templateId": "01JEPY8K9M6N2P3Q4R5S6T7U8W", // ID of the template to be validated against
"data": { // Data
"manufacturer": "PowerTech Industries",
"chemistry": "Lithium-Ion NMC",
"nominalVoltage": "400V",
"capacity": "75kWh",
"weight": "450kg",
"dimensions": {
"length": "1200mm",
"width": "800mm",
"height": "150mm"
},
"cycleLife": "3000 cycles",
"warrantyYears": 8,
"manufacturingDate": "2024-11-15",
"sustainabilityScore": "A+",
"recycledContent": "35%"
}
}
],
"createDidParams": { // Alias for the Product Passport DID - format: did:web:<hostname>:did-registry:<alias> - the hostname default to the API URL, but can be configured
"alias": "bin-2024-a7b3c9"
},
"assignSecurityGroups": [ // Security Groups for the Product Passport Data Access Control
"01JEPY8K9M6N2P3Q4R5S6T7U8X"
]
}