> ## 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.

# gcai vaults CLI commands

> Reference for the `gcai vaults` commands in the GC AI CLI, with the synopsis and flags for each command.

## `gcai vaults list`

List vaults

```bash theme={null}
gcai vaults list [--limit <number>] [--offset <number>] [--search <value>] [--status <active|archived>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--limit <number>` | `number` | | Max items to return (default 100, max 500) |
| `--offset <number>` | `number` | | Number of items to skip (default 0) |
| `--search <value>` | `string` | | Case-insensitive substring match on vault name |
| `--status <active\|archived>` | `active \| archived` | | Which vaults to list. `active` (the default) returns live vaults. `archived` returns vaults the caller owns that have been archived, newest first, so they can be restored or deleted. Organization-wide visibility does not reach archived vaults, and only an owner can act on one, so the archived list is owner-only. |

Wraps `GET /vaults` — see [List vaults](/api-reference/list-vaults) for full parameter semantics.

## `gcai vaults get`

Get a vault

```bash theme={null}
gcai vaults get <id>
```

Wraps `GET /vaults/{id}` — see [Get a vault](/api-reference/get-vault) for full parameter semantics.

## `gcai vaults create`

Create a vault

```bash theme={null}
gcai vaults create <name> [--description <value>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--description <value>` | `string` | | Optional description shown beside the vault name |

Wraps `POST /vaults` — see [Create a vault](/api-reference/create-vault) for full parameter semantics.

## `gcai vaults update`

Update a vault

