Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it.
Column visibility is stored as a hide list. hidden_field_keys names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it.
Every field key has to exist in the vault. Keys in hidden_field_keys and field_order can also name a system column (actions, fileName, relationships, extractedAt, sourceName). sort.field takes a vault column or one of fileName, extractedAt, sourceName, because those are the only system columns the table can sort by. A filter field_key takes a vault column or __notes__, the any-column notes filter. Anything else returns 400 naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent.
View names are unique within a vault once trimmed, and the comparison is case sensitive, so Renewals and renewals can both exist. A name already taken returns 409.
Requires the editor or owner role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets 403.
Requires a user-scoped API key (u:gcai_...). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.
GC AI user ID of whoever created the view, or null when that person has since been removed. Provenance only: a view is shared with the whole vault and is not owned by its creator.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"GC AI","description":"The GC AI API reference (REST API, MCP server and CLI), plus support, account and troubleshooting help. Product docs for signed-in users are in the GC AI app.","colors":{"primary":"#003047","light":"#50abda"},"logo":{"light":"https://mintcdn.com/gcai/0BlqBDRwAhV-CbPw/logo/light.svg?fit=max\u0026auto=format\u0026n=0BlqBDRwAhV-CbPw\u0026q=85\u0026s=d11c2834d42373b30d3f9dc6d3138367","dark":"https://mintcdn.com/gcai/0BlqBDRwAhV-CbPw/logo/dark.svg?fit=max\u0026auto=format\u0026n=0BlqBDRwAhV-CbPw\u0026q=85\u0026s=32c5457a1bac33bb819c590260c1cbc9"},"favicon":"https://mintcdn.com/gcai/0BlqBDRwAhV-CbPw/favicon.svg?fit=max\u0026auto=format\u0026n=0BlqBDRwAhV-CbPw\u0026q=85\u0026s=7b86bbec08c30a471c9cd2d8a6b20504","navbar":{"links":[{"href":"mailto:support@gc.ai","label":"support@gc.ai"}],"primary":{"type":"button","label":"Go to GC AI","href":"https://app.gc.ai"}},"footer":{"socials":{"x":"https://x.com/gcai_co","linkedin":"https://linkedin.com/company/gc-ai"}},"seo":{"organization":{"url":"https://gc.ai","sameAs":["https://x.com/gcai_co","https://linkedin.com/company/gc-ai"]},"indexing":"navigable"},"integrations":{"posthog":{"apiKey":"phc_EhQwXWGMSQx1y3M9f5uLqZUgeFqpagTuYPXGw1QYztC","apiHost":"https://app.posthog.com"}},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://gc.ai/slack"},{"anchor":"Blog","icon":"newspaper","href":"https://gc.ai/blog"},{"anchor":"Classes","icon":"graduation-cap","href":"https://gc.ai/classes"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"gcai","hasAudioNarration":false,"actualSubdomain":"gcai","customDomains":["docs.gc.ai"],"gitSource":{"type":"github","owner":"gc-ai-inc","repo":"app-gc-ai","deployBranch":"main","contentDirectory":"apps/product-docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af15f2516d3fc7a335ae1a7","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":165},{"language":"default","tag":"REST","count":113},{"language":"default","tag":"Endpoints","count":100},{"language":"default","tag":"Contract Intelligence","count":34},{"language":"default","tag":"MCP","count":33},{"language":"default","tag":"Tools","count":28},{"language":"default","tag":"Projects","count":22},{"language":"default","tag":"CLI","count":20},{"language":"default","tag":"Playbooks","count":18},{"language":"default","tag":"Commands","count":15}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@gc.ai","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".surface-map table{width:100%;table-layout:fixed}.surface-map--method th:last-child,.surface-map--method td:last-child{width:6rem}.surface-map--behavior th:last-child,.surface-map--behavior td:last-child{width:8rem}.surface-map .method,.surface-map .behavior{display:inline-block;padding:1px 6px;border-radius:6px;font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:0.72rem;font-weight:600;letter-spacing:0.02em}.surface-map .method-get{color:#10b981;background:rgba(16, 185, 129, 0.13)}.surface-map .method-post{color:#3b82f6;background:rgba(59, 130, 246, 0.13)}.surface-map .method-put{color:#f59e0b;background:rgba(245, 158, 11, 0.13)}.surface-map .method-patch{color:#f97316;background:rgba(249, 115, 22, 0.13)}.surface-map .method-delete{color:#ef4444;background:rgba(239, 68, 68, 0.13)}.surface-map .behavior-read-only{color:#10b981;background:rgba(16, 185, 129, 0.13)}.surface-map .behavior-additive{color:#3b82f6;background:rgba(59, 130, 246, 0.13)}.surface-map .behavior-destructive{color:#ef4444;background:rgba(239, 68, 68, 0.13)}.surface-map .behavior-open-world{color:#8b5cf6;background:rgba(139, 92, 246, 0.13)}"}],"page":{"pagePath":"api-reference/create-vault-view","slug":"/api-reference/create-vault-view","pageMetadata":{"title":"Create a Saved View","openapi":"POST /vaults/{id}/views","description":"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it.\n\nColumn visibility is stored as a hide list. `hidden_field_keys` names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it.\n\nEvery field key has to exist in the vault. Keys in `hidden_field_keys` and `field_order` can also name a system column (`actions`, `fileName`, `relationships`, `extractedAt`, `sourceName`). `sort.field` takes a vault column or one of `fileName`, `extractedAt`, `sourceName`, because those are the only system columns the table can sort by. A filter `field_key` takes a vault column or `__notes__`, the any-column notes filter. Anything else returns `400` naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent.\n\nView names are unique within a vault once trimmed, and the comparison is case sensitive, so `Renewals` and `renewals` can both exist. A name already taken returns `409`.\n\nRequires the `editor` or `owner` role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets `403`.\n\nRequires a user-scoped API key (`u:gcai_...`). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.","href":"/api-reference/create-vault-view"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Column visibility is stored as a hide list. \", _jsx(_components.code, {\n children: \"hidden_field_keys\"\n }), \" names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Every field key has to exist in the vault. Keys in \", _jsx(_components.code, {\n children: \"hidden_field_keys\"\n }), \" and \", _jsx(_components.code, {\n children: \"field_order\"\n }), \" can also name a system column (\", _jsx(_components.code, {\n children: \"actions\"\n }), \", \", _jsx(_components.code, {\n children: \"fileName\"\n }), \", \", _jsx(_components.code, {\n children: \"relationships\"\n }), \", \", _jsx(_components.code, {\n children: \"extractedAt\"\n }), \", \", _jsx(_components.code, {\n children: \"sourceName\"\n }), \"). \", _jsx(_components.code, {\n children: \"sort.field\"\n }), \" takes a vault column or one of \", _jsx(_components.code, {\n children: \"fileName\"\n }), \", \", _jsx(_components.code, {\n children: \"extractedAt\"\n }), \", \", _jsx(_components.code, {\n children: \"sourceName\"\n }), \", because those are the only system columns the table can sort by. A filter \", _jsx(_components.code, {\n children: \"field_key\"\n }), \" takes a vault column or \", _jsx(_components.code, {\n children: \"__notes__\"\n }), \", the any-column notes filter. Anything else returns \", _jsx(_components.code, {\n children: \"400\"\n }), \" naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"View names are unique within a vault once trimmed, and the comparison is case sensitive, so \", _jsx(_components.code, {\n children: \"Renewals\"\n }), \" and \", _jsx(_components.code, {\n children: \"renewals\"\n }), \" can both exist. A name already taken returns \", _jsx(_components.code, {\n children: \"409\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Requires the \", _jsx(_components.code, {\n children: \"editor\"\n }), \" or \", _jsx(_components.code, {\n children: \"owner\"\n }), \" role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets \", _jsx(_components.code, {\n children: \"403\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Requires a user-scoped API key (\", _jsx(_components.code, {\n children: \"u:gcai_...\"\n }), \"). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a Saved View","openapi":"POST /vaults/{id}/views","description":"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it.\n\nColumn visibility is stored as a hide list. `hidden_field_keys` names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it.\n\nEvery field key has to exist in the vault. Keys in `hidden_field_keys` and `field_order` can also name a system column (`actions`, `fileName`, `relationships`, `extractedAt`, `sourceName`). `sort.field` takes a vault column or one of `fileName`, `extractedAt`, `sourceName`, because those are the only system columns the table can sort by. A filter `field_key` takes a vault column or `__notes__`, the any-column notes filter. Anything else returns `400` naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent.\n\nView names are unique within a vault once trimmed, and the comparison is case sensitive, so `Renewals` and `renewals` can both exist. A name already taken returns `409`.\n\nRequires the `editor` or `owner` role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets `403`.\n\nRequires a user-scoped API key (`u:gcai_...`). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.","href":"/api-reference/create-vault-view"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Create a saved view","description":"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it.\n\nColumn visibility is stored as a hide list. `hidden_field_keys` names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it.\n\nEvery field key has to exist in the vault. Keys in `hidden_field_keys` and `field_order` can also name a system column (`actions`, `fileName`, `relationships`, `extractedAt`, `sourceName`). `sort.field` takes a vault column or one of `fileName`, `extractedAt`, `sourceName`, because those are the only system columns the table can sort by. A filter `field_key` takes a vault column or `__notes__`, the any-column notes filter. Anything else returns `400` naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent.\n\nView names are unique within a vault once trimmed, and the comparison is case sensitive, so `Renewals` and `renewals` can both exist. A name already taken returns `409`.\n\nRequires the `editor` or `owner` role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets `403`.\n\nRequires a user-scoped API key (`u:gcai_...`). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.","operationId":"createVaultView","tags":["Contract Intelligence"],"security":["5d324362-4d52-4489-85ac-ba9ac945c2e2"],"parameters":["0eba0fea-7ac2-4057-843b-abd5649d9283"],"requestBody":"8f73c319-7580-459b-a190-45898484c6d4","responses":{"201":"c4199eb7-2481-4f69-a432-a05a5e6ae60c","400":"c16a7f72-41af-4e11-9ad2-83d1e1fd96b4","401":"c3db7d23-0164-4b16-9e7b-42264bf6e7d9","403":"f1c338f1-bf56-4b00-ae2e-6a7e275f05b2","404":"c2af9bd9-b031-448e-b54e-ffba4c8a5c9c","409":"3d16577d-e69d-44fd-bff4-37df997c4c72","422":"597751f4-37fd-46c9-999e-d6f87566881f","429":"1830a840-e35c-4c3d-8346-3729a81a37f7","500":"1b9a54d5-ea9f-4b50-b000-6ab83e7a7ebe","503":"27b2628c-17e1-4c37-8dd9-eae857ef2d59"},"method":"post","type":"path","servers":["2c21f627-fcca-46ae-8404-7077fb0598ec"],"path":"/vaults/{id}/views","baseUrlOptions":["https://app.gc.ai/api/external/v1"],"title":"Create a saved view","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"0eba0fea-7ac2-4057-843b-abd5649d9283":{"schema":{"type":"string","format":"uuid","description":"The vault ID","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"required":true,"description":"The vault ID","name":"id","in":"path"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"View name. Trimmed before it is stored, and unique within the vault.","example":"Renewals this quarter","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"view_state":{"type":"object","properties":{"hidden_field_keys":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100,"uniqueKey":"view_state.hidden_field_keys.items.[INDEX]","typeLabel":"string"},"maxItems":500,"description":"Column keys this view hides. This is a hide list, not a show list, so an empty array means the view shows every column in the vault. A column added to the vault after the view was saved is visible in the view until you add its key here.","isRequired":true,"uniqueKey":"view_state.hidden_field_keys","typeLabel":"string[]"},"field_order":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100,"uniqueKey":"view_state.field_order.items.[INDEX]","typeLabel":"string"},"maxItems":500,"description":"Column keys in the order this view shows them, left to right. An empty array means the view uses the vault default order. Keys you leave out keep their default position relative to one another.","isRequired":true,"uniqueKey":"view_state.field_order","typeLabel":"string[]"},"sort":{"oneOf":[{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":100,"description":"Column to sort by: a vault column key, or one of `fileName`, `extractedAt`, `sourceName`.","example":"effectiveDate","isRequired":true,"uniqueKey":"view_state.sort.oneOf.0.field","typeLabel":"string"},"direction":{"type":"string","enum":["asc","desc"],"description":"Sort direction.","isRequired":true,"uniqueKey":"view_state.sort.oneOf.0.direction","typeLabel":"enum\u003cstring>"}},"required":["field","direction"],"description":"Sort this view applies, or `null` for the vault default order.","isRequired":true,"uniqueKey":"view_state.sort.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"field":{"type":"string","minLength":1,"maxLength":100,"description":"Column to sort by: a vault column key, or one of `fileName`, `extractedAt`, `sourceName`.","example":"effectiveDate"},"direction":{"type":"string","enum":["asc","desc"],"description":"Sort direction."}},"required":["field","direction"],"description":"Sort this view applies, or `null` for the vault default order.","isRequired":true,"uniqueKey":"view_state.sort.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"view_state.sort","typeLabel":"object | null"},"filters":{"type":"array","items":{"type":"object","properties":{"field_key":{"type":"string","minLength":1,"maxLength":100,"description":"Column the rule applies to. Use a vault column key, or `__notes__` for the any-column notes filter.","example":"governingLaw","isRequired":true,"uniqueKey":"view_state.filters.items.[INDEX].field_key","typeLabel":"string"},"operator":{"type":"string","enum":["contains","equals","date_range","in","boolean","number_range","party_contains","list_length","equals_only","not_contains","not_equals","is_empty","is_not_empty","is_before","is_after","has_notes","has_no_notes"],"description":"Comparison to apply. Operators are typed to column kinds, so an operator the column cannot carry has no effect on the rows the view returns.","isRequired":true,"uniqueKey":"view_state.filters.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"description":"Operand for the operator, in the shape that operator takes. Omit it for `is_empty`, `is_not_empty`, `has_notes`, and `has_no_notes`.","uniqueKey":"view_state.filters.items.[INDEX].value.oneOf.0","typeLabel":"any"},{"description":"Operand for the operator, in the shape that operator takes. Omit it for `is_empty`, `is_not_empty`, `has_notes`, and `has_no_notes`.","type":"null","uniqueKey":"view_state.filters.items.[INDEX].value.oneOf.1","typeLabel":"null"}],"uniqueKey":"view_state.filters.items.[INDEX].value","typeLabel":"any | null"}},"required":["field_key","operator"],"uniqueKey":"view_state.filters.items.[INDEX]","typeLabel":"object"},"maxItems":200,"description":"Filter rules this view applies. Rules combine with AND. An empty array means the view shows every document in the vault.","isRequired":true,"uniqueKey":"view_state.filters","typeLabel":"object[]"}},"required":["hidden_field_keys","field_order","sort","filters"],"description":"Layout, sort, and filters for the view. Omit it for a view that shows every column in the vault default order, unsorted and unfiltered.","uniqueKey":"view_state","typeLabel":"object"}},"required":["name"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"Renewals this quarter"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"c4199eb7-2481-4f69-a432-a05a5e6ae60c":{"description":"The created view","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique view identifier","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"vault_id":{"type":"string","format":"uuid","description":"Vault this view belongs to","isRequired":true,"uniqueKey":"vault_id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"View name, as shown on its tab in the app","example":"Renewals this quarter","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"position":{"type":"integer","description":"Zero-based slot this view occupies in the vault view order. Read-only over the API: reordering views is not available here yet.","isRequired":true,"uniqueKey":"position","typeLabel":"integer"},"created_by_user_id":{"oneOf":[{"type":"integer","description":"GC AI user ID of whoever created the view, or null when that person has since been removed. Provenance only: a view is shared with the whole vault and is not owned by its creator.","isRequired":true,"uniqueKey":"created_by_user_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"GC AI user ID of whoever created the view, or null when that person has since been removed. Provenance only: a view is shared with the whole vault and is not owned by its creator.","isRequired":true,"uniqueKey":"created_by_user_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"created_by_user_id","typeLabel":"integer | null"},"view_state":{"type":"object","properties":{"hidden_field_keys":{"type":"array","items":{"type":"string","uniqueKey":"view_state.hidden_field_keys.items.[INDEX]","typeLabel":"string"},"description":"Column keys this view hides. This is a hide list, not a show list, so an empty array means the view shows every column in the vault. A column added to the vault after the view was saved is visible in the view until you add its key here.","isRequired":true,"uniqueKey":"view_state.hidden_field_keys","typeLabel":"string[]"},"field_order":{"type":"array","items":{"type":"string","uniqueKey":"view_state.field_order.items.[INDEX]","typeLabel":"string"},"description":"Column keys in the order this view shows them, left to right. An empty array means the view uses the vault default order. Keys you leave out keep their default position relative to one another.","isRequired":true,"uniqueKey":"view_state.field_order","typeLabel":"string[]"},"sort":{"oneOf":[{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":100,"description":"Column to sort by: a vault column key, or one of `fileName`, `extractedAt`, `sourceName`.","example":"effectiveDate","isRequired":true,"uniqueKey":"view_state.sort.oneOf.0.field","typeLabel":"string"},"direction":{"type":"string","enum":["asc","desc"],"description":"Sort direction.","isRequired":true,"uniqueKey":"view_state.sort.oneOf.0.direction","typeLabel":"enum\u003cstring>"}},"required":["field","direction"],"description":"Sort this view applies, or `null` for the vault default order.","isRequired":true,"uniqueKey":"view_state.sort.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"field":{"type":"string","minLength":1,"maxLength":100,"description":"Column to sort by: a vault column key, or one of `fileName`, `extractedAt`, `sourceName`.","example":"effectiveDate"},"direction":{"type":"string","enum":["asc","desc"],"description":"Sort direction."}},"required":["field","direction"],"description":"Sort this view applies, or `null` for the vault default order.","isRequired":true,"uniqueKey":"view_state.sort.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"view_state.sort","typeLabel":"object | null"},"filters":{"type":"array","items":{"type":"object","properties":{"field_key":{"type":"string","minLength":1,"maxLength":100,"description":"Column the rule applies to. Use a vault column key, or `__notes__` for the any-column notes filter.","example":"governingLaw","isRequired":true,"uniqueKey":"view_state.filters.items.[INDEX].field_key","typeLabel":"string"},"operator":{"type":"string","enum":["contains","equals","date_range","in","boolean","number_range","party_contains","list_length","equals_only","not_contains","not_equals","is_empty","is_not_empty","is_before","is_after","has_notes","has_no_notes"],"description":"Comparison to apply. Operators are typed to column kinds, so an operator the column cannot carry has no effect on the rows the view returns.","isRequired":true,"uniqueKey":"view_state.filters.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"description":"Operand for the operator, in the shape that operator takes. Omit it for `is_empty`, `is_not_empty`, `has_notes`, and `has_no_notes`.","uniqueKey":"view_state.filters.items.[INDEX].value.oneOf.0","typeLabel":"any"},{"description":"Operand for the operator, in the shape that operator takes. Omit it for `is_empty`, `is_not_empty`, `has_notes`, and `has_no_notes`.","type":"null","uniqueKey":"view_state.filters.items.[INDEX].value.oneOf.1","typeLabel":"null"}],"uniqueKey":"view_state.filters.items.[INDEX].value","typeLabel":"any | null"}},"required":["field_key","operator"],"uniqueKey":"view_state.filters.items.[INDEX]","typeLabel":"object"},"description":"Filter rules this view applies. Rules combine with AND. An empty array means the view shows every document in the vault.","isRequired":true,"uniqueKey":"view_state.filters","typeLabel":"object[]"}},"required":["hidden_field_keys","field_order","sort","filters"],"isRequired":true,"uniqueKey":"view_state","typeLabel":"object"},"created_at":{"type":"string","description":"ISO 8601 creation timestamp","isRequired":true,"uniqueKey":"created_at","typeLabel":"string"},"updated_at":{"type":"string","description":"ISO 8601 last-update timestamp","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string"}},"required":["id","vault_id","name","position","created_by_user_id","view_state","created_at","updated_at"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","vault_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"Renewals this quarter","position":123,"created_by_user_id":123,"view_state":{"hidden_field_keys":["\u003cstring>"],"field_order":["\u003cstring>"],"sort":{"field":"effectiveDate","direction":"asc"},"filters":[{"field_key":"governingLaw","operator":"contains","value":"\u003cunknown>"}]},"created_at":"\u003cstring>","updated_at":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"c16a7f72-41af-4e11-9ad2-83d1e1fd96b4":{"description":"Invalid request body, or a field key the vault does not have","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"c3db7d23-0164-4b16-9e7b-42264bf6e7d9":{"description":"Missing or malformed API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"f1c338f1-bf56-4b00-ae2e-6a7e275f05b2":{"description":"Contract Intelligence is not enabled for this account. Contact support to request access., or the caller cannot manage views in this vault","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"c2af9bd9-b031-448e-b54e-ffba4c8a5c9c":{"description":"Vault not found or access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"3d16577d-e69d-44fd-bff4-37df997c4c72":{"description":"The vault is archived, or another view in it already has that name","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"597751f4-37fd-46c9-999e-d6f87566881f":{"description":"Vault access is per-user and requires a user-scoped API key (u:gcai_...).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"1830a840-e35c-4c3d-8346-3729a81a37f7":{"description":"Rate limit exceeded. See [Rate Limits](/api-reference/concepts/rate-limits) for the tiers, limits, and how to back off.","headers":{"Retry-After":{"schema":{"type":"string","description":"Seconds to wait before retrying after a rate-limit block.","example":"60"},"required":true,"description":"Seconds to wait before retrying after a rate-limit block."},"RateLimit-Limit":{"schema":{"type":"string","description":"Request quota for the applicable window.","example":"3"},"required":true,"description":"Request quota for the applicable window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests remaining in the current window.","example":"0"},"required":true,"description":"Requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the quota resets.","example":"60"},"required":true,"description":"Seconds until the quota resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"1b9a54d5-ea9f-4b50-b000-6ab83e7a7ebe":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"27b2628c-17e1-4c37-8dd9-eae857ef2d59":{"description":"Service temporarily unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Seconds to wait before retrying after a transient service outage.","example":"5"},"required":true,"description":"Seconds to wait before retrying after a transient service outage."}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code present on some errors (e.g. `RATE_LIMITED`, `PLAN_REQUIRED`, `INSUFFICIENT_CREDITS`, `TRIAL_NOT_STARTED`, `BILLING_NOT_CONFIGURED`). Branch on this rather than the human-readable `error` string.","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Additional error details","uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.additionalProperties","typeLabel":"null"},"description":"Validation error details (for 400 errors)","uniqueKey":"details","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"5d324362-4d52-4489-85ac-ba9ac945c2e2":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key for authentication. Format: `gcai_xxxxxxxxx`\n\nCreate API keys in the GC AI app under Settings → API.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"2c21f627-fcca-46ae-8404-7077fb0598ec":{"url":"https://app.gc.ai/api/external/v1","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"API key for authentication. Format: `gcai_xxxxxxxxx`\n\nCreate API keys in the GC AI app under Settings → API.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"Authorization","type":"string","description":"API key for authentication. Format: `gcai_xxxxxxxxx`\n\nCreate API keys in the GC AI app under Settings → API.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"Authorization"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"gcai","siteName":"GC AI","title":"Create a Saved View - GC AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-25T12:20:08.758Z","gitLastModified":"2026-09-25T12:19:50.000Z","originalFileLocation":"api-reference/create-vault-view.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it. Column visibility is stored as a hide list. hidden_field_keys names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it. Every field key has to exist in the vault. Keys in hidden_field_keys and field_order can also name a system column (actions, fileName, relationships, extractedAt, sourceName). sort.field takes a vault column or one of fileName, extractedAt, sourceName, because those are the only system columns the table can sort by. A filter field_key takes a vault column or notes, the any-column notes filter. Anything else returns 400 naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent. View names are unique within a vault once trimmed, and the comparison is case sensitive, so Renewals and renewals can both exist. A name already taken returns 409. Requires the editor or owner role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets 403. Requires a user-scoped API key (u:gcai_...). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.\">\u003cmeta data-mint-head name=\"application-name\" content=\"GC AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a Saved View - GC AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it. Column visibility is stored as a hide list. hidden_field_keys names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it. Every field key has to exist in the vault. Keys in hidden_field_keys and field_order can also name a system column (actions, fileName, relationships, extractedAt, sourceName). sort.field takes a vault column or one of fileName, extractedAt, sourceName, because those are the only system columns the table can sort by. A filter field_key takes a vault column or notes, the any-column notes filter. Anything else returns 400 naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent. View names are unique within a vault once trimmed, and the comparison is case sensitive, so Renewals and renewals can both exist. A name already taken returns 409. Requires the editor or owner role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets 403. Requires a user-scoped API key (u:gcai_...). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GC AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gc.ai/api-reference/create-vault-view\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://gcai.mintlify.site/_mintlify/api/og/v2?division=Contract+Intelligence\u0026amp;title=Create+a+Saved+View\u0026amp;description=Create+a+saved+view+in+a+vault.+The+view+is+shared+with+the+whole+vault+the+moment+it+exists%3A+anyone+who+can+read+the+vault+can+open+it%2C+and+anyone+with+the+Man\u0026amp;theme=0fe006a5f9e0d576e50fc869\u0026amp;signature=f8280a99877e558ee6f602559c46b6a13ca6e8205a8f2504ef2ceb7c2c151e01\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a Saved View - GC AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it. Column visibility is stored as a hide list. hidden_field_keys names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it. Every field key has to exist in the vault. Keys in hidden_field_keys and field_order can also name a system column (actions, fileName, relationships, extractedAt, sourceName). sort.field takes a vault column or one of fileName, extractedAt, sourceName, because those are the only system columns the table can sort by. A filter field_key takes a vault column or notes, the any-column notes filter. Anything else returns 400 naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent. View names are unique within a vault once trimmed, and the comparison is case sensitive, so Renewals and renewals can both exist. A name already taken returns 409. Requires the editor or owner role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets 403. Requires a user-scoped API key (u:gcai_...). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gcai.mintlify.site/_mintlify/api/og/v2?division=Contract+Intelligence\u0026amp;title=Create+a+Saved+View\u0026amp;description=Create+a+saved+view+in+a+vault.+The+view+is+shared+with+the+whole+vault+the+moment+it+exists%3A+anyone+who+can+read+the+vault+can+open+it%2C+and+anyone+with+the+Man\u0026amp;theme=0fe006a5f9e0d576e50fc869\u0026amp;signature=f8280a99877e558ee6f602559c46b6a13ca6e8205a8f2504ef2ceb7c2c151e01\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/gcai/XpTjQtvSBPYuCpWI/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GC AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#003047\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gc.ai/api-reference/create-vault-view\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/create-vault-view.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://gc.ai/#organization\",\"name\":\"GC AI\",\"url\":\"https://gc.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/gcai/0BlqBDRwAhV-CbPw/logo/light.svg?fit=max\u0026auto=format\u0026n=0BlqBDRwAhV-CbPw\u0026q=85\u0026s=d11c2834d42373b30d3f9dc6d3138367\"},\"sameAs\":[\"https://x.com/gcai_co\",\"https://linkedin.com/company/gc-ai\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gc.ai#website\",\"name\":\"GC AI\",\"url\":\"https://docs.gc.ai\",\"publisher\":{\"@id\":\"https://gc.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gc.ai/api-reference/create-vault-view#webpage\",\"url\":\"https://docs.gc.ai/api-reference/create-vault-view\",\"name\":\"Create a Saved View\",\"description\":\"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it. Column visibility is stored as a hide list. hidden_field_keys names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it. Every field key has to exist in the vault. Keys in hidden_field_keys and field_order can also name a system column (actions, fileName, relationships, extractedAt, sourceName). sort.field takes a vault column or one of fileName, extractedAt, sourceName, because those are the only system columns the table can sort by. A filter field_key takes a vault column or notes, the any-column notes filter. Anything else returns 400 naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent. View names are unique within a vault once trimmed, and the comparison is case sensitive, so Renewals and renewals can both exist. A name already taken returns 409. Requires the editor or owner role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets 403. Requires a user-scoped API key (u:gcai_...). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.\",\"dateModified\":\"2026-09-25T12:19:50.000Z\",\"isPartOf\":{\"@id\":\"https://docs.gc.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gc.ai/api-reference/create-vault-view#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gc.ai/api-reference/create-vault-view#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REST\",\"item\":\"https://docs.gc.ai/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Endpoints\",\"item\":\"https://docs.gc.ai/api-reference/get-async-job\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Contract Intelligence\",\"item\":\"https://docs.gc.ai/api-reference/add-vault-member\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Create a Saved View\",\"item\":\"https://docs.gc.ai/api-reference/create-vault-view\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gc.ai/api-reference/create-vault-view#apireference\",\"headline\":\"Create a Saved View\",\"name\":\"Create a Saved View\",\"description\":\"Create a saved view in a vault. The view is shared with the whole vault the moment it exists: anyone who can read the vault can open it, and anyone with the Manage Views permission can change or delete it. Column visibility is stored as a hide list. hidden_field_keys names the columns a view hides, so an empty list means the view shows every column the vault has. A column added to the vault later appears in the view until you hide it. Every field key has to exist in the vault. Keys in hidden_field_keys and field_order can also name a system column (actions, fileName, relationships, extractedAt, sourceName). sort.field takes a vault column or one of fileName, extractedAt, sourceName, because those are the only system columns the table can sort by. A filter field_key takes a vault column or notes, the any-column notes filter. Anything else returns 400 naming the keys it could not place, rather than being dropped on the way in and leaving you with a view that ignores half of what you sent. View names are unique within a vault once trimmed, and the comparison is case sensitive, so Renewals and renewals can both exist. A name already taken returns 409. Requires the editor or owner role in the vault, the organization-level permission to manage vaults, and the organization-level Manage Views permission. A caller who holds the vault role but not both permissions gets 403. Requires a user-scoped API key (u:gcai_...). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.\",\"url\":\"https://docs.gc.ai/api-reference/create-vault-view\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gc.ai/api-reference/create-vault-view#webpage\"},\"dateModified\":\"2026-09-25T12:19:50.000Z\",\"publisher\":{\"@id\":\"https://gc.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gc.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"GC AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"GC AI","nav":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://gc.ai/slack"},{"anchor":"Blog","icon":"newspaper","href":"https://gc.ai/blog"},{"anchor":"Classes","icon":"graduation-cap","href":"https://gc.ai/classes"}]},"tabs":[{"tab":"Help","pages":[{"title":"Help","href":"/support"}]},{"tab":"API Reference","groups":[{"group":"REST","pages":[{"title":"API Introduction","href":"/api-reference/introduction"},{"title":"REST API surface map","sidebarTitle":"Surface map","href":"/api-reference/rest-surface-map"},{"group":"Concepts","pages":[{"title":"How to Enable","href":"/api-reference/how-to-enable"},{"title":"API Keys","href":"/api-reference/concepts/api-keys"},{"title":"Asynchronous Requests","href":"/api-reference/concepts/async-jobs"},{"title":"Chat Visibility","href":"/api-reference/concepts/chat-visibility"},{"title":"Multi-turn Conversations","href":"/api-reference/concepts/multi-turn"},{"title":"Tool permissions","href":"/api-reference/concepts/tool-permissions"},{"title":"Rate Limits","href":"/api-reference/concepts/rate-limits"},{"title":"Running an example on Replit","href":"/api-reference/concepts/running-on-replit"}]},{"group":"Examples","pages":[{"title":"Contract Risk Heatmap","href":"/api-reference/examples/contract-risk-heatmap"},{"title":"Triage \u0026 Route","href":"/api-reference/examples/triage-and-route"},{"title":"Slack Triage Bot","href":"/api-reference/examples/slack-triage-bot"}]},{"group":"Endpoints","expanded":true,"pages":[{"group":"Async Jobs","pages":[{"title":"Get Async Job Status","openapi":"GET /jobs/{id}","href":"/api-reference/get-async-job"}]},{"group":"Chat","pages":[{"title":"Create Chat Completion","openapi":"POST /chat/completions","href":"/api-reference/create-chat-completion"},{"title":"Materialize an API Chat","openapi":"POST /chat/{id}/materialize","href":"/api-reference/materialize-chat"},{"title":"Search Chats","openapi":"GET /chat/search","href":"/api-reference/search-chats"}]},{"group":"Chats","pages":[{"title":"Create a Public Share Link","openapi":"POST /chats/{id}/share","href":"/api-reference/create-chat-share-link"},{"title":"Delete a Chat","openapi":"DELETE /chats/{id}","href":"/api-reference/delete-chat"},{"title":"Detach a File From a Chat","openapi":"DELETE /chats/{id}/files/{fileId}","href":"/api-reference/detach-file-from-chat"},{"title":"Duplicate a Chat","openapi":"POST /chats/{id}/duplicate","href":"/api-reference/duplicate-chat"},{"title":"Get a Chat","openapi":"GET /chats/{id}","href":"/api-reference/get-chat"},{"title":"List Messages in a Chat","openapi":"GET /chats/{id}/messages","href":"/api-reference/list-chat-messages"},{"title":"List Chats","openapi":"GET /chats","href":"/api-reference/list-chats"},{"title":"Revoke a Public Share Link","openapi":"DELETE /chats/{id}/share","href":"/api-reference/revoke-chat-share-link"},{"title":"Update a Chat","openapi":"PATCH /chats/{id}","href":"/api-reference/update-chat"}]},{"group":"Contract Intelligence","pages":[{"title":"Add a Member to a Vault","openapi":"POST /vaults/{id}/members","href":"/api-reference/add-vault-member"},{"title":"Archive a Vault","openapi":"POST /vaults/{id}/archive","href":"/api-reference/archive-vault"},{"title":"Create a Vault","openapi":"POST /vaults","href":"/api-reference/create-vault"},{"title":"Add a Column to a Vault","openapi":"POST /vaults/{id}/columns","description":"Add a column to a vault's table.\n\nAdding a column scans nothing. Documents already in the vault keep an empty cell for the new column until a re-scan fills it, which you start from the vault in the app. Add the columns you want before you upload, and every document that arrives afterwards is read against all of them.\n\nThe new column starts hidden in every saved view of this vault. A saved view is a sharing boundary, so a column created after the view was saved never joins it on its own; a member of the view reveals it there when they want it.\n\n`field_key` is frozen at creation. Omit it and GC AI builds one from the label. Renaming the column later leaves the key alone, so the values already extracted stay attached to it.\n\nA vault holds at most 500 columns. Column 501 returns `403` with the message the app shows, and you have to delete a column before adding another.\n\nRequires the `editor` or `owner` role in the vault and the organization-level permission to manage vaults.\n\nRequires a user-scoped API key (`u:gcai_...`). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.","href":"/api-reference/create-vault-column"},{"title":"Create a Saved View","openapi":"POST /vaults/{id}/views","href":"/api-reference/create-vault-view"},{"title":"Delete a Vault","openapi":"DELETE /vaults/{id}","description":"Permanently delete an archived vault, its columns, its views, its extracted data, and its connector links. This cannot be undone. The documents themselves are removed from storage in the background over the following minutes.\n\nArchive the vault first with `POST /vaults/{id}/archive`. Deleting a live vault returns `409`, so an accidental call cannot destroy an active vault.\n\nRequires the `owner` role in the vault and the organization-level permission to manage vaults.\n\nRequires a user-scoped API key (`u:gcai_...`). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.","href":"/api-reference/delete-vault"},{"title":"Remove a Column From a Vault","openapi":"DELETE /vaults/{id}/columns/{columnId}","href":"/api-reference/delete-vault-column"},{"title":"Remove a Document From a Vault","openapi":"DELETE /vaults/{id}/documents/{documentId}","href":"/api-reference/delete-vault-document"},{"title":"Delete a Saved View","openapi":"DELETE /vaults/{id}/views/{viewId}","href":"/api-reference/delete-vault-view"},{"title":"Get a Vault","openapi":"GET /vaults/{id}","href":"/api-reference/get-vault"},{"title":"Get One Document Row","openapi":"GET /vaults/{id}/documents/{documentId}","href":"/api-reference/get-vault-document"},{"title":"List a Vault's Columns","openapi":"GET /vaults/{id}/columns","href":"/api-reference/list-vault-columns"},{"title":"Read a Vault's Document Table","openapi":"GET /vaults/{id}/documents","href":"/api-reference/list-vault-documents"},{"title":"List a Vault's Members","openapi":"GET /vaults/{id}/members","href":"/api-reference/list-vault-members"},{"title":"List a Vault's Saved Views","openapi":"GET /vaults/{id}/views","href":"/api-reference/list-vault-views"},{"title":"List Vaults","openapi":"GET /vaults","href":"/api-reference/list-vaults"},{"title":"Remove a Member From a Vault","openapi":"DELETE /vaults/{id}/members/{userId}","href":"/api-reference/remove-vault-member"},{"title":"Restore an Archived Vault","openapi":"POST /vaults/{id}/restore","href":"/api-reference/restore-vault"},{"title":"Restore a Removed Document","openapi":"POST /vaults/{id}/documents/{documentId}/restore","href":"/api-reference/restore-vault-document"},{"title":"Restore the Extracted Value of a Cell","openapi":"POST /vaults/{id}/documents/{documentId}/cells/{fieldKey}/revert","href":"/api-reference/revert-vault-document-cell"},{"title":"Update a Vault","openapi":"PATCH /vaults/{id}","href":"/api-reference/update-vault"},{"title":"Update a Vault Column","openapi":"PATCH /vaults/{id}/columns/{columnId}","href":"/api-reference/update-vault-column"},{"title":"Set a Cell Value by Hand","openapi":"PATCH /vaults/{id}/documents/{documentId}/cells/{fieldKey}","href":"/api-reference/update-vault-document-cell"},{"title":"Change a Member's Role","openapi":"PATCH /vaults/{id}/members/{userId}","href":"/api-reference/update-vault-member-role"},{"title":"Update a Saved View","openapi":"PATCH /vaults/{id}/views/{viewId}","href":"/api-reference/update-vault-view"},{"title":"Add a Document to a Vault","openapi":"POST /vaults/{id}/documents","href":"/api-reference/upload-vault-document"}]},{"group":"Files","pages":[{"title":"Abort a Chunked Upload","openapi":"DELETE /files/uploads/{upload_id}","href":"/api-reference/abort-upload"},{"title":"Complete a Chunked Upload","openapi":"POST /files/uploads/{upload_id}/complete","href":"/api-reference/complete-upload"},{"title":"Get File Status","openapi":"GET /files/{id}","href":"/api-reference/get-file-status"},{"title":"Initiate a Chunked Upload","openapi":"POST /files/uploads","href":"/api-reference/initiate-upload"},{"title":"Search Files","openapi":"GET /files","href":"/api-reference/search-files"},{"title":"Move a File","openapi":"PATCH /files/{id}","href":"/api-reference/update-file"},{"title":"Upload a File","openapi":"POST /files","href":"/api-reference/upload-file"},{"title":"Upload a File Part","openapi":"PUT /files/uploads/{upload_id}/parts/{part_number}","href":"/api-reference/upload-part"}]},{"group":"Folders","pages":[{"title":"Create a Folder","openapi":"POST /folders","href":"/api-reference/create-folder"},{"title":"Delete a Folder","openapi":"DELETE /folders/{id}","href":"/api-reference/delete-folder"},{"title":"Get a Folder","openapi":"GET /folders/{id}","href":"/api-reference/get-folder"},{"title":"List a Folder's Children","openapi":"GET /folders/{id}/children","href":"/api-reference/list-folder-children"},{"title":"List Folders","openapi":"GET /folders","href":"/api-reference/list-folders"},{"title":"Update a Folder","openapi":"PATCH /folders/{id}","href":"/api-reference/update-folder"}]},{"group":"MCP","pages":[{"title":"Provision MCP Client-credentials","openapi":"POST /mcp/credentials","href":"/api-reference/provision-mcp-credentials"}]},{"group":"Playbooks","pages":[{"title":"Create a Playbook","openapi":"POST /playbooks","href":"/api-reference/create-playbook"},{"title":"Add a Check to a Playbook","openapi":"POST /playbooks/{id}/checks","href":"/api-reference/create-playbook-check"},{"title":"Delete a Playbook","openapi":"DELETE /playbooks/{id}","href":"/api-reference/delete-playbook"},{"title":"Remove a Check From a Playbook","openapi":"DELETE /playbooks/{id}/checks/{checkId}","href":"/api-reference/delete-playbook-check"},{"title":"Duplicate a Playbook","openapi":"POST /playbooks/{id}/duplicate","href":"/api-reference/duplicate-playbook"},{"title":"Get a Playbook","openapi":"GET /playbooks/{id}","href":"/api-reference/get-playbook"},{"title":"Get a Check","openapi":"GET /playbooks/{id}/checks/{checkId}","href":"/api-reference/get-playbook-check"},{"title":"List a Playbook's Checks","openapi":"GET /playbooks/{id}/checks","href":"/api-reference/list-playbook-checks"},{"title":"List Playbooks","openapi":"GET /playbooks","href":"/api-reference/list-playbooks"},{"title":"Reorder a Playbook's Checks","openapi":"POST /playbooks/{id}/checks/reorder","href":"/api-reference/reorder-playbook-checks"},{"title":"Run a Playbook Against Uploaded Files","openapi":"POST /playbooks/{id}/run","href":"/api-reference/run-playbook"},{"title":"Update a Playbook","openapi":"PATCH /playbooks/{id}","href":"/api-reference/update-playbook"},{"title":"Update a Check","openapi":"PATCH /playbooks/{id}/checks/{checkId}","href":"/api-reference/update-playbook-check"}]},{"group":"Profiles","pages":[{"title":"Get a Company Profile","openapi":"GET /company-profiles/{id}","href":"/api-reference/get-company-profile"},{"title":"Get the Company Profile","openapi":"GET /company-profile","href":"/api-reference/get-default-company-profile"},{"title":"Identify the Caller","openapi":"GET /me","href":"/api-reference/get-me"},{"title":"Get Your Personal Profile","openapi":"GET /me/profile","href":"/api-reference/get-my-profile"},{"title":"List Company Profiles","openapi":"GET /company-profiles","href":"/api-reference/list-company-profiles"},{"title":"Update a Company Profile","openapi":"PATCH /company-profiles/{id}","href":"/api-reference/update-company-profile"},{"title":"Update the Company Profile","openapi":"PATCH /company-profile","href":"/api-reference/update-default-company-profile"},{"title":"Update Your Personal Profile","openapi":"PATCH /me/profile","href":"/api-reference/update-my-profile"}]},{"group":"Projects","pages":[{"title":"File a Chat Into a Project","openapi":"POST /projects/{id}/chats","href":"/api-reference/attach-chat-to-project"},{"title":"Attach a File to a Project","openapi":"POST /projects/{id}/files","href":"/api-reference/attach-file-to-project"},{"title":"Attach a Folder to a Project","openapi":"POST /projects/{id}/folders","href":"/api-reference/attach-folder-to-project"},{"title":"Create a Project","openapi":"POST /projects","href":"/api-reference/create-project"},{"title":"Delete a Project","openapi":"DELETE /projects/{id}","href":"/api-reference/delete-project"},{"title":"Detach a File From a Project","openapi":"DELETE /projects/{id}/files/{fileId}","href":"/api-reference/detach-file-from-project"},{"title":"Detach a Folder From a Project","openapi":"DELETE /projects/{id}/folders/{folderId}","href":"/api-reference/detach-folder-from-project"},{"title":"Get a Project","openapi":"GET /projects/{id}","href":"/api-reference/get-project"},{"title":"List Chats in a Project","openapi":"GET /projects/{id}/chats","href":"/api-reference/list-project-chats"},{"title":"List Files on a Project","openapi":"GET /projects/{id}/files","href":"/api-reference/list-project-files"},{"title":"List Folders Linked to a Project","openapi":"GET /projects/{id}/folders","href":"/api-reference/list-project-folders"},{"title":"List Projects","openapi":"GET /projects","href":"/api-reference/list-projects"},{"title":"Pin a Project","openapi":"POST /projects/{id}/pin","href":"/api-reference/pin-project"},{"title":"Pin a Project (legacy Star Alias)","openapi":"POST /projects/{id}/star","href":"/api-reference/star-project"},{"title":"Unpin a Project","openapi":"DELETE /projects/{id}/pin","href":"/api-reference/unpin-project"},{"title":"Unpin a Project (legacy Star Alias)","openapi":"DELETE /projects/{id}/star","href":"/api-reference/unstar-project"},{"title":"Update a Project","openapi":"PATCH /projects/{id}","href":"/api-reference/update-project"}]},{"group":"Skills","pages":[{"title":"Create a Skill","openapi":"POST /skills","href":"/api-reference/create-skill"},{"title":"Delete a Skill","openapi":"DELETE /skills/{id}","href":"/api-reference/delete-skill"},{"title":"Get a Skill","openapi":"GET /skills/{id}","href":"/api-reference/get-skill"},{"title":"List Skills","openapi":"GET /skills","href":"/api-reference/list-skills"},{"title":"Update a Skill","openapi":"PATCH /skills/{id}","href":"/api-reference/update-skill"}]},{"group":"Usage","pages":[{"title":"Get Credit Usage","openapi":"GET /credit-usage","href":"/api-reference/get-credit-usage"},{"title":"Get Usage Summary","openapi":"GET /usage","href":"/api-reference/get-usage"}]},{"group":"Utility","pages":[{"title":"Health Check","openapi":"GET /ping","href":"/api-reference/ping"}]}]}]},{"group":"MCP","pages":[{"title":"MCP Introduction","href":"/api-reference/mcp/overview"},{"title":"MCP tools surface map","sidebarTitle":"Surface map","href":"/api-reference/mcp/surface-map"},{"group":"Concepts","pages":[{"title":"Connecting","href":"/api-reference/mcp/connecting"},{"title":"Client credentials (M2M)","href":"/api-reference/mcp/machine-access"}]},{"group":"Tools","expanded":true,"pages":[{"group":"Ask GC AI","pages":[{"title":"Create chat completion","href":"/api-reference/mcp/tools/ask-gcai"},{"title":"Check chat completion status","href":"/api-reference/mcp/tools/ask-gcai-status"},{"title":"Save chat","href":"/api-reference/mcp/tools/ask-gcai-save-chat"}]},{"group":"Files","pages":[{"title":"Get files","href":"/api-reference/mcp/tools/get-files"},{"title":"Upload file","href":"/api-reference/mcp/tools/upload-file"},{"title":"Start file upload","href":"/api-reference/mcp/tools/start-file-upload"},{"title":"Finish file upload","href":"/api-reference/mcp/tools/finish-file-upload"}]},{"group":"Projects","pages":[{"title":"Get projects","href":"/api-reference/mcp/tools/get-projects"},{"title":"Create project","href":"/api-reference/mcp/tools/create-project"},{"title":"Update project","href":"/api-reference/mcp/tools/update-project"},{"title":"Attach files to project","href":"/api-reference/mcp/tools/attach-to-project"},{"title":"Detach files from project","href":"/api-reference/mcp/tools/detach-from-project"}]},{"group":"Playbooks","pages":[{"title":"Get playbooks","href":"/api-reference/mcp/tools/get-playbooks"},{"title":"Create playbook","href":"/api-reference/mcp/tools/create-playbook"},{"title":"Update playbook","href":"/api-reference/mcp/tools/update-playbook"},{"title":"Run a playbook against uploaded files","href":"/api-reference/mcp/tools/run-playbook"},{"title":"Check playbook run status","href":"/api-reference/mcp/tools/run-playbook-status"}]},{"group":"Skills","pages":[{"title":"Get skills","href":"/api-reference/mcp/tools/get-skills"},{"title":"Create skill","href":"/api-reference/mcp/tools/create-skill"},{"title":"Update skill","href":"/api-reference/mcp/tools/update-skill"}]},{"group":"Contract Intelligence","pages":[{"title":"Get vaults","href":"/api-reference/mcp/tools/get-vaults"},{"title":"Get vault documents","href":"/api-reference/mcp/tools/get-vault-documents"},{"title":"Get vault columns","href":"/api-reference/mcp/tools/get-vault-columns"},{"title":"Create vault","href":"/api-reference/mcp/tools/create-vault"},{"title":"Update vault","href":"/api-reference/mcp/tools/update-vault"},{"title":"Create vault column","href":"/api-reference/mcp/tools/create-vault-column"},{"title":"Update vault column","href":"/api-reference/mcp/tools/update-vault-column"},{"title":"Update vault document cell","href":"/api-reference/mcp/tools/update-vault-document-cell"}]}]}]},{"group":"CLI","pages":[{"title":"CLI Introduction","href":"/api-reference/cli/overview"},{"title":"CLI surface map","sidebarTitle":"Surface map","href":"/api-reference/cli/surface-map"},{"group":"Concepts","pages":[{"title":"Authentication","href":"/api-reference/cli/authentication"},{"title":"Output and scripting","href":"/api-reference/cli/output"},{"title":"Async and polling","href":"/api-reference/cli/async"}]},{"group":"Commands","expanded":true,"pages":[{"title":"gcai chat CLI commands","sidebarTitle":"Chat","href":"/api-reference/cli/commands/chat"},{"title":"gcai company CLI commands","sidebarTitle":"Company","href":"/api-reference/cli/commands/company"},{"title":"gcai company-profiles CLI commands","sidebarTitle":"Company-profiles","href":"/api-reference/cli/commands/company-profiles"},{"title":"gcai files CLI commands","sidebarTitle":"Files","href":"/api-reference/cli/commands/files"},{"title":"gcai folders CLI commands","sidebarTitle":"Folders","href":"/api-reference/cli/commands/folders"},{"title":"gcai jobs CLI commands","sidebarTitle":"Jobs","href":"/api-reference/cli/commands/jobs"},{"title":"gcai mcp CLI commands","sidebarTitle":"Mcp","href":"/api-reference/cli/commands/mcp"},{"title":"gcai me CLI commands","sidebarTitle":"Me","href":"/api-reference/cli/commands/me"},{"title":"gcai ping CLI commands","sidebarTitle":"Ping","href":"/api-reference/cli/commands/ping"},{"title":"gcai playbooks CLI commands","sidebarTitle":"Playbooks","href":"/api-reference/cli/commands/playbooks"},{"title":"gcai profile CLI commands","sidebarTitle":"Profile","href":"/api-reference/cli/commands/profile"},{"title":"gcai projects CLI commands","sidebarTitle":"Projects","href":"/api-reference/cli/commands/projects"},{"title":"gcai skills CLI commands","sidebarTitle":"Skills","href":"/api-reference/cli/commands/skills"},{"title":"gcai usage CLI commands","sidebarTitle":"Usage","href":"/api-reference/cli/commands/usage"},{"title":"gcai vaults CLI commands","sidebarTitle":"Vaults","href":"/api-reference/cli/commands/vaults"}]}]}]}]},"basePath":"","title":"Create a Saved View - GC AI","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}