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

# Update vault

> Change a vault's name, description, who can see it, or whether it is archived.

<Note>
  The MCP server is in public beta. It is open to use and still being refined, so tools and behavior may change.
</Note>

<Info>
  **Tool** `update_vault` · **Behavior** Destructive
</Info>

Change a vault's name, description, who can see it, or whether it is archived. Send only what should change. Archiving hides the vault and stops changes to it without deleting anything, and restoring brings it back with its documents intact. Only a vault owner can do any of this. Deleting a vault permanently is not available here; that is done in the app or on the REST API.

## Input parameters

<ParamField body="vault_id" type="string (uuid)" required>
  The vault to change, from `get_vaults`.
</ParamField>

<ParamField body="name" type="string">
  New name.
</ParamField>

<ParamField body="description" type="string | null">
  New description. Pass null to clear it.
</ParamField>

<ParamField body="is_access_controlled" type="boolean">
  When true only members see the vault. When false anyone in the organization with organization-wide vault access can read it. This adds and removes no members.
</ParamField>

<ParamField body="archived" type="boolean">
  Set true to archive the vault, which hides it and stops changes, or false to restore it. Archiving deletes nothing.
</ParamField>

## Response

<ResponseField name="vault" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="string (uuid)">
      Unique vault identifier
    </ResponseField>

    <ResponseField name="name" type="string">
      Vault name
    </ResponseField>

    <ResponseField name="description" type="string | null">
      Vault description, or null if unset
    </ResponseField>

    <ResponseField name="my_role" type="'owner' | 'editor' | 'viewer'">
      Caller's role in this vault: `owner` (manage members and settings), `editor` (add documents and edit extracted data), or `viewer` (read and annotate). A vault the caller reaches only through organization-wide visibility reports `viewer`. The role is not the whole story for writes: adding documents also needs the organization-level permission to manage vaults, so a caller can hold `editor` here and still receive `403` from `POST /vaults/{id}/documents`.
    </ResponseField>

    <ResponseField name="is_access_controlled" type="boolean">
      When true, only vault members can see the vault. When false, any member of the organization with organization-wide vault read can see it.
    </ResponseField>

    <ResponseField name="document_count" type="number">
      Documents that have finished scanning in this vault. Documents still being read are not counted yet.
    </ResponseField>

    <ResponseField name="setup_completed_at" type="string | null">
      ISO 8601 timestamp when guided setup finished, or null while the vault is still in setup. Documents added to a vault in setup are stored but not scanned until setup finishes. Vaults created through `POST /vaults` finish setup immediately, so this is always set for them.
    </ResponseField>

    <ResponseField name="archived_at" type="string | null">
      ISO 8601 timestamp when the vault was archived, or null while it is live. Archived vaults are hidden from the default list and reject changes until `POST /vaults/{id}/restore` runs.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 creation timestamp
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      ISO 8601 last-update timestamp
    </ResponseField>
  </Expandable>
</ResponseField>
