Create a DPP

Creating a DPP wallet can be done using the following endpoint:

POST: {{host}}/dpp?organizationId={{organizationId}}
DATA:
{
    "createWalletParams": { //DPP Wallet creation params
        "profileId": "<string - wallet profile UUID - should be a dpp profile>"",
        "name": "<string - display name of the dpp wallet>",
        "settings": {
            "displayConfig": {  // used to customize the display of the wallet in the UI
                "title": "{{$randomProduct}}",
                "description": "{{$randomLoremParagraph}}",
                "slogan": "{{$randomCatchPhraseDescriptor}}",
                "imageUrl": "{{$randomImageUrl}}",
                "logo": "{{$randomImageUrl}}",
                "primaryColor": "{{$randomHexColor}}",
                "secondaryColor": "{{$randomHexColor}}"
            }
        }
    },
    "createDPPCredentialsParams": [ // DPP Credentials issuance params
        {
            "templateId": "<string - wallet profile UUID>", // ID of the template of one credential
            "data": { // key value pairs of the attributes
                "<attribute_name>": "<value>",
                "<attribute_name>": "<value>",
                "<attribute_name>": "<value>"
            }
        },
        {
           "templateId": "<string - wallet profile UUID>", // ID of the template of one credential
            "data": {
                "<attribute_name>": "<value>",
                "<attribute_name>": "<value>",
                "<attribute_name>": "<value>"
            }
        }
    ]
}

Calling this endpoint will trigger the following actions:

  1. Create a wallet: a. Creating a wallet triggers the creation of a resolvable DID: b. The DPP wallet is created with a set of automation rules which are used to automatically accept and store credentials issued by the organization wallet
  2. Initiate an issuance exchange between the organization wallet (issuer) and the DPP wallet (holder and subject): a. The organization wallet issues the DPP credentials using the data provided in createDPPCredentialsParams in the create dpp request b. The credentials are stored in the DPP wallet

Resolving the DPP DID

The DID resolves to a DID document which contains the public keys of the DPP wallet as well as service endpoints:

  1. A LinkedDomains endpoint which resolves to the DPP UI, which is generated according the wallet's display configuration settgins.displayConfig and profile configuration (see profiles section)
  2. A CredentialRegistry which resolves to the DPP wallet's credential registry and returns all the public credentials of the wallet

Was this page helpful?