Credential Issuance
Install Dependency
Package: affinidi_tdk_credential_issuance_client
pip install affinidi_tdk_credential_issuance_clientCheck the latest version on the PyPI repository or view the source on GitHub.
Classes and Methods
Configuration API
Manages the issuance configuration for the project. Each project supports one issuance configuration.
create_issuance_config
Creates an issuance configuration for the project.
Parameters
Example
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.ConfigurationApi(api_client)
request_json = {
'credentialSupported': [
{
'credentialTypeId': 'SchemaOne',
'jsonSchemaUrl': 'https://schema.affinidi.io/SchemaOneV1R1.json',
'jsonLdContextUrl': 'https://schema.affinidi.io/SchemaOneV1R1.jsonld',
}
],
'issuerWalletId': '<WALLET_ID>',
'credentialOfferDuration': 3600,
'format': 'ldp_vc',
}
create_issuance_config_input = affinidi_tdk_credential_issuance_client.CreateIssuanceConfigInput.from_dict(request_json)
api_response = api_instance.create_issuance_config(create_issuance_config_input=create_issuance_config_input)delete_issuance_config_by_id
Deletes the issuance configuration by ID.
Parameters
configurationId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.ConfigurationApi(api_client)
api_response = api_instance.delete_issuance_config_by_id('<CONFIG_ID>')get_issuance_config_by_id
Retrieves the issuance configuration details by ID.
Parameters
configurationId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.ConfigurationApi(api_client)
api_response = api_instance.get_issuance_config_by_id('<CONFIG_ID>')get_issuance_config_list
Returns the list of issuance configurations for the current project.
No parameters required.
Example
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.ConfigurationApi(api_client)
api_response = api_instance.get_issuance_config_list()update_issuance_config_by_id
Updates an existing issuance configuration by ID.
Parameters
configurationId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.ConfigurationApi(api_client)
request_json = {
'credentialSupported': [
{
'credentialTypeId': 'SchemaOne',
'jsonSchemaUrl': 'https://schema.affinidi.io/SchemaOneV1R1.json',
'jsonLdContextUrl': 'https://schema.affinidi.io/SchemaOneV1R1.jsonld',
}
],
'issuerWalletId': '<WALLET_ID>',
'credentialOfferDuration': 3600,
'format': 'ldp_vc',
}
update_issuance_config_input = affinidi_tdk_credential_issuance_client.UpdateIssuanceConfigInput.from_dict(request_json)
api_response = api_instance.update_issuance_config_by_id('<CONFIG_ID>', update_issuance_config_input=update_issuance_config_input)Issuance API
Initiates issuance of credentials and checks their status.
issuance_state
Retrieves the status of an issuance.
Parameters
issuanceId
str
RequiredprojectId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.IssuanceApi(api_client)
api_response = api_instance.issuance_state('<ISSUANCE_ID>', '<PROJECT_ID>')list_issuance
Returns the list of issuances initiated in the project.
Parameters
projectId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.IssuanceApi(api_client)
api_response = api_instance.list_issuance('<PROJECT_ID>')start_issuance
Initiates the issuance of credentials.
Parameters
projectId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.IssuanceApi(api_client)
request_json = {
'data': [{
'credentialTypeId': 'SchemaOne',
'credentialData': {
'first_name': 'FirstName',
'last_name': 'LastName',
'dob': '1970-01-01',
},
}],
'holderDid': 'did:key:holder-did-value',
'claimMode': 'FIXED_HOLDER',
}
start_issuance_input = affinidi_tdk_credential_issuance_client.StartIssuanceInput.from_dict(request_json)
api_response = api_instance.start_issuance('<PROJECT_ID>', start_issuance_input=start_issuance_input)Credentials API
Issues Verifiable Credentials to users.
batchCredential
Allows digital wallets to claim multiple credentials at once.
Parameters
projectId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.CredentialsApi(api_client)
credential_requests = [
{
'credential_identifier': 'credentialIdentifier',
'proof': {
'proof_type': 'jwt',
'jwt': '<PROOF_JWT>',
},
}
]
batch_credential_input = affinidi_tdk_credential_issuance_client.BatchCredentialInput(
credential_requests=credential_requests
)
api_response = api_instance.generate_credentials('<PROJECT_ID>', batch_credential_input=batch_credential_input)generate_credentials
Generates and issues a credential offer to the user.
Parameters
projectId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.CredentialsApi(api_client)
request_json = {
'credential_identifier': 'SchemaOne',
'proof': {
'proof_type': 'jwt',
'jwt': '<PROOF_JWT>',
},
}
create_credential_input = affinidi_tdk_credential_issuance_client.CreateCredentialInput.from_dict(request_json)
api_response = api_instance.generate_credentials('<PROJECT_ID>', create_credential_input=create_credential_input)getClaimedCredentials
Retrieves claimed credentials in the specified date range.
Parameters
project_id
str
Requiredconfiguration_id
str
Requiredrange_start_time
str
Requiredrange_end_time
str
Requiredexclusive_start_key
str
Optionallimit
int
Optional20.Example
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.CredentialsApi(api_client)
api_response = api_instance.batch_credential(
'<PROJECT_ID>',
'<CONFIG_ID>',
'<START_DATE>',
'<END_DATE>',
)Default API
Revokes revocable Verifiable Credentials issued to users.
change_credential_status
Updates the status of a credential (for example, REVOKED).
Parameters
projectId
str
RequiredconfigurationId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.DefaultApi(api_client)
request_json = {
'changeReason': 'INVALID_CREDENTIAL',
'issuanceRecordId': '<RECORD_ID>',
}
change_credential_status_input = affinidi_tdk_credential_issuance_client.ChangeCredentialStatusInput.from_dict(request_json)
api_response = api_instance.change_credential_status('<PROJECT_ID>', '<CONFIG_ID>', change_credential_status_input=change_credential_status_input)list_issuance_data_records
Retrieves the list of records for revocable credentials.
Parameters
projectId
str
RequiredconfigurationId
str
Requiredlimit
int
OptionalexclusiveStartKey
str
OptionalExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.DefaultApi(api_client)
api_response = api_instance.list_issuance_data_records('<PROJECT_ID>', '<CONFIG_ID>')Offer API
Retrieves credential offers initiated by the Issuance API.
get_credential_offer
Retrieves the credential offer details.
Parameters
projectId
str
RequiredissuanceId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.OfferApi(api_client)
api_response = api_instance.get_credential_offer('<PROJECT_ID>', '<ISSUANCE_ID>')WellKnown API
Retrieves WellKnown OpenID Credential Issuer information.
get_well_known_open_id_credential_issuer
Retrieves the credential issuer well-known configurations.
Parameters
projectId
str
RequiredExample
import affinidi_tdk_credential_issuance_client
configuration = affinidi_tdk_credential_issuance_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_credential_issuance_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_credential_issuance_client.WellKnownApi(api_client)
api_response = api_instance.get_well_known_open_id_credential_issuer('<PROJECT_ID>')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.