> ## Documentation Index
> Fetch the complete documentation index at: https://cobo-docs-feature-cobo-cli.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List all vaults

> This operation retrieves a list of all vaults. You can filter the result by project ID.

**Notes for query parameters**:
1. `project_id` is required when `vault_type` is set to `User-Controlled`.
2. `project_id` must be left blank when `vault_type` is set to `Org-Controlled`.


<RequestExample>
  ```python Python
  import cobo_waas2
  from cobo_waas2.models.list_mpc_vaults200_response import ListMpcVaults200Response
  from cobo_waas2.models.mpc_vault_type import MPCVaultType
  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_type = cobo_waas2.MPCVaultType()
      project_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
      limit = 10
      before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1"
      after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk"

      try:
          # List all vaults
          api_response = api_instance.list_mpc_vaults(
              vault_type, project_id=project_id, limit=limit, before=before, after=after
          )
          print("The response of WalletsMPCWalletsApi->list_mpc_vaults:\n")
          pprint(api_response)
      except Exception as e:
          print("Exception when calling WalletsMPCWalletsApi->list_mpc_vaults: %s\n" % e)

  ```

  ```java Java
  // Import classes:
  import com.cobo.waas2.ApiClient;
  import com.cobo.waas2.ApiException;
  import com.cobo.waas2.Configuration;
  import com.cobo.waas2.Env;
  import com.cobo.waas2.api.WalletsMpcWalletsApi;
  import com.cobo.waas2.model.*;

  public class Example {
    public static void main(String[] args) {
      ApiClient defaultClient = Configuration.getDefaultApiClient();
      // Select the development environment. To use the production environment, replace `Env.DEV` with
      // `Env.PROD
      defaultClient.setEnv(Env.DEV);

      // Replace `<YOUR_PRIVATE_KEY>` with your private key
      defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
      WalletsMpcWalletsApi apiInstance = new WalletsMpcWalletsApi();
      MPCVaultType vaultType = MPCVaultType.fromValue("Org-Controlled");
      UUID projectId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
      Integer limit = 10;
      String before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1";
      String after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk";
      try {
        ListMpcVaults200Response result =
            apiInstance.listMpcVaults(vaultType, projectId, limit, before, after);
        System.out.println(result);
      } catch (ApiException e) {
        System.err.println("Exception when calling WalletsMpcWalletsApi#listMpcVaults");
        System.err.println("Status code: " + e.getCode());
        System.err.println("Reason: " + e.getResponseBody());
        System.err.println("Response headers: " + e.getResponseHeaders());
        e.printStackTrace();
      }
    }
  }

  ```

  ```go Go
  package main

  import (
  	"context"
  	"fmt"
  	coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
  	"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
  	"os"
  )

  func main() {
  	vaultType := coboWaas2.MPCVaultType("Org-Controlled")
  	projectId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
  	limit := int32(10)
  	before := "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1"
  	after := "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk"

  	configuration := coboWaas2.NewConfiguration()
  	// Initialize the API client
  	apiClient := coboWaas2.NewAPIClient(configuration)
  	ctx := context.Background()

  	// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
  	ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
  	// Replace `<YOUR_PRIVATE_KEY>` with your private key
  	ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
  		Secret: "<YOUR_PRIVATE_KEY>",
  	})
  	resp, r, err := apiClient.WalletsMPCWalletsAPI.ListMpcVaults(ctx).
  		VaultType(vaultType).
  		ProjectId(projectId).
  		Limit(limit).
  		Before(before).
  		After(after).
  		Execute()
  	if err != nil {
  		fmt.Fprintf(
  			os.Stderr,
  			"Error when calling `WalletsMPCWalletsAPI.ListMpcVaults``: %v\n",
  			err,
  		)
  		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
  	}
  	// response from `ListMpcVaults`: ListMpcVaults200Response
  	fmt.Fprintf(os.Stdout, "Response from `WalletsMPCWalletsAPI.ListMpcVaults`: %v\n", resp)
  }

  ```

  ```javascript JavaScript
  const CoboWaas2 = require('@cobo/cobo-waas2');
  // Initialize the API client
  const apiClient = CoboWaas2.ApiClient.instance
  // Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
  apiClient.setEnv(CoboWaas2.Env.DEV);
  // Replace `<YOUR_PRIVATE_KEY>` with your private key
  apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
  // Call the API
  const apiInstance = new CoboWaas2.WalletsMPCWalletsApi();
  const vault_type = new CoboWaas2.MPCVaultType();
  const opts = {
    'project_id': "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    'limit': 10,
    'before': "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1",
    'after': "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk"
  };
  apiInstance.listMpcVaults(vault_type, opts).then((data) => {
    console.log('API called successfully. Returned data: ' + data);
  }, (error) => {
    console.error(error);
  });
  ```
</RequestExample>
