aries_cloudagent.protocols.issue_credential.v2_0 package

aries_cloudagent.protocols.issue_credential.v2_0.problem_report_for_record(record: Union[aries_cloudagent.connections.models.conn_record.ConnRecord, aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord], desc_en: str) → aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_problem_report.V20CredProblemReport[source]

Create problem report for record.

Parameters:
  • record – connection or exchange record
  • desc_en – description text to include in problem report
aries_cloudagent.protocols.issue_credential.v2_0.report_problem(err: aries_cloudagent.core.error.BaseError, desc_en: str, http_error_class, record: Union[aries_cloudagent.connections.models.conn_record.ConnRecord, aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord], outbound_handler: Coroutine)[source]

Send problem report response and raise corresponding HTTP error.

Parameters:
  • err – error for internal diagnostics
  • desc_en – description text to include in problem report (response)
  • http_error_class – HTTP error to raise
  • record – record to cite by thread in problem report
  • outbound_handler – outbound message handler

Subpackages

Submodules

aries_cloudagent.protocols.issue_credential.v2_0.controller module

Protocol controller for issue credential v2_0.

class aries_cloudagent.protocols.issue_credential.v2_0.controller.Controller(protocol: str)[source]

Bases: object

Issue credential v2_0 protocol controller.

determine_goal_codes() → Sequence[str][source]

Return defined goal_codes.

aries_cloudagent.protocols.issue_credential.v2_0.manager module

V2.0 issue-credential protocol manager.

class aries_cloudagent.protocols.issue_credential.v2_0.manager.V20CredManager(profile: aries_cloudagent.core.profile.Profile)[source]

Bases: object

Class for managing credentials.

create_offer(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, counter_proposal: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_proposal.V20CredProposal = None, replacement_id: str = None, comment: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_offer.V20CredOffer][source]

Create credential offer, update credential exchange record.

Parameters:
  • cred_ex_record – credential exchange record for which to create offer
  • replacement_id – identifier to help coordinate credential replacement
  • 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_remove: bool = None, comment: str = None, cred_preview: aries_cloudagent.protocols.issue_credential.v2_0.messages.inner.cred_preview.V20CredPreview, fmt2filter: Mapping[aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_format.V20CredFormat.Format, Mapping[str, str]], trace: bool = False) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Create a credential proposal.

Parameters:
  • connection_id – connection for which to create proposal
  • auto_remove – whether to remove record automatically on completion
  • comment – optional human-readable comment to include in proposal
  • cred_preview – credential preview to use to create credential proposal
  • fmt2filter – mapping between format and filter
  • trace – whether to trace the operation
Returns:

Resulting credential exchange record including credential proposal

create_request(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, holder_did: str, comment: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_request.V20CredRequest][source]

Create a credential request.

Parameters:
  • cred_ex_record – credential exchange record for which to create request
  • holder_did – holder DID
  • comment – optional human-readable comment to set in request message
Returns:

A tuple (credential exchange record, credential request message)

delete_cred_ex_record(cred_ex_id: str) → None[source]

Delete credential exchange record and associated detail records.

issue_credential(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, *, comment: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_issue.V20CredIssue][source]

Issue a credential.

Parameters:
  • cred_ex_record – credential exchange record for which to issue credential
  • comment – optional human-readable comment pertaining to credential issue
Returns:

(Updated credential exchange record, credential issue message)

Return type:

Tuple

prepare_send(connection_id: str, cred_proposal: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_proposal.V20CredProposal, verification_method: Optional[str] = None, auto_remove: bool = None, replacement_id: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_offer.V20CredOffer][source]

Set up a new credential exchange record for an automated send.

Parameters:
  • connection_id – connection for which to create offer
  • cred_proposal – credential proposal with preview
  • verification_method – an optional verification method to be used when issuing
  • auto_remove – flag to remove the record automatically on completion
  • replacement_id – identifier to help coordinate credential replacement
Returns:

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

profile

Accessor for the current profile instance.

Returns:The profile instance for this credential manager
receive_credential(cred_issue_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_issue.V20CredIssue, connection_id: Optional[str]) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive a credential issue message from an issuer.

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

Returns:Credential exchange record, retrieved and updated
receive_credential_ack(cred_ack_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_ack.V20CredAck, connection_id: Optional[str]) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive credential ack from holder.

Parameters:
  • cred_ack_message – credential ack message to receive
  • connection_id – connection identifier
Returns:

credential exchange record, retrieved and updated

receive_offer(cred_offer_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_offer.V20CredOffer, connection_id: Optional[str]) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive a credential offer.

Parameters:
  • cred_offer_message – credential offer message
  • connection_id – connection identifier
Returns:

The credential exchange record, updated

receive_problem_report(message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_problem_report.V20CredProblemReport, connection_id: str)[source]

Receive problem report.

Returns:credential exchange record, retrieved and updated
receive_proposal(cred_proposal_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_proposal.V20CredProposal, connection_id: str) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive a credential proposal.

Returns:The resulting credential exchange record, created
receive_request(cred_request_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_request.V20CredRequest, connection_record: Optional[aries_cloudagent.connections.models.conn_record.ConnRecord], oob_record: Optional[aries_cloudagent.protocols.out_of_band.v1_0.models.oob_record.OobRecord]) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive a credential request.

Parameters:
  • cred_request_message – credential request to receive
  • connection_id – connection identifier
Returns:

credential exchange record, updated

send_cred_ack(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord)[source]

Create, send, and return ack message for input cred ex record.

Delete cred ex record if set to auto-remove.

