Update key
Changes the name of a key, and the PIN of a key of a remote signing key store (csc). Only the members in the body change. The key ID, the key material and the key store never change here. The answer is the key as Read key returns it. A call with a sandbox API key changes the key of the main organisation.
Authorizations
AuthorizationstringheaderrequiredYour API key with the prefix
ApiKey:ApiKey <your-api-key>. Get an API key.Scope:
keys:update
Path parameters
keyId stringrequiredThe
keyIdof a key of the organisation, from List keys or from the answer of Create key. It is also thekidof its JWK.
Body
The members to change.
namestring | nullThe new name, at most 100 characters.
nullremoves the name.At most 100 characters.
Example:
"PID issuance 2026"providerSecret stringWrite-only. Only for a referenced key of a
csckey store, the new PIN of its CSC credential. No answer returns it.At most 256 characters.
Example:
"<yourPin>"
Response
The changed key.
keyId stringThe key ID. The wallet makes it and it never changes. It is also
jwk.kid, and the value that a credential definition, a presentation definition or a configuration gives as its signing key.Example:
"3f2a91c47b8d4e6fa0c5d7e18b924f30"namestring | nullA free name, for example what the key signs. Set on create or with Update key.
nullwhen the key has no name.At most 100 characters.
Example:
"PID issuance 2026"keyStore objectThe key store that holds the key.
originenum<string> | nullHow the key came to the organisation.
created, the wallet created it in the key store.imported, Import key.referenced, the key was already in the key store of the provider, and the wallet signs with it there.Available options:
created,imported,referencedExample:
"created"algorithmstring | nullThe signature algorithm of the key,
ES256.Example:
"ES256"statusstringAlways
activein an answer. A retired key (see Delete key) is not returned.Example:
"active"jwkobjectThe public key as a JWK. Public members only, never
d.hasCertificate Chain booleantruewhen the key has an X.509 certificate chain, so it can sign withcryptographicKeyFormatx509.Example:
falsecertificateSource enum<string> | nullWhere the certificate chain comes from.
uploaded, Upload certificate chain.imported, Import key with a certificate.test-ca, a test certificate of the built-in test CA.qtsp, the certificate of the CSC credential of a remote signing key store.nullwithout a certificate chain.Available options:
uploaded,imported,test-ca,qtsptestCertificate booleantruewhencertificateSourceistest-ca: the key has a test certificate, for development and testing only. Wallets and verifiers outside this platform do not trust it.Example:
falsecertificatePreset string | nullThe certificate preset of the chain. For a test certificate, the preset of its request; for an uploaded chain, the preset of the newest CSR of the key.
nullwhen there is none.certificateAssessment objectThe certificate assessment of the key. Every key has one, also a key without a certificate chain.
qscdanyWhether the key store keeps the key in a qualified signature or seal creation device (QSCD), from the key store.
false, orproviderfor a key of a remote signing key store, where the QTSP decides.Example:
falsetrustobject | nullFor a key of a key store of a provider with
qualifiedtrueonly, its qualified status against the EU trusted lists.nullfor every other key.createdAt string<date-time> | nullWhen the key was added (ISO 8601 date-time, UTC).
Example:
"2026-10-20T10:00:00Z"updatedAt string<date-time> | nullWhen the key last changed (ISO 8601 date-time, UTC).
Example:
"2026-10-20T10:00:00Z"