User Credential
Store a Credential
TERMINAL 3 API
- Getting Started
- User
- User Credential
- Sub Client
- DID
SIGN IN WITH TERMINAL 3
- Getting Started
- Authorization
- User
- User Credential
NOTIFICATION
VERIFIABLE CREDENTIAL SDK
- Getting Started
- Issuer SDK
- Verifier SDK
User Credential
Store a Credential
This API endpoint retrieves a user’s profile information from the client.
POST
/
v1
/
vc
/
issuer
/
store
curl --request POST \
--url https://staging.terminal3.io/v1/vc/issuer/store \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-api-token: <x-api-token>' \
--data '{
"vc": {
"@context": [
"<string>"
],
"type": [
"<string>"
],
"issuer": "<string>",
"validFrom": "<string>",
"validUntil": "<string>",
"credentialSubject": {
"id": "<string>"
},
"id": "<string>",
"credentialStatus": {
"type": "<string>",
"chain_id": "<string>",
"revocation_registry_contract_address": "<string>",
"did_registry_contract_address": "<string>"
},
"proof": {
"type": "<string>",
"proofPurpose": "<string>",
"verificationMethod": "<string>",
"created": "<string>",
"proofValue": "<string>",
"mandatoryPointers": [
"<string>"
],
"cryptosuite": "<string>",
"@context": [
"<string>"
]
}
}
}'
{
"data": {
"cid": "<string>",
"vc": {
"@context": [
"<string>"
],
"id": "<string>",
"issuer": "<string>",
"credentialSubject": {
"id": "<string>"
},
"type": [
"<string>"
],
"validFrom": "<string>",
"validUntil": "<string>",
"credentialStatus": "<any>",
"proof": {
"type": "<string>",
"proofPurpose": "<string>",
"verificationMethod": "<string>",
"created": "<string>",
"mandatoryPointers": [
"<string>"
],
"cryptosuite": "<string>",
"@context": [
"<string>"
],
"proofValue": "<string>"
}
}
}
}
This API takes the signed verifiable credential from the issuer and securely saves it in decentralized storage.
E.g of a Signed Credential:
{
"@context": ["https://www.w3.org/ns/credentials/v2"],
"type": ["VerifiableCredential", "KycCredential"],
"issuer": "did:key:zUC7DKqU1K98wCzNx6H3xHGoFoSYrxYZ4WmUj8UKq4HUAcA651HVrM7Qr7kgSNbnVcBSgQZQZtTMLDm2obKq2ByZDqjKowSqQzaNHgDGEox7vWRRyioRuLd1KRuhqBr4o7LkqH7",
"validFrom": "2024-08-22T07:20:41.980Z",
"validUntil": "",
"credentialSubject": {
"id": "did:ethr:0x845694df12ef67e1769d0c19929bc5703638c39a",
"date_of_birth": "16-02-1995",
"location": "HK",
"first_name": "T",
"last_name": "Jason"
},
"id": "urn:uuid:1664f8c1-51d5-49c1-b05a-ed23a8a161f3",
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "bbs-2023",
"created": "2024-08-22T07:20:41.983Z",
"verificationMethod": "did:key:zUC7DKqU1K98wCzNx6H3xHGoFoSYrxYZ4WmUj8UKq4HUAcA651HVrM7Qr7kgSNbnVcBSgQZQZtTMLDm2obKq2ByZDqjKowSqQzaNHgDGEox7vWRRyioRuLd1KRuhqBr4o7LkqH7",
"proofPurpose": "assertionMethod",
"proofValue": "2V0ChVhwq63Y00Fn7u7GRAoFhfw3l1K-mkp1egLJSIBfCKUPllu9NuzXPxEuo8KqXydwAGPVYUHlKfzccE4m7waZyoLEkBLFiK2g54Q2i-CdtYBgDdkUDsoULSBMcH1MwGHwdjfXpldFNFrHFx_IAvLVniyeMVhA8oJwmDJq7Xl1A-LnFTu8mcuDnN8XEUTtghrfT1s2DNUUIjcG9wp82-OqrrRKQe8hdQASAWuW7r9N9FHnLIlK7Fhgo_tmeNMg3AFxjzQmM1mgdinuvGKu9OqgkwWJNRjHeRane2QoiCU3YriPVRkxTJppE_kRB1amlg63fh39OlBFgAV6fuUwGuy1vGWnfXId8NgkZBH3PdF4kme-tzYOjs0OWCDmfdYtVqE6rJWYr7ge7AIf9nNQ3jNdoJvSpPCAT0UszYpJL0Bjb250ZXh0Qy9pZEcvaXNzdWVyRS90eXBlSi92YWxpZEZyb21LL3ZhbGlkVW50aWxYIC9jcmVkZW50aWFsU3ViamVjdC9kYXRlX29mX2JpcnRoWBsvY3JlZGVudGlhbFN1YmplY3QvbG9jYXRpb25YHS9jcmVkZW50aWFsU3ViamVjdC9maXJzdF9uYW1lWBwvY3JlZGVudGlhbFN1YmplY3QvbGFzdF9uYW1l"
}
}
Please refer to our VC SDK for more details on how to issue verifiable credentials.
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Body
application/json
Minimum length:
1
Minimum length:
1
Response
200
application/json
Success
curl --request POST \
--url https://staging.terminal3.io/v1/vc/issuer/store \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-api-token: <x-api-token>' \
--data '{
"vc": {
"@context": [
"<string>"
],
"type": [
"<string>"
],
"issuer": "<string>",
"validFrom": "<string>",
"validUntil": "<string>",
"credentialSubject": {
"id": "<string>"
},
"id": "<string>",
"credentialStatus": {
"type": "<string>",
"chain_id": "<string>",
"revocation_registry_contract_address": "<string>",
"did_registry_contract_address": "<string>"
},
"proof": {
"type": "<string>",
"proofPurpose": "<string>",
"verificationMethod": "<string>",
"created": "<string>",
"proofValue": "<string>",
"mandatoryPointers": [
"<string>"
],
"cryptosuite": "<string>",
"@context": [
"<string>"
]
}
}
}'
{
"data": {
"cid": "<string>",
"vc": {
"@context": [
"<string>"
],
"id": "<string>",
"issuer": "<string>",
"credentialSubject": {
"id": "<string>"
},
"type": [
"<string>"
],
"validFrom": "<string>",
"validUntil": "<string>",
"credentialStatus": "<any>",
"proof": {
"type": "<string>",
"proofPurpose": "<string>",
"verificationMethod": "<string>",
"created": "<string>",
"mandatoryPointers": [
"<string>"
],
"cryptosuite": "<string>",
"@context": [
"<string>"
],
"proofValue": "<string>"
}
}
}
}