```bash theme={null}
gcai vaults update <id> [--name <value>] [--description <value>] [--is-access-controlled]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--name <value>` | `string` | | New vault name |
| `--description <value>` | `string` | | New description. Send `null` to clear it. |
| `--is-access-controlled` | `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 as a viewer. Changing this adds and removes no members: it only opens or closes the organization-wide path. |

Wraps `PATCH /vaults/{id}` — see [Update a vault](/api-reference/update-vault) for full parameter semantics.

## `gcai vaults archive`

Archive a vault

```bash theme={null}
gcai vaults archive <id>
```

Wraps `POST /vaults/{id}/archive` — see [Archive a vault](/api-reference/archive-vault) for full parameter semantics.

## `gcai vaults restore`

Restore an archived vault

```bash theme={null}
gcai vaults restore <id>
```

Wraps `POST /vaults/{id}/restore` — see [Restore an archived vault](/api-reference/restore-vault) for full parameter semantics.

## `gcai vaults delete`

Delete a vault

```bash theme={null}
gcai vaults delete <id>
```

Wraps `DELETE /vaults/{id}` — see [Delete a vault](/api-reference/delete-vault) for full parameter semantics.

## `gcai vaults members list`

List a vault's members

```bash theme={null}
gcai vaults members list <id> [--limit <number>] [--offset <number>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--limit <number>` | `number` | | Max items to return (default 100, max 500) |
| `--offset <number>` | `number` | | Number of items to skip (default 0) |

Wraps `GET /vaults/{id}/members` — see [List a vault's members](/api-reference/list-vault-members) for full parameter semantics.

## `gcai vaults members add`

Add a member to a vault

```bash theme={null}
gcai vaults members add <id> [--user-id <number>] [--email <value>] [--role <owner|editor|viewer>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--user-id <number>` | `number` | | GC AI user ID of the person to add, as `user_id` from `GET /vaults/{id}/members` or `id` from `GET /me`. Send this or `email`. |
| `--email <value>` | `string` | | Email address of the person to add. It has to belong to someone who is already a member of your organization. Send this or `user_id`. |
| `--role <owner\|editor\|viewer>` | `owner \| editor \| viewer` | | Role to grant. Defaults to `editor`. |

Wraps `POST /vaults/{id}/members` — see [Add a member to a vault](/api-reference/add-vault-member) for full parameter semantics.

## `gcai vaults members update-role`

Change a member's role

```bash theme={null}
gcai vaults members update-role <id> <userId> --role <owner|editor|viewer>
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--role <owner\|editor\|viewer>` | `owner \| editor \| viewer` | yes | The role this member should hold from now on. |

Wraps `PATCH /vaults/{id}/members/{userId}` — see [Change a member's role](/api-reference/update-vault-member-role) for full parameter semantics.

## `gcai vaults members remove`

Remove a member from a vault

```bash theme={null}
gcai vaults members remove <id> <userId>
```

Wraps `DELETE /vaults/{id}/members/{userId}` — see [Remove a member from a vault](/api-reference/remove-vault-member) for full parameter semantics.

## `gcai vaults upload-document`

Add a document to a vault

```bash theme={null}
gcai vaults upload-document <id> <file>
```

Wraps `POST /vaults/{id}/documents` — see [Add a document to a vault](/api-reference/upload-vault-document) for full parameter semantics.

## `gcai vaults documents list`

Read a vault's document table

```bash theme={null}
gcai vaults documents list <id> [--limit <number>] [--offset <number>] [--search <value>] [--filter <value>] [--sort <value>] [--sort-direction <asc|desc>] [--include-total <true|false>] [--include-deleted <true|false>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--limit <number>` | `number` | | Max rows to return (default 100, max 200) |
| `--offset <number>` | `number` | | Number of items to skip (default 0) |
| `--search <value>` | `string` | | Case-insensitive substring match on the document name, the upload filename, or the Document Name column. |
| `--filter <value>` | `string` | | URL-encoded JSON array of filter rules. See the description for the shape and the operators. |
| `--sort <value>` | `string` | | Column `field_key` to sort by. Also accepts `fileName` (the upload filename), `extractedAt`, and `sourceName`. Defaults to `fileName`, ascending. |
| `--sort-direction <asc\|desc>` | `asc \| desc` | | Sort direction. Defaults to `asc`. |
| `--include-total <true\|false>` | `true \| false` | | When `false`, skip the whole-vault count and return `total: null`. Defaults to `true`. |
| `--include-deleted <true\|false>` | `true \| false` | | When `true`, also return soft-deleted documents and the copies GC AI removed as duplicates. Reading deleted documents needs the same rights as deleting them, so this requires the `editor` or `owner` role plus the organization-level permission to manage vaults. Defaults to `false`. |

Wraps `GET /vaults/{id}/documents` — see [Read a vault's document table](/api-reference/list-vault-documents) for full parameter semantics.

## `gcai vaults documents get`

Get one document row

```bash theme={null}
gcai vaults documents get <id> <documentId> [--include-deleted <true|false>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--include-deleted <true\|false>` | `true \| false` | | When `true`, also return soft-deleted documents and the copies GC AI removed as duplicates. Reading deleted documents needs the same rights as deleting them, so this requires the `editor` or `owner` role plus the organization-level permission to manage vaults. Defaults to `false`. |

Wraps `GET /vaults/{id}/documents/{documentId}` — see [Get one document row](/api-reference/get-vault-document) for full parameter semantics.

## `gcai vaults documents delete`

Remove a document from a vault

```bash theme={null}
gcai vaults documents delete <id> <documentId>
```

Wraps `DELETE /vaults/{id}/documents/{documentId}` — see [Remove a document from a vault](/api-reference/delete-vault-document) for full parameter semantics.

## `gcai vaults documents restore`

Restore a removed document

```bash theme={null}
gcai vaults documents restore <id> <documentId>
```

Wraps `POST /vaults/{id}/documents/{documentId}/restore` — see [Restore a removed document](/api-reference/restore-vault-document) for full parameter semantics.

## `gcai vaults documents cells update`

Set a cell value by hand

```bash theme={null}
gcai vaults documents cells update <id> <documentId> <fieldKey> <value>
```

Wraps `PATCH /vaults/{id}/documents/{documentId}/cells/{fieldKey}` — see [Set a cell value by hand](/api-reference/update-vault-document-cell) for full parameter semantics.

## `gcai vaults documents cells revert`

Restore the extracted value of a cell

```bash theme={null}
gcai vaults documents cells revert <id> <documentId> <fieldKey>
```

Wraps `POST /vaults/{id}/documents/{documentId}/cells/{fieldKey}/revert` — see [Restore the extracted value of a cell](/api-reference/revert-vault-document-cell) for full parameter semantics.

## `gcai vaults columns list`

List a vault's columns

```bash theme={null}
gcai vaults columns list <id>
```

Wraps `GET /vaults/{id}/columns` — see [List a vault's columns](/api-reference/list-vault-columns) for full parameter semantics.

## `gcai vaults columns create`

Add a column to a vault

```bash theme={null}
gcai vaults columns create <id> <label> [--field-key <value>] [--instructions <value>] [--field-type <text|date|date_range|enum|multi_enum|boolean|number|currency|percentage|duration|email|url|list|rich_text>] [--field-meta <value>] [--extraction-mode <ai|manual>] [--sort-order <number>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--field-key <value>` | `string` | | The key extracted values are stored under. Omit it and GC AI builds one from the label (`Renewal notice` becomes `renewalNotice`). Set it when you need the key to match something you already store, because the key is frozen once the column exists: renaming the column later never changes it. Any printable key up to 100 characters works, including one with an underscore or a hyphen; percent-encode it when you address a cell on this column. |
| `--instructions <value>` | `string` | | Required for an `ai` column: this text is the prompt extraction reads each document with, so say what to look for and what to return. Optional for a `manual` column, where it is only a note to whoever fills the column in. |
| `--field-type <text\|date\|date_range\|enum\|multi_enum\|boolean\|number\|currency\|percentage\|duration\|email\|url\|list\|rich_text>` | `text \| date \| date_range \| enum \| multi_enum \| boolean \| number \| currency \| percentage \| duration \| email \| url \| list \| rich_text` | | The shape of the values in this column. `enum` and `multi_enum` need `field_meta`; every other type needs `field_meta: null`. |
| `--field-meta <value>` | `string` | | The option list for an `enum` or `multi_enum` column. Send `null`, or omit it, for every other type. |
| `--extraction-mode <ai\|manual>` | `ai \| manual` | | How the column gets filled. `ai` (the default) has extraction read it out of each document. `manual` keeps it out of every scan so the values stay exactly what a person types. |
| `--sort-order <number>` | `number` | | Placement weight, 0 by default. The table orders columns by `sort_order` first and creation time second, so columns added without one keep the order you added them in. |

Wraps `POST /vaults/{id}/columns` — see [Add a column to a vault](/api-reference/create-vault-column) for full parameter semantics.

## `gcai vaults columns update`

Update a vault column

```bash theme={null}
gcai vaults columns update <id> <columnId> [--label <value>] [--instructions <value>] [--field-type <text|date|date_range|enum|multi_enum|boolean|number|currency|percentage|duration|email|url|list|rich_text>] [--field-meta <value>] [--extraction-mode <ai|manual>] [--sort-order <number>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--label <value>` | `string` | | New column heading. The `field_key` does not follow a rename, so every value already extracted stays attached. |
| `--instructions <value>` | `string` | | New instructions. |
| `--field-type <text\|date\|date_range\|enum\|multi_enum\|boolean\|number\|currency\|percentage\|duration\|email\|url\|list\|rich_text>` | `text \| date \| date_range \| enum \| multi_enum \| boolean \| number \| currency \| percentage \| duration \| email \| url \| list \| rich_text` | | New value shape. Send `field_meta` in the same request when the new type needs a different option list. |
| `--field-meta <value>` | `string` | | New option list. Send `null` to clear it. Omit it to leave the current one in place. |
| `--extraction-mode <ai\|manual>` | `ai \| manual` | | New fill mode. A column a spreadsheet owns cannot move in or out of `import`, so those columns reject this field. |
| `--sort-order <number>` | `number` | | New placement weight. |

Wraps `PATCH /vaults/{id}/columns/{columnId}` — see [Update a vault column](/api-reference/update-vault-column) for full parameter semantics.

## `gcai vaults columns delete`

Remove a column from a vault

```bash theme={null}
gcai vaults columns delete <id> <columnId>
```

Wraps `DELETE /vaults/{id}/columns/{columnId}` — see [Remove a column from a vault](/api-reference/delete-vault-column) for full parameter semantics.

## `gcai vaults views list`

List a vault's saved views

```bash theme={null}
gcai vaults views list <id>
```

Wraps `GET /vaults/{id}/views` — see [List a vault's saved views](/api-reference/list-vault-views) for full parameter semantics.

## `gcai vaults views create`

Create a saved view

```bash theme={null}
gcai vaults views create <id> <name> [--view-state <value>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--view-state <value>` | `object` | | Layout, sort, and filters for the view. Omit it for a view that shows every column in the vault default order, unsorted and unfiltered. |

Wraps `POST /vaults/{id}/views` — see [Create a saved view](/api-reference/create-vault-view) for full parameter semantics.

## `gcai vaults views update`

Update a saved view

```bash theme={null}
gcai vaults views update <id> <viewId> [--name <value>] [--view-state <value>]
```

| Flag | Type | Required | Description |
| - | - | - | - |
| `--name <value>` | `string` | | New view name. |
| `--view-state <value>` | `string` | | |

Wraps `PATCH /vaults/{id}/views/{viewId}` — see [Update a saved view](/api-reference/update-vault-view) for full parameter semantics.

## `gcai vaults views delete`

Delete a saved view

```bash theme={null}
gcai vaults views delete <id> <viewId>
```

Wraps `DELETE /vaults/{id}/views/{viewId}` — see [Delete a saved view](/api-reference/delete-vault-view) for full parameter semantics.


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