First and foremost, the issuer must specify a valid recipient for the credential:
recipient (required): Issuer must specify a credential recipient. This can be done via email:${userEmail}:${chain} or {wallet address}.
In addition, the issuer must specify a credential object containing:
subject (required): Object matching a defined credential type’s schema, with values relevant to the recipient. The credential’s contents are identified by the “subject” key within the credential, following W3C naming standards.
The credential subject (credential.subject) must respect the schema of the chosen Verifiable Credential type. You
cannot add additional fields, nor exclude any that were previously set.
expiresAt (required): Specify date, in form such as 2034-02-02 (ISO) or none to imply infinite expiration.
If you don’t include an expiration date, you must revoke the credential via burning to invalidate it.
Finally, the issuer can provide optional public metadata related to the specific credential, as such:
metadata (optional): NFT metadata is inherited from the VC template metadata. Metadata attributes can be set by the customer to override metadata definition inherited by baseURI.
To issue your first credential, copy the issueCredential.js file from below, add your API key, and templateId (that was returned to you in the previous step), and run the file from your terminal.