Issue Credentials
Specify the credential’s values and a recipient to send it to
With both a credential type and template defined, we can proceed to issue a credential.
1. Issue a Credential
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) ornone
to imply infinite expiration.
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.
2. Check the status of your credential
You can set up a webhook to know when the Verifiable Credential NFT minting is completed, or call the
action status API with the returned actionId
.
To check the template’s status you will need the nfts.create
API scope and run the following code.