aries_cloudagent.protocols.issue_credential.v1_0 package

Submodules

aries_cloudagent.protocols.issue_credential.v1_0.manager module

Classes to manage credentials.

class aries_cloudagent.protocols.issue_credential.v1_0.manager.CredentialManager(context: aries_cloudagent.config.injection_context.InjectionContext)[source]

Bases: object

Class for managing credentials.

context

Accessor for the current request context.

Returns:The request context for this connection
create_offer(credential_exchange_record: aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, comment: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_offer.CredentialOffer][source]

Create a credential offer, update credential exchange record.

Parameters:
  • credential_exchange_record – Credential exchange to create offer for
  • comment – optional human-readable comment to set in offer message
Returns:

A tuple (credential exchange record, credential offer message)

create_proposal(connection_id: str, *, auto_offer: bool = None, auto_remove: bool = None, comment: str = None, credential_preview: aries_cloudagent.protocols.issue_credential.v1_0.messages.inner.credential_preview.CredentialPreview = None, schema_id: str = None, schema_issuer_did: str = None, schema_name: str = None, schema_version: str = None, cred_def_id: str = None, issuer_did: str = None, trace: bool = False) → aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange[source]

Create a credential proposal.

Parameters:
  • connection_id – Connection to create proposal for
  • auto_offer – Should this proposal request automatically be handled to offer a credential
  • auto_remove – Should the record be automatically removed on completion
  • comment – Optional human-readable comment to include in proposal
  • credential_preview – The credential preview to use to create the credential proposal
  • schema_id – Schema id for credential proposal
  • schema_issuer_did – Schema issuer DID for credential proposal
  • schema_name – Schema name for credential proposal
  • schema_version – Schema version for credential proposal
  • cred_def_id – Credential definition id for credential proposal
  • issuer_did – Issuer DID for credential proposal
Returns:

Resulting credential exchange record including credential proposal

create_request(credential_exchange_record: aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, holder_did: str) → Tuple[aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_request.CredentialRequest][source]

Create a credential request.

Parameters:
  • credential_exchange_record – Credential exchange record for which to create request
  • holder_did – holder DID
Returns:

A tuple (credential exchange record, credential request message)

issue_credential(credential_exchange_record: aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, *, comment: str = None, credential_values: dict) → Tuple[aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_issue.CredentialIssue][source]

Issue a credential.

Parameters:
  • credential_exchange_record – The credential exchange record for which to issue a credential
  • comment – optional human-readable comment pertaining to credential issue
  • credential_values – dict of credential attribute {name: value} pairs
Returns:

(Updated credential exchange record, credential message)

Return type:

Tuple

prepare_send(connection_id: str, credential_proposal: aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_proposal.CredentialProposal, auto_remove: bool = None) → Tuple[aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_offer.CredentialOffer][source]

Set up a new credential exchange for an automated send.

Parameters:
  • connection_id – Connection to create offer for
  • credential_proposal – The credential proposal with preview on attribute values to use if auto_issue is enabled
  • auto_remove – Flag to automatically remove the record on completion
Returns:

A tuple of the new credential exchange record and credential offer message

publish_pending_revocations() → Mapping[str, Sequence[str]][source]

Publish pending revocations to the ledger.

Returns: mapping from each revocation registry id to its cred rev ids published.

receive_credential() → aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange[source]

Receive a credential from an issuer.

Hold in storage potentially to be processed by controller before storing.

Returns:Credential exchange record, retrieved and updated
receive_credential_ack() → aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange[source]

Receive credential ack from holder.

Returns:credential exchange record, retrieved and updated
receive_offer() → aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange[source]

Receive a credential offer.

Returns:The credential exchange record, updated
receive_proposal() → aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange[source]

Receive a credential proposal from message in context on manager creation.

Returns:The resulting credential exchange record, created
receive_request()[source]

Receive a credential request.

