Update wallet unit
PUT/v2/config/digital-wallet/openid/wallet-provider/wallet-unit/:walletUnitId
Updates one wallet unit that the wallet provider manages. All fields in the body are optional, but isAuthorised behaves differently from the others: the service always forwards it, so if you do not give isAuthorised, the service sets it to false and the wallet unit loses its authorisation. Always send the value that you want to keep. If you leave out clientId, clientUrl or clientPublicKey, the service keeps the stored value. The organisation must have the wallet provider capability enabled.
Request
Path Parameters
Unique identifier of a wallet unit registration managed by the Wallet Provider.
Header Parameters
Optional. Unique identifier of the sandbox organisation to use for this request. When you send this header, the service runs the operation in the context of the named sandbox organisation, that is, against the wallet of that sandbox organisation and not against the main wallet of the organisation. Leave the header out to use the main wallet.
The service reads this header only when you authenticate with a bearer access token. When you authenticate with an API key, the service takes the sandbox organisation from the API key and ignores this header. To run an API-key call in a sandbox organisation, bind the key to the sandbox organisation with PUT /v2/config/admin/apikey/{apiKeyId}/sandbox-org instead.
X-SubwalletId is the deprecated name of this header. The service continues to accept it, but X-SandboxOrgId wins if you send both headers.
The sandbox organisation must exist, must belong to your organisation and must be deployed. An unknown identifier, an identifier of a sandbox organisation that is not deployed, and an identifier that belongs to a different organisation all make the call fail with HTTP 400.
- application/json
Body
required
New values for the wallet unit.
Client identifier of the wallet instance. This is a DID or a URL. The wallet provider uses it to identify the wallet during OID4VCI and OpenID4VP flows. The service keeps the stored value when you send an empty string.
URL endpoint of the wallet instance.
clientPublicKey object
Public key of the wallet instance in JWK format. The wallet provider uses this key to verify the Wallet Unit Attestation Proof of Possession.
Public key of the wallet instance in JWK format. The wallet provider uses this key to verify the Wallet Unit Attestation Proof of Possession.
Default value: false
Set to true to authorise the wallet unit. An authorised wallet unit can request a Wallet Unit Attestation. The service forwards this field with every update request, so leaving it out sets it to false.
Responses
- 200
- 400
- 401
- 500
The wallet provider updated the wallet unit.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
walletUnit objectrequired
The wallet unit record after the update.
Unique identifier for the wallet unit record. Use this value as the walletUnitId path parameter.
Client identifier of the wallet instance, typically a DID or URL. Used to identify the wallet during OID4VCI and OpenID4VP protocol interactions.
URL endpoint of the wallet instance, used for direct communication.
clientPublicKey objectnullablerequired
Public key JWK of the wallet instance, used to verify Wallet Unit Attestation Proof of Possession.
Public key JWK of the wallet instance, used to verify Wallet Unit Attestation Proof of Possession.
When true, this wallet unit is authorized to interact with the Wallet Provider's services.
Client assertion JWT of the wallet unit, used for OAuth 2.0 client authentication. This value is secret. Treat it as a credential and do not write it to logs.
Type of the client assertion token.
Unix timestamp (in seconds) when this wallet unit was registered.
Unix timestamp (in seconds) when this wallet unit record was last modified.
Device platform of the wallet unit. The known values are ios, android and organisation. The service does not check the value.
Device integrity token supplied by the wallet unit during registration, for example an App Attest or Play Integrity token.
Identifier of the cryptographic key that the wallet unit registered for attestation.
walletUnitMetadata objectnullablerequired
Additional metadata that the wallet unit supplied during registration.
Additional metadata that the wallet unit supplied during registration.
{
"walletUnit": {
"id": "string",
"clientId": "string",
"clientUrl": "string",
"clientPublicKey": {},
"isAuthorised": true,
"assertionToken": "string",
"assertionTokenType": "string",
"createdAt": 0,
"updatedAt": 0,
"walletUnitDevicePlatform": "ios",
"walletUnitIntegrityToken": "string",
"walletUnitKeyId": "string",
"walletUnitMetadata": {}
}
}
The request body is not valid, the wallet unit does not exist, or the organisation is not a wallet provider.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
Unauthorized
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
Internal server error
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}