Returns:cred ex record, cred ack message for tracing
Return type:Tuple
store_credential(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, cred_id: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_ack.V20CredAck][source]

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

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

Updated credential exchange record

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

Bases: aries_cloudagent.core.error.BaseError

Credential manager error under issue-credential protocol v2.0.

aries_cloudagent.protocols.issue_credential.v2_0.message_types module

Message and inner object type identifiers for Connections.

aries_cloudagent.protocols.issue_credential.v2_0.routes module

Credential exchange admin routes.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredBoundOfferRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for sending bound credential offer admin message.

counter_preview

Used by autodoc_mock_imports.

filter_

Used by autodoc_mock_imports.

validate_fields(data, **kwargs)[source]

Validate schema fields: need both filter and counter_preview or neither.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExFreeSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.protocols.issue_credential.v2_0.routes.V20IssueCredSchemaCore

Request schema for sending credential admin message.

connection_id

Used by autodoc_mock_imports.

verification_method

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExIdMatchInfoSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Path parameters and validators for request taking credential exchange id.

cred_ex_id

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExRecordDetailSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Credential exchange record and any per-format details.

cred_ex_record

Used by autodoc_mock_imports.

indy

Used by autodoc_mock_imports.

ld_proof

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExRecordListQueryStringSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Parameters and validators for credential exchange record list query.

connection_id

Used by autodoc_mock_imports.

role

Used by autodoc_mock_imports.

state

Used by autodoc_mock_imports.

thread_id

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExRecordListResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Result schema for credential exchange record list query.

results

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredFilterIndySchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Indy credential filtration criteria.

cred_def_id

Used by autodoc_mock_imports.

issuer_did

Used by autodoc_mock_imports.

schema_id

Used by autodoc_mock_imports.

schema_issuer_did

Used by autodoc_mock_imports.

schema_name

Used by autodoc_mock_imports.

schema_version

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredFilterLDProofSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Credential filtration criteria.

ld_proof

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredFilterSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Credential filtration criteria.

indy

Used by autodoc_mock_imports.

ld_proof

Used by autodoc_mock_imports.

validate_fields(data, **kwargs)[source]

Validate schema fields.

Data must have indy, ld_proof, or both.

Parameters:data – The data to validate
Raises:ValidationError – if data has neither indy nor ld_proof
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredIdMatchInfoSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Path parameters and validators for request taking credential id.

credential_id

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredIssueProblemReportRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for sending problem report.

description

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredIssueRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for sending credential issue admin message.

comment

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredOfferConnFreeRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.protocols.issue_credential.v2_0.routes.V20IssueCredSchemaCore

Request schema for creating credential offer free from connection.

auto_issue

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredOfferRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.protocols.issue_credential.v2_0.routes.V20IssueCredSchemaCore

Request schema for sending credential offer admin message.

auto_issue

Used by autodoc_mock_imports.

connection_id

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredRequestFreeSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.utils.tracing.AdminAPIMessageTracingSchema

Filter, auto-remove, comment, trace.

auto_remove

Used by autodoc_mock_imports.

comment

Used by autodoc_mock_imports.

connection_id

Used by autodoc_mock_imports.

filter_

Used by autodoc_mock_imports.

holder_did

Used by autodoc_mock_imports.

trace

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredRequestRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for sending credential request message.

auto_remove

Used by autodoc_mock_imports.

holder_did

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredStoreRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for sending a credential store admin message.

credential_id

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20IssueCredSchemaCore(*args, **kwargs)[source]

Bases: aries_cloudagent.utils.tracing.AdminAPIMessageTracingSchema

Filter, auto-remove, comment, trace.

auto_remove

Used by autodoc_mock_imports.

comment

Used by autodoc_mock_imports.

credential_preview

Used by autodoc_mock_imports.

filter_

Used by autodoc_mock_imports.

replacement_id

Used by autodoc_mock_imports.

validate(data, **kwargs)[source]

Make sure preview is present when indy format is present.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20IssueCredentialModuleResponseSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Response schema for v2.0 Issue Credential Module.

aries_cloudagent.protocols.issue_credential.v2_0.routes.credential_exchange_create(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc043dc0700>)[source]

Request handler for creating a credential from attr values.

The internal credential record will be created without the credential being sent to any connection. This can be used in conjunction with the oob protocols to bind messages to an out of band message.

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

Request handler for creating free credential offer.

Unlike with send-offer, this credential exchange is not tied to a specific connection. It must be dispatched out-of-band by the controller.

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

Request handler for sending credential.

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

Request handler for searching credential exchange records.

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

Request handler for sending problem report.

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

Request handler for removing a credential exchange record.

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

Request handler for fetching single credential exchange record.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v2_0.routes.credential_exchange_send(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc043dc0700>)[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.v2_0.routes.credential_exchange_send_bound_offer(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc043dc0700>)[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.v2_0.routes.credential_exchange_send_bound_request(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc043dc0700>)[source]

Request handler for sending credential request.

Parameters:request – aiohttp request object
Returns:The credential exchange record
aries_cloudagent.protocols.issue_credential.v2_0.routes.credential_exchange_send_free_offer(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc043dc0700>)[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.v2_0.routes.credential_exchange_send_free_request(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc043dc0700>)[source]

Request handler for sending free credential request.

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

Request handler for sending credential proposal.

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

Request handler for storing credential.

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

Amend swagger API.

aries_cloudagent.protocols.issue_credential.v2_0.routes.register(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc043dc0700>)[source]

Register routes.