Skip to main content
PUT
/
wallets
/
mpc
/
vaults
/
{vault_id}
/
key_share_holder_groups
/
{key_share_holder_group_id}
import cobo_waas2
from cobo_waas2.models.key_share_holder_group import KeyShareHolderGroup
from cobo_waas2.models.update_key_share_holder_group_by_id_request import (
    UpdateKeyShareHolderGroupByIdRequest,
)
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.WalletsMPCWalletsApi(api_client)
    vault_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
    key_share_holder_group_id = "e8257ac8-76b8-4d1e-a1f9-eec4cb931dce"
    update_key_share_holder_group_by_id_request = (
        cobo_waas2.UpdateKeyShareHolderGroupByIdRequest(
            update_key_share_holder_group_action="UpgradeToMainGroup"
        )
    )

    try:
        # Update key share holder group
        api_response = api_instance.update_key_share_holder_group_by_id(
            vault_id,
            key_share_holder_group_id,
            update_key_share_holder_group_by_id_request=update_key_share_holder_group_by_id_request,
        )
        print(
            "The response of WalletsMPCWalletsApi->update_key_share_holder_group_by_id:\n"
        )
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling WalletsMPCWalletsApi->update_key_share_holder_group_by_id: %s\n"
            % e
        )

{
  "key_share_holder_group_id": "b33130a9-6e18-44a9-9e48-8b3b41921f0e",
  "type": "MainGroup",
  "tss_key_share_groups": [
    {
      "tss_key_share_group_id": "mMedDioOKhTlhGyQRzMv",
      "curve": "SECP256K1",
      "root_pubkey": "xpub661MyMwAqRbcG4vPNi58VQJrXW8D9VzmauuRq2rTY3oUVnKGuLTxQxvvoEXgLvZ7N9GQXQkWVgKn1rzEUUEm4NdvrBKUqjpNJEnn2UL4rYq"
    }
  ],
  "key_share_holders": [
    {
      "name": "Key share holder name",
      "type": "API",
      "tss_node_id": "coboAbCdEfGhIjKlMnOpQrStUvWxYz1234567890abcdefghi",
      "online": true,
      "signer": true,
      "status": "Valid",
      "account_id": "auth0|cobo|839305394802991371"
    }
  ],
  "participants": 3,
  "threshold": 2,
  "status": "Valid",
  "created_timestamp": 1718619403933
}
import cobo_waas2
from cobo_waas2.models.key_share_holder_group import KeyShareHolderGroup
from cobo_waas2.models.update_key_share_holder_group_by_id_request import (
    UpdateKeyShareHolderGroupByIdRequest,
)
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.WalletsMPCWalletsApi(api_client)
    vault_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
    key_share_holder_group_id = "e8257ac8-76b8-4d1e-a1f9-eec4cb931dce"
    update_key_share_holder_group_by_id_request = (
        cobo_waas2.UpdateKeyShareHolderGroupByIdRequest(
            update_key_share_holder_group_action="UpgradeToMainGroup"
        )
    )

    try:
        # Update key share holder group
        api_response = api_instance.update_key_share_holder_group_by_id(
            vault_id,
            key_share_holder_group_id,
            update_key_share_holder_group_by_id_request=update_key_share_holder_group_by_id_request,
        )
        print(
            "The response of WalletsMPCWalletsApi->update_key_share_holder_group_by_id:\n"
        )
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling WalletsMPCWalletsApi->update_key_share_holder_group_by_id: %s\n"
            % e
        )

Authorizations

BIZ-API-KEY
string
header
required

The API key. For more details, refer to API key.

In the API playground, enter your API secret, and your API key will be accordingly calculated.

Path Parameters

vault_id
string<uuid>
required

The vault ID, which you can retrieve by calling List all vaults.

key_share_holder_group_id
string
required

The key share holder group ID.

Body

application/json
update_key_share_holder_group_action
enum<string>
required

The available actions of key share holder group update. Possible values include:

  • UpgradeToMainGroup: This upgrades an active Signing Group to the Main Group. The original Main Group will be permanently deleted.
Available options:
UpgradeToMainGroup
Example:

"UpgradeToMainGroup"

Response

Successfully modify mpc tss group

The data for key share holder group information.

key_share_holder_group_id
string

The key share holder group ID.

Example:

"b33130a9-6e18-44a9-9e48-8b3b41921f0e"

type
enum<string>

The type of key share holder group. Possible values include:

Note: For MainGroup and SigningGroup, a Cobo key share holder will be added automatically.

Available options:
MainGroup,
SigningGroup,
RecoveryGroup
Example:

"MainGroup"

tss_key_share_groups
object[]
key_share_holders
object[]
participants
integer

The number of key share holders in this key share holder group.

Example:

3

threshold
integer

The number of key share holders required to approve each operation in this key share holder group.

Example:

2

status
enum<string>

The status of the key share holder group. Possible values include:

  • New: The key share holder group has been newly created. The status will become Valid after you call Create TSS request and specifying this key share holder group as the target key share holder group.

  • Valid: The key share holder group is valid.

  • Unavailable: The key share holder group is currently unavailable. This status appears when a key share holder uses mobile co-signer to change node. For example, when a key share holder changes to a new phone or loses their phone, and is in the process of setting up Cobo Guard on their new phone.

Available options:
New,
Valid,
Unavailable
Example:

"Valid"

created_timestamp
integer

The key share holder group's creation time in Unix timestamp format, measured in milliseconds.

Example:

1718619403933