aries_cloudagent.protocols.issue_credential.v1_0 package

aries_cloudagent.protocols.issue_credential.v1_0.problem_report_for_record(record: Union[aries_cloudagent.connections.models.conn_record.ConnRecord, aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange], desc_en: str) → aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_problem_report.CredentialProblemReport[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.v1_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.v1_0.models.credential_exchange.V10CredentialExchange], 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.v1_0.controller module

Protocol controller for issue credential v1_0.

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

Bases: object

Issue credential v1_0 protocol controller.

determine_goal_codes() → Sequence[str][source]

Return defined goal_codes.

aries_cloudagent.protocols.issue_credential.v1_0.manager module

Classes to manage credentials.

class aries_cloudagent.protocols.issue_credential.v1_0.manager.CredentialManager(profile: aries_cloudagent.core.profile.Profile)[source]

Bases: object

Class for managing credentials.

create_offer(cred_ex_record: aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, counter_proposal: aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_proposal.CredentialProposal = None, 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:
  • cred_ex_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(cred_ex_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:
  • cred_ex_record – Credential exchange record for which to create request
  • holder_did – holder DID
Returns:

A tuple (credential exchange record, credential request message)

issue_credential(cred_ex_record: aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, *, comment: str = None, retries: int = 5) → 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:
  • cred_ex_record – The credential exchange record for which to issue a credential
  • comment – optional human-readable comment pertaining to credential issue
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, 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]

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
  • auto_remove – Flag to automatically remove the record on completion
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(message: aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_issue.CredentialIssue, connection_id: Optional[str]) → 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(message: aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_ack.CredentialAck, connection_id: Optional[str]) → Optional[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(message: aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_offer.CredentialOffer, connection_id: Optional[str]) → aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange[source]

Receive a credential offer.

Returns:The credential exchange record, updated
receive_problem_report(message: aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_problem_report.CredentialProblemReport, connection_id: str)[source]

Receive problem report.

Returns:credential exchange record, retrieved and updated
receive_proposal(message: aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_proposal.CredentialProposal, connection_id: str) → aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange[source]

Receive a credential proposal.

Returns:The resulting credential exchange record, created
receive_request(message: aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_request.CredentialRequest, 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])[source]

Receive a credential request.

Parameters:credential_request_message – Credential request to receive
Returns:credential exchange record, retrieved and updated
send_credential_ack(cred_ex_record: aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange) → Tuple[aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, aries_cloudagent.protocols.issue_credential.v1_0.messages.credential_ack.CredentialAck][source]

Create, send, and return ack message for input credential exchange record.

Delete credential exchange record if set to auto-remove.

Returns:a tuple of the updated credential exchange record and the credential ack message for tracing
store_credential(cred_ex_record: aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange, credential_id: str = None) → aries_cloudagent.protocols.issue_credential.v1_0.models.credential_exchange.V10CredentialExchange[source]

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

Parameters:
  • cred_ex_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

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.CredExIdMatchInfoSchema(*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.v1_0.routes.CredIdMatchInfoSchema(*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.v1_0.routes.IssueCredentialModuleResponseSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Response schema for Issue Credential Module.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialBoundOfferRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for sending bound credential offer admin message.

counter_proposal

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialConnFreeOfferRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.utils.tracing.AdminAPIMessageTracingSchema

Request schema for creating connection free credential offer.

auto_issue

Used by autodoc_mock_imports.

auto_remove

Used by autodoc_mock_imports.

comment

Used by autodoc_mock_imports.

cred_def_id

Used by autodoc_mock_imports.

credential_preview

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialCreateSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.utils.tracing.AdminAPIMessageTracingSchema

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

auto_remove

Used by autodoc_mock_imports.

comment

Used by autodoc_mock_imports.

cred_def_id

Used by autodoc_mock_imports.

credential_proposal

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.v1_0.routes.V10CredentialExchangeAutoRemoveRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request Schema for overriding default preserve exchange records setting.

auto_remove

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialExchangeListQueryStringSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Parameters and validators for credential exchange 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.v1_0.routes.V10CredentialExchangeListResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

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

results

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialFreeOfferRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.utils.tracing.AdminAPIMessageTracingSchema

Request schema for sending free credential offer admin message.

auto_issue

Used by autodoc_mock_imports.

auto_remove

Used by autodoc_mock_imports.

comment

Used by autodoc_mock_imports.

connection_id

Used by autodoc_mock_imports.

cred_def_id

Used by autodoc_mock_imports.

credential_preview

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialIssueRequestSchema(*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.v1_0.routes.V10CredentialProblemReportRequestSchema(*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.v1_0.routes.V10CredentialProposalRequestMandSchema(*args, **kwargs)[source]

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

Request schema for sending credential proposal on mandatory proposal preview.

credential_proposal

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialProposalRequestOptSchema(*args, **kwargs)[source]

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

Request schema for sending credential proposal on optional proposal preview.

credential_proposal

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.issue_credential.v1_0.routes.V10CredentialProposalRequestSchemaBase(*args, **kwargs)[source]

Bases: aries_cloudagent.utils.tracing.AdminAPIMessageTracingSchema

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

auto_remove

Used by autodoc_mock_imports.

comment

Used by autodoc_mock_imports.

connection_id

Used by autodoc_mock_imports.

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.v1_0.routes.V10CredentialStoreRequestSchema(*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.

aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_create(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc0445c8430>)[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.v1_0.routes.credential_exchange_create_free_offer(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc0445c8430>)[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.v1_0.routes.credential_exchange_issue(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc0445c8430>)[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 0x7fc0445c8430>)[source]

Request handler for searching credential exchange 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 0x7fc0445c8430>)[source]

Request handler for sending problem report.

Parameters:request – aiohttp request object
aries_cloudagent.protocols.issue_credential.v1_0.routes.credential_exchange_remove(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc0445c8430>)[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 0x7fc0445c8430>)[source]

Request handler for fetching single credential exchange record.

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

Request handler for storing credential.

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

Amend swagger API.

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

Register routes.