Issue a Verifiable Credential
Issue a JSON-LD Verifiable Credential, signed by a did:cheqd Decentralized Identifier (DID), using the ACA-Py API endpoints.
Pre-requisite
Step 1: Create a Connection with Holder
1a: Issuer Creates Connection Invite
Auto-accept connection (defaults to configuration)
Create unique DID for this invitation (default false)
Create invitation for multiple use (default false)
List of mime type in order of preference that should be use in responding to the message
["didcomm/aip1","didcomm/aip2;env=rfc19"]Alias for connection
BarryA self-attested string that the receiver may want to display to the user about the context-specific goal of the out-of-band message
To issue a Faber College Graduate credentialA self-attested code the receiver may want to display to the user or use in automatically deciding what to do with the out-of-band message
issue-vcHandshake protocol to specify in invitation
Identifier for active mediation record to be used
3fa85f64-5717-4562-b3fc-2c963f66afa6Pattern: [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}Optional metadata to attach to the connection created with the invitation
Label for connection invitation
Invitation to BarryOOB protocol version
1.1DID to use in invitation
did:example:123DID method to use in invitation
did:peer:2Possible values: Whether to use public DID in invitation
Time of record creation
2021-12-31T23:59:59ZPattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$Invitation message identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Invitation record identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Invitation message URL
https://example.com/endpoint?c_i=eyJAdHlwZSI6ICIuLi4iLCAiLi4uIjogIi4uLiJ9XX0=Out of band record identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Out of band message exchange state
await_responseRecord trace information, based on agent configuration
Time of last record update
2021-12-31T23:59:59ZPattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$Parameters and Request Body
1b: Holder receives invitation
Alias for connection
{"value":"Barry"}Auto-accept connection (defaults to configuration)
Identifier for active mediation record to be used
{"value":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}Use an existing connection, if possible
Message identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Message type
https://didcomm.org/my-family/1.0/my-message-typeList of mime type in order of preference
["didcomm/aip1","didcomm/aip2;env=rfc19"]A self-attested string that the receiver may want to display to the user about the context-specific goal of the out-of-band message
To issue a Faber College Graduate credentialA self-attested code the receiver may want to display to the user or use in automatically deciding what to do with the out-of-band message
issue-vcHandshake protocol
Optional image URL for out-of-band invitation
http://192.168.56.101/img/logo.jpgOptional label
BobConnection record identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Connection record identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Time of record creation
2021-12-31T23:59:59ZPattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$Invitation message identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Allow for multiple uses of the oob invitation
trueOob record identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Recipient key used for oob invitation
3fa85f64-5717-4562-b3fc-2c963f66afa6OOB Role
receiverPossible values: Out of band message exchange state
await-responsePossible values: Record trace information, based on agent configuration
Time of last record update
2021-12-31T23:59:59ZPattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$Parameters and Request Body
Step 2: Holder creates local DID
Method for the requested DID.Supported methods are 'key', 'sov', and any other registered method.
sovOptional seed to use for DID, Must be enabled in configuration before use.
000000000000000000000000Trustee1Step 3: Request Credential from Issuer
Send issuer a credential request not bound to an existing thread. Indy credentials cannot start at a request
Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)
Human-readable comment
Connection identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Holder DID to substitute for the credentialSubject.id
did:key:ahsdkjahsdkjhaskjdhakjshdkajhsdkjahsWhether to trace event (default false)
Issuer choice to issue to request in this credential exchange
Holder choice to accept offer in this credential exchange
Issuer choice to remove this credential exchange record when complete
Connection identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Time of record creation
2021-12-31T23:59:59ZPattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$Credential exchange identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Error message
The front fell offIssue-credential exchange initiator: self or external
selfPossible values: Parent thread identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Issue-credential exchange role: holder or issuer
issuerPossible values: Issue-credential exchange state
donePossible values: Thread identifier
3fa85f64-5717-4562-b3fc-2c963f66afa6Record trace information, based on agent configuration
Time of last record update
2021-12-31T23:59:59ZPattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$Step 4: Issuer accepts and issues credential
Step 5: Holder stores Credential
Step 6: Check the received Credential
Maximum number to retrieve
{"value":"1"}Start index
{"value":"0"}(JSON) WQL query
{"value":"{\"attr::name::value\": \"Alex\"}"}Credential context to match
Given credential id to match
Credential issuer identifier to match
Maximum number of results to return
Signature suite used for proof
Schema identifiers, all of which to match
Subject identifiers, all of which to match
Credential type to match
Last updated
Was this helpful?