Skip to main content
POST
Reshare WAAS secret shares

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

environmentId
string
required

ID of the environment

Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

walletId
string
required

UUID of the wallet

Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

Body

application/json

Reshare Request

clientKeygenIds
string[]
required

List of client-side key generation identifiers for resharing

A base58 string with a max length of 100 characters

Maximum string length: 100
Pattern: ^[1-9A-HJ-NP-Za-km-z]+$
oldThresholdSignatureScheme
enum<string>
required
Available options:
TWO_OF_TWO,
TWO_OF_THREE,
THREE_OF_FIVE
newThresholdSignatureScheme
enum<string>
required
Available options:
TWO_OF_TWO,
TWO_OF_THREE,
THREE_OF_FIVE
delegateToProjectEnvironment
boolean

Whether to delegate key access to the project environment

revokeDelegation
boolean

Whether to revoke previously delegated key access

reshareKind
enum<string>

What kind of share this ceremony is minting. When omitted, defaults to rootUser for backwards compatibility.

Available options:
rootUser,
cloudBackup,
delegation,
offlineRecovery
proposalId
string

The approved reshare proposal being redeemed. Required when the wallet's policy requires approvals for this reshare operation; the reshare call returns it once the proposal is open.

Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

approvalQuorum
object

The initiator's signed reshare Intent, sent with the reshare call. When the wallet's policy needs approvals for this reshare operation, the call answers with a proposal to approve instead of starting the reshare.

shareSetId
string

Identifier of the active share set this reshare ceremony runs against. Optional for backwards compatibility — when omitted, the active rootUser share set is resolved from walletId. SDKs that already receive shareSetId from getWallet() should pass it here to avoid the fallback lookup.

Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

initialSignerRules
object[]

Rules to seed the delegated Signer's policy layer with when this reshare mints a new delegated Signer. Only valid on the composition-mint delegation reshare path — rejected otherwise.

Maximum array length: 100
offlineRecoveryEncryptionKey
object

Caller-supplied RSA public key to encrypt the recovery share to on an offlineRecovery reshare — e.g. a per-wallet or per-user key whose private key lives with the end user. When provided, the recovery share delivered via the wallet.offlineRecovery.created webhook is encrypted to this key instead of the env's delegated-access key. Rejected on any other reshare kind.

Response

Successfully created a room for reshare ceremony

roomId
string
required

Unique identifier of the opened MPC room

serverKeygenIds
string[]
required

List of existing server-side key generation identifiers

A base58 string with a max length of 100 characters

Maximum string length: 100
Pattern: ^[1-9A-HJ-NP-Za-km-z]+$
newServerKeygenIds
string[]
required

List of newly generated server-side key generation identifiers

A base58 string with a max length of 100 characters

Maximum string length: 100
Pattern: ^[1-9A-HJ-NP-Za-km-z]+$
walletId
string
Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"