Affinidi Iota Framework
Install Dependency
Package: affinidi_tdk_iota_client
pip install affinidi_tdk_iota_clientCheck the latest version on the PyPI repository or view the source on GitHub.
Classes and Methods
Configurations API
Manage Affinidi Iota Framework configurations to integrate your application to request data from Affinidi Vault.
create_iota_configuration
Creates an Affinidi Iota Framework configuration.
Parameters
Example
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.ConfigurationsApi(api_client)
request_json = {
'name': 'Sample App',
'walletAri': '<WALLET_ARI>',
'iotaResponseWebhookURL': 'http://localhost',
}
create_iota_configuration_input = affinidi_tdk_iota_client.CreateIotaConfigurationInput.from_dict(request_json)
api_response = api_instance.create_iota_configuration(create_iota_configuration_input=create_iota_configuration_input)delete_iota_configuration_by_id
Deletes an Affinidi Iota Framework configuration by ID.
Parameters
configurationId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.ConfigurationsApi(api_client)
api_instance.delete_iota_configuration_by_id('<CONFIG_ID>')get_iota_configuration_by_id
Retrieves an Affinidi Iota Framework configuration by ID.
Parameters
configurationId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.ConfigurationsApi(api_client)
api_response = api_instance.get_iota_configuration_by_id('<CONFIG_ID>')get_iota_configuration_metadata
Retrieves the metadata of an Affinidi Iota Framework configuration.
Parameters
projectId
str
RequiredconfigurationId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.ConfigurationsApi(api_client)
api_response = api_instance.get_iota_configuration_metadata('<PROJECT_ID>', '<CONFIG_ID>')list_iota_configurations
Returns all Affinidi Iota Framework configurations for the project.
No parameters required.
Example
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.ConfigurationsApi(api_client)
api_response = api_instance.list_iota_configurations()update_iota_configuration_by_id
Updates an Affinidi Iota Framework configuration by ID.
Parameters
configurationId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.ConfigurationsApi(api_client)
request_json = {
'name': 'Sample App',
'walletAri': '<WALLET_ARI>',
'iotaResponseWebhookURL': 'http://localhost',
}
update_iota_configuration_by_id_input = affinidi_tdk_iota_client.UpdateConfigurationByIdInput.from_dict(request_json)
api_response = api_instance.update_iota_configuration_by_id('<CONFIG_ID>', update_iota_configuration_by_id_input=update_iota_configuration_by_id_input)Iota API
Generate access token required to access the Affinidi Iota Framework.
aws_exchange_credentials
Exchanges a limited token into a Cognito token.
Parameters
Example
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.IotaApi(api_client)
request_json = {
'assertion': '<JWT_STRING>',
}
aws_exchange_credentials = affinidi_tdk_iota_client.AwsExchangeCredentials.from_dict(request_json)
api_response = api_instance.aws_exchange_credentials(aws_exchange_credentials=aws_exchange_credentials)initiate_data_sharing_request
Initiates a data-sharing request and returns the signed request token.
Parameters
Example
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.IotaApi(api_client)
request_json = {
'configurationId': '<IOTA_CONFIGURATION_ID>',
'mode': 'redirect',
'queryId': '<IOTA_CONFIGURATION_QUERY_ID>',
'correlationId': '<UUID4_STRING>',
'nonce': '<NONCE_FROM_FRONTEND>',
'redirectUri': '<IOTA_CONFIGURATION_REDIRECT_URL>',
}
initiate_data_sharing_request_input = affinidi_tdk_iota_client.InitiateDataSharingRequestInput.from_dict(request_json)
api_response = api_instance.initiate_data_sharing_request(initiate_data_sharing_request_input)fetch_iota_vp_response
Fetches the callback response from Affinidi Vault.
Parameters
Example
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.IotaApi(api_client)
request_json = {
'configurationId': '<IOTA_CONFIGURATION_ID>',
'correlationId': '<CORRELATION_ID>',
'transactionId': '<TRANSACTION_ID>',
'responseCode': '<RESPONSE_CODE_FROM_REDIRECT>',
}
fetch_iota_vp_response_input = affinidi_tdk_iota_client.FetchIOTAVPResponseInput.from_dict(request_json)
api_response = api_instance.fetch_iota_vp_response(fetch_iota_vp_response_input)Default API
Manage logged consent from Affinidi Iota Framework.
list_logged_consents
Returns the list of logged consents for the project.
Parameters
configurationId
str
OptionaluserId
str
Optionallimit
int
OptionalexclusiveStartKey
str
OptionalExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.DefaultApi(api_client)
api_response = api_instance.list_logged_consents()Callback API
Manage logged consent from Affinidi Iota Framework.
iot_oidc4vp_callback
Handles the callback from clients with OID4VP transaction data.
Parameters
Example
import affinidi_tdk_iota_client
with affinidi_tdk_iota_client.ApiClient() as api_client:
api_instance = affinidi_tdk_iota_client.CallbackApi(api_client)
request_json = {
'state': '<RANDOM_STRING>',
'presentation_submission': {},
'vp_token': {},
}
callback_input = affinidi_tdk_iota_client.CallbackInput.from_dict(request_json)
api_response = api_instance.iot_oidc4vp_callback(callback_input=callback_input)PexQuery API
Manages Presentation Exchange (PEX) queries for Iota configurations.
create_pex_query
Creates a Presentation Definition in an Iota configuration.
Parameters
configurationId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.PexQueryApi(api_client)
request_json = {
'name': 'Request Data',
'vpDefinition': '{PRESENTATION_DEFINITION_JSON_STRING}',
}
create_pex_query_input = affinidi_tdk_iota_client.CreatePexQueryInput.from_dict(request_json)
api_response = api_instance.create_pex_query('<CONFIG_ID>', create_pex_query_input=create_pex_query_input)delete_pex_query_by_id
Deletes a Presentation Definition from an Iota configuration.
Parameters
configurationId
str
RequiredqueryId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.PexQueryApi(api_client)
api_response = api_instance.delete_pex_query_by_id('<CONFIG_ID>', '<QUERY_ID>')get_pex_query_by_id
Retrieves a Presentation Definition from an Iota configuration by ID.
Parameters
configurationId
str
RequiredqueryId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.PexQueryApi(api_client)
api_response = api_instance.get_pex_query_by_id('<CONFIG_ID>', '<QUERY_ID>')list_pex_queries
Retrieves all Presentation Definitions in an Iota configuration.
Parameters
configurationId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.PexQueryApi(api_client)
api_response = api_instance.list_pex_queries('<CONFIG_ID>')update_pex_query_by_id
Updates a Presentation Definition in an Iota configuration.
Parameters
configurationId
str
RequiredqueryId
str
RequiredExample
import affinidi_tdk_iota_client
configuration = affinidi_tdk_iota_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iota_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iota_client.PexQueryApi(api_client)
request_json = {
'vpDefinition': '{PRESENTATION_DEFINITION_JSON_STRING}',
}
update_pex_query_input = affinidi_tdk_iota_client.UpdatePexQueryInput.from_dict(request_json)
api_response = api_instance.update_pex_query_by_id('<CONFIG_ID>', '<QUERY_ID>', update_pex_query_input=update_pex_query_input)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.