Appearance
Standard Issuance API
The Standard Issuance API is part of the Universal Issuer and enables direct issuance of Verifiable Credentials (VCs) through REST endpoints.
It’s the simplest way to issue credentials when you control both the issuer system and the credential delivery process.
Unlike the OID4VCI-based issuance, the standard mode does not require the issuer to be configured through the Issuer Configuration API. You can issue credentials immediately once your issuer keys and schemas are set up.
When to use standard issuance
Use the Standard Issuance API if:
- You’re building server-to-server or backend integrations.
- You want to issue credentials programmatically without wallet interaction.
- You already know the subject’s DID or identifier.
- You don’t need the OpenID4VCI authorization or credential offer flow.
Overview
| Feature | Standard Issuance | OID4VCI Issuance |
|---|---|---|
| Flow type | Direct REST API | Interactive wallet flow |
| Requires configuration | ❌ No | ✅ Yes |
| Best for | Server-to-server, automated issuance | Wallet-driven user flow |
| Authentication | Bearer token / API key | OAuth + proof of possession |
| Response | Credential JSON | Credential delivered to wallet |
Issuing a VC
When issuing a VC, the input is a credential plus options, and the output is the Verifiable Credential including a proof.
Create a Request
The following request will return a Verifiable Credential.
NOTE
the issuer DID must exist in your account's Wallet Service.
bash
curl -X POST "https://api.godiddy.com/1.0.0/universal-issuer/credentials/issue" \
-H "Authorization: Bearer b082c420-df67-4b06-899c-b7c51d75fba0" \
-H "Content-Type: application/json" \
-d '{
"credential": {
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://essif.europa.eu/schemas/vc/2020/v1"
],
"type": [
"VerifiableCredential",
"VerifiableAttestation",
"DiplomaCredential"
],
"issuer": "did:key:z6MkpMuEMxTKFnNugkZBa5YDtrwNaDun2HjSMiQNeUxsEB24",
"credentialSubject": {
"type": "Student",
"id": "did:key:z6MkqyYXcBQZ5hZ9BFHBiVnmrZ1C1HCpesgZQoTdgjLdU6Ah",
"studyProgram": "Master Studies in Computer Science",
"learningAchievement": "Master of Science",
"dateOfAchievement": "2021-03-18T00:00:00.000Z",
"eqfLevel": "http://data.europa.eu/snb/eqf/7",
"targetFrameworkName": "European Qualifications Framework for lifelong learning - (2008/C 111/01)"
}
},
"options": {
"format": "jsonld",
"type": "Ed25519Signature2020",
"returnMetadata": false,
"credentialFormatOptions": {
"documentLoaderEnableHttps": true
}
}
}'1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Supported options:
| Field | Note | Possible Values | Default Value |
|---|---|---|---|
format | The format of the Verifiable Credential to issue. | jsonld, jwt, jsonldjwt, sdjwt | jsonld |
type | The type of proof to generate for the Verifiable Credential. | Ed25519Signature2018, Ed25519Signature2018, JsonWebSignature2020, etc. | If omitted, a default type of proof for the Issuer's verification method will be used. |
verificationMethod | The URI of the verification method to use for generating the proof. | If omitted, a default verification method for the Issuer's DID will be used. | |
proofPurpose | The purpose of the proof. | assertionMethod | |
returnMetadata | Whether to return metadata in the response. | true, false | false |
credentialStatus.type | The type of status list to set up for the Verifiable Credential. | RevocationList2020Status, StatusList2021Entry, etc. | If omitted, no status list will be set up. |
credentialFormatOptions.documentLoaderEnableHttps | Whether to load JSON-LD contexts remotely via HTTPS. | true, false | true |
credentialFormatOptions.documentLoaderEnableHttp | Whether to load JSON-LD contexts remotely via HTTP. | true, false | false |
credentialFormatOptions.documentLoaderEnableFile | Whether to load JSON-LD contexts remotely via local files. | true, false | false |
proofFormatOptions.overrideCanonicalization | Override the canonicalization algorithm to be used. | urdna2015, jcs | If omitted, a default canonicalization algorithm for the format and proof type will be used. |
Issue a VCDM V2
bash
curl -X POST "https://api.godiddy.com/1.0.0/universal-issuer/credentials/issue" \
-H "Authorization: Bearer b082c420-df67-4b06-899c-b7c51d75fba0" \
-H "Content-Type: application/json" \
-d '{
"credential": {
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://essif.europa.eu/schemas/vc/2020/v1"
],
"type": [
"VerifiableCredential",
"VerifiableAttestation",
"DiplomaCredential"
],
"issuer": "did:key:z6MkpMuEMxTKFnNugkZBa5YDtrwNaDun2HjSMiQNeUxsEB24",
"credentialSubject": {
"type": "Student",
"id": "did:key:z6MkqyYXcBQZ5hZ9BFHBiVnmrZ1C1HCpesgZQoTdgjLdU6Ah",
"studyProgram": "Master Studies in Computer Science",
"learningAchievement": "Master of Science",
"dateOfAchievement": "2021-03-18T00:00:00.000Z",
"eqfLevel": "http://data.europa.eu/snb/eqf/7",
"targetFrameworkName": "European Qualifications Framework for lifelong learning - (2008/C 111/01)"
}
},
"options": {
"format": "jsonld",
"type": "Ed25519Signature2020",
"returnMetadata": false,
"credentialFormatOptions": {
"documentLoaderEnableHttps": true
}
}
}'1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Issue a VC with status list support
The following request will return a Verifiable Credential with status list support (revocation).
NOTE
The issuer DID must exist in your account's Wallet Service.
NOTE
The request includes the credentialStatus.type option.
bash
curl -X POST "https://api.godiddy.com/1.0.0/universal-issuer/credentials/issue" \
-H "Authorization: Bearer b082c420-df67-4b06-899c-b7c51d75fba0" \
-H "Content-Type: application/json" \
-d '{
"credential": {
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://essif.europa.eu/schemas/vc/2020/v1"
],
"type": [
"VerifiableCredential",
"VerifiableAttestation",
"DiplomaCredential"
],
"issuer": "did:key:z6MkpMuEMxTKFnNugkZBa5YDtrwNaDun2HjSMiQNeUxsEB24",
"credentialSubject": {
"type": "Student",
"id": "did:key:z6MkqyYXcBQZ5hZ9BFHBiVnmrZ1C1HCpesgZQoTdgjLdU6Ah",
"studyProgram": "Master Studies in Computer Science",
"learningAchievement": "Master of Science",
"dateOfAchievement": "2021-03-18T00:00:00.000Z",
"eqfLevel": "http://data.europa.eu/snb/eqf/7",
"targetFrameworkName": "European Qualifications Framework for lifelong learning - (2008/C 111/01)"
}
},
"options": {
"format": "jsonld",
"type": "Ed25519Signature2020",
"returnMetadata": false,
"credentialFormatOptions": {
"documentLoaderEnableHttps": true
},
"credentialStatus": {
"type":"StatusList2021Entry"
}
}
}'1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37