Skip to main content

Wallet Offer Response

POST 

/api/v1/wallet/offers/:offerId/response

Called by the holder's wallet to accept or reject a credential offer.

POST to the walletResponseUrl returned by Create Credential Offer exactly as given. Its token query parameter is the authorization — the offer ID alone is not enough. A missing or wrong token returns the same 404 as an unknown offer.

The wallet can respond while the offer is pending or after the credential is claimed:

actionResult
acceptedStatus becomes accepted (respondedAt, acceptedAt). If the credential has not been issued yet, the issuance is recorded on the accepted offer when it happens
rejectedStatus becomes rejected (failureReason wallet_rejected). Credential Factory also tries to revoke the credential's Network Credential Registry entry; that step is best effort and does not change the response

Repeating the same answer returns 200 again (idempotent). A different answer after the offer was settled (for example rejecting after accepting), or a response to an offer that is expired, revoked or suspended, returns 409. A pending offer past its TTL returns 410; once its expired status has been stored, the call returns 409.

Authentication: None (the token is the capability). Treat walletResponseUrl as a secret: anything that logs full request URLs will record the token.

Request​

Responses​

Response acknowledged.