Parameters:credential_request_message – Credential request to receive
Returns:credential exchange record, retrieved and updated
revoke_credential(rev_reg_id: str, cred_rev_id: str, publish: bool = False)[source]

Revoke a previously-issued credential.

Optionally, publish the corresponding revocation registry delta to the ledger.

Parameters:
  • rev_reg_id – revocation registry id
  • cred_rev_id – credential revocation id
  • publish – whether to publish the resulting revocation registry delta
store_credential(credential_exchange_record: aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, credential_id: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_ack.CredentialAck][source]

Store a credential in holder wallet; send ack to issuer.

Parameters:
  • credential_exchange_record – credential exchange record with credential to store and ack
  • credential_id – optional credential identifier to override default on storage
Returns:

(Updated credential exchange record, credential ack message)

Return type:

Tuple

exception aries_cloudagent.protocols.issue_credential.v1_0.manager.CredentialManagerError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Credential error.

aries_cloudagent.protocols.issue_credential.v1_0.message_types module

Message and inner object type identifiers for Connections.

aries_cloudagent.protocols.issue_credential.v1_0.routes module

Credential exchange admin routes.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10AttributeMimeTypesResultSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: marshmallow.schema.Schema

Result schema for credential attribute MIME types by credential definition.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialExchangeListResultSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: marshmallow.schema.Schema

Result schema for Aries#0036 v1.0 credential exchange query.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialIssueRequestSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: marshmallow.schema.Schema

Request schema for sending credential issue admin message.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialOfferRequestSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: aries_cloudagent.utils.tracing.AdminAPIMessageTracingSchema

Request schema for sending credential offer admin message.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialProblemReportRequestSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: marshmallow.schema.Schema

Request schema for sending problem report.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialProposalRequestMandSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialProposalRequestSchemaBase

Request schema for sending credential proposal on mandatory proposal preview.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialProposalRequestOptSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialProposalRequestSchemaBase

Request schema for sending credential proposal on optional proposal preview.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialProposalRequestSchemaBase(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: aries_cloudagent.utils.tracing.AdminAPIMessageTracingSchema

Base class for request schema for sending credential proposal admin message.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialStoreRequestSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: marshmallow.schema.Schema

Request schema for sending a credential store admin message.

opts = <marshmallow.schema.SchemaOpts object>
class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10PublishRevocationsResultSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]

Bases: marshmallow.schema.Schema

Result schema for revocation publication API call.

opts = <marshmallow.schema.SchemaOpts object>
aries_cloudagent.protocols.issue_credential.v1_0.routes.attribute_mime_types_get(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for getting credential attribute MIME types.

Parameters:request – aiohttp request object
Returns:The MIME types response
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_issue(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for sending credential.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_list(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for searching connection records.

Parameters:request – aiohttp request object
Returns:The connection list response
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_problem_report(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for sending problem report.

Parameters:request – aiohttp request object
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_publish_revocations(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for publishing pending revocations to the ledger.

Parameters:request – aiohttp request object
Returns:Credential revocation ids published as revoked by revocation registry id.
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_remove(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for removing a credential exchange record.

Parameters:request – aiohttp request object
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_retrieve(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for fetching single connection record.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_revoke(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for storing a credential request.

Parameters:request – aiohttp request object
Returns:The credential request details.
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_send(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for sending credential from issuer to holder from attr values.

If both issuer and holder are configured for automatic responses, the operation ultimately results in credential issue; otherwise, the result waits on the first response not automated; the credential exchange record retains state regardless.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_send_bound_offer(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for sending bound credential offer.

A holder initiates this sequence with a credential proposal; this message responds with an offer bound to the proposal.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_send_free_offer(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for sending free credential offer.

An issuer initiates a such a credential offer, free from any holder-initiated corresponding credential proposal with preview.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_send_proposal(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for sending credential proposal.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_send_request(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for sending credential request.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_store(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Request handler for storing credential.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v1_0.routes.register(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7f9c16daddd8>)[source]

Register routes.