### Getting Started with Affinidi TDK Vault Data Manager Client Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/vault_data_manager_client/README.md Example demonstrating how to configure the client, set authentication, and create an account using the AccountsApi. Ensure API key is set in environment variables. ```python import time import affinidi_tdk_vault_data_manager_client from affinidi_tdk_vault_data_manager_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://api.vault.affinidi.com/vfs # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_vault_data_manager_client.Configuration( host = "https://api.vault.affinidi.com/vfs" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. # Configure API key authorization: ConsumerTokenAuth configuration.api_key['ConsumerTokenAuth'] = os.environ["API_KEY"] # Configure a hook to auto-refresh API key for your personal access token (PAT), if expired import affinidi_tdk_auth_provider stats = { apiGatewayUrl, keyId, passphrase, privateKey, projectId, tokenEndpoint, tokenId, } authProvider = affinidi_tdk_auth_provider.AuthProvider(stats) configuration.refresh_api_key_hook = lambda api_client: authProvider.fetch_project_scoped_token() # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['ConsumerTokenAuth'] = 'Bearer' # Enter a context with an instance of the API client with affinidi_tdk_vault_data_manager_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = affinidi_tdk_vault_data_manager_client.AccountsApi(api_client) create_account_input = affinidi_tdk_vault_data_manager_client.CreateAccountInput() # CreateAccountInput | CreateAccount try: api_response = api_instance.create_account(create_account_input) print("The response of AccountsApi->create_account:\n") pprint(api_response) except ApiException as e: print("Exception when calling AccountsApi->create_account: %s\n" % e) ``` -------------------------------- ### List All Wallets Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/wallets_client/docs/WalletApi.md Lists all available wallets. This example shows basic setup for the ApiClient and imports necessary models. ```python import time import os import affinidi_tdk_wallets_client from affinidi_tdk_wallets_client.models.wallet_did_type import WalletDidType from affinidi_tdk_wallets_client.models.wallets_list_dto import WalletsListDto from affinidi_tdk_wallets_client.rest import ApiException from pprint import pprint configuration = affinidi_tdk_wallets_client.Configuration( host = "https://apse1.api.affinidi.io/cwe" ) ``` -------------------------------- ### Start File Scan with API Key Authentication Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/vault_data_manager_client/docs/FilesApi.md Initiate a scan for a file associated with a given node ID. This example demonstrates setting up the client configuration, including the host URL and API key authentication, similar to the file listing example. ```python import time import os import affinidi_tdk_vault_data_manager_client from affinidi_tdk_vault_data_manager_client.models.start_file_scan_input import StartFileScanInput from affinidi_tdk_vault_data_manager_client.models.start_file_scan_ok import StartFileScanOK from affinidi_tdk_vault_data_manager_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://api.vault.affinidi.com/vfs # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_vault_data_manager_client.Configuration( host = "https://api.vault.affinidi.com/vfs" ) ``` -------------------------------- ### Install Published Package Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/login-configuration-client/README.md Navigate to your consuming project's folder and run this command to install the published package. This is the recommended installation method. ```bash npm install @affinidi-tdk/login-configuration-client@1.36.0 --save ``` -------------------------------- ### List DCQL Queries using Python Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/iota_client/docs/DcqlQueryApi.md This example demonstrates how to list all DCQL queries associated with a given configuration ID. Optional parameters for limiting results and specifying a start key are available. Proper API key authentication and client configuration are required. ```python import time import os import affinidi_tdk_iota_client from affinidi_tdk_iota_client.models.list_dcql_queries_ok import ListDcqlQueriesOK from affinidi_tdk_iota_client.rest import ApiException from pprint import pprint configuration = affinidi_tdk_iota_client.Configuration( host = "https://apse1.api.affinidi.io/ais" ) configuration.api_key['ProjectTokenAuth'] = os.environ["API_KEY"] import affinidi_tdk_auth_provider stats = { apiGatewayUrl, keyId, passphrase, privateKey, projectId, tokenEndpoint, tokenId, } authProvider = affinidi_tdk_auth_provider.AuthProvider(stats) configuration.refresh_api_key_hook = lambda api_client: authProvider.fetch_project_scoped_token() with affinidi_tdk_iota_client.ApiClient(configuration) as api_client: api_instance = affinidi_tdk_iota_client.DcqlQueryApi(api_client) configuration_id = 'configuration_id_example' # str | ID of the Affinidi Iota Framework configuration. limit = 56 # int | Maximum number of records to fetch in a list (optional) exclusive_start_key = 'exclusive_start_key_example' # str | The base64url encoded key of the first item that this operation will evaluate (it is not returned). Use the value that was returned in the previous operation. (optional) try: api_response = api_instance.list_dcql_queries(configuration_id, limit=limit, exclusive_start_key=exclusive_start_key) print("The response of DcqlQueryApi->list_dcql_queries:\n") pprint(api_response) except Exception as e: print("Exception when calling DcqlQueryApi->list_dcql_queries: %s\n" % e) ``` -------------------------------- ### Install @affinidi/iota-browser Source: https://github.com/affinidi/affinidi-tdk/blob/main/libs/iota-browser/README.md Use npm to install the @affinidi/iota-browser package. ```bash npm install @affinidi/tdk/iota-browser ``` -------------------------------- ### Install Published Package Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/consumer-iam-client/README.md Installs the published version of the @affinidi-tdk/consumer-iam-client package to your project. This is the recommended installation method. ```bash npm install @affinidi-tdk/consumer-iam-client@1.0.0 --save ``` -------------------------------- ### Install affinidi_tdk_iota_client using pip Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/iota_client/README.md Install the Python package directly from a repository using pip. Ensure Python 3.7+ is installed. ```sh pip install affinidi_tdk_iota_client ``` -------------------------------- ### Install Dependencies Source: https://github.com/affinidi/affinidi-tdk/blob/main/tests/integration/typescript/README.md Install all the necessary project dependencies defined in the package.json file using npm. ```bash npm install ``` -------------------------------- ### Install @affinidi/iota-core with npm Source: https://github.com/affinidi/affinidi-tdk/blob/main/libs/iota-core/README.md Use this command to install the iota-core package for Javascript projects. ```bash npm install @affinidi/tdk/iota-core ``` -------------------------------- ### Install Python Package Source: https://github.com/affinidi/affinidi-tdk/blob/main/sample/README.md Install the @affinidi/name package for Python using pip. ```bash pip install ``` -------------------------------- ### Install @affinidi/common for Javascript Source: https://github.com/affinidi/affinidi-tdk/blob/main/packages/jsii/common/README.md Use this command to install the Javascript package. Ensure Node.js v20.x or later and npm v11.6.0+ are installed. ```bash npm install @affinidi/common ``` -------------------------------- ### Install affinidi-tdk-auth-provider (Python) Source: https://github.com/affinidi/affinidi-tdk/blob/main/packages/jsii/auth-provider/README.md Install the Python package within a virtual environment using pip. Ensure you have Python v20.x or later installed. ```bash pip install affinidi_tdk_auth_provider ``` -------------------------------- ### Install Affinidi TDK Login Configuration Client via pip Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/login_configuration_client/README.md Install the client package directly from a repository using pip. Ensure Python 3.7+ is installed. ```sh pip install affinidi_tdk_login_configuration_client ``` -------------------------------- ### Install affinidi-tdk-common for Python Source: https://github.com/affinidi/affinidi-tdk/blob/main/packages/jsii/common/README.md Install the Python package within a virtual environment. Ensure Python 3 is installed. ```bash pip install affinidi_tdk_common ``` -------------------------------- ### Install JS Package Source: https://github.com/affinidi/affinidi-tdk/blob/main/sample/README.md Install the @affinidi/name package for JavaScript using npm. ```bash npm install ``` -------------------------------- ### Python Usage Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/vault_data_manager_client/docs/CreateAccountWithProfileInput.md Example demonstrating how to use the CreateAccountWithProfileInput model in Python. ```APIDOC ## Python Usage Example ### Description This section provides a Python code example for creating and manipulating `CreateAccountWithProfileInput` objects. ### Method N/A (This is a model definition, not an API endpoint) ### Endpoint N/A ### Parameters N/A ### Request Example ```python from affinidi_tdk_vault_data_manager_client.models.create_account_with_profile_input import CreateAccountWithProfileInput # Initialize with required fields create_account_with_profile_input = CreateAccountWithProfileInput( account_index=1.0, account_did="did:example:123", did_proof="eyJhbGciOiJSUzI1NiIsImtpZCI6IjEyMyJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.signature", profile_name="default-profile" ) # Add optional fields create_account_with_profile_input.alias = "my-account" create_account_with_profile_input.account_description = "My primary account" # Convert to dictionary account_input_dict = create_account_with_profile_input.to_dict() print(account_input_dict) # Convert back from dictionary new_instance = CreateAccountWithProfileInput.from_dict(account_input_dict) print(new_instance) ``` ### Response N/A ``` -------------------------------- ### Get Login Configuration by ID with API Key Authentication Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/login_configuration_client/docs/ConfigurationApi.md Retrieve a specific login configuration using its ID. This example demonstrates API Key authentication and includes setup for token refresh. ```python import time import os import affinidi_tdk_login_configuration_client from affinidi_tdk_login_configuration_client.models.login_configuration_object import LoginConfigurationObject from affinidi_tdk_login_configuration_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://apse1.api.affinidi.io/vpa # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_login_configuration_client.Configuration( host = "https://apse1.api.affinidi.io/vpa" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. # Configure API key authorization: ProjectTokenAuth configuration.api_key['ProjectTokenAuth'] = os.environ["API_KEY"] # Configure a hook to auto-refresh API key for your personal access token (PAT), if expired import affinidi_tdk_auth_provider stats = { apiGatewayUrl, keyId, passphrase, privateKey, projectId, tokenEndpoint, tokenId, } authProvider = affinidi_tdk_auth_provider.AuthProvider(stats) configuration.refresh_api_key_hook = lambda api_client: authProvider.fetch_project_scoped_token() # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['ProjectTokenAuth'] = 'Bearer' # Enter a context with an instance of the API client with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = affinidi_tdk_login_configuration_client.ConfigurationApi(api_client) configuration_id = 'configuration_id_example' # str | The id of the login configuration try: # Get login configuration by ID api_response = api_instance.get_login_configurations_by_id(configuration_id) print("The response of ConfigurationApi->get_login_configurations_by_id:\n") pprint(api_response) except Exception as e: print("Exception when calling ConfigurationApi->get_login_configurations_by_id: %s\n" % e) ``` -------------------------------- ### Set Up TDK Clients Source: https://github.com/affinidi/affinidi-tdk/blob/main/tests/integration/python/README.md Make the setup script executable and then run it to configure the necessary TDK clients for integration testing. ```bash chmod +x setup_clients.sh ./setup_clients.sh ``` -------------------------------- ### Install Affinidi TDK Consumer IAM Client via Setuptools Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/consumer_iam_client/README.md Install the Python package using Setuptools. ```sh python setup.py install --user ``` -------------------------------- ### Make Setup Script Executable Source: https://github.com/affinidi/affinidi-tdk/blob/main/tests/integration/java/README.md Make the TDK client setup script executable. This command only needs to be run once. ```bash chmod +x install_modules.sh ``` -------------------------------- ### Java IAM API: Post Proxy Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/java/iam.client/docs/DefaultApi.md This example demonstrates how to post a proxy using the `v1AuthProxyPost` method. It requires proper setup of the ApiClient and DefaultApi. ```java import com.affinidi.tdk.iam.client.ApiClient; import com.affinidi.tdk.iam.client.ApiException; import com.affinidi.tdk.iam.client.Configuration; import com.affinidi.tdk.iam.client.models.*; import com.affinidi.tdk.iam.client.apis.DefaultApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://apse1.api.affinidi.io/iam"); DefaultApi apiInstance = new DefaultApi(defaultClient); String proxy = "proxy_example"; // String | try { apiInstance.v1AuthProxyPost(proxy); } catch (ApiException e) { System.err.println("Exception when calling DefaultApi#v1AuthProxyPost"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` -------------------------------- ### Update Policies using API Key Authentication Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/iam_client/docs/PoliciesApi.md Provides an example for updating policies associated with a principal. This snippet requires an API key to be configured and uses the same setup as the get_policies example. ```python import time import os import affinidi_tdk_iam_client from affinidi_tdk_iam_client.models.policy_dto import PolicyDto from affinidi_tdk_iam_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://apse1.api.affinidi.io/iam # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_iam_client.Configuration( host = "https://apse1.api.affinidi.io/iam" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. # Configure API key authorization: ProjectTokenAuth configuration.api_key['ProjectTokenAuth'] = os.environ["API_KEY"] # Configure a hook to auto-refresh API key for your personal access token (PAT), if expired import affinidi_tdk_auth_provider stats = { apiGatewayUrl, keyId, passphrase, privateKey, projectId, tokenEndpoint, tokenId, } authProvider = affinidi_tdk_auth_provider.AuthProvider(stats) configuration.refresh_api_key_hook = lambda api_client: authProvider.fetch_project_scoped_token() ``` -------------------------------- ### Java Example: Verifying Credentials Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/java/credential.verification.client/README.md Demonstrates how to initialize the API client, configure authentication with an API key, and call the `verifyCredentials` method. Ensure you replace 'YOUR API KEY' with your actual key. ```java import com.affinidi.tdk.credential.verification.client.*; import com.affinidi.tdk.credential.verification.client.auth.*; import com.affinidi.tdk.credential.verification.client.models.*; import com.affinidi.tdk.credential.verification.client.apis.DefaultApi; public class DefaultApiExample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://apse1.api.affinidi.io/ver"); // Configure API key authorization: ProjectTokenAuth ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth"); ProjectTokenAuth.setApiKey("YOUR API KEY"); // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) // ProjectTokenAuth.setApiKeyPrefix("Token"); // ❗️Uncomment the following line to set a dynamic hook to get auth token for authorization instead of setApiKey // defaultClient.setAuthTokenHook(authTokenHook); DefaultApi apiInstance = new DefaultApi(defaultClient); VerifyCredentialInput verifyCredentialInput = new VerifyCredentialInput(); // VerifyCredentialInput | VerifyCredentials try { VerifyCredentialOutput result = apiInstance.verifyCredentials(verifyCredentialInput); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling DefaultApi#verifyCredentials"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` -------------------------------- ### Verify Presentation v2 Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/credential_verification_client/docs/DefaultApi.md Example demonstrating how to verify a Verifiable Presentation (VP) using the v2 endpoint. This includes setting up the client configuration and handling authentication. ```python import time import os import affinidi_tdk_credential_verification_client from affinidi_tdk_credential_verification_client.models.verify_presentation_output import VerifyPresentationOutput from affinidi_tdk_credential_verification_client.models.verify_presentation_v2_input import VerifyPresentationV2Input from affinidi_tdk_credential_verification_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://apse1.api.affinidi.io/ver # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_credential_verification_client.Configuration( host = "https://apse1.api.affinidi.io/ver" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. # Configure API key authorization: ProjectTokenAuth configuration.api_key['ProjectTokenAuth'] = os.environ["API_KEY"] # Configure a hook to auto-refresh API key for your personal access token (PAT), if expired import affinidi_tdk_auth_provider stats = { apiGatewayUrl, keyId, passphrase, privateKey, projectId, tokenEndpoint, tokenId, } authProvider = affinidi_tdk_auth_provider.AuthProvider(stats) configuration.refresh_api_key_hook = lambda api_client: authProvider.fetch_project_scoped_token() # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['ProjectTokenAuth'] = 'Bearer' ``` -------------------------------- ### Get Well-Known DID Configuration Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/iam_client/docs/WellKnownApi.md Use this method to retrieve the DID configuration. Ensure the affinidi_tdk_iam_client is installed and configured. ```python import time import os import affinidi_tdk_iam_client from affinidi_tdk_iam_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://apse1.api.affinidi.io/iam # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_iam_client.Configuration( host = "https://apse1.api.affinidi.io/iam" ) # Enter a context with an instance of the API client with affinidi_tdk_iam_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = affinidi_tdk_iam_client.WellKnownApi(api_client) try: api_response = api_instance.get_well_known_did() print("The response of WellKnownApi->get_well_known_did:\n") pprint(api_response) except Exception as e: print("Exception when calling WellKnownApi->get_well_known_did: %s\n" % e) ``` -------------------------------- ### Install Published Package Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/iota-client/README.md Navigate to your consuming project's directory and run this command to install the published @affinidi-tdk/iota-client package. ```bash npm install @affinidi-tdk/iota-client@1.32.0 --save ``` -------------------------------- ### Create and Use StartIssuanceInput Instance Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/credential_issuance_client/docs/StartIssuanceInput.md Demonstrates how to create a StartIssuanceInput instance from a JSON string, convert it to a dictionary, and create it from a dictionary. Ensure the JSON string is valid. ```python from affinidi_tdk_credential_issuance_client.models.start_issuance_input import StartIssuanceInput # TODO update the JSON string below json = "{}" # create an instance of StartIssuanceInput from a JSON string start_issuance_input_instance = StartIssuanceInput.from_json(json) # print the JSON string representation of the object print StartIssuanceInput.to_json() # convert the object into a dict start_issuance_input_dict = start_issuance_input_instance.to_dict() # create an instance of StartIssuanceInput from a dict start_issuance_input_from_dict = StartIssuanceInput.from_dict(start_issuance_input_dict) ``` -------------------------------- ### v1AuthProxyGet Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/iam-client/docs/DefaultApi.md Use this method to perform a GET operation on the v1 auth proxy. The 'proxy' parameter can be left undefined. ```typescript import { DefaultApi, Configuration } from '@affinidi-tdk/iam-client' const configuration = new Configuration() const apiInstance = new DefaultApi(configuration) let proxy: string // (default to undefined) const { status, data } = await apiInstance.v1AuthProxyGet(proxy) ``` -------------------------------- ### Create Login Configuration Output Auth Python Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/login_configuration_client/docs/CreateLoginConfigurationOutputAuth.md Demonstrates creating an instance of CreateLoginConfigurationOutputAuth from a JSON string, converting it to a dictionary, and creating it from a dictionary. Requires the affinidi_tdk_login_configuration_client library. ```python from affinidi_tdk_login_configuration_client.models.create_login_configuration_output_auth import CreateLoginConfigurationOutputAuth # TODO update the JSON string below json = "{}" # create an instance of CreateLoginConfigurationOutputAuth from a JSON string create_login_configuration_output_auth_instance = CreateLoginConfigurationOutputAuth.from_json(json) # print the JSON string representation of the object print CreateLoginConfigurationOutputAuth.to_json() # convert the object into a dict create_login_configuration_output_auth_dict = create_login_configuration_output_auth_instance.to_dict() # create an instance of CreateLoginConfigurationOutputAuth from a dict create_login_configuration_output_auth_from_dict = CreateLoginConfigurationOutputAuth.from_dict(create_login_configuration_output_auth_dict) ``` -------------------------------- ### Get Policies Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/iam-client/docs/PoliciesApi.md Use this method to retrieve policies for a given principal. Ensure the `principalId` and `principalType` are correctly set. ```typescript import { PoliciesApi, Configuration } from '@affinidi-tdk/iam-client' const configuration = new Configuration() const apiInstance = new PoliciesApi(configuration) let principalId: string // (default to undefined) let principalType: 'user' | 'token' // (default to undefined) const { status, data } = await apiInstance.getPolicies( principalId, principalType, ) ``` -------------------------------- ### Get Proxy Information using Python Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/iam_client/docs/DefaultApi.md Use this snippet to retrieve proxy details. Ensure the affinidi-tdk-iam-client is installed and configured. ```python import time import os import affinidi_tdk_iam_client from affinidi_tdk_iam_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://apse1.api.affinidi.io/iam # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_iam_client.Configuration( host = "https://apse1.api.affinidi.io/iam" ) # Enter a context with an instance of the API client with affinidi_tdk_iam_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = affinidi_tdk_iam_client.DefaultApi(api_client) proxy = 'proxy_example' # str | try: api_instance.v1_idp_proxy_get(proxy) except Exception as e: print("Exception when calling DefaultApi->v1_idp_proxy_get: %s\n" % e) ``` -------------------------------- ### Create PexQuery Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/java/iota.client/docs/PexQueryApi.md Demonstrates how to create a new Presentation Definition query using the PexQueryApi. Requires configuration of the API client and authentication. ```java // Import classes: import com.affinidi.tdk.iota.client.ApiClient; import com.affinidi.tdk.iota.client.ApiException; import com.affinidi.tdk.iota.client.Configuration; import com.affinidi.tdk.iota.client.auth.*; import com.affinidi.tdk.iota.client.models.*; import com.affinidi.tdk.iota.client.apis.PexQueryApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://apse1.api.affinidi.io/ais"); // Configure API key authorization: ProjectTokenAuth ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth"); ProjectTokenAuth.setApiKey("YOUR API KEY"); // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //ProjectTokenAuth.setApiKeyPrefix("Token"); PexQueryApi apiInstance = new PexQueryApi(defaultClient); String configurationId = "configurationId_example"; // String | ID of the Affinidi Iota Framework configuration. CreatePexQueryInput createPexQueryInput = new CreatePexQueryInput(); // CreatePexQueryInput | CreatePexQuery try { PexQueryDto result = apiInstance.createPexQuery(configurationId, createPexQueryInput); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling PexQueryApi#createPexQuery"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` -------------------------------- ### Get Well-Known JWKS Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/vault-data-manager-client/docs/WellKnownApi.md Use this method to retrieve the JWKS used by the services. Ensure the Vault Data Manager client is installed and configured. ```typescript import { WellKnownApi, Configuration, } from '@affinidi-tdk/vault-data-manager-client' const configuration = new Configuration() const apiInstance = new WellKnownApi(configuration) const { status, data } = await apiInstance.getWellKnownJwks() ``` -------------------------------- ### Instantiate WalletDto Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/wallets-client/docs/WalletDto.md Example of how to create an instance of the WalletDto. Ensure all required properties are provided. ```typescript import { WalletDto } from '@affinidi-tdk/wallets-client' const instance: WalletDto = { id, did, name, description, didDocument, ari, keys, createdAt, modifiedAt, } ``` -------------------------------- ### v1IdpProxyGet Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/iam-client/docs/DefaultApi.md Use this method to retrieve data via a GET request to the v1 identity provider proxy. The 'proxy' parameter can be omitted. ```typescript import { DefaultApi, Configuration } from '@affinidi-tdk/iam-client' const configuration = new Configuration() const apiInstance = new DefaultApi(configuration) let proxy: string // (default to undefined) const { status, data } = await apiInstance.v1IdpProxyGet(proxy) ``` -------------------------------- ### Get Consumer Auth Token Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/iam-client/docs/ConsumerAuthApi.md Use this snippet to obtain an OAuth 2.0 token for consumer authentication. Ensure the IAM client is installed and configured. ```typescript import { ConsumerAuthApi, Configuration, ConsumerAuthTokenEndpointInput, } from '@affinidi-tdk/iam-client' const configuration = new Configuration() const apiInstance = new ConsumerAuthApi(configuration) let consumerAuthTokenEndpointInput: ConsumerAuthTokenEndpointInput //ConsumerAuthTokenEndpoint const { status, data } = await apiInstance.consumerAuthTokenEndpoint( consumerAuthTokenEndpointInput, ) ``` -------------------------------- ### Create Wallet with ProjectTokenAuth Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/wallets_client/docs/WalletApi.md This example demonstrates creating a new wallet using ProjectTokenAuth. It requires setting up the API key and optionally configuring a hook for automatic API key refresh. ```python import time import os import affinidi_tdk_wallets_client from affinidi_tdk_wallets_client.models.create_wallet_input import CreateWalletInput from affinidi_tdk_wallets_client.models.create_wallet_response import CreateWalletResponse from affinidi_tdk_wallets_client.rest import ApiException from pprint import pprint configuration = affinidi_tdk_wallets_client.Configuration( host = "https://apse1.api.affinidi.io/cwe" ) configuration.api_key['ProjectTokenAuth'] = os.environ["API_KEY"] import affinidi_tdk_auth_provider stats = { apiGatewayUrl, keyId, passphrase, privateKey, projectId, tokenEndpoint, tokenId, } authProvider = affinidi_tdk_auth_provider.AuthProvider(stats) configuration.refresh_api_key_hook = lambda api_client: authProvider.fetch_project_scoped_token() with affinidi_tdk_wallets_client.ApiClient(configuration) as api_client: api_instance = affinidi_tdk_wallets_client.WalletApi(api_client) create_wallet_input = {"name":"AliceWallet","description":"Personal wallet using did:key","didMethod":"key"} try: api_response = api_instance.create_wallet(create_wallet_input=create_wallet_input) print("The response of WalletApi->create_wallet:\n") pprint(api_response) except Exception as e: print("Exception when calling WalletApi->create_wallet: %s\n" % e) ``` -------------------------------- ### Get WellKnown JWKS Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/consumer-iam-client/docs/WellKnownApi.md Use this method to retrieve the JSON Web Key Set (JWKS) used by the services. Ensure the consumer-iam-client is installed and imported. ```typescript import { WellKnownApi, Configuration } from '@affinidi-tdk/consumer-iam-client' const configuration = new Configuration() const apiInstance = new WellKnownApi(configuration) const { status, data } = await apiInstance.getWellKnownJwks() ``` -------------------------------- ### Get PEX Query by ID Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/iota_client/docs/PexQueryApi.md Example of retrieving a Presentation Definition by its configuration and query IDs using the PexQueryApi. Prints the response or any exceptions encountered. ```python import affinidi_tdk_iota_client from affinidi_tdk_iota_client.models.pex_query_dto import PexQueryDto from affinidi_tdk_iota_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://apse1.api.affinidi.io/ais # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_iota_client.Configuration( host = "https://apse1.api.affinidi.io/ais" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. # Configure API key authorization: ProjectTokenAuth configuration.api_key['ProjectTokenAuth'] = os.environ["API_KEY"] # Configure a hook to auto-refresh API key for your personal access token (PAT), if expired import affinidi_tdk_auth_provider stats = { apiGatewayUrl, keyId, passphrase, privateKey, projectId, tokenEndpoint, tokenId, } authProvider = affinidi_tdk_auth_provider.AuthProvider(stats) configuration.refresh_api_key_hook = lambda api_client: authProvider.fetch_project_scoped_token() # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['ProjectTokenAuth'] = 'Bearer' # Enter a context with an instance of the API client with affinidi_tdk_iota_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = affinidi_tdk_iota_client.PexQueryApi(api_client) configuration_id = 'configuration_id_example' # str | ID of the Affinidi Iota Framework configuration. query_id = 'query_id_example' # str | The ID of the query. try: api_response = api_instance.get_pex_query_by_id(configuration_id, query_id) print("The response of PexQueryApi->get_pex_query_by_id:\n") pprint(api_response) except Exception as e: print("Exception when calling PexQueryApi->get_pex_query_by_id: %s\n" % e) ``` -------------------------------- ### Get User Info Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/java/login.configuration.client/docs/IdpApi.md This example demonstrates how to retrieve user information using the IdpApi with a project ID. It handles potential API exceptions during the call. ```java import com.affinidi.tdk.login.configuration.client.ApiClient; import com.affinidi.tdk.login.configuration.client.ApiException; import com.affinidi.tdk.login.configuration.client.Configuration; import com.affinidi.tdk.login.configuration.client.models.*; import com.affinidi.tdk.login.configuration.client.apis.IdpApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://apse1.api.affinidi.io/vpa"); IdpApi apiInstance = new IdpApi(defaultClient); String projectId = "projectId_example"; // String | try { GetUserInfo result = apiInstance.v1LoginProjectProjectIdUserinfoGet(projectId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling IdpApi#v1LoginProjectProjectIdUserinfoGet"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` -------------------------------- ### Instantiate WalletKeyDto Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/wallets-client/docs/WalletKeyDto.md Example of creating a WalletKeyDto instance. Ensure all required properties are provided. ```typescript import { WalletKeyDto } from '@affinidi-tdk/wallets-client' const instance: WalletKeyDto = { keyId, keyType, keyAri, relationships, } ``` -------------------------------- ### Create Login Configuration Input Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/typescript/login-configuration-client/docs/CreateLoginConfigurationInput.md Example of how to construct the CreateLoginConfigurationInput object. Ensure all required properties are provided. ```typescript import { CreateLoginConfigurationInput } from '@affinidi-tdk/login-configuration-client' const instance: CreateLoginConfigurationInput = { name, description, redirectUris, postLogoutRedirectUris, vpDefinition, presentationDefinition, dcqlQuery, idTokenMapping, clientMetadata, claimFormat, failOnMappingConflict, scope, tokenEndpointAuthMethod, } ``` -------------------------------- ### Get Issuance State Example Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/java/credential.issuance.client/docs/IssuanceApi.md Use this method to retrieve the current status of an issuance process. Ensure your API key is configured correctly for authentication. ```java import com.affinidi.tdk.credential.issuance.client.ApiClient; import com.affinidi.tdk.credential.issuance.client.ApiException; import com.affinidi.tdk.credential.issuance.client.Configuration; import com.affinidi.tdk.credential.issuance.client.auth.*; import com.affinidi.tdk.credential.issuance.client.models.*; import com.affinidi.tdk.credential.issuance.client.apis.IssuanceApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://apse1.api.affinidi.io/cis"); // Configure API key authorization: ProjectTokenAuth ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth"); ProjectTokenAuth.setApiKey("YOUR API KEY"); // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //ProjectTokenAuth.setApiKeyPrefix("Token"); IssuanceApi apiInstance = new IssuanceApi(defaultClient); String issuanceId = "issuanceId_example"; // String | String projectId = "projectId_example"; // String | Affinidi project id try { IssuanceStateResponse result = apiInstance.issuanceState(issuanceId, projectId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling IssuanceApi#issuanceState"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` -------------------------------- ### Copy Environment Configuration Source: https://github.com/affinidi/affinidi-tdk/blob/main/tests/integration/java/README.md Copy the example environment configuration file to be used for tests. Ensure you update it with your specific project and PAT details. ```bash cp .env.example .env ``` -------------------------------- ### Convert IssuanceConfigDto to JSON Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/credential_issuance_client/docs/IssuanceConfigDto.md Use this method to get a JSON string representation of an IssuanceConfigDto object. No specific setup is required beyond having an instance of the object. ```python print IssuanceConfigDto.to_json() ``` -------------------------------- ### List Principals of a Project with Project Token Authentication Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/iam_client/docs/ProjectsApi.md Lists principals associated with a project using Project Token Authentication. This example shows the initial setup for the client configuration. ```python import time import os import affinidi_tdk_iam_client from affinidi_tdk_iam_client.models.user_list import UserList from affinidi_tdk_iam_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://apse1.api.affinidi.io/iam # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_iam_client.Configuration( host = "https://apse1.api.affinidi.io/iam" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. ``` -------------------------------- ### Get Token using IAM Client Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/python/iam_client/docs/TokensApi.md Retrieves a specific token using the IAM client. This example shows how to configure the client with an API key and set up an automatic refresh hook. ```python import time import os import affinidi_tdk_iam_client from affinidi_tdk_iam_client.models.token_dto import TokenDto from affinidi_tdk_iam_client.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://apse1.api.affinidi.io/iam # See configuration.py for a list of all supported configuration parameters. configuration = affinidi_tdk_iam_client.Configuration( host = "https://apse1.api.affinidi.io/iam" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. # Configure API key authorization: UserTokenAuth configuration.api_key['UserTokenAuth'] = os.environ["API_KEY"] # Configure a hook to auto-refresh API key for your personal access token (PAT), if expired import affinidi_tdk_auth_provider stats = { apiGatewayUrl, keyId, passphrase, privateKey, projectId, tokenEndpoint, tokenId, } authProvider = affinidi_tdk_auth_provider.AuthProvider(stats) configuration.refresh_api_key_hook = lambda api_client: authProvider.fetch_project_scoped_token() # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['UserTokenAuth'] = 'Bearer' # Enter a context with an instance of the API client with affinidi_tdk_iam_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = affinidi_tdk_iam_client.TokensApi(api_client) token_id = 'token_id_example' # str | try: api_response = api_instance.get_token(token_id) print("The response of TokensApi->get_token:\n") pprint(api_response) except Exception as e: print("Exception when calling TokensApi->get_token: %s\n" % e) ``` -------------------------------- ### List Login Configurations with Java Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/java/login.configuration.client/docs/ConfigurationApi.md This snippet demonstrates how to list login configurations using the Affinidi TDK Java client. It includes setting up the API client, authentication, and making the API call. Ensure you replace 'YOUR API KEY' with your actual project token. ```java import com.affinidi.tdk.login.configuration.client.ApiClient; import com.affinidi.tdk.login.configuration.client.ApiException; import com.affinidi.tdk.login.configuration.client.Configuration; import com.affinidi.tdk.login.configuration.client.auth.*; import com.affinidi.tdk.login.configuration.client.models.*; import com.affinidi.tdk.login.configuration.client.apis.ConfigurationApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://apse1.api.affinidi.io/vpa"); // Configure API key authorization: ProjectTokenAuth ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth"); ProjectTokenAuth.setApiKey("YOUR API KEY"); // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //ProjectTokenAuth.setApiKeyPrefix("Token"); ConfigurationApi apiInstance = new ConfigurationApi(defaultClient); Integer limit = 56; // Integer | Maximum number of records to fetch in a list String exclusiveStartKey = "exclusiveStartKey_example"; // String | The base64url encoded key of the first item that this operation will evaluate (it is not returned). Use the value that was returned in the previous operation. try { ListLoginConfigurationOutput result = apiInstance.listLoginConfigurations(limit, exclusiveStartKey); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ConfigurationApi#listLoginConfigurations"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` -------------------------------- ### Get Issuance Configuration by ID in Java Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/java/credential.issuance.client/docs/ConfigurationApi.md Retrieve an issuance configuration by its ID. This example shows how to set up the API client, authenticate, and make the request. The response includes the `IssuanceConfigDto` object. ```java import com.affinidi.tdk.credential.issuance.client.ApiClient; import com.affinidi.tdk.credential.issuance.client.ApiException; import com.affinidi.tdk.credential.issuance.client.Configuration; import com.affinidi.tdk.credential.issuance.client.auth.*; import com.affinidi.tdk.credential.issuance.client.models.*; import com.affinidi.tdk.credential.issuance.client.apis.ConfigurationApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://apse1.api.affinidi.io/cis"); // Configure API key authorization: ProjectTokenAuth ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth"); ProjectTokenAuth.setApiKey("YOUR API KEY"); // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) //ProjectTokenAuth.setApiKeyPrefix("Token"); ConfigurationApi apiInstance = new ConfigurationApi(defaultClient); String configurationId = "configurationId_example"; // String | The id of the issuance configuration try { IssuanceConfigDto result = apiInstance.getIssuanceConfigById(configurationId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ConfigurationApi#getIssuanceConfigById"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } } ``` -------------------------------- ### GET /v1/logged-consents Source: https://github.com/affinidi/affinidi-tdk/blob/main/clients/java/iota.client/docs/DefaultApi.md Lists all the logged consents for a project. This endpoint allows retrieval of consent records associated with a specific project, user, and can be filtered by limit and an exclusive start key for pagination. ```APIDOC ## GET /v1/logged-consents ### Description Lists all the logged consents for a project. ### Method GET ### Endpoint /v1/logged-consents ### Parameters #### Query Parameters - **configurationId** (String) - Optional - - **userId** (String) - Optional - - **limit** (Integer) - Optional - The maximum number of records to fetch from the list of logged consents. - **exclusiveStartKey** (String) - Optional - The base64url encoded key of the first item that this operation will evaluate (it is not returned). Use the value that was returned in the previous operation. ### Request Example ```json { "configurationId": "configurationId_example", "userId": "userId_example", "limit": 56, "exclusiveStartKey": "exclusiveStartKey_example" } ``` ### Response #### Success Response (200) - **ListLoggedConsentsOK** (object) - Description of the successful response object. #### Response Example ```json { "example": "response body" } ``` ### Authorization ProjectTokenAuth ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ```