> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notte.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Get started

<Tip>
  Read [the Notte skill](https://notte.cc/skill.md) and follow its setup instructions when setting up Notte or building browser automation. This is the shared source for CLI setup, authentication, and the browser-to-code workflow.
</Tip>

[Source: node-sdk/src/vaults.ts](https://github.com/nottelabs/notte/blob/main/node-sdk/src/vaults.ts)

Vault that fetches credentials stored using the SDK, the counterpart of
`notte_sdk.endpoints.vaults.NotteVault`.

The remote vault is created lazily on the first API operation so local-only
helpers such as `generatePassword()` stay side-effect free. Every API
failure rejects with a `NotteAPIError`; caller mistakes (invalid URL,
one-time code stored as an MFA secret, ...) reject with `InvalidRequestError`.
// pragma: allowlist secret

```ts theme={null}
const vault = client.Vault({ name: 'My vault' });
await vault.addCredentials('https://github.com/', { email: 'me@example.org', password: 'secret' }); // pragma: allowlist secret
const credentials = await vault.getCredentials('https://github.com/login');
await vault.stop(); // deletes the vault and every credential it holds
```

## Create NotteVault

Use [NotteClient.Vault](/typescript-sdk-reference/client/vault) to create this object from your configured client.

```typescript theme={null}
client.Vault(options?: VaultConstructor): NotteVault;
```

<ParamField body="options" type={"VaultConstructor"} />

## Related types

* [VaultConstructor](/typescript-sdk-reference/types/vaultconstructor)

## Usage

* [addCredentials](/typescript-sdk-reference/vault/addcredentials): Add or update the credentials stored for a website. The URL is reduced to its root domain (`https://github.com/login` → `github.com`) before it is sent, like Python's `AddCredentialsRequest`.
* [getCredentials](/typescript-sdk-reference/vault/getcredentials): Get the credentials stored for a website. Rejects with a `NotteAPIError` when the vault holds no credentials for that domain, like Python's `get_credentials`.
* [deleteCredentials](/typescript-sdk-reference/vault/deletecredentials): Delete the credentials stored for a website.
* [listCredentials](/typescript-sdk-reference/vault/listcredentials): List the websites the vault holds credentials for. Passwords are never returned.
* [generatePassword](/typescript-sdk-reference/vault/generatepassword): Generate a secure random password, the counterpart of Python's `generate_password`. The result always contains a lowercase letter, an uppercase letter and a digit, plus a special character unless `includeSpecialChars` is false.
* [hasCredential](/typescript-sdk-reference/vault/hascredential): Check whether the vault holds credentials for a website, the counterpart of `BaseVault.has_credential`. Never rejects for a missing credential.

<Accordion title="Direct constructor reference">
  ```typescript theme={null}
  new NotteVault(client: NotteClient, options?: VaultConstructor): NotteVault;
  ```

  <ParamField body="client" type={"NotteClient"} required />

  <ParamField body="options" type={"VaultConstructor"}>
    Default:

    ```typescript theme={null}
    {}
    ```
  </ParamField>

  ## Related types

  * [VaultConstructor](/typescript-sdk-reference/types/vaultconstructor)
</Accordion>

<Accordion title="Properties">
  ### vaultId

  ```typescript theme={null}
  vaultId: string
  ```

  ID of the remote vault. Throws until the first API operation has created or verified it.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.