Credential Issuance
Install Dependency
Package: AffinidiTdk.CredentialIssuanceClient
dotnet add package AffinidiTdk.CredentialIssuanceClientCheck the latest version on nuget.org or view the source on GitHub.
Classes and Methods
Configuration API
Manage the issuance configuration for the project. Project only one issuance configuration.
CreateIssuanceConfig
Create an issuance configuration for the project.
Parameters
Example
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
ConfigurationApi api = new ConfigurationApi(config);
CreateIssuanceConfigInput input = new CreateIssuanceConfigInput();
IssuanceConfigDto result = api.CreateIssuanceConfig(input);DeleteIssuanceConfigById
Delete the issuance configuration by ID.
Parameters
configurationId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
ConfigurationApi api = new ConfigurationApi(config);
api.DeleteIssuanceConfigById("<CONFIG_ID>");GetIssuanceConfigById
Retrieves the Issuance Configuration details by ID.
Parameters
configurationId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
ConfigurationApi api = new ConfigurationApi(config);
var issuanceConfigId = "<CONFIG_ID>";
IssuanceConfigDto result = api.GetIssuanceConfigById(issuanceConfigId);GetIssuanceConfigList
Get the list of issuance configuration for the current project.
No parameters required.
Example
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
ConfigurationApi api = new ConfigurationApi(config);
IssuanceConfigListResponse result = api.GetIssuanceConfigList();UpdateIssuanceConfigById
Update the existing Issuance Configuration by ID.
Parameters
configurationId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
ConfigurationApi api = new ConfigurationApi(config);
var issuanceConfigId = "<CONFIG_ID>";
UpdateIssuanceConfigInput input = new UpdateIssuanceConfigInput();
IssuanceConfigDto result = api.UpdateIssuanceConfigById(issuanceConfigId, input);Issuance API
Use to initiate issuance of the credential and check the status.
IssuanceState
Retrieve the status of issuance.
Parameters
issuanceId
String
RequiredprojectId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
IssuanceApi api = new IssuanceApi(config);
var issuanceId = "issuanceId_example";
var projectId = "projectId_example";
IssuanceStateResponse result = api.IssuanceState(issuanceId, projectId);ListIssuance
Get the list of issuance initiated in the Project.
Parameters
projectId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
IssuanceApi api = new IssuanceApi(config);
var projectId = "<PROJECT_ID>";
ListIssuanceResponse result = api.ListIssuance(projectId);StartIssuance
Used to initiate the issuance of the credential.
Parameters
projectId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
IssuanceApi api = new IssuanceApi(config);
StartIssuanceInputDataInner inpuData = new StartIssuanceInputDataInner(credentialTypeId: "MyPersonalInfo", credentialData: new Dictionary<string, object>()
{
{ "Firstname", "John" },
{ "Lastname", "Doe" },
{ "ExpiryDate", "1970-01-01" },
});
StartIssuanceInput input = new StartIssuanceInput(claimMode: StartIssuanceInput.ClaimModeEnum.TXCODE, data: [inpuData]);
var projectId = "<YOUR-PROJECT-ID>";
StartIssuanceResponse result = api.StartIssuance(projectId, input);Credentials API
Issue a Verifiable Credentials to the users.
BatchCredential
Allow digital wallets to claim multiple credentials at once.
Parameters
projectId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
CredentialsApi api = new CredentialsApi(config);
var projectId = "<ProjectId>";
BatchCredentialInput input = new BatchCredentialInput();
BatchCredentialResponse result = api.BatchCredential(projectId, input);GenerateCredentials
Generate and issue a credential offer to the user.
Parameters
projectId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
CredentialsApi api = new CredentialsApi(config);
var projectId = "<ProjectId>";
CreateCredentialInput input = new CreateCredentialInput();
CredentialResponse result = api.GenerateCredentials("<ProjectId>", input);GetClaimedCredentials
Get claimed credentials in the specified range.
Example
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
CredentialsApi api = new CredentialsApi(config);
var projectId = "<ProjectId>";
var configId = "<ConfigId>";
var rangeStartTime = "<START_DATE>";
var rangeEndTime = "<END_DATE>";
var exclusiveStartKey = "<exclusiveStartKey>";
var limit = 20;
ClaimedCredentialListResponse result = api.GetClaimedCredentials(projectId, configId, rangeStartTime, rangeEndTime, exclusiveStartKey, limit);GetIssuanceIdClaimedCredential
Get claimed VC linked to the issuanceId
Example
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
CredentialsApi api = new CredentialsApi(config);
var projectId = "<ProjectId>";
var configId = "<ConfigId>";
var issuanceId = "<IssuanceId>";
ClaimedCredentialResponse result = apiInstance.GetIssuanceIdClaimedCredential(projectId, configurationId, issuanceId);Default API
Revoke a revocable Verifiable Credentials issued to the users.
ChangeCredentialStatus
Updates the status of the credential (e.g., REVOKED).
Parameters
projectId
String
RequiredconfigurationId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
DefaultApi api = new DefaultApi(config);
var projectId = "<ProjectId>";
var configId = "<ConfigId>";
ChangeCredentialStatusInput input = new ChangeCredentialStatusInput();
FlowData result = api.ChangeCredentialStatus(projectId, configId, input);ListIssuanceDataRecords
Retrieves the list of records of revocable credentials. The list contains information about the issued credential, such as status, including the record ID, which you can use to revoke a particular credential.
Parameters
projectId
String
RequiredconfigurationId
String
Requiredlimit
Integer
RequiredexclusiveStartKey
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
DefaultApi api = new DefaultApi(config);
var projectId = "<PROJECT_ID>";
var configurationId = "<CONFIG_ID>";
var limit = 10;
var exclusiveStartKey = "<exclusiveStartKey>";
ListIssuanceRecordResponse result = api.ListIssuanceDataRecords(projectId, configurationId, limit, exclusiveStartKey);Offer API
Used to get the credential offer initiated by the Issuance API.
GetCredentialOffer
Retrieves the credential offer details.
Parameters
projectId
String
RequiredissuanceId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
OfferApi api = new OfferApi(config);
var issuanceId = "<ISSUANCE_ID>";
var projectId = "<PROJECT_ID>";
CredentialOfferResponse result = api.GetCredentialOffer(projectId, issuanceId);WellKnown API
Used to get the WellKnown OpenID Credential Issuer information.
GetWellKnownOpenIdCredentialIssuer
Retrieves the credential issuer well-known configurations.
Parameters
projectId
String
RequiredExample
using AffinidiTdk.CredentialIssuanceClient.Api;
using AffinidiTdk.CredentialIssuanceClient.Client;
using AffinidiTdk.CredentialIssuanceClient.Model;
Configuration config = new Configuration();
config.AddApiKey("authorization", projectScopedToken);
WellKnownApi api = new WellKnownApi(config);
var projectId = "<PROJECT_ID>";
WellKnownOpenIdCredentialIssuerResponse result = api.GetWellKnownOpenIdCredentialIssuer(projectId);Glad to hear it! Please tell us how we can improve more.
Sorry to hear that. Please tell us how we can improve.
Thank you for sharing your feedback so we can improve your